Ansible LEMP WordPress Automatizálás
🚀 Termelésre kész, teljesen automatizált LEMP stack (Linux, Nginx, MySQL, PHP) + WordPress telepítés Ansible-lel
🌐 Más nyelvek
🎯 Funkciók
🏗️ Alapinfrastruktúra
✅ Teljes LEMP Stack telepítés
- Nginx webszerver termelésre kész optimalizálással
- MySQL 8.0+ biztonságos beállítással és teljesítmény-hangolással
- PHP 8.3+ FPM-mel, OPcache-sel és WordPress bővítményekkel
- Ubuntu/Debian család támogatás (20.04, 22.04, 24.04, Debian 11, 12)
🛡️ WordPress és Biztonság
✅ WordPress automatizálás és biztonság
- Legújabb WordPress telepítés WP-CLI integrációval
- Automatikus adatbázis beállítás és biztonságos konfiguráció
- Integrált SSL/HTTPS támogatás Let's Encrypt-tel
- Biztonság megerősítés (megfelelő fájljogosultságok, biztonságos konfigurációk)
⚡ Teljesítmény és Gyorsítótárazás
✅ Ultimate teljesítmény optimalizálás
- Redis objektum-gyorsítótárazás adatbázis optimalizáláshoz
- PHP OPcache konfiguráció a jobb teljesítményért
- MySQL teljesítmény-hangolás optimalizált konfigurációkkal
- Nginx optimalizálás gzip-pel, cache headerekkel és worker hangolással
🔧 Termelési funkciók
✅ Termelésre és fejlesztésre kész
- Két telepítési mód: Alap LEMP + Ultimate Teljesítmény
- Docker tesztkörnyezet biztonságos teszteléshez
- Moduláris, tiszta architektúra - termelésben tesztelt és dokumentált
- Idempotens playbook-ok (biztonságosan többször futtatható)
- SSL támogatás integrálva mindkét telepítési módban
🚀 Gyors kezdés
Előfeltételek
- Ansible 6.0+ a helyi gépén
- Ubuntu/Debian szerver (20.04+, Debian 11+)
- SSH hozzáférés a célszerverekhez
- sudo jogosultságok a célszervereken
1. Repository klónozása
git clone https://github.com/spalencsar/ansible-lemp-wordpress.git
cd ansible-lemp-wordpress
2. Inventory konfigurálása
cp inventory/production.yml.example inventory/production.yml
# Szerkessze az inventory/production.yml fájlt a szerver adataival
3. Válassza ki a telepítési módot
A opció: Alap LEMP + WordPress
# Standard LEMP stack WordPress-szel
ansible-playbook -i inventory/production.yml playbooks/lemp-wordpress.yml
B opció: Ultimate teljesítmény beállítás
# LEMP + WordPress + Redis + OPcache + Nginx optimalizálás
ansible-playbook -i inventory/production.yml playbooks/lemp-wordpress-ultimate.yml
C opció: SSL/HTTPS-szel
# SSL engedélyezése telepítés során
ansible-playbook -i inventory/production.yml playbooks/lemp-wordpress.yml \
-e "ssl_enabled=true" -e "ssl_email=az-on-email@domain.hu"
# Vagy Ultimate teljesítmény + SSL
ansible-playbook -i inventory/production.yml playbooks/lemp-wordpress-ultimate.yml \
-e "ssl_enabled=true" -e "ssl_email=az-on-email@domain.hu"
4. WordPress oldal elérése
- Weboldal:
http://az-on-szerver-ip(vagyhttps://ha SSL engedélyezett) - Admin panel:
http://az-on-szerver-ip/wp-admin - Alapértelmezett bejelentkezés: Ellenőrizze az inventory fájlban a
wp_admin_useréswp_admin_passwordértékeket
🐳 Docker tesztkörnyezet
Tökéletes teszteléshez termelési szerverek előtt:
cd docker/
docker-compose up -d
# Alap LEMP telepítés tesztelése
ansible-playbook -i inventory/docker.yml playbooks/lemp-wordpress.yml
# Ultimate teljesítmény telepítés tesztelése
ansible-playbook -i inventory/docker.yml playbooks/lemp-wordpress-ultimate.yml
Teszt oldal elérése: http://localhost:8080
📁 Projekt struktúra
ansible-lemp-wordpress/
├── playbooks/ # Fő Ansible playbook-ok (TERMELÉSRE KÉSZ)
│ ├── lemp-wordpress.yml # Alap LEMP + WordPress telepítés
│ └── lemp-wordpress-ultimate.yml # Ultimate: LEMP + WordPress + Redis + OPcache + Optimalizálás
├── inventory/ # Szerver inventory konfigurációk
│ ├── production.yml # Termelési szerver konfiguráció
│ └── docker.yml # Docker teszt környezet
├── templates/ # Jinja2 konfigurációs sablonok (TERMELÉSBEN TESZTELT)
│ ├── wp-config.php.j2 # WordPress konfiguráció
│ ├── wordpress.nginx.j2 # Nginx virtual host (HTTP)
│ ├── wordpress-ssl.nginx.j2 # Nginx virtual host (HTTPS)
│ ├── my.cnf.j2 # MySQL konfiguráció
│ └── www.conf.j2 # PHP-FPM pool konfiguráció
├── vars/ # OS-specifikus változók
│ └── debian-family.yml # Debian/Ubuntu változók
├── docker/ # Docker teszt környezet
│ ├── docker-compose.yml # Docker beállítás
│ ├── Dockerfile # Ubuntu teszt konténer
│ └── start-services.sh # Szolgáltatás indító script
└── docs/ # Dokumentáció
├── production-deployment.md
├── ssl-setup.md
└── troubleshooting.md
⚙️ Konfiguráció
Telepítési módok
Alap LEMP mód (lemp-wordpress.yml)
- Standard LEMP stack (Nginx, MySQL, PHP)
- WordPress WP-CLI-vel
- SSL támogatás (opcionális)
- Kis és közepes oldalakhoz alkalmas
Ultimate teljesítmény mód (lemp-wordpress-ultimate.yml)
- Minden az alap módból, plusz:
- Redis objektum gyorsítótárazás
- PHP OPcache optimalizálás
- Nginx teljesítmény hangolás
- MySQL optimalizálás
- Nagy forgalmú oldalakhoz alkalmas
SSL konfiguráció
Mindkét telepítési mód támogatja az SSL-t:
# Az inventory/production.yml fájlban
wordpress_servers:
hosts:
az-on-szerver:
ansible_host: az-on-ip
ssl_enabled: true
ssl_email: az-on-email@domain.hu
Változó konfiguráció
Alapvető WordPress változók:
# WordPress Admin
wp_admin_user: admin # WordPress admin felhasználónév
wp_admin_password: "{{ vault_wp_admin_password }}" # Használja az Ansible Vault-ot!
wp_admin_email: admin@domain.hu # WordPress admin email
wp_site_title: "Az Én WordPress Oldalam"
# Adatbázis
mysql_root_password: "{{ vault_mysql_root_password }}" # Használja az Ansible Vault-ot!
wordpress_db_name: wordpress
wordpress_db_user: wordpress
wordpress_db_password: "{{ vault_wordpress_db_password }}" # Használja az Ansible Vault-ot!
# SSL (opcionális)
ssl_enabled: false
ssl_email: admin@domain.hu
Teljesítmény változók (Ultimate mód):
# Redis konfiguráció
redis_enabled: true
redis_maxmemory: 256mb
# PHP optimalizálás
php_memory_limit: 512M
php_upload_max_filesize: 128M
php_opcache_enabled: true
# Nginx optimalizálás
nginx_worker_processes: auto
nginx_optimization_enabled: true
Szerver követelmények
- OS: Ubuntu 20.04+ vagy Debian 11+
- RAM: Minimum 1GB (2GB+ ajánlott Ultimate módhoz)
- Tárhely: Minimum 10GB szabad hely
- Hálózat: SSH hozzáférés + web portok (80/443)
🔒 Biztonság és legjobb gyakorlatok
Biztonsági funkciók
- Biztonságos jelszó kezelés Ansible Vault-tal
- Megfelelő fájljogosultságok WordPress és rendszerfájlokhoz
- MySQL biztonság egyedi root jelszóval és korlátozott hozzáféréssel
- Nginx biztonsági fejlécek és konfiguráció megerősítés
- SSL/HTTPS támogatás Let's Encrypt integrációval
Legjobb gyakorlatok
# Használja az Ansible Vault-ot érzékeny adatokhoz
ansible-vault create inventory/group_vars/all/vault.yml
# Példa vault.yml tartalom:
vault_mysql_root_password: "az-on-biztonsagos-mysql-jelszo"
vault_wp_admin_password: "az-on-biztonsagos-wp-jelszo"
vault_wordpress_db_password: "az-on-biztonsagos-db-jelszo"
# Telepítés vault-tal
ansible-playbook -i inventory/production.yml playbooks/lemp-wordpress.yml --ask-vault-pass
🧪 Tesztelés
Telepítés előtti tesztelés
# Először tesztelje Docker-rel
cd docker/
docker-compose up -d
ansible-playbook -i inventory/docker.yml playbooks/lemp-wordpress.yml
# Teszt környezet elérése
curl -I http://localhost:8080/
Validációs parancsok
# WordPress telepítés ellenőrzése
curl -s http://az-on-szerver/ | grep "WordPress"
# Admin hozzáférés tesztelése
curl -I http://az-on-szerver/wp-admin/
# PHP verzió ellenőrzése
ansible all -i inventory/production.yml -m shell -a "php --version"
# MySQL kapcsolat tesztelése
ansible all -i inventory/production.yml -m shell -a "mysql -u root -p{{ vault_mysql_root_password }} -e 'SELECT VERSION();'"
🚀 Teljesítmény funkciók
Alap mód teljesítmény
- PHP-FPM optimalizálás hangolt pool konfigurációval
- MySQL optimalizálás termelésre kész beállításokkal
- Nginx optimalizálás gzip tömörítéssel és cache fejlécekkel
Ultimate mód teljesítmény
Minden az alap módból, plusz:
- Redis objektum gyorsítótárazás adatbázis lekérdezés optimalizáláshoz
- PHP OPcache bytecode gyorsítótárazáshoz és javított PHP teljesítményhez
- Fejlett Nginx hangolás worker optimalizálással és kapcsolat kezeléssel
- MySQL teljesítmény hangolás fejlett konfigurációkkal
Teljesítmény összehasonlítás
# Alap mód telepítése
ansible-playbook -i inventory/production.yml playbooks/lemp-wordpress.yml
# Ultimate mód telepítése nagy forgalmú oldalakhoz
ansible-playbook -i inventory/production.yml playbooks/lemp-wordpress-ultimate.yml
🌍 OS kompatibilitás
| OS | Verzió | Státusz | Megjegyzések |
|---|---|---|---|
| Ubuntu | 24.04 LTS | ✅ Teljesen tesztelt | Ajánlott |
| Ubuntu | 22.04 LTS | ✅ Teljesen tesztelt | Ajánlott |
| Ubuntu | 20.04 LTS | ✅ Támogatott | Tesztelt |
| Debian | 12 | ✅ Támogatott | Kompatibilis |
| Debian | 11 | ✅ Támogatott | Kompatibilis |
📚 Dokumentáció
- Termelési telepítési útmutató
- SSL/Let's Encrypt beállítás
- Hibaelhárítási útmutató
- Közreműködési irányelvek
🤝 Közreműködés
Szívesen fogadjuk a közreműködést! Kérjük, olvassa el a Közreműködési irányelveinket a részletekért.
- Repository forkolása
- Funkció branch létrehozása
- Változtatások tesztelése a Docker környezettel
- Pull request beküldése
📄 Licenc
Ez a projekt MIT licenc alatt áll - lásd a LICENSE fájlt a részletekért.
🙏 Köszönetnyilvánítás
- WordPress - A fantasztikus CMS
- WP-CLI - WordPress parancssori eszköz
- Ansible - Automatizálási platform
- Közösségi közreműködők és tesztelők
📞 Támogatás
- 📧 Issues: GitHub Issues
- 📖 Dokumentáció: Wiki
- 💬 Beszélgetések: GitHub Discussions
⭐ Ha ez a projekt segít önnek, kérjük, adjon neki egy csillagot! ⭐
👨💻 Szerző
Sebastian Palencsár
- Copyright (c) 2025 Sebastian Palencsár
- GitHub: @spalencsar