webinoly logo

Создаем безопасный и быстрый веб-сервер на Webinoly. Устаналиваем cms Wordpress

Webinoly — простыми словами, это веб-сервер на основе Nginx + MariaDB (MySQL) + PHP, для Linux систем. Очень простая удобная связка, с управлением через консоль.

В сущности, зачем ставить этот стек, нет смысла рассказывать. Все написано в первой строчке, что, зачем и почему 🙂

Ставить стек лучше на чистый сервер, я выбрал для себя Ubuntu server 20.

Статья состоит из 3-х частей:

  1. Подготовка сервера
  2. Установка Webinoly
  3. Установка CMS Wordpress

Часть 1. Подготавливаем сервер

Подключаемся к сервере через SSH, я рекомендую MobaXterm.

Для начала, обеспечим защиту сервера:

sudo apt install fail2ban -y
sudo apt install ufw -y
sudo apt update && sudo apt upgrade -y
sudo apt install rsyslog
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}*/

EOF
и еще раз {Enter}

Меняем порт на котором работает SSH, включаем логи и отключаем авторизацию по паролю:

sudo nano /etc/ssh/sshd_config

---> откроется редактор, изменим значения и убираем #, как ниже:
Port 22 (меняем стандартный порт, например на 19827)
# Logging
SyslogFacility AUTH
LogLevel VERBOSE

PasswordAuthentication no

Открываем только те порты, которые нам понадобятся и закрываем порт 22:

sudo ufw allow 80
sudo ufw allow 443
sudo ufw allow (ваш порт SSH, по умолчанию 22) !важно!
sudo ufw delete allow 22
sudo ufw limit 22/tcp (вместо 22, ваш номер порта ssh)
sudo ufw enable
sudo reboot

После перезагрузки, не забываем прописать новый порт, в настройках SSH-клиента.

Часть 2. Установка Webinoly

Установка очень простая:

wget -qO weby qrok.es/wy && sudo bash weby

Меняем стандартный порт консоли администрирования, на котором в частности находится phpMyAdmin, 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=custom

Со всем соглашаемся через Y или Enter. Можно по дефолту оставить настройки логина-пароля, можно свои внести в процессе установки. Меняем только название базы данных, логин, пароль и префикс базы данных.

Включаем 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

Все, на этом мы закончили простейшую установка веб-сервера на стеке Webinoly. Если есть вопросы — пишите в комментариях 🙂