Этот документ описывает все шаги, которые я выполнил для развертывания WordPress на виртуальной машине Debian ARM64 с использованием UTM и Ansible.
- Скачал образ Debian ARM64 с официального сайта.
- Запустил виртуальную машину в UTM:
- Выбрал архитектуру ARM64
- Настроил сеть (рекомендуется Shared Network для автоматического получения IP)
- Установил логин: debian, пароль: debian
- Определил IP-адрес ВМ:
ip a(192.168.64.10)
- Создал рабочую папку:
mkdir ~/wordpress-deploy && cd ~/wordpress-deploy- Создал inventory.ini (указал IP виртуальной машины):
[webservers]
192.168.64.10 ansible_user=debian ansible_ssh_pass=debian
[webservers:vars]
ansible_python_interpreter=/usr/bin/python3- Установил необходимые коллекции Ansible:
ansible-galaxy collection install community.mysql- Создал install_wordpress.yml (основной сценарий развертывания).
- Создал шаблоны конфигурации:
- wordpress.conf.j2 (виртуальный хост Apache)
- wp-config.php.j2 (настройки WordPress)
- Проверил доступность сервера:
ansible webservers -i inventory.ini -m ping- Выполнил playbook (с записью логов):
ansible-playbook -i inventory.ini install_wordpress.yml -vvv > install.log 2>&1- Проверил результат:
- Открыл в браузере: http://192.168.64.10
- Если видна стандартная страница Apache (It works!), выполнил:
ansible webservers -i inventory.ini -a "sudo systemctl restart apache2"- Проверил права доступа:
sudo chown -R www-data:www-data /var/www/wordpress
sudo chmod -R 755 /var/www/wordpress- Проверил конфиг Apache:
sudo nano /etc/apache2/sites-available/wordpress.confУбедился, что есть:
<Directory /var/www/wordpress>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>- Перезапустил Apache: bash sudo systemctl restart apache2
- Проверил содержимое папки:
ls -la /var/www/wordpress- Если папка пуста — переустановил WordPress:
sudo rm -rf /var/www/wordpress/*
cd /tmp
wget https://wordpress.org/latest.tar.gz
tar -xzvf latest.tar.gz
sudo cp -r wordpress/* /var/www/wordpress/- Открыл WordPress в браузере:
http://192.168.64.10
- Вход в админку:
http://192.168.64.10/wp-admin
- Логин: admin
- Пароль: admin_secure_password (из install_wordpress.yml)
- Полезные команды для диагностики
| Команда | Описание |
|---|---|
| sudo tail -f /var/log/apache2/error.log | Просмотр логов Apache |
| curl -I http://localhost | Проверка HTTP-ответа |
| sudo apache2ctl configtest | Проверка конфигурации |