НОВОСТИ

CyberPanel: як встановити і налаштувати на VPS сервері

У цьому керівництві я покроково розпишу увесь процес встановлення популярної панелі управління хостингом CyberPanel на віртуальному VPS-сервері. А також як розгорнути WordPress сайт на CyberPanel. У якості веб-сервера буде використовуватися Open Litespeed Server (OLS). Цю конфігурацію я обрав не просто так. CyberPanel на сьогодні є абсолютно кращою безкоштовною панеллю управління, і в той самий час найбільш професійною, оптимізованою й відлагодженою, значно випереджаючи за стабільністю такі системи як VestaCP, Hestia, DirectAdmin чи Plesk. Ну, а щодо веб-сервера OLS – то це рішення продиктовано спільнотою фахівців, які мали змогу порівняти та протестувати продуктивність усіх існуючих на сьогодні веб-серверів. Й прийшли до висновку, що Open Litespeed навіть по замовчуванню у 9 разів швидший за Apache, і зовсім не гірший від NGINX та його зв’язки з PHP-FPM. Я мав змогу у цьому переконатися. Власне, хочу про це розповісти, підготувавши технічну документацію по встановленню та налаштуванню CyberPanel на VPS.

Що таке CyberPanel й LiteSpeed? Основні терміни і поняття

CyberPanel: як встановити і налаштувати на VPS сервері

LiteSpeed Web Server (LSWS) – це програмне забезпечення для управління VPS-сервером, розроблене у 2002 році командою інженерів на чолі з Джорджем Вангом. Існує у двох версіях: Open Source та комерційною Enterpise. LiteSpeed сервер повністю сумісний з веб-сервером Apache (підтримує .htaccess і mod_rewrite), що створює необхідні передумови для комфортного переходу. На сьогодні LiteSpeed Web Server займає 3-тю сходинку у світі за популярністю, після Apache та Nginx. Завдяки своїй ефективній технології кешування (LS Cache), сервер досягає небаченої продуктивності при різних навантаженнях й мінімальному споживанні системних ресурсів. Існує у двох версіях: безкоштовній Open LiteSpeed та комерційній LiteSpeed Enterprise.

CyberPanel CP – повнофункціональна професійна панель управління сервером, розроблена програмістом з Пакистану Усманом Насіром під веб-сервер LiteSpeed. Розповсюджується за безкшотовною Open Source ліцензією. CyberPanel завдяки своїй стабільності, швидкості та ефективності швидко здобула велику популярність серед системних адміністраторів, а також власників WordPress сайтів й була з часом розгорнута у великий проект з власною інтернет-спільнотою та командою технічної підтримки.

Apache Web Server – безкоштовний кросплатформний веб-сервер, створений у 1996 році. Є найпопулярнішим та найстарішим веб-сервером на сьогодні, встановлений на понад 50% серверів світу. Однак, починаючи з 2000-х років у зв’язку з різкою зміною інтернет-стандартів почав втрачати популярність. Веб-сторінки ставали дедалі динамічнішими й спричиняли навантаження на сервер, з яким Apache справлявся надто важко. У висновку на арені з’явився новий швидкісний веб-сервер Nginx, який міг працювати як у зв’язці з Апаче (Nginx – front-end, Apache – back-end), беручи на себе частину навантаження, так і самостійно. Однак через складність синтаксису, Nginx не прижився серед користувачів Apache, у той час як LiteSpeed веб-сервер сумісний з Apache й набагато легший в обслуговуванні.

OpenLiteSpeed vs Nginx vs Apache
Детальніше ознайомитися з тестуванням

Переваги CyberPanel

CyberPanel Webhosting

Хостинг-панель CyberPanel включає OpenLiteSpeed “з коробки” та буквально вражає швидкістю і функціоналом:

  • 100% безкоштовна (Open Source) професійна контроль-панель управління хостингом
  • Бездоганний, зручний, модерний графічний веб-інтерфейс, при бажанні можна встановити додаткові скіни (теми)
  • Швидка та безперебійна генерація безкоштовних SSL-сертифікатів Lets Encrypt для будь-якого домену
  • Свій DNS сервер (підтримка PowerDNS)
  • Свій MAIL сервер, включаючи DKIM-генератор та SpamAssassin сервіс (та інші)
  • Свій SSH сервер
  • Свій FTP сервер
  • Підтримка модулів кешування: LSCACHE, MEMACHE, REDUS
  • Панель управління базами даних PHPMYAdmin.
  • Поштовий клієнт Rainloop
  • Зручний файловий менеджер
  • Підтримка усіх версій PHP та їх мультифункціональне використання (різні версії PHP на різних сайтах)
  • Кілька надійних фаєрволів “з коробки” (WAF, CSF, ModSecurity та ін.)
  • Вбудовані функції резервного копіювання
  • Зручне керування log-файлами (журналами сервера)
  • Підтримка двофакторної авторизації (2FA)
  • Підтримка технології Git
  • Підтримка популярних CMS WordPress, Joomla, Prestashop, Magento (готові скрипти для встановлення)
  • Окрема повнофункціональна панель адміністрування для налаштування веб-сервера (WebAdmin Console)
  • Підтримка Docker
  • Підтримка Cloud Linux
  • Підтримка Elastic Search
  • Web Terminal
  • Можливість створення лімітованих пакетів використання серверних ресурсів для користувачів (розгортання приватного хостингу)

Системні вимоги CyberPanel

Попри легкість в обслуговуванні, CyberPanel вимагає мінімальних ресурсів від сервера й підтримує не всі операційні системи (напр. Debian):

  • Операційні системи: Centos 7.x, Centos 8.x, Ubuntu 18.04, Ubuntu 20.04
  • Встановлений Python 3.x
  • Мінімум 1GB оперативної пам’яті і більше
  • 10GB вільного простору

Розгортання веб-сервера на базі OLS + CyberPanel

CyberPanel: як встановити і налаштувати на VPS сервері

Отже, перейдемо до головного – встановлення. В якості платформи для розгортання майбутньої інфраструктури можна обрати будь-який рекомендований розробниками “Кіберпанелі” хмарний VPS-хостинг, до прикладу це може бути:

Встановлення CyberPanel

Після того, як ви створили сервер з рекомендованими характеристиками, першим і обов’язковим кроком буде оновлення операційної системи. Якщо цього не зробити – можуть виникати баги.

Під’єднайтеся до сервера по SSH та виконайте в терміналі наступні команди:

Оновлення Ubuntu:

sudo apt-get update

sudo apt-get upgrade

Оновлення CentOS:

yum update -y

Наступним кроком буде завантаження інсталяційного пакету та, власне, запуск встановлення CyberPanel.

Виконайте команди:

sudo su -

sh <(curl https://cyberpanel.net/install.sh || wget -O - https://cyberpanel.net/install.sh)

Відбудеться ініціалізація та перевірка вимог системи, після чого менеджер встановлення запропонує обрати один з трьох варіантів:

  1. Встановити CyberPanel
  2. Встановити додатки й розширення
  3. Покинути менеджер встановлення

Встановлення CyberPanel на сервер

Введіть бажану цифру та натисніть Enter.

Далі пройде чекінг й запропонують обрати версію CyberPanel:

  1. CyberPanel с OpenLiteSpeed (безкоштовна)
  2. CyberPanel з LiteSpeed Enterprise (комерційна)
  3. Покинути менеджер встановлення.

Cyberpanel System Requirments

Після цього вам запропонують відповісти на ряд запитань, щоб точно сконфігурувати пакет встановлення CyberPanel:

1. Встановити Повний пакет сервісів для CyberPanel? Включаючи PowerDNS, Postfix та Pure-FTPd.  – якщо ви хочете розгорнути повномасштабний функціональний хостинг, обирайте “Так”. При бажанні усіх їх можна потім відключити.

CyberPanel: як встановити і налаштувати на VPS сервері

2. Чи бажаєте встановити віддалену MySQL базу даних? – Зазвичай, для звичайних сайтів використовується стандартна локальна SQL-база даних. Тому тиснемо “Ні”.

3. Далі відбудеться перевірка актуальної версії “Кіберпанелі”, після чого вам запропонують згенерувати або ввести пароль до панелі керування – рекомендую придумати надійний пароль із спеціальними символами верхнього та нижнього регістру:

CyberPanel installer - MySQL

4. Чи бажаєте встановити розширення Memcache? – це популярний плагін кешування, який пришвиджує завантаження сайту. Відповідаємо “Так”.

5. Чи бажаєте встановити розширення Redis? – ще один плагін кешування даних. Може знадобитись.

6. Бажаєте налаштувати WatchDog для веб-сервісів і бази даних? – тиснемо “Ні”.

CyberPanel installer asking

Отже, відбудеться встановлення пакетів, що може зайняти від 5 до 15 хвилин. Уважно спостерігайте за перебігом встановлення, адже в разі будь-яких критичних помилок процес встановлення “Кіберпанелі” може бути обірваним або незавершеним. А в разі несуттєвих помилок – можна буде усунути їх потім.

На завершення отримаєте фінальне повідомлення про успішне встановлення з посиланнями на усі доступи, а також рекомендаціями щодо мережевих портів, без яких не зможуть працювати CyberPanel та Open Lite Speed сервер.

CyberPanel Successfully Installed

Enjoy your accelerated Internet by
CyberPanel & LiteSpeed Enterprise

Cyberpanel - installation under terminal

На запитання “Бажаєте перезвантажити сервер зараз?” – натискаємо “Так”. Після перезвантаження у консолі з’явиться технічна інформація зі статистикою доступності (Uptime) та повідомленням про те, що цей сервер містить встановлену панель управління CyberPanel:

CyberPanel: як встановити і налаштувати на VPS сервері

Знайомство з веб-інтерфейсом CyberPanel

Першим ділом необхідно авторизуватись в панелі адміністрування й усе налаштувати на свій смак.

Вводимо в адресному рядку браузера наступну URL-адресу: https://IP_адресаVPS:8090

Після цього перед вами з’явиться попередження про незахищений зв’язок:

CyberPanel: як встановити і налаштувати на VPS сервері

Річ у тому, що браузер вимагає від ресурсу SSL-сертифікату безпеки, що гарантує з’єднання по захищеному HTTPS-протоколу. Однак, ми його встановимо пізніше, поки що у нас “голий” сервер, а тому натискаємо Детальніше -> Все одно перейти на сайт й потрапляємо на сторінку авторизації:

CyberPanel: як встановити і налаштувати на VPS сервері

Вводимо свої дані авторизації, обираємо мову (української на жаль немає) й тиснемо “Увійти”. Нас зустріне приємний і легкий в опануванні веб-інтерфейс “Кіберпанелі”:

CyberPanel: як встановити і налаштувати на VPS сервері

Як бачимо на скріншоті, панель адміністрування проста й складається з декількох частин:

  • ТОП-панель – тут відображається статус користувача, а також кнопки керування – доступ налаштувань й вихід.
  • Бічна панель (sidebar) – в ній розміщені усі розділи панелі управління.
  • Дашборд (dashboard) – головна панель з моніторами та функціями.

Налаштування профілю користувача

Першим чином необхідно перейти у персональні налаштування профілю, для цього натиснувши на іконку користувача на ТОП-панелі і обравши “Редагувати профіль”:

CyberPanel: як встановити і налаштувати на VPS сервері

Ми потрапимо у редагування персональної інформації та особистих налаштувань, які варто тут же змінити. Змінюємо ім’я, електронну адресу (по замовчуванням тут встановлена адреса розробника), пароль, а також обов’язково вмикаємо двофакторну 2FA авторизацію, яка в CyberPanel налаштовується одним кліком – варто лише встановити на смартфоні додаток Google Authentificator та відсканувати отриманий в “Кіберпанелі” QR-код:

CyberPanel: як встановити і налаштувати на VPS сервері

 

Тиснемо кнопку “Modify User” – зміни збережено.

Пакет ресурсів користувача

По замовчуванню користувачу надається певний пакет ресурсів, який визначає ліміти на користування. Система дозволяє редагувати та створювати нові пакети ресурсів. Таким чином можна запустити справжній хостинг, створивши різні тарифні плани із різними лімітами ресурсів для тої чи іншої групи користувачів.

За замочуванням для адміністратора встановлений пакет ресурсів “Default”. В ньому є певні обмеження, тому варто його змінити, наприклад прибрати ліміти по трафіку (Bandwidth) і дисковому простору (Disk Space) й натомість встановити розумний ліміт на кількість електронних пошт, FTP-акаунтів, доменів й баз даних.

Щоб потрапити у налаштування пакету ресурсів, необхідно на бічній панелі натиснути розділ “Modify Package”:

CyberPanel: як встановити і налаштувати на VPS сервері

Додаємо новий сайт

Після того як ваш домен буде делеговано в DNS-зоні на IP-адресу VPS-сервера, настав час додати його в панель управління CyberPanel – перейдіть в панелі управління у розділ Websites -> Create website й додайте новий сайт:

CyberPanel: як встановити і налаштувати на VPS сервері

У полі “Domain Name” введіть домен сайту (без WWW), а також не забудьте увімкнути потрібні вашому сайту опції, наприклад: версія PHP, SSL-сертифікат, підтримка DKIM, захист, поштовий домен. Після цього натисніть – “Create Website”.

Дочекайтесь поки CyberPanel усе налаштує й з’явиться повідомлення “Successfully Installed”:

CyberPanel: як встановити і налаштувати на VPS сервері

Натисність на кнопку “Go Back” й поверніться на початок. На бічній панелі у розділі Websites -> List Websites ви зможете переглянути усі додані вами сайти і перейти у керування:

CyberPanel: як встановити і налаштувати на VPS сервері

Тепер залишилось створити базу даних, для цього перейдемо в розділ Databases -> Create Database:

CyberPanel: як встановити і налаштувати на VPS сервері

 

SQL-базу даних буде успішно створено після чого ви зможете працювати з нею з допомогою утиліти PhpMyAdmin. Доступ до неї можна отримати в розділі Databases -> PhpMyAdmin:

CyberPanel: як встановити і налаштувати на VPS сервері

Імпорт бази даних

Якщо ви перенесли сайт на новий хостинг, не забудьте імпортувати таблиці старої бази даних у нову. Зробити це можна знову ж таки у MyPhpAdmin – функцією імпорту (попередньо змінивши в файлі конфігурації PHP.INI обмеження на максимальний об’єм завантажуваного sql-файлу – параметр upload_max_filesize), однак набагато простіше й безпечніше зробити у командному рядку Linux. Треба підключитися до VPS-сервера по SSH, перейти в папку з файлом бази даних та виконати одну просту команду:

mysql -u username -p databasename < dump.sql

  • username – підставляєте ім’я користувача створеної вами бази даних
  • new_database – підставляєте ім’я самої бази даних
  • data-dump.sql – файл старої бази даних, який потрібно імпортувати в нову базу (вкажіть його розташування, якщо він знаходиться не в кореневій директорії)

Примітка: Якщо імпортуєте велику базу даних, то попередньо варто перевірити та встановити значення max_allowed_packed = 64M у файлі конфігурації бази даних my.cnf

Імпорт файлів

Після того як база даних імпортована та готова до роботи, варто скопіювати усі файли вашого сайту у кореневий каталог домену – public_html. Зробити це можна однією командою терміналу Linux з допомогою SCP-протоколу:

scp -i /secret_ssh_key_path mywebsite.zip [email protected]_address_server:/home/mywebsite/public_html

Розпакуйте архів на сервері командою:

unzip website.zip

Після цього у файлі конфігурації вашої CMS прописати доступи до SQL-бази даних: для WordPress – wp-config.php, Joomla – configuration.php.

Тепер наберіть в адресному рядку браузера ваш домен – сайт повинен успішно відобразитися.

На завершення можна створити швидке посилання (simlink) на сервереві для швидкого переходу у кореневий каталог сайту:

ls -s /website_directory /path/name_simlink

Тепер при переході по такому сімлінку cd name_simlink ви відразу потрапите в папку сайту.

Читайте также:  Що таке DKIM, DMARC, SPF записи та як їх додати для поштового домена?

Налаштування і оптимізація WordPress

Якщо у вас сайт на WordPress й ви прагнете, щоби він функціонував на “Кібер-Панелі” нормально, необхідно виконати наступні дії:

  1. Зайти в панель керування WordPress -> Налаштування й перегенерувати постійні посилання (просто натиснувши кнопку “Зберегти”)
  2. Видалити старий файл .htaccess й LiteSpeed сконфігурує його самотужки, а всі інші маніпуляції вносити безпосередньо у панелі керування веб-сервером (WebAdmin Console, див. нижче).
  3. Перевірити права доступу і власника директорії, у якій розташований сайт: domain.com/public_html. CyberPanel по замовчуванню створює для сайту нового користувача. Саме на нього варто переписати усі права на файли та папки сайту, інакше WordPress не буде мати прав й не зможе автоматично оновлюватись, встановлювати плагіни й компоненти.
  4. Якщо були раніше встановлені якісь важкі плагіни, наприклад плагіни кешування або фаєрволи, й при цьому виникає нестабільність в роботі сайту – рекомендується їх перевстановити (або заново сконфігурувати, якщо така опція доступна)
  5. Для плагіну безпеки Wordfence необхідно окремо вказати розташування файлу конфігурації: перейти в Webadmin Console -> Virtual Host. Обрати свій домен і перейти  в налаштування General, блок Override PHP.INI й додати рядок: php_value auto_prepend_file /home/vashwebsite.com/public_html/wordfence-waf.php
  6. Для плагіну відправки або налаштування електронної пошти, а також форми зворотного зв’язку рекомендую дуже вдалий плагін: WP Mail SMTP by WPForms (2 плагіна в одному).

До цього всього хочу додати кілька простих способів як оптимізувати свій сайт на WordPress:

  • Відключити планувальник завдань WP CRON (працює хаотично і забиває собою всі процеси): в wp-config.php під рядком $table_prefix додати рядок define ('DISABLE_WP_CRON', true); Тепер планувальник завдань виконуватися не буде. Але у вас є сервер, на плечі якого можна положити цю ношу. В CyberPanel це робиться одним кліком: Website -> List websites -> Manange -> Cron Jobs і створюємо новий Cron, обираємо інтервал (напр. 5 хв) і головне вказуємо команду виконання планувальника WordPress:
    wget -q -O - https://mywebsite.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
  • Відключити ревізії WordPress, автозбереження, кошик:
    • define('AUTOSAVE_INTERVAL', 60*60*60*24*365);
    • define('EMPTY_TRASH_DAYS', false);
    • define('WP_POST_REVISIONS', false);

Налаштування PHP

Налаштування PHP є ще одним важливим етапом у комплексній оптимізації VPS-сервера. Доступ до конфігурації PHP здійснюється через файл PHP.INI, який можна відредагувати або з допомогою командного рядка: /usr/local/lsws/lsphp74/etc/php/7.4/litespeedабо через CyberPanel, у розділі PHP -> Edit PHP Configs:

PHP configuration in CyberPanel

У файл PHP.INI для ефективної роботи рекомендується додати/змінити такі значення:

  • max_execution_time = 300 (максимальний час виконання скрипта)
  • max_input_time = 120 (час за який PHP має обробити запит. При великих навантаженнях можна збільшити)
  • max_input_vars = 3000 (кількість вхідних змінних, які сервер може обробити)
  • memory_limit = 256M (якщо у вас важкі плагіни або вимоглива CMS, можна збільшити до 512)
  • post_max_size = 80M (максимальний розмір даних, відправлених методом POST. Значення повинно бути більшим за upload_max_filesize)
  • upload_max_filesize = 60M (максимальний розмір завантажуваних файлів)

Налаштування веб-сервера Open LiteSpeed (OLS)

Тепер настав час познайомитися з панеллю керування, власне, самого веб-сервера – OpenLiteSpeed, перевагами якого є:

  • Підтримка гнучкого режиму PHP LSAPI (LiteSpeed Server Application Interface)
  • Підтримка мов програмування: Python, Perl, Java
  • Сумісність з mod_rewrite Apache сервера
  • Підтримка HTTP/2, HTTP/3, Quick, SPDY, TLS 1.3 “з коробки”
  • Підтримка GZIP, Brotli кешування
  • Мульверсійність PHP
  • Підтримка додаткових модулів (PageSpeed, GeoIP)
  • Швидке отримання SSL-сертифікатів
  • Підтримка Graceful Restart (перезвантаження без розриву з’єднання)

Тест OpenLiteSpeed

Панель керування OpenLiteSpeed доступна за URL-адресою:  http://IP_адреса_сервера:7080Власне, для початку варто цей порт відкрити, що робиться у налаштуваннях фаєвола дуже просто:

CyberPanel: як встановити і налаштувати на VPS сервері

Натискаємо кнопку “Add”, налаштування увійдуть в силу і тепер переходимо за вищевказаною адресою, перед вами відкриється панель адміністрування OLS – WebAdmin Console:

CyberPanel: як встановити і налаштувати на VPS сервері

“Всередині” веб-сервера досить зручно та комфортно, панель компактна й стабільна в роботі. Містить безліч налаштувань. Однак вимагає глибокого розуміння принципів роботи LiteSpeed-технології:

Панель WebAdmin

Веб-інтерфейс і файли конфігурації

Графічний веб-інтерфейс WebAdmin Console складається з наступних частин:

  • Dashboard – панель статистики, основних налаштувань та перегляду системних журналів.
  • Server Configuration – містить основні налаштування веб-сервера.
  • Listeners – налаштування IP-адрес та мережевих портів для хостів.
  • Virtual Hosts – налаштування самих хостів (доменів).
  • VHost Templates – налаштування шаблонів конфігурації для хостів.
  • Tools – набір інструментів для обслуговування веб-сервера OLS.
  • WebAdmin Settings – налаштування самої панелі адміністрування.

Технічні, конфігураційні файли веб-сервера OpenLiteSpeed знаходяться в наступних директоріях:

  • /usr/local/lsws – файли конфігурації;
  • /usr/local/lsws/modules – модулі веб-сервера;
  • /usr/local/lsws/VH_NAME/html/ – Document root;
  • /usr/local/lsws/VH_NAME – системні журнали для вказаного хоста;
  • /etc/cyberpanel/webadmin_passwd – пароль до WebAdmin Console;
  • /usr/local/lsws/admin/misc/admpass.sh – скрипт для зміни даних доступу до WebAdmin Console.

Налаштування OLS

У першу чергу переходимо в налаштування WebAdmin Settings -> Users й у цілях безпеки змінюємо стандартний логін-пароль:

Змінюємо пароль адміна в WebAdmin console

Переходимо до основних налаштувань веб-сервера OLS – вони знаходяться в розділі Server Confuguration. Сюди також входять відразу кілька вкладок: General, Log, Tuning, Security, Extenal App, Script Handler, App Server, Modules.

Вкладка General:

  • Number of Workers – розприділяємо ядра центрального процесора. Опція напряму залежить від кількості ядер CPU на сервері та в жодному разі не має перевищувати її. Якщо у вас, допустимо, двоядерний CPU, тоді краще виставити 1 (…друге ядро буде знаходитися в резерві для таких служб як PHP та MySQL).
  • Priority – пріоритет процесів сервера. Значення може коливатися від -20 до 20. Чим менше значення – тим більший пріоритет. Пріоритет дозволяє оптимізувати роботу сервера при навантаженнях. Налаштування залежить від потужностей вашого процесора. Для двоядерного можна виставити: -5. Але, пам’ятайте, цей параметр в жодному разі не повинен бути вищим, ніж пріоритет процесів SQL-бази даних. Тому для новачків з невеличкими сайтами краще залишити “0” по замовчуванню й пізніше при потребі “підкрутити”.
  • CPU Affinity – прив’язування процесу до ядра. Значення по замовчуванню “0”, а це значить, що будь-який процес в системі буде хаотично турбувати то одне, то інше ядро процесора, причому без застосування кешу. Так не можна. Тому варто змінити на 1 – тепер процес зможе використовувати кешовані дані при повторному звертанні. Цей параметр, звісно, не має перевищувати кількість ядер CPU.
  • Memory I/O Buffer – значення розміру буфера оперативної пам’яті, який використовується для зберігання запитів до сервера та динамічно згенерованих відповідей. Як тільки буфер буде використаний – почне застосовуватись файл підкачки (swap-файл), що не дуже добре. По замовчуванню тут стоїть 60М – це мало, тому збільшуємо до 120М (беручи до уваги кількість оперативної пам’яті сервера, наприклад 2ГБ).
  • Administrator Email – варто вписати свій email, або адміністратора – веб-сервер буде надсилати важливі повідомлення у разі збоїв або великих навантажень.

Вкладка Log:

  • Keep Days – варто вказати скільки днів будуть зберігатися логи (системні журнали). Якщо залишити по замовчуванню – тоді ця папка може сильно розростися, тому вказуємо бажану кількість днів, наприклад: 7. Отже, щотижня log-файли будуть очищуватися.
  • Access Log – журнали доступів до сервера, тобто заходів користувачів, переходимо у налаштування (Actions) і додаємо значення:
    • Log Format"%v %h %l %u %t \"%r\" %>s %b"(шаблон виводу даних)
    • Lof Headers – вмикаємо все, що хочемо бачити у журналах (стандартно Refferer, UserAgent, Host)
    • Kepp Days – замість 30 (не треба так багато) ставимо 3-4 дні.
    • Compress Archive – вмикаємо стискання архіву, щоби не займало багато місця.

Вкладка External App:

  • LiteSpeed SAPI App має наступний параметр:
    • Max Connections – визначає максимальну кількість одночасних з’єднань з сервером. Оптимальне число, яке встановлене на більшості сайтів: 30.

Вкладка Tuning:

  • GZIP/Brotli Compression – налаштуйте згідно скріншоту нижче, у поле “Compression Types” додавши наступне значення: text/*, application/x-javascript, application/javascript, application/xml, image/svg+xml, application/rss+xml, application/json, application/vnd.ms-fontobject, application/x-font, application/x-font-opentype, application/x-font-truetype, application/x-font-ttf, font/eot, font/opentype, font/otf, font/ttf, image/x-icon, image/vnd.microsoft.icon, application/xhtml+xml

CyberPanel: як встановити і налаштувати на VPS сервері

Налаштування домену

Тепер перейдемо до основних налаштувань хоста (домену). Вони знаходяться у розділі Virtual Hosts -> Ваш домен. Та складаються з наступних вкладок: Basic, General, Log, Security, External App, Script Handler, Rewrite, Context, SSL, Web Socket Proxy, Modules.

Вкладка General:

  • Enable GeoLocation Lookup – вимикаємо, геолокація по IP-адресу по замовчуванню виключена на сервері, крім того вона споживає ресурси, а тому не завжди потрібна.
  • Expires Settings – налаштуйте, як показано нижче на скріншоті, підставив у поле Expires By Type наступне значення: image/*=A604800, text/css=A604800, application/x-javascript=A604800, application/javascript=A604800, font/*=A604800, application/x-font-ttf=A604800

CyberPanel: як встановити і налаштувати на VPS сервері

Вкладка Context і налаштування Security HTTP-headers

Перейдіть на вкладку “Context”, нажміть на плюсик в правому куті, оберіть Static й виконайте налаштування у блоці “Header Operations”:

Content-Security-Policy "upgrade-insecure-requests"
X-XSS-Protection "1; mode=block"
X-Content-Type-Options "nosniff"
Referrer-Policy: "no-referrer"
Expect-CT "max-age=7776000, enforce"
X-Frame-Options "deny"
Permissions-Policy: "accelerometer=(), camera=(), geolocation=(), gyroscope=(), magnetometer=(), microphone=(), payment=(), usb=()"

Security HTTP headers in OpenLiteSpeed

Заувага 1: Ми не вставили сюди HSTS-заголовок Strict-Transport-Security – його додамо окремо лише для HTTPS (443-й порт), як саме покажу нижче. Взагалі, рекомендую ознайомитись з рекомендаціями від OWASP і MOZILLA, перш ніж вносити будь-які зміни у налаштування HTTP-заголовків на сервері.

Заувага 2: У заголовку X-Frame-Options вказаний параметр “deny”. З точки зору безпеки сайту – це найкраще рішення, однак якщо у вас сайт на WordPress й ви користуєтеся конструктуром налаштування зовнішього вигляду, то цей параметр спричнить блокування ресурсу. Тому, варто змінити на “sameorigin”.

Прокрутіть сторінку нижче й у блоці “Rewrite Rules” додайте правило обмеження доступу (403) до файлу xmlrpc.php, який полюбляють “дідосити” хакери:

RewriteRule xmlrpc - [F,L]

How disable xmlrpc on CyberPanel and Litespeed

Усі ці налаштування необхідно здійснити для кожного віртуального хоста окремо.

Збережіть виконані налаштування натиснувши на іконку дискети в правому верхньому кутику сторінки налаштувань.

Налаштування HSTS-заголовка для домену в OpenLiteSpeed

Відкриваємо панель і переходимо у налаштування домену, де обираємо “Rewrite Rules”:

HSTS in CyberPanel

Й у сам кінець додаємо правило-директиву:

<VirtualHost *:443>
Header always set Strict-Transport-Security: "max-age=31536000; includeSubDomains; preload"
</VirtualHost>

Перезавантажуємо сервер – Graceful Restart LiteSpeed і відразу перевіряємо в онлайн-чекері HSTSPRELOAD. Повинно усе “загорітися” зеленим:

check HSTS

Тепер на завершення перевіряємо усі Security HTTP Headers в наступних сервісах:

Примітка: У випадку, якщо валідацію HSTS-заголовку пройти не вдалося – найшвидшим та найпростішим способом є застосувати CDN-сервіс Cloudflare. Він, незалежно від конфігурації вашого сервера, самотужки налаштує HSTS, або запропонує відрегулювати вручну.

Маппінг доменів (віртуальних хостів)

Ще одним додатковим пунктом буде додати редирект з IP-адреси сервера на основний домен. Ця операція має назву – “IP канонікалізація”. Здійснюється з метою унеможливити дублювання сайту. Для цього слід перейти у розділ Listeners, у блоці Virtual Host Mapping знайти свій домен та перейти у редагування, додавши у полі Domains усі версії вашого домену, наприклад:

CyberPanel: як встановити і налаштувати на VPS сервері

Цю операцію потрібно провести для усіх віртуальних хостів у розділі Listeners – Default та SSL:

CyberPanel: як встановити і налаштувати на VPS сервері

Але ми лише налаштували так-званий маппінг домену. Тепер, щоби все спрацювало необхідно у файл .htaccess додати директиву, яка відповідає безпосередньо за редирект з IP-адреси на основний домен. До речі редагувати файли сайту можна зразу у файловому менеджері CyberPanel, знайшовши його в розділі керування сайтом:

CyberPanel: як встановити і налаштувати на VPS сервері

Натиснувши на File Manager ви потрапляєте у зручне дерево каталогів, що нагадує Total Commander. Просто виділіть курсором потрібний файл та з допомогою властивостей натисніть “Edit with Code Mirror”:

CyberPanel: як встановити і налаштувати на VPS сервері

Отже, для IP-канонікалізації додайте в .htaccess наступний код (замість 100.100.100.100 – додайте IP вашого сервера):

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^100\.100\.100\.100$
RewriteRule .* https://mywebsite.com [R,L]
</IfModule>

Щоби усі зміни, які ви вносили у налаштування LiteSpeed сервера в WebAdmin Console потрібно кнопкою “Graceful Restart” перезавантажити сервер, натиснувши попередньо на назву облікового запису у лівому правому куті:

CyberPanel: як встановити і налаштувати на VPS сервері

Особливістю LiteSpeed сервера є те, що він перезавантажується практично непомітно – за 1-3 секунди.

Встановлення SSL-сертифікату для панелі CyberPanel

Як ви могли помітити, по замовчуванню панель управління CyberPanel працює на незахищеному HTTP-протоколі. Виправити це легко – використати SSL-сертифікат одного із доданих вами доменів, а ще краще – створити окремий субдомен, на кшталт cp.yourwebsite.com, та згенерувати для нього окремий сертифікат і перевести роботу панелі по цьому домену.

Насамперед потрібно у DNS-зоні (в панелі реєстратора домену) додати новий A запис і направити його на IP-адресу свого VPS-сервера:

CyberPanel: як встановити і налаштувати на VPS сервері

Чекаємо поки дані оновляться, в залежності від позначеного TTL (час скидання кешування в секундах). Повертаємося в “Кібер-панель” й переходимо в Websites -> Create website. Створюємо новий субдомен (має обов’язково збігатися з тим, який ви додали у DNS-зону) й вмикаємо SSL (все інше не потрібно):

CyberPanel: як встановити і налаштувати на VPS сервері

Тиснемо “Create Website” й отримуємо ще один домен в системі на захищеному HTTPS-з’єднанні. Наше завдання полягає у тому, щоб “прикрутити” цей домен до панелі. Переходимо в розділ SSL -> Hostname SSL й обираємо зі списку свій субдомен, натискаємо “Issue SSL”:

CyberPanel: як встановити і налаштувати на VPS сервері

Дочекайтесь поки з’явиться повідомлення зеленого кольору про успішність виконаної операції: SSL Issued. You can now access CyberPanel at: https://”domain”:8090

Отже, можемо вийти з “Кібер-панелі” і увійти вже по субдомену, на який ви перевели панель. І ще: щоби створений субдомен не показувався в інтернеті для всіх – варто змінити права доступу на нього, наприклад виставити код 660 (усі можуть читати і редагувати, крім сторонніх в інтернеті), робиться це єдиною командою терміналу:

Читайте также:  Як розмістити сайт на платформі Heroku безкоштовно

chmod -R 660 panel.washdomain.com

Тепер, якщо сторонній користувач відкриє URL-адресу панелі – отримає відмову у доступі з кодом 403.

“Їдемо” далі.

Налаштування поштового Mail-сервера

Для того, аби листи з вашого сервера успішно проходили валідацію та вчасно надходили до адресатів, необхідно:

Якщо SPF та DMARC записи додати відносно легко(детально це пояснено в керівництві до CyberPanel), то DKIM попередньо треба ще згенерувати – робиться це також в панелі адміністрування, у розділі Email -> DKIM Manager:

CyberPanel: як встановити і налаштувати на VPS сервері

Оберіть свій домен та згенеруйте DKIM-ключі нього:

CyberPanel: як встановити і налаштувати на VPS сервері

Примітка: Якщо у вас виникне помилка Permission Denied, то її дуже легко виправити: необхідно змінити права доступу на папку командою: chown -R cyberpanel:cyberpanel /usr/local/CyberCP/lib/python3.6/site-packages/tldextract/.suffix_cache

Private Key зберігаєте собі, а Public додаєте TXT-записом в DNS зону домену, ось так:

TXT _default.domainkey.vashdomain.com "v=DKIM1;k=rsa;t=s;p=публічний_ключ"

Після того як всі необхідні записи у DNS-зону внесено, очікуєте згідно з вказаною часовою міркою в TTL, щоби дані встигли глобально оновитися.

І останній “штрих”. У розділі SSL -> MailServer SSL генеруєте SSL-сертифікат для свого поштового сервера:

Як отримати SSL для поштового сервера

Тестуєте відправку електронної пошти зі своєї корпоративної скриньки з допомогою Mail Tester. Повинні отримати 10 з 10:

CyberPanel: як встановити і налаштувати на VPS сервері

Як створювати поштові скриньки? Створити нову поштову скриньку можна у розділі Email -> Create email. Рекомендується створити дві скриньки по замовчуванню: [email protected]вашдомен і [email protected]вашдомен. Перевірити коректність конфігурації поштового сервера можна в сервісі DNS Report Tool.

Перейти в електронну: Email -> Access Webmail – будете перенаправлені на сторінку авторизації поштового клієнта Rainloop, який по замовчуванню встановлений в CyberPanel. Rainloop – це одна з кращих поштових онлайн-програм. Ось так виглядає веб-інтерфейс:

CyberPanel: як встановити і налаштувати на VPS сервері

Рекомендується відразу провести деякі заходи безпеки поштовика. Для цього перейдіть за URL-адресою: https://panel.vashsite.com:8090/rainloop/?admin та авторизуйтесь використовуючи дані: admin та пароль, який вказаний у файлі на сервері /usr/local/CyberCP/public/rainloop.php. Ці дані по замовчуванню потрібно негайно змінити у налаштуваннях Rainloop -> Безпека:

CyberPanel: як встановити і налаштувати на VPS сервері

Як зрозуміло зі скріншота, Rainloop містить чимало корисних налаштувань, зокрема дозволяє підключити двохфакторну авторизацію, а також шифрування по PGP-ключу.  Окрім того, підтримує інтеграцію різних сторонніх сервісів (наприклад Google) та встановлення додатків.

Налаштування безпеки в CyberPanel

CyberPanel подбала і про це, а тому дозволяє провести основні налаштування з кібербезпеки.

Так, у розділі Security містяться такі основні модулі та компоненти як:

  • Firewall
  • Secure SSH
  • ModSecurity Conf
  • ModSecurity Rules
  • ModSecurity Rules Packs
  • CSF
  • CageFS
  • Imunify 360
  • ImunifyAV

Давайте почнемо із встановлення пакету ModSecurity – це брандмауер для веб-додатків (WAF – Web Application Firewall), який розповсюджується за відкритою Open Source ліцензією. Необхідно перейти у розділ Security -> ModSecurity conf й натиснути на кнопку “Install”. Брандмауер буде встановлено. Але це ще не все, рекомендую додатково встановити пакет правил від OWASP, перейшовши у розділ Security -> ModSecurity Packages. Тут буде також ще один пакет від COMODO. Проте я рекомендую обирати останній, адже OWASP – це всесвітньовідома організація з кібербезпеки, яка регулярно відстежує практично усі відомі вразливості. Після того як пакет буде встановлено ви зможете включити або виключити ті чи інші опції правил OWASP:

OWASP rules for CyberPanel

Не зайвим буде налаштувати безпеку порту SSH, який часто стає жертвою інцидентів й ціллю хакерських атак. Для цього варто перейти у розділ Security -> Secure SSH та перевірити чи активний доступ по SSH-ключу (замість стандартної пари логін-пароль):

CyberPanel: як встановити і налаштувати на VPS сервері

У разі, якщо ключ відсутній, згенеруйте його з допомогою команди терміналу Linux (або ж з допомогою програми PuttyGEN):

ssh-keygen -t rsa

Не забудьте вказати парольну фразу. Після цього, перегляньте вміст ключа командою:

cat key.pub

І перейдіть у згадані вище налаштування “КіберПанелі” та додайте отриманий публічний ключ (public key, key.pub), просто скопіювавши його вміст у текстове поле.

А тепер треба обов’язково замінити стандартний 22-й порт на інший. Це робиться дуже просто. Треба відкрити файл конфігурації:

nano /etc/ssh/sshd_config

Й розкоментувати рядок: #Port 22 – просто замініть цифру на будь-яку п’ятизначну (важливо, щоб вона жодним чином не співпадала  з існуючим TCP/IP портом).

Збережіть файл й перезавантажте службу SSH:

sudo systemctl restart ssh.service  // для Debian та Ubuntu

sudo systemctl restart sshd.service // для CentOS

Відтепер порт 22 більше не використовується, його треба видалити з налаштувань фаєрвола та додати замість нього новий, вказаний вами порт.

Повертаємося знову у розділ SSH в Кібер-Панелі й звертаємо увагу на опцію “Відключити під’єднання з облікового запису Root”, яка унеможливить ще один спосіб хаку. Але для цього варто створити в системі нового користувача. Зробити це дуже просто, підключаємося до сервера по SSH й виконуємо наступні команди у строгій послідовності:

sudo su - //переходимо в режим root
sudo adduser newuser //створюємо нового користувача із заданим ім’ям – його вигадуємо так, щоб ніхто не зміг підібрати, комбінуючи символи, літери й цифри
sudo passwd newuser //вказуємо для нього пароль sudo
nano /etc/sudoers //додаємо користувача в sudoers файл, який містить список усіх привілейованих користувачів, що мають право переключатися в режим рута й виконувати команди sudo, у сам низ додамо рядок: newuser ALL=(ALL) NOPASSWD:ALL
sudo su - newuser //переходимо в обліковий запис нового користувача
mkdir .ssh //створюємо теку для зберігання ssh-ключів
chmod 700 .ssh //встановлюємо права доступу на цю теку
sudo su - //повертаємося в режим рута
sudo cp /root/.ssh/authorized_keys /home/newuser/.ssh/ //копіюємо ключ, який ви раніше отримали для нового користувача, щоб він мав змогу підключатися по SSH
cd /home/newuser/.ssh/ //переходимо в теку зберігання ключів
chown newuser:newuser authorized_keys //надаємо новому користувачу права доступу на SSH-ключ

Тепер повертаємося у Кібер-Панель, в вищезгаданий розділ Security -> Secure SSH й переводимо слайдер “Permit Root login” у положення “Викл.”:

Secure SSH CyberPanel

Тепер перевіряємо SSH-з’єднання. Все повинно працювати. Більше ваш порт SSH ніхто не намагатиметься якимсь чином зламати.

Далі встановимо CSF (ConfigServer Security & Firewall ) – багатофункціональний комплексний модуль захисту для віртуальних серверів на базі Linux. Його знайдемо у розділі Security -> CSF. На відміну від стандартного фаєрвола, який увімкнений по замовчуванню, CSF більш просунутий і гнучкий. В “КіберПанелі” є можливість керувати ним одразу із веб-інтерфейсу:

CyberPanel: як встановити і налаштувати на VPS сервері

Налаштування СSF в CyberPanel не важко – впишіть в поля TCP IN/OUT вхідні/вихідні мережеві порти, які ви використовуєте, усі інші фаєрвол відкине:

CyberPanel: як встановити і налаштувати на VPS сервері

Для захисту від email-спаму та різного фішингу рекомендується встановити SpamAssassin – один з найефективніших та найвживаніших компонентів перевірки вхідної електронної пошти, знаходиться у розділі Settings -> Spam Assassin.

Ну і на завершення, перевірте права доступу на папки і файли на своєму сервері. Для WordPress рекомендується виставити 755 – для папок й 644 – для файлів. Ще пропоную ознайомитися з поясненнями як уникнути розповсюджених PHP-атак можна прочитати у блозі CyberPanel>>

Налаштування резервного копіювання

Сьогодні без “резервних копій”, як без рук. Кожного дня може щось статись – непередбачена помилка, або невдалі налаштування, тому щоби сайт зберігати повсякчас цілісним, доступним та захищеним необхідне резервне копіювання. Що пропонує Кібер-Панель? Розробники приготували для нас повний набір сервісів для backup-копіювання та відновлення. Усі вони знаходяться у 2-х розділах “Backup” (звичайне резервне копіювання) та “Incremental Backup” (просунуте резервне копіювання):

Резервне копіювання VPS сервера

Різниця між звичайним та просунутим резервними копіюваннями полягає у тому, що просунуте фіксує будь-які дії та зміни користувача, зберігаючи їх відразу на диску (public_html/backup/). Тобто, створюються резервні копії не всього підряд, а тільки файлів які зазнали будь-яких змін: наприклад видалення чи редакція. Це дозволяє у будь-який момент повернутися до попередніх налаштувань або відновити втрачений файл. Достатньо перейти в Inrcremetial Backups -> Create/Restore Backup й обрати ресурси, які потрібно відновити. Як працювати з Incremential Backups досить розгорнуто пояснено у керівництві CyberPanel на їх офіційному сайті>>

Також можна спробувати звичайне резервне копіювання усієї інформації з допомогою Google Диск – CyberPanel автоматично, у зазначений вами проміжок часу, створюватиме повноцінні копії вашого сайту, бази даних та електронної пошти:

Як зробити резервну копію сайту в Google disc

В CyberPanel існує ще один метод резервного копіювання – це віддалене копіювання (Remote Backup). Ви можете перейти у розділ “Add/Delete Destinations” й вказати розташування віддаленого сервера (використовуючи SFTP-з’єднання або local). Віддалене резервне копіювання можна встановити для обох типів – Backup або Incremental Backup.

Віддалене резервне копіювання

Таким чином розробники панелі повністю подбали про те, аби Адміністратор міг швидко та якісно здійснювати обслуговування сайтів.

Налаштування кешування LiteSpeed Cache

Тепер коли сервер фактично налаштований, час налаштувати на сайті кешування, а саме встановити плагін LSCache для WordPress (подібний існує й для інших CMS) – він заcтосує функції кешування LiteSpeed-сервера на повну. Нагадаю, LiteSpeed кешування є найефективнішим у світі, адже гарантує максимальну швидкодію при великих навантаженнях.

Плагін знайдемо у репозиторії WordPress – його вже встановили більше мільйона користувачів:

LiteSpeed Cache

Необхідно тепер налаштувати його. Плагін складається з розділів:

  • General
  • Cache
  • CDN
  • Image Optimization
  • Page Optimization
  • Database
  • Crawler
  • Toolbox

Кожен з них мають десятки підкатегорій. Ми не будемо налаштовувати все підряд, але торкнемося тих пунктів, які дозволять максимально підняти швидкість сайту.

У розділі Cache, на вкладці Cache варто увімкнути всі доступні функції кешування, окрім Cache Mobile (може злетіти верстка):

CyberPanel: як встановити і налаштувати на VPS сервері

На вкладці Purged знімаємо галочку “All pages”, решта залишаємо без змін:

CyberPanel: як встановити і налаштувати на VPS сервері

На вкладці Object вмикаємо Object Cache, що дозволить застосовувати :

CyberPanel: як встановити і налаштувати на VPS сервері

Гортаємо сторінку нижче, в самому низу вмикаємо налаштування Persistent Connection, Cache Wp-Admin, Store Transients:

CyberPanel: як встановити і налаштувати на VPS сервері

Переходимо на вкладку Browser Cache Settings й виставляємо її як показано на скріншоті:

CyberPanel: як встановити і налаштувати на VPS сервері

Переходимо у розділ Page Optimization й на вкладці CSS-settings вмикаємо усі функції ефективного стискання й мінімізації:

CSS Settings LS Cache

У разі, якщо CSS-верстка вашого шаблону злетить – рекомендується поексперементувати з цими налаштуваннями, можливо увімкнути лише частину налаштувань.

На наступній вкладці JS Settings встановлюємо налаштування:

JS Settings LS Cache

Примітка: налаштування на вкладках CSS-settings та JS-settings можуть корегуватися в залежності від “чутливості” та коректності шаблону вашого сайту. Тому, рекомендується попередньо протестувати сайт після включення тих чи інших опцій на цих вкладках.

На вкладці Optimization вмикаємо:

CyberPanel: як встановити і налаштувати на VPS сервері

На вкладці Media Settings перевіряємо, щоб було включено Lazy Load (вкл. по замовчуванню), опцію Inline Lazy Load Images Library – вимикаємо.

У розділі Media Excludes ви можете вказати ті ресурси, які повинні бути виключені із кешування.

В розділі Localization бажано все виключити.

У розділі Database гарно проводити раз в тиждень огляд та очищення бази даних, натиснувши на відповідну вкладку, або на вкладку “Clean All”:

CyberPanel: як встановити і налаштувати на VPS серверіЯк бачимо, LS Cache – це повністю універсальний плагін, який збільшує та підтримує працездатність WordPress сайту. Однак, треба бути обережним з налаштуваннями. Усі вони залежать від типу і конфігурації вашого VPS-сервера та операційної системи на якій він працює, а також PHP-версії й встановленого програмного забезпечення. Вищевказані мною налаштування вписалися на конфігурації CentOS 8 + OLS + CyberPanel + PHP 7.4 + WordPress.

Перш ніж встановлювати плагін, рекомендую обов’язково простудіювати офіційну документацію по LSCache.

Перевірити ефективність кешування й швидкість завантаження сайту після усіх виконаних операцій можна з допомогою сервісу Google PageSpeed Insights. Зазвичай, оцінка піднімається відразу на 20-30, а то й більше, балів.

Висновки

Конфігурацію, яку було розглянуто у цій статті деякі хостинг-провайдери, зазвичай, включають як готове “коробочне” рішення в тарифні пакети VIP-класу. З допомогою цієї інструкції ви зможете самотужки розгорнути власний хостинг на базі панелі керування CyberPanel з включеним у склад OpenLiteSpeed сервером. Все, що вимагається – перейти на недорогий VPS. Уявіть собі скільки ви економите на витратах.

Корисні посилання

Оценка:
( 5 оцінок, середнє 4.2 з 5 )
Подписка на KRASHENININ.TECH

Получайте регулярные обновления на почту!


Виталий Крашенинин/ автор статті
Засновник блогу, публіцист, оглядач веб-технологій, ІТ-спеціаліст. Дослідник цифрового світу. Сфокусований на кібербезпеці, системному адміністрування та веб-розробці й SEO.
Не забудьте поделиться материалом в соцсетях:
Krasheninin.tech - блог про веб-технології, і не тільки
Подписаться
Уведомление о
guest
0 Комментарий
Встроенные отзывы
Просмотреть все комментарии
0
Есть мысли? Прокомментируй!x
()
x
Read previous post:
Онлайн-перевірка сайтів на віруси
Онлайн-сервіси для перевірки сайтів на віруси

У цій статті я поділюся безкоштовними онлайн-сервісами для перевірки сайтів на віруси, експлойти, вразливості та шкідливий код. Ці інструменти допоможуть...

Close