Инструкция по установке web сервера на Ububntu server, на примере Hestia.
Данная инструкция поможет развернуть веб сервер на vds или vps.
Ваш сервер будет более управляемый и вы сможете поставить защиты разного рода.
1. Обновление пакетов Linux
apt update && apt upgrade -y
p.s. sudo apt-get upgrade - могут слететь сетевые настройки у хостинга.
2. Установка hestia
2.1. Копируем файл установки
wget https://raw.githubusercontent.com/hestiacp/hestiacp/release/install/hst-install.sh
2.2. Запускаем установку
bash hst-install.sh
Если hestiacp не копируется или отрабатывает с ошибкой, используйте сайт hestiacp.com. Там есть Install.
3. Записать пароль админа
На экране появиться адрес панели и доступ администратора для входа.
Нужно будет сохранить для первичной авторизации.
4. Доступ к панели
4.1. Добавляем в файле host (в windows)
95.181.198.224 panel.hestia #Любой название для открытия панели вместо ip адреса
95.181.198.224 panel.bd #Любой название для открытия бд.
Находиться
C:\Windows\System32\drivers\etc\hosts
4.2. Создаем домен с названием panel.bd или любое другое и копируем туда phpmyadmin.
Не забываем переименовать папку phpmyadmin.
5. Закрыть прямой доступ к панели из интернета
5.1. Открываем путь
/usr/local/hestia/nginx/conf/nginx.conf
5.2. Находим
Vhost server { listen 8083 ssl; server_name _; root /usr/local/hestia/web; # Fix error "The plain HTTP request was sent to HTTPS port" error_page 497 https://$host:$server_port$request_uri; error_page 403 /error/404.html; error_page 404 /error/404.html; error_page 410 /error/410.html; error_page 500 501 502 503 504 505 /error/50x.html; ssl_certificate /usr/local/hestia/ssl/certificate.crt; ssl_certificate_key /usr/local/hestia/ssl/certificate.key;
5.3. Копируем после с новой строки
} server { listen 8083 ssl; server_name panel.hestia; root /usr/local/hestia/web; # Fix error "The plain HTTP request was sent to HTTPS port" error_page 497 https://$host:$server_port$request_uri; error_page 403 /error/404.html; error_page 404 /error/404.html; error_page 410 /error/410.html; error_page 500 501 502 503 504 505 /error/50x.html; ssl_certificate /usr/local/hestia/ssl/certificate.crt; ssl_certificate_key /usr/local/hestia/ssl/certificate.key;
6. Установить в панели время:
Часовой Пояс - Europe/Moscow [ 10:39:31 ] UTC+03:00
7. Настройки файвола.
7.1. Оставить только это:
- HESTIA TCP 8083 0.0.0.0/0
- DNS TCP 53 0.0.0.0/0
- DNS UDP 53 0.0.0.0/0
- WEB TCP 80,443 0.0.0.0/0
- SSH TCP 22 0.0.0.0/0
7.2. Добавить и отключить
PING ICMP 0 0.0.0.0/0
8. Исключить из бекапа мусор.
8.1. Заходим пользователем далее бекап (резервное копирование) и нажимаем исключения резервного копирования:
.bash_logout, .bashrc, .cache, .composer, .config, .local, .npm, .profile, .ssh, .vscode-server
Для пользователя на котором сайт. Некоторые файлы все ровно будут делаться.
8.2. Где в бекапе храниться файлы сайта
\bd - файлы бекапа (.sql) и \web - файлы сайта(public_html).
9. Убрать стандартные шаблоны
9.1. Отображение ошибок html
/usr/local/hestia/web/error
9.2. Отображение html по ip
/var/www/html
10. Рекомендации:
1. Включать и отключать ACCEPT SSH при заходите на сервер, через ssh.
2. удалим не нужные пакеты: (phpmyadmin) - sudo apt-get remove phpmyadmin
10. Фикс Let’s Encrypt если не работает
nano /etc/resolv.conf
Указываем: nameserver 8.8.8.8
11. Полезное
v-stop-service iptables - стоп файровала
sudo service hestia restart - рестарт
Если у Вас не получается Установка и настройка Hestia. или вы хотите дополнительные настройки и защиту.