После того как Vesta CP установлена приступаю к настройке, веб-хостинг обслуживает в основном локальную сеть, различные анкеты и другие веб-сервисы, также присутствуют несколько веб-сервисов смотрящих в сеть интернет. В целом обслуживаются только два домена .ru и .local, за домен .local отвечает сторонний dns сервер.
Некоторые сервисы работают под докером и должны использовать проксирование nginx как точку входа.
Vesta CP — тонкости в настройке
Статей по обычной настройке Vesta CP легко находится в интернете, покажу те моменты которые настраивал лично сам в соответствии с заданием выше.
Пользователи в Vesta CP
После установки сразу создаю необходимых пользователей, которые будут использовать хостинг (в моем случае мои коллеги и я)
Во вкладке WEB для пользователя Admin оставляю домен по умолчанию (в моей организации сайта на домене 2-его уровня нет)
Добавление записей в DNS Vesta CP
Во вкладке DNS добавляю запись типа A для dns сервера
У регистратора указываю первым dns сервером — этот ip-адрес и имя dns-сервера, второй остается dns регистратора.
У меня хостинг находится за фаерволом, поэтому указываю в вкладке IP внешний адрес, выделенный провайдером.
Правила Firewall Vesta CP для локальной сети
Добавляю правила в firewall для работы samba и веб-почты расположенной на другом сервере.
Доступ к каталогам пользователей по Samba в Vesta CP
Для удобство пользования в локальной сети, на веб-сервер я установил samba, разрешив вход только по логину и паролю в свой домашний каталог.
Устанавливаю samba:
1 | apt install samba |
Открываю конфигурационный файл
1 | nano /etc/samba/smb.conf |
Корректирую строки подключения домашних каталогов
1 2 3 4 | [homes] comment = Home Directories browseable = no path = /home/%U/web |
Проксирование на сторонние ресурсы
Так как веб-почта находится на другом сервере, то необходимо было настроить проксирование с хостинга, стандартными средствами VestCP этого делать не умеет, значит работаем с файлами конфигураций напрямую.
Конфигурации можно добавлять в каталог /etc/nginx/conf.d
Создаю конфигурационный файл mail.krasnodar-it-service.ru.conf и добавляю параметры проксирования
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | nano /etc/nginx/conf.d/mail.krasnodar-it-service.ru.conf server { listen 172.16.1.13:80; server_name <Название домена> www.<Название домена>; location / { proxy_pass http://172.16.1.60:80; } location ~ /\.ht {return 404;} location ~ /\.svn/ {return 404;} location ~ /\.git/ {return 404;} location ~ /\.hg/ {return 404;} location ~ /\.bzr/ {return 404;} } |
если используется ssl шифрование, то создаем вручную сертификат (или подключаем купленный)
в случае создания сертификата
1 | https://<ip-address>:8083/generate/ssl/ #создаем сертификаты |
Копируем содержимое SSL_Certifiacte в файл /etc/nginx/conf.d/ssl.<Название домена>.pem , а содержимое SSL Key в файл /etc/nginx/conf.d/ssl.<Название домена>.key
Для ssl создаем конфигурационный файл
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | nano /etc/nginx/conf.d/ssl.mail.krasnodar-it-service.ru.conf server { listen 172.16.1.13:443; server_name <Название домена> www.<Название домена>; ssl on; ssl_certificate /etc/nginx/conf.d/ssl.<Название домена>.pem; ssl_certificate_key /etc/nginx/conf.d/ssl.<Название домена>.key; location / { proxy_pass https://172.16.1.60:443; } location ~ /\.ht {return 404;} location ~ /\.svn/ {return 404;} location ~ /\.git/ {return 404;} location ~ /\.hg/ {return 404;} location ~ /\.bzr/ {return 404;} } |
Перезапускаем nginx:
1 | systemctl restart nginx |
Для остальных доменов с проксированием производим такие-же манипуляции.