Използване на Ansible за инсталиране на WordPress с LAMP

Ако искате автоматизиран и безпроблемен начин за инсталиране на WordPress с LAMP стек на Ubuntu, Ansible е точното решение. Той ви спестява време, намалява грешките и прави процеса повторяем. Тази статия ще ви покаже стъпка по стъпка как да го направите, дори ако сте напълно начинаещи. 🚀
📌 Какво е Ansible?
Ansible е инструмент за автоматизация с отворен код, който ви позволява да управлявате сървъри чрез прости YAML скриптове, наречени playbooks. С Ansible може да:
- Инсталирате софтуер автоматично 🛠️
- Конфигурирате услуги 📦
- Управлявате сървъри без да пишете скриптове на Bash 💡
И най-хубавото? Не се нуждаете от агент на отдалечения сървър. Достатъчен е само SSH достъп. 🔐
📦 Какво ще инсталираме?
Ще автоматизираме инсталацията на WordPress, използвайки класическия LAMP стек:
- Linux – Ubuntu Server (22.04 LTS се препоръчва) 🐧
- Apache – уеб сървър 🌐
- MySQL/MariaDB – база данни 🗄️
- PHP – език за програмиране на WordPress 🧠
🧪 Предварителни изисквания
Преди да започнете, трябва да имате:
✅ Един контролен компютър (може да е вашият лаптоп) с инсталиран Ansible
✅ Един или повече отдалечени сървъри с Ubuntu, достъпни чрез SSH
✅ Потребител с sudo права на отдалечения сървър
✅ Основни познания по работа с терминал
🔧 Стъпка 1: Инсталиране на Ansible на локалната машина
На Ubuntu или Debian базирана система, изпълнете:
sudo apt update
sudo apt install ansible -y
Проверете дали е инсталиран успешно:
ansible --version
🌍 Стъпка 2: Конфигуриране на инвентарния файл
Ansible използва инвентарен файл, за да знае кои сървъри да управлява.
Създайте файл hosts.ini
със следното съдържание:
[webservers]
10.20.20.10 ansible_user=ubuntu ansible_ssh_private_key_file=~/.ssh/id_rsa
Заменете
10.20.20.10
с IP адреса на вашия сървър.
📁 Стъпка 3: Създаване на структура на проекта
Нека създадем основна структура за нашия Ansible проект:
mkdir -p wordpress-ansible/{roles,playbooks}
cd wordpress-ansible
📜 Стъпка 4: Създаване на Playbook
Създайте файл playbooks/install-wordpress.yml
със следното съдържание:
---
- name: Инсталиране на WordPress с LAMP
hosts: webservers
become: yes
tasks:
- name: Обновяване на пакетите
apt:
update_cache: yes
- name: Инсталиране на Apache
apt:
name: apache2
state: present
- name: Активиране на Apache
service:
name: apache2
state: started
enabled: yes
- name: Инсталиране на PHP и нужните модули
apt:
name:
- php
- php-mysql
- libapache2-mod-php
- php-cli
- php-curl
- php-gd
- php-mbstring
- php-xml
- php-xmlrpc
state: present
- name: Инсталиране на MariaDB
apt:
name: mariadb-server
state: present
- name: Стартиране и активиране на MariaDB
service:
name: mariadb
state: started
enabled: yes
- name: Създаване на база данни за WordPress
mysql_db:
name: wordpress
state: present
- name: Създаване на потребител за WordPress
mysql_user:
name: wpuser
password: wppassword
priv: 'wordpress.*:ALL'
state: present
- name: Сваляне на WordPress
get_url:
url: https://wordpress.org/latest.tar.gz
dest: /tmp/latest.tar.gz
- name: Разархивиране на WordPress
unarchive:
src: /tmp/latest.tar.gz
dest: /var/www/html/
remote_src: yes
- name: Промяна на права върху директорията
file:
path: /var/www/html/wordpress
owner: www-data
group: www-data
recurse: yes
- name: Копиране на wp-config.php
template:
src: templates/wp-config.php.j2
dest: /var/www/html/wordpress/wp-config.php
owner: www-data
group: www-data
🧾 Стъпка 5: Шаблон за wp-config.php
Създайте папка templates
и вътре шаблонен файл:
mkdir templates
nano templates/wp-config.php.j2
Съдържание:
<?php
define('DB_NAME', 'wordpress');
define('DB_USER', 'wpuser');
define('DB_PASSWORD', 'wppassword');
define('DB_HOST', 'localhost');
define('DB_CHARSET', 'utf8');
define('DB_COLLATE', '');
$table_prefix = 'wp_';
define('WP_DEBUG', false);
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/');
require_once(ABSPATH . 'wp-settings.php');
🚀 Стъпка 6: Стартиране на Playbook-а
От основната директория изпълнете:
ansible-playbook -i hosts.ini playbooks/install-wordpress.yml
Ansible ще се свърже към сървъра и ще започне автоматичната инсталация. ⏳
След няколко минути ще имате работещ WordPress на вашия сървър!
🧪 Проверка на инсталацията
След приключване отворете браузъра и въведете:
http://<IP_на_вашия_сървър>/wordpress
Ще видите началната инсталационна страница на WordPress. 🎉

След това изберете желания от вас език и натиснете „ Продължи“ . Ще видите следващия екран, който ще ви подкани да въведете някои подробности за завършване на инсталацията, като : име на сайт, потребител и парола.
🧰 Допълнителни подобрения
Ansible ви дава възможност да:
- Инсталирате SSL сертификати с Let's Encrypt 🔒
- Настроите автоматични резервни копия 💾
- Създавате роли за многократна употреба 🔁
Например, може да разделите задачите в роли: apache
, php
, mysql
, wordpress
. Това прави проекта по-организиран и мащабируем.
🛡️ Съвети за сигурност
- Сменете паролите за базата данни и администраторския WordPress потребител
- Деактивирайте root логина през SSH
- Инсталирайте защитна стена (например
ufw
) - Редовно актуализирайте системата
❓ Защо да използвате Ansible за WordPress?
🔁 Автоматизация: Винаги можете да пресъздадете средата само с една команда
🧹 Чистота: Без ръчни команди, без пропуски
🚀 Скорост: Инсталацията отнема по-малко от 5 минути
🔐 Сигурност: Повтаряемите процеси намаляват човешките грешки
📚 Полезни ресурси
📌 Заключение
С Ansible инсталацията и конфигурацията на WordPress с LAMP на Ubuntu става бърза, лесна и професионална. Без значение дали сте начинаещ или имате малко опит, този подход ще ви спести време и ще повиши качеството на вашия проект. 🧑💻💪
Не се страхувайте да експериментирате. Създайте си свои роли, оптимизирайте процеса и разширявайте знанията си. 🌱
Споделете тази статия, ако ви е била полезна – така помагате и на други да открият силата на Ansible! 🙌
Благодарим ви за прочитането на статията! Ако намерихте информацията за полезна, можете да дарите посредством бутоните по-долу:
Donate ☕️ Дарете с PayPalDonate 💳 Дарете с Revolut