Ссылки:
# 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