🛠️ Автоматична инсталация на WordPress сайтове с Bash скрипт

Създаването на множество WordPress сайтове на един сървър често е свързано с повтарящи се стъпки – изтегляне на WordPress, настройка на база данни, конфигуриране на Apache или Docker, редакция на wp-config.php
, права на файлове и още куп детайли. За да спестим време и усилия, създадох Bash скрипт, който автоматизира напълно този процес.
🔧 Какво представлява скриптът?
Скриптът е предназначен за Ubuntu сървър и позволява бърза и лесна инсталация на множество WordPress сайтове, всеки със собствена директория, база данни и порт. Можете да избирате между класическа инсталация с Apache или такава чрез Docker + docker-compose.
🧰 Основни възможности
- ✅ Инсталира всички необходими зависимости (Apache, PHP, MariaDB, WordPress)
- ✅ Поддържа както стандартна инсталация, така и чрез Docker
- ✅ Генерира уникални портове (напр. 8081, 8082…) за всеки сайт
- ✅ Настройва Apache VirtualHost и PHP параметри (upload, memory, execution time)
- ✅ Създава отделна база данни, потребител и парола за всеки сайт
- ✅ Добавя записа в
/etc/hosts
за лесно тестване с домейн
📦Как да използвате скрипта:
- Запазете скрипта във файл (напр.
wordpress-installer.sh
) - Направете го изпълним:
chmod +x wordpress-installer.sh
- Изпълнете като root:
sudo ./wordpress-installer.sh
Основно меню
След стартиране ще видите следното меню:
1. Инсталирай зависимости
2. Конфигурирай MySQL
3. Инсталирай WordPress сайт (Apache)
4. Инсталирай WordPress сайт (Docker)
5. Изход
Избор на метод за инсталация
Ако изберете опция 3 или 4, ще бъдете подканени да въведете:
- Име на сайта (без интервали) – използва се за директория и база данни
- Порт – напр. 8081, 8082…
- Домейн (незадължително) – ако желаете, може да използвате локален домейн, напр.
site1.local
Автоматична конфигурация
Скриптът ще:
- Изтегли последната версия на WordPress
- Създаде база данни и потребител с права
- Настрои
wp-config.php
иphp.ini
- Конфигурира Apache виртуален хост или docker-compose
- Добави локален запис в
/etc/hosts
(ако е посочен домейн) - Рестартира Apache или стартира контейнерите
След това ще получите съобщение с URL адреса, където можете да завършите инсталацията на WordPress:
WordPress е успешно инсталиран за site1!
Достъп до сайта: http://10.10.10.11:8081
Завършете инсталацията тук: http://10.10.10.11:8081/wp-admin/install.php
⚙️ Примерен сценарий
Имате сървър и искате да създадете три различни WordPress сайта за тестови цели:
sudo ./wp-multisite-installer.sh
- Създавате
test1
на порт8081
, домейн:test1.local
- Създавате
projectx
на порт8082
, без домейн - Създавате
clientsite
на порт8083
, домейн:client.local
Готово! Всеки сайт има собствена директория, собствена база, конфигурация и можете веднага да започнете работа.
🐳 Docker поддръжка
Ако предпочитате контейнеризирана среда, скриптът генерира docker-compose.yml
и php.ini
автоматично. Контейнерите се стартират с една команда, а промените по сайта остават запазени в директорията на проекта.
📁 Структура на директориите
/var/www/test1/
│
├── wp-content/
├── wp-config.php
├── php.ini
├── docker-compose.yml (ако е Docker)
🛡️ Безопасност и добри практики
- Скриптът не записва пароли в лог файлове
- Паролите и потребителите могат да бъдат редактирани преди изпълнение
- MySQL се конфигурира допълнително чрез
mysql_secure_installation
🧪 Подходящ за:
- Разработчици, които създават много тестови сайтове
- Агенции, които управляват няколко клиентски WordPress инсталации
- Всеки, който иска да избегне досадната ръчна инсталация
📥 Изтегли скрипта
Можете да изтеглите пълния скрипт от следния линк:
Благодарим ви за прочитането на статията! Ако намерихте информацията за полезна, можете да дарите посредством бутоните по-долу:
Donate ☕️ Дарете с PayPalDonate 💳 Дарете с Revolut