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

Автоматична инсталация на 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 за лесно тестване с домейн

📦Как да използвате скрипта:

  1. Запазете скрипта във файл (напр. wordpress-installer.sh)
  2. Направете го изпълним: chmod +x wordpress-installer.sh
  3. Изпълнете като 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 инсталации
  • Всеки, който иска да избегне досадната ръчна инсталация

📥 Изтегли скрипта

Можете да изтеглите пълния скрипт от следния линк:

📥ИЗТЕГЛИ

Федя Серафиев

Федя Серафиев

Федя Серафиев e собственик на уебсайта urocibg.eu. Той намира удовлетворение в това да помага на хората да решават и най-сложните технически проблеми. Сегашната му цел е да пише лесни за следване статии, така че подобни проблеми изобщо да не възникват.

Благодарим ви за прочитането на статията! Ако намерихте информацията за полезна, можете да дарите посредством бутоните по-долу: