alfresco52

alfresco_ansible Статус сборки

Рецепты Ansible для Alfresco

Описание

Рецепты для:

  • Автоматической установки и обновления Alfresco 5.2
  • Автоматической установки Alfresco 6.1 (в процессе)

Использование

Роль Ansible для Alfresco была создана так, что задачи разбиты на теги, что позволяет в одной последовательной операции выбрать, какие части мы хотим выполнить, так что эта же роль может как установить Alfresco на новом компьютере, так и обновить до указанной версии в инвентаре.

Установка с нуля

Требования к Ansible

На компьютере с Ubuntu 18.04 (физическом или виртуализированном), с достаточным пространством для установки Alfresco и резервного копирования его данных, необходимо сначала активировать сервис ssh, скопировать ключ SSH для пользователя, который будет использоваться для подключения, и создать разрешение sudo, создав с помощью соответствующего пользователя файл /etc/sudoers.d/ansible:

%sudo ALL=(ALL) NOPASSWD: ALL
Defaults:greencore !requiretty

Затем устанавливаем некоторые необходимые пакеты для начального соединения, как для дистрибутива, так и для Python:

# Пакеты для Ubuntu
sudo apt install -y python3-minimal python3-pip

# Для Mysql
sudo apt install -y python3-pymysql

# Для PostreSQL
python3-psycopg2 libpq-dev postgresql libpostgresql-jdbc-java

# Пакеты для Python
sudo pip3 install ansible psutil # Можно пропустить "ansible" на удаленном компьютере, он нужен только на управляющем компьютере

Настройка инвентаря

Необходимо изменить только один файл, который является инвентарем, где мы определим IP сервера, на котором будем устанавливать или обновлять Alfresco, и там зададим параметры, используемые для настройки Alfresco.

Например, в inventory/hosts.yml:

---
  alfresco:
    hosts:
      10.xx.xx.xx:                                                                                       # Измените IP сервера Alfresco
        ansible_user: greencore                                                                          # Пользователь для подключения по SSH
        alfresco_installer: alfresco-community-installer-201707-linux-x64.bin                            # Какая версия установщика, раскомментируйте
        # старая
        #alfresco_installer: alfresco-community-installer-201602-linux-x64.bin
        alf_glob_prop_path: /opt/alfresco_community/tomcat/shared/classes/alfresco-global.properties     # Путь к файлу alfresco-global.properties
        alf_root: /opt/alfresco_community/                                                               # Корневая директория Alfresco
        dir_root: /opt/alfresco_community/alf_data                                                       # Директория alf_data
        solr4_root: /opt/alfresco_community/alf_data/solr4/index                                         # Директория Solr
        installer_delay: 190                                                                             # Время ожидания завершения установщика

Перед тем как продолжить, проверяем инвентарь и выполнение ansible в целом, выполнив:

ansible -i inventory/hosts.yml -m ping alfresco
10.xx.xx.xx | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/bin/python3"
    },
    "changed": false,
    "ping": "pong"
}

Чтобы проверить доступность конфигурационных файлов, загружаемых файлов, необходимых модулей Python для модулей Ansible и так далее, сначала выполним ansible в режиме dry-run, что означает, что никаких изменений не будет внесено.

ansible-playbook -C -i inventory/hosts.yml install_alfresco52-mysql_no_docker.yml --tags install,mysql_install,mysql

Если не обнаружим никаких проблем, теперь можем выполнить без опции -C для установки Alfresco:

ansible-playbook -i inventory/hosts.yml install_alfresco52-mysql_no_docker.yml --tags install,mysql_install,mysql

Обновление Alfresco

Перед началом рекомендуется проверить сервисы на компьютере перед обновлением, следовать правилам запроса изменений, использовать тестовые машины и всегда делать резервные копии производственных машин.

Если вы проводите полный лабораторный эксперимент по установке и обновлению, возможно, вам потребуется изменить версию Alfresco для установки согласно инвентарному файлу.

В данном случае дополнительные теги mysql_preupgrade и mysql_postupgrade отвечают за резервное копирование данных, перемещение директории Alfresco и повторный импорт данных в MySQL, а также dir.root, чтобы применить их в обновлении.

ansible-playbook -i inventory/hosts.yml install_alfresco52-mysql_no_docker.yml --tags install,mysql_preupgrade,mysql,mysql_postupgrade

Теперь нужно только проверить сервис, что содержимое на месте, и просмотреть журналы на предмет возможных сообщений об ошибках.

Отладка

Если что-то пойдет не так, например, время ожидания установщика будет слишком низким, вы можете продолжить после этой задачи, используя следующую команду:

ansible-playbook -i inventory playbook.yml --tags a,b,c --start-at-task="Полное имя задачи"
О проекте

Alfresco52 install and upgrade role

Установить
ansible-galaxy install fede2cr/alfresco52
Лицензия
Unknown
Загрузки
97
Владелец
Hacker, profesor, cervecero, luthier, cocinero, maker, astrónomo, biólogo, fotógrafo. Trabajo en Microsoft.