Скрипт автоматической установки и настройки LAMP + 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.
После создается пользователь и база данных для сайта, все это прописывается в 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
Может быть интересно:
Добавьте комментарий
Для отправки комментария вам необходимо авторизоваться.
Здравствуйте. Замечательная вещь для новичков. Спасибо:)
А каково ваше мнение о безопасности wp? Понятное дело, что большинство уязвимостей возникает из-за неправильной настройки сервера или использование «кривых» плагинов для wordpress. А, чистый движок при оперативной установке обновлений — безопасен?
У меня к вам просьба. Не могли бы вы написать обзор о настройке сервера под xenforo? Есть ли какие-нибудь тонкости оптимизации? О подобном скрипте для быстрой установки я конечно же не смею просить;)
Доброго времени суток,
В целом от самого движка безопасность конечно же зависит, но это не 50% успеха, а гораздо меньше. Ведь на общую безопасность сайта влияет множество факторов, включая те, которые вы упомянули, человеческий фактор, а так же если взять отдельные случаи, когда сайты работают на простеньких шаред хостингам — к вам могут пролезть через других пользователей / сайты. Последнее время, хостинговые компании начали переходить активно на решение данной проблемы при помощи CloudLinux, когда разделение идет не только на пользвателей, но у каждого пользователя еще и своя песочница за пределы которой вылезти не получится. Т.е. — все сидят в своих виртуальных контейнерах с полной изоляцией 🙂
По поводу Xenforo, не занимался, но, с удовольствим посмотрю и изучу тему. По существу ответить смогу не ранее следующей недели, по поводу скрипта — впринципе можно попробовать адаптировать его и для XenForo.
Доброго дня.
Спасибо за развёрнутый ответ. А какие хостинговые компании вы бы могли порекомендовать?
Все зависит от потребностей и возможностей. В плане отказоустойчивости и скалабилити — лучше всего будут облака вроде Amazon или Azure. Если нужны виртуальные серверы, то Hetzner или DigitalOcean, либо Linode, один из вариантов еще FirstVDS. Сам я размещаюсь на DigitalOcean.
В DigitalOcean очень удобно выстроен личный кабинет, можно смотреть графики мониторинга нагрузок, делать на лету снапшоты (бекапы), увеличивать параметры вашего сервера (память, хард к примеру) в большую сторону без особых проблем. К тому же, у них уже выстроена своя база готовых дистрибутивов, чтобы можно было в пару кликов установить и получить на выходе уже почти готовую к работе систему под те же WordPress. Да, некоторые вопросы по оптимизации остаются, потому как при работе с их сборками тот же Nginx будет кушать больше ресурсов и они не нестраивают swap, но в остальном очень приятно.
Если ваш виртуальный сервер не работает, вы его удалили, а сохранили только снапшот, вдруг решите в перспективе опять развернуть проект — то за сервер вы не платите, а платите лишь пару копеек за хранение вашего снапшота (стоимость зависит от размеров снапшота, считается по гигабайтам). Соответственно, если решили заморозить проект, делаете снапшот и удаляете сервер, деньги не платите, а когда надо — в пару кликов опять запускаетесь.
Из минусов — с их снапшотами на другие хостинги не переедешь, тут возникает актуальность использования Docker.
В целом уже больше года пользуюсь их услугами, пока доволен. Можно собирать кластеры, настраивать работу по хартбиту для повышения отказоустойчивости, легко бекапиться и т.д., минусов не вижу, да и цены приятные — миниальный VPS начинается от 5$ / месяц, которого при должной оптимизации можно легко хватить на несколько средне-нагруженных сайтов.
Здравствуйте.
В поиске различных «полезняшек», решила зайти к вам для консультации. К сожалению соответствующей темы не нашла. Напишу свой вопрос здесь.
В сети огромное количество мануалов по установке open vpn. Одни подробные, другие для любителей copy & paste, а есть подобные вашему обзору выше — готовое решение «из коробки». Во многих манах для быстрого инсталла опен впн, рекомендуют этот скрипт:
https://github.com/cwaffles/ezopenvpn
Автор, как вы видите, перестал дорабатывать своё детище 3 года назад. Что вы можете сказать по его скрипту? Может быть у вас есть что-то подобное?
Прошу прощения за длительный «игнор», почему-то болтался в спаме комментарий.
Вероятнее всего, автор забросил свое детище потому, что просто не смог более находить на него времени. Когда работаешь в enterprise среде, то с этим довольно сложно все, часто большие нагрузки.
По поводу обновления решения — в данный момент работаю немного над другим решением, связанным со стеками LEMP & LAMP и несколькими CMS, как только закончу, посмотрю в сторону VPN 🙂
Но опять же, насколько это все актуально — сейчас целая куча провайдеров по очень вкусным ценам, к тому же есть TOR и куча бесплатных прокси сервисов (я решил собрать еще один велосипед: https://getmeproxy.com, только еще с бесплатным API), вот возможно еще в связи и с этим фактом тот скрипт был заброшен.
Вечер добрый.
Через пару дней нашла всё же вполне неплохой вариант: github.com/Angristan/OpenVPN-install
>Но опять же, насколько это все актуально — сейчас целая куча провайдеров по очень вкусным ценам, к тому же есть TOR и куча бесплатных прокси сервисов
Актуально. Приятнее иметь свою впску с собственноручно настроенными сервисами *паранойя форева*, а не юзать уже готовое. Тор для постоянного сёрфинга не годится — возня с капчей или же тупо блокировки на некоторых ресурсах.
Если для серфинга, то можно подключиться к моему сервису по API 🙂
getmeproxy.com