Скрипт автоматической установки и настройки LAMP + WordPress

linux_apache_mysql_php_wordpressДля одного проекта понадобилось написать скрипт, который смог бы самостоятельно устанавливать и настраивать Linux + Apache + MySQL + PHP стек, WordPress и настраивать все более менее секьюрно, включая базовую конфигурацию файрвола.

Писать скрипт решено было на bash (хотя были мысли и про python). Надо было реализовать скрипт который сможет проверять наличие нужных пакетов и если чего-то не хватает для работы и удобства — установить, учтено было и то, что многие любят пользоваться phpMyAdmin — его скрипт тоже устанавливает и настраивает если нужно безопасный путь (меняет стандартный /phpMyAdmin на чуть более уникальный путь), так же скрипт по согласию пользователя создает в автоматическом режиме swap для более быстрой работы веб-сервера и WordPress.

Запускать скрипт нужно из под пользователя root.

Для повышения безопасности — создается отдельный пользователь и группа (группа = имя пользователя), создается домашняя директория для сайта с нужными правами в которую в последствии все закачивается и устанавливается. Так же скрипт оперирует папкой /tmp для хранения временных файлов.

После установки и настройки стандартных пакетов и веб-сервера скрипт приступает к скачиванию и установке (подключению к базе данных) самого WordPress.

При установке веб-сервера скрипт поможет подключить к нему доменное имя и покажет актуальный IP адрес сервера для добавление в «A» запись доменного имени, оптимизирует апач для более высоких нагрузок.

Скрипт качает последнюю версию русского или английского WordPress в зависимости от предпочтений пользователя, устанавливает несколько очень удобных плагинов (Google Sitemaps Generator, SNAP — плагин для автопостинга в соц. сети, EasyWatermark — для добавления водяных знаков к картинкам и AddToAny — чтоб на сайте были кнопочки «поделиться»). После установки WordPress и плагинов (плагины кстати, качаются тоже последней версии всегда) — скрипт настраивает правильный robots.txt и .htaccess в котором есть базовые правила безопасности для WordPress.

Смотрите так же   IP Tracker (PHP + MySQL)

После создается пользователь и база данных для сайта, все это прописывается в wp-config.php в автоматическом режиме и вам остается лишь выполнить завершающую стадию установки — создать пользователя сайта, название и пароль.

Кроме LAMP и WordPress скрипт помогает с настройкой базовых опций fail2ban для защиты SSH от подбора паролей, DoS атак и Apache от переполнений буфера.

В скрипте присутствует немного интерактива и пользователь может выбирать нужные опции, но — не стоит забывать и про обязательные, в частности: создание пользователя.

Данный скрипт рекомендуется к применению все же начинающим пользователям, чем более опытным и в большей степени предназначен для работы с малопроизводительными серверами (512mb 1 core, 1GB 2xcores).

Скачать скрипт себе можно отсюда: https://github.com/sm0k3net/Useful-Scripts/blob/master/wordpress.sh

Получить хостинг для тестирования от DigitalOcean на 2 месяца бесплатно (10$ на баланс) можно по этой ссылке.

Для установки необходимо выполнить следующие команды на вашем сервере из под пользователя root:

wget https://raw.githubusercontent.com/sm0k3net/Useful-Scripts/master/wordpress.sh

chmod +x wordpress.sh

./wordpress.sh

Может быть интересно:

8 комментариев

Добавьте комментарий