Ссылки:
# ansible https://galaxy.ansible.com/openwisp/openwisp2 # install openwisp https://github.com/openwisp/ansible-openwisp2#usage-tutorial #pythonpython latest install (3.9.7) alternatives env#bug https://githubhot.com/repo/openwisp/ansible-openwisp2/issues/358 https://stackoverflow.com/questions/61365790/error-could-not-build-wheels-for-scipy-which-use-pep-517-and-cannot-be-installe https://github.com/pallets/markupsafe/issues/284
Готовим машину с ansible:
0. Свеженький debian 11 1. Ставим пакеты apt-get install git pip sshpass pip install ansible pip install Jinja2>=2.11 2. Добавляем пользователя от которого будем все ставить !!! На сервере куда будем устанавливать также его добавляем adduser user 2.1 Переключаемся на пользователя user su - user 3. Генерируем ключи и отправляем его на сервер куда будем ставить openwisp ssh-keygen ssh-copy-id YOU_IP_ADDRESS 4. Устанавливаем galaxy openwisp.openwisp2 под пользователем user ansible-galaxy install openwisp.openwisp2 ansible-galaxy collection install "community.general:>=3.6.0" 5. Создаем каталог и переходим в него mkdir ~/openwisp2-ansible-playbook cd ~/openwisp2-ansible-playbook 6. Создаем конфиг для ansible vim ansible.cfg --------------- [defaults] host_key_checking = False pipelining = True deprecation_warnings = False retry_files_enabled = False inventory = ./hosts.txt #roles_path = ./roles forks = 10 timeout = 10 log_path = ./ansible.log interpreter_python = python3 [diff] always = True context = 3 --------------- 7. Создаем файл с хостами на которые будем накатывать openwisp vim hosts --------- [openwisp2] YOU_IP_OR_DNS --------- 8. Готовим playbook opewisp vim playbook.yml ---------------- - hosts: openwisp2 roles: - openwisp.openwisp2 # the following line is needed only when an IP address is used as the inventory hostname vars: postfix_myhostname: localhost openwisp2_network_topology: true openwisp2_monitoring: true openwisp2_firmware_upgrader: true openwisp2_radius: true ----------------
Готовим сервер куда будем устанавливать openwisp:
0. Ставим пакеты apt install sshpass python pip python3-pip git sudo 1. Редактируем sudo для пользователя user visudo ------------------------------- user ALL=(ALL) NOPASSWD: ALL ------------------------------- 2. Пример /etc/apt/source.list в debian 11: !!! Внимание по рекомендации openwisp должна быть свежая система !!! # Включение бэк портов на сервере (куда ставим) приводит к ошибки установки redis ----------------------------------------------------------------- deb http://deb.debian.org/debian bullseye main contrib non-free deb-src http://deb.debian.org/debian bullseye main contrib non-free deb http://deb.debian.org/debian-security/ bullseye-security main contrib non-free deb-src http://deb.debian.org/debian-security/ bullseye-security main contrib non-free deb http://deb.debian.org/debian bullseye-updates main contrib non-free deb-src http://deb.debian.org/debian bullseye-updates main contrib non-free #deb http://deb.debian.org/debian bullseye-backports main contrib non-free #deb-src http://deb.debian.org/debian bullseye-backports main contrib non-free ------------------------------------------------------------------
Приступаем к установке( На сервере с ansible):
!!! При установке на debian 11 могут быть несколько проблем () 0. Проверяем и правим файл в зависимости от версии pip !!! не правильная версия pip будет приводить к даунгрейду и ошибкам дальнейшей установки openwisp vim ~/.ansible/roles/openwisp.openwisp2/tasks/pip.yml ----------------------------------------------------- - pip==22.0.4 # - pip==20.2.4 ----------------------------------------------------- 1. Переходим в каталог cd /home/user/openwisp2-ansible-playbook 2. Запускаем установку ansible-playbook -i hosts playbook.yml -b 3. Наблюдаем за выхлопом ansible и в случаи не удачи, решаем проблемы.
Баги:
На сервере пробуем обновить: /opt/openwisp2/env/bin/pip install --upgrade pip setuptools wheel /opt/openwisp2/env/bin/pip install -U bpython