В останні роки все більше користувачів обирають VPS та виділені сервери для розміщення своїх web-ресурсів замість звичного віртуального хостингу. Проте більшість із них не володіють навичками системного адміністрування, тому актуальним стає вибір панелі керування сервером. Панель VestaCP по праву здобула довіру користувачів і стає все популярнішою, а встановлення VestaCP є простим та займає небагато часу.
Переваги панелі керування VestaCP
- На відміну від популярних cPanel та ISP Manager, панель VestaCP є абсолютно безкоштовною;
- Простий та інтуїтивно зрозумілий web-інтерфейс, який для багатьох користувачів є більш привабливим, ніж у платних аналогів;
- На відміну від інших панелей, післявстановлювальна настройка VestaCP є простою та швидкою, що дає можливість одразу почати роботу із сервером;
- Широкий функціонал панелі та гнучкі налаштування сервера безпосередньо з web-інтерфейсу;
- Кастомізація необхідного набору програмного забезпечення;
- Стабільна робота та мінімальна кількість багів, які, за особистими спостереженнями, зустрічаються значно частіше у платних аналогах і їхнє вирішення вимагає втручання адміністраторів;
До недоліків панелі VestaCP можна віднести:
- Система резервного копіювання (backup) не дозволяє відновлювати резервні копії безпосередньо через web-інтерфейс, а лише через командний рядок із застосуванням системного скрипта;
- Відсутність підтримки вибору версій PHP (існують сторонні плагіни);
- Відсутність підтримки функціоналу CloudLinux, проте у більшості користувачів немає необхідності у використанні даного дистрибутиву, призначеного, насамперед, для віртуального хостингу та хостерів для розмежування прав користувачів на рівні сервера, а не приватного використання;
- Відсутність вбудованого файлового менеджера;
Виходячи з усіх перерахованих переваг та недоліків панелі керування VestaCP, вона є оптимальним вибором для приватного використання більшості web-майстрів.
Встановлення VestaCP на CentOS 8
Для встановлення панелі керування VestaCP нам знадобиться “чистий сервер” з попередньо встановленим дистрибутивом CentOS7-minimal. Minimal-редакція є оптимальною, оскільки містить виключно необхідний набір попередньо встановленого софту. У випадку використання інших редакцій можливі:
- Конфлікт при встановленні пакетів, необхідних для роботи VestaCP;
- Наявність софту, який не буде потрібен у майбутньому і створюватиме додаткове навантаження на сервер.
У першу чергу, рекомендуємо налаштувати на сервері SSH авторизацію за ключем!
Тепер приступаємо безпосередньо до встановлення панелі VestaCP. Для цього нам знадобиться інсталяційний файл, який доступний на офіційному сайті: https://vestacp.com/install/
У випадку з VestaCP на сторінці завантаження доступний конфігуратор необхідного пакету встановлюваного софту. Ви можете відключити деякі пакети, які в майбутньому не будуть використовуватись. Це допоможе уникнути brute-force та flood атак. У нашому випадку не планується використовувати mail-сервер (для цього є спеціалізовані сервіси), тому ми не будемо встановлювати компоненти для роботи з поштою. Також, якщо Ви використовуєте сторонні сервери імен, встановлювати DNS сервер не потрібно.
Нам потрібно ввести базові налаштування для роботи панелі керування:
- hostname – ім’я Вашого сервера;
- Email – на дану поштову скриньку будуть приходити сповіщення панелі VestaCP;
- Password – пароль для користувача admin, який буде створено під час встановлення;
Натискаємо Generate Install Command і нижче будуть згенеровані команди, які слід виконати на сервері. Для цього підключаємось до сервера по ssh.
Завантажуємо скрипт для встановлення VestaCP:
curl -O http://vestacp.com/pub/vst-install.sh
Запускаємо інсталятор:
bash vst-install.sh --nginx yes --apache yes --phpfpm no --named yes --remi yes --vsftpd yes --proftpd no --iptables yes --fail2ban yes --quota no --exim no --dovecot no --spamassassin no --clamav no --softaculous no --mysql yes --postgresql no --hostname server.ваш_домен.com --email ваш@email --password ваш_пароль
Зверніть увагу, якщо Ви використовуєте не Minimal редакцію CentOS8, потрібно додати до команди атрибут –force:
bash vst-install.sh --nginx yes --apache yes --phpfpm no --named yes --remi yes --vsftpd yes --proftpd no --iptables yes --fail2ban yes --quota no --exim no --dovecot no --spamassassin no --clamav no --softaculous no --mysql yes --postgresql no --hostname server.ваш_домен.com --email ваш@email --password ваш_пароль --force
Інсталятор проводить перевірку компонентів, і якщо все гаразд, нам потрібно підтвердити встановлення:
Встановлення VestaCP займе деякий час…
Готово, встановлення VestaCP на сервері з CentOS 7 завершено. Скопіюйте та збережіть адресу web-інтерфейсу, логін та пароль у надійному місці.
Слід зазначити, що за замовчуванням встановлюється PHP 7.4.
Оновлення MariaDB
Починаючи з CentOS 7, MariaDB є стандартним сервером баз даних mysql. Проте в базовому репозиторії доступна версія MariaDB 5.5, яка давно є застарілою, тому нам слід оновити її.
Робимо резервну копію файлу конфігурації my.cnf:
cp /etc/my.cnf /etc/my.cnf.backup
Робимо резервні копії баз даних:
mysqldump -u root --all-databases > /tmp/all-database.sql
Зупиняємо та видаляємо MariaDB 5.5:
systemctl stop mariadb yum remove mariadb-server mariadb mariadb-libs -y
Додаємо репозиторій MariaDB 10.4 до yum. Для цього відкриваємо у редакторі файл:
vi /etc/yum.repos.d/MariaDB10.repo
У цей файл додаємо:
# MariaDB 10.4 CentOS repository list # http://mariadb.org/mariadb/repositories/ [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.4/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1
Для збереження та виходу з редактора vi натискаємо Esc та виконуємо команду :wq (натискаємо Enter для виконання).
Очищаємо yum-кеш:
yum clean all
Встановлюємо на сервер MariaDB 10.4:
yum -y install MariaDB-server MariaDB-client -y
Відновлюємо файл конфігурації my.cnf:
rm -f /etc/my.cnf mv /etc/my.cnf.backup /etc/my.cnf
Запускаємо MariaDB 10.4 та додаємо сервіс до автозапуску при завантаженні ОС:
systemctl start mariadb systemctl enable mariadb
Оновлюємо бази даних MariaDB 10.4:
mysql_upgrade
Готово! На цьому оновлення MariaDB та встановлення VestaCP на сервері з CentOS 7 завершено!
Налаштування VestaCP
Тепер переходимо до налаштування VestaCP. Для цього переходимо до web-інтерфейсу за посиланням, отриманим після завершення встановлення панелі:
https://ip_вашого_сервера:8083/
Ви побачите попередження про некоректний SSL-сертифікат та можливу загрозу (ми виправимо це трохи пізніше). Ігноруємо його та продовжуємо. Авторизуємось у панелі керування, використовуючи користувача admin.
Перед вами інтерфейс панелі керування VestaCP. Насамперед, якщо Ви використовуєте власні DNS сервери, слід їх задати. Для цього редагуйте користувача admin:
Переходимо на вкладку WEB та додаємо основне доменне ім’я на сервер.
Якщо Ви використовуєте власні сервери імен, переходимо у вкладку DNS та створюємо А записи ns1 та ns2:
Переналаштовуємо у реєстратора DNS сервери імен на нові. Якщо використовуються сторонні DNS, то перенаправляємо А записи домену на нові IP.
Якщо Ви переносите сайт, то спочатку завантажте його резервну копію (файли, бази даних тощо) і лише потім перенаправляйте DNS на новий сервер!
Після того, як DNS оновляться і домен стане доступним з нового сервера, переходимо на вкладку WEB та редагуємо доменне ім’я:
- Web Template – режим, у якому буде запускатись php. За бажанням ви можете обрати інший.
- Увімкнюємо підтримку SSL та генеруємо безкоштовний Let’s Encrypt сертифікат (якщо немає платного).
Зберігаємо та переходимо у розділ Server, де налаштовуємо:
- Часовий пояс сервера;
- Мову інтерфейсу;
Встановлюємо SSL сертифікат для панелі керування. Для цього обираємо домен, для якого створили сертифікат, із списку:
Зберігаємо зміни, закриваємо вкладку з панеллю у браузері та авторизуємось за адресою:
https://ip_вашого_сервера:8083/
Готово, попереджень про загрозу у браузері більше немає. Таким чином, початкове встановлення та налаштування VestaCP на сервері з CentOS8 завершено.
Висновок
У цій статті ми розглянули встановлення VestaCP на сервері з CentOS 8 та його базове налаштування. Панель VestaCP є функціональним, але водночас простим у використанні інструментом керування web-сервером.