Webinoly — простыми словами, это веб-сервер на основе Nginx + MariaDB (MySQL) + PHP, для Linux систем. Очень простая удобная связка, с управлением через консоль.
В сущности, зачем ставить этот стек, нет смысла рассказывать. Все написано в первой строчке, что, зачем и почему 🙂
Ставить стек лучше на чистый сервер, я выбрал для себя Ubuntu server 20.
Разделы статьи
Часть 1. Подготавливаем сервер
Подключаемся к сервере через SSH, я рекомендую MobaXterm.
С самого начала мы обезопасим сервер от ботов и закроем возможные дыры в безопасности.
sudo apt install fail2ban -y && sudo apt install ufw -y && sudo apt install nano -y && sudo apt update && sudo apt upgrade -y
sudo touch /etc/fail2ban/jail.local && sudo nano /etc/fail2ban/jail.local
Откроется редактор, вставим в него код:
[sshd]
enabled = true
filter = sshd
action = iptables[name=SSH, port=ssh, protocol=tcp]
logpath = /var/log/auth.log
findtime = 600
maxretry = 3
bantime = 43200
Нажимаем ctlr + x, далее Y и enter, чтобы сохранить.
Внимание! Эта часть может быть сложной, поэтому если хотите, можете этот шаг до настройки файрволла.
Далее, скачиваем утилиту PuTTYgen и генерируем в ней публичный и приватный ключи. Оба ключа сохраняем.
Приватный ключ нам потребуется для входа на сервер, публичный вставляем в настройки SSH на сервере, как указано ниже.
Добавляем наш ключ на сервер:
sudo mkdir ~/.ssh
cat >> .ssh/authorized_keys << EOF
Нажимаем Enter
/* вставляем сгенерированный публичный ключ и {Enter}*/
Нажимаем Enter
EOF
Нажимаем Enter.
Меняем порт на котором работает SSH и отключаем авторизацию по паролю:
sudo nano /etc/ssh/sshd_config
Откроется редактор, изменим значения и убираем #, как ниже:
PasswordAuthentication no
Выходим CTRL + X, Y + Enter.
Настраиваем файрволл
sudo ufw allow 80 && sudo ufw allow 443 && sudo ufw allow 22 && sudo ufw limit 22/tcp & sudo ufw enable
В конце мы подтверждаем игриком y + enter, запуск фаервола.
Вместо стандартного порта SSH 22, можно выбрать любой другой порт. В примере ниже, мы поменяем его на 9999.
sudo ufw allow 9999 && sudo ufw limit 9999/tcp && sudo ufw deny 22
sudo nano /etc/ssh/sshd_config
Убираем # и меняем значение #Port 22
Port 9999
Выходим CTRL + X, Y + Enter
После перезагрузки, не забываем прописать новый порт, в настройках SSH-клиента.
Часть 2. Установка Webinoly
Установка очень простая:
wget -qO weby qrok.es/wy && sudo bash weby
Меняем стандартный порт консоли администрирования, на котором в частности находится phpMyAdmin, webinoly 22222 на какой-либо другой, открываем входящие и закрываем исходящие соединения.
В примере мы используем стандартный порт webinoly 22222.
sudo webinoly -tools-port=22222 && sudo ufw allow in 22222/tcp && sudo ufw allow out 22222/tcp
В webinoly наш сервер по http закрыт от посторонних и чтобы преодолеть эту защиту, потребуется логин и пароль. Создадим их.
sudo httpauth -add=[user,password] (user и password - ваши логин и пароль)
Включим защиту для консоли cms wordpress, этой же связкой логина и пароля.
sudo httpauth -wp-admin=on
Часть 3. Установка CMS WordPress
WordPress установить очень просто. Условимся, что ранее мы уже прописали адрес сервера, кстати я рекомендую держать домена на Beget, тариф парковка — бесплатный! И сам хостинг отличный, лучший я бы сказал. Работал с ним до того, как стал сам себе хостингом 🙂
Так вот, прописали адрес сервера у регистратора домена или парковщика, далее, можно установить cms.
sudo site domen.ru -wp
Дальше он все сделаем сам. Установка со своими параметрами происходит так:
sudo site domen.ru -wp=custom
Включаем SSL и кэширование.
sudo site domen.ru -ssl=on && sudo site domen.ru -cache=on
Переходим по адресу domen.ru и продолжаем настройку cms wordpress. Вводить данные которые были на этапе установке, не потребуется.
Переходим в консоль cms по адресу domen.ru/wp-admin и включаем кэширование Redis.
Активируем кэширование fastcgi через плагин Nginx Helper, ставим галочку Enable Purge и Save all changes. Далее, нужно поменять тип очистки Purge Method, на Delete local server cache files и Save all changes. К слову, все это пишет сам webinoly в процессе его настройки, так что читайте внимательно консоль.
Напоследок сделаем полную очистку и апдейт нашего сервера.
sudo apt update && sudo apt upgrade -y && sudo webinoly -update && sudo apt autoclean -y && sudo apt clean && sudo apt autoremove && sudo webinoly -clear-cache=all && sudo reboot
Все, на этом мы закончили простейшую установка веб-сервера на стеке LEMP Webinoly. Если есть вопросы — пишите в комментариях.
Дмитрий спасибо 🙂
Спасибо и вам за обратную связь 🙂