Close

Як розгорнути власний хостинг на базі HETZNER і Cyberpanel?

Вже більше 5 років я не користуюся жодними приватними хостингами, а розгортаю їх самотужки. Це дає мені повну безпеку, швидкодію та свободу в адмініструванні. Я забув що таке віруси, глюки, махінації адмінів та недоступність серверів. Все це давно в минулому. Тепер все залежить від мене — я сам собі господар, сам собі хостер. У цій статті розкажу про те, як кожному досягти такої самостійності й ефективності, як розгорнути власний хостинг використовуючи VPS від HETZNER за 4 євро на місяць та безкоштовну панель управління Cyberpanel.

Зміст статті

Що таке CyberPanel?

CyberPanel – це безкоштовна повнофункціональна професійна панель управління VPS/VDS сервером, яка базується на технології LiteSpeed або OpenLiteSpeed (його безкоштовна версія). Характеризується високою надійністю, безпекою, швидкодією (споживає мінімум ресурсів). Кіберпанель безкоштовна і дарує адміністратору повну автономність. Це “коробочна” версія, у якій отримуєте “All-in-One”: хостинг, ftp, ssh, mysql, dns, mail-сервер та інші сервіси.

Особливості та переваги Cyberpanel:

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

Системні вимоги Cyberpanel:

  • Операційні системи: Centos 7.x, Centos 8.x, Ubuntu, AlmaLinux, CloudLinux.
  • Мінімум 1 Гб оперативної пам’яті й більше.
  • Мінімум 10 Гб дискового простору.

Покупка VPS в Hetzner

В якості платформи для розгортання майбутньої інфраструктури можна обрати будь-який віртуальний VPS-сервер.

На сьогодні існує чимало постачальників хмарних послуг, зокрема і Amazon Web Services (AWS), і Digital Ocean, але я пропоную VPS від HETZNER – німецької компанії, яка є ветераном на ринку телекомунікаційних послуг та надає 100% якісний сервіс. У них, на мою думку, найкраще співвідношення “Ціна/Якість”.

Нижче представлена тарифна сітка HETZNER для віртуальних приватних серверів (Virtual Private Server, VPS):

HETZNER Cloud services prices

Ціни актуальні станом на 21.04.2024 й включають 19% податку VAT. Детальніше на офіційному сайті HETZNER.

Як бачимо, мінімальна ціна починається з 4.51 Євро. Однак, це ціна з врахуванням податку VAT, який стягується з жителів ЄС. Для громадян України ціни будуть ще меншими (див. нижче). Порівняно з дорогими хостингами, це копійки. Ви отримуєте віртуальний приватний сервер з персональною IP адресою (IPv4) (більшість звичайних хостингів надають одну публічну IP-адресу на всіх), 2 Гб оперативної пам’яті, 20 Гб дискового простору, 20 Тб трафіку (що по суті є безлімітом, адже його майже неможливо вичерпати звичайному сайту). Фізична геолокація VPS-сервера подається на вибір — Німеччина, Фінляндія, США.

Хостинг сплачується наприкінці або на початку кожного місяця, за принципом – “скільки спожив — стільки заплатив”. Тобто, якщо ви вимкнете сервер (а така можливість є) і не будете ним користуватися, або ваш сервер буде простоювати — ви заплатите меншу ціну. Але тариф для вас завжди буде незмінним (за умови, що ви не змінюватимете конфігурацію і не замовлятимете додаткові сервіси, які оплачуються окремо).

Отже, давайте зареєструємося в сервісі Hetzner й спробуємо придбати VPS-сервер з мінімальними характеристиками та розгорнути на ньому хостинг-панель.

Читайте також: Що таке оренда VPS-серверів?

Реєстрація та створення нового VPS-сервера в Hetzner

Для початку реєстрації переходимо за моїм партнерським посиланням (при покупці VPS ви повинні отримати 20 Євро бонусів!), дотримуємося усіх вказівок HETZNER і реєструєте новий акаунт, вказавши дійсну електронну пошту. На неї прийде посилання з підтвердженням операції. Переходите по ньому і завершуєте реєстрацію, вказавши свої персональні дані у всіх полях форми реєстрації, включно з номером телефону і банківською карткою. Також, майте на увазі, що надалі для верифікації, можливо, доведеться завантажити скан-копію свого паспорта. Реєстрацію бажано проводити з білої чистої IP-адреси, вказуючи свої справжні дані, інакше можливий бан.

Можна сказати, що обов’язкова верифікація — це одночасно і мінус таких сервісів як HETZNER, і плюс, тому що захищає ваш обліковий запис від зламу та викрадення.

Реєстрація в Hetzner

Отже, після успішної реєстрації входимо у свій онлайн-кабінет HETZNER. На панелі керування створюємо новий проєкт “Add new project” і додаємо новий сервер “Create a server”, де треба обрати бажану конфігурацію сервера:

Створення нового сервера в Hetzner

Операційну систему я рекомендую обирати AlmaLinux, яка є логічним продовженням CentOS і споживає мінімум ресурсів при максимальній кількості сайтів. Хоча, якщо ви берете потужний сервер всього лиш для 1-3 своїх сайтів, то можна зупинитися і на Ubuntu, яка відрізняється чудовою підтримкою та сумісністю з різними компонентами, однак вимоглива до серверних ресурсів.

Серед перелічених типів серверів ви обираєте конфігурацію VPS лише на базі процесорів Shared vCPU x86 – це окремі віртуальні процесори, які черпають свої ресурси з одного фізичного дата-центру. Є також Dedicated-процесори, однак вони потрібні лише для дуже серйозних проєктів з багатотисячним трафіком і особливою архітектурою. Відповідно ціна їх у 5 разів дорожча.

Для звичайного хостингу підійде саме Shared vCPU (не плутати з Shared-хостингом!).

Отже, при виборі нижче з’явиться довгий список різних конфігурацій на базі Shared vCPU, де ви зможете обрати сервер з потрібними технічними характеристиками та вартістю (для громадян України без податку VAT).

Оптимальним мінімальним вибором будуть CX11 або CPX11. В майбутньому ви зможете масштабувати ці характеристики, наприклад збільшити кількість оперативної пам’яті або ядер, або взагалі мігрувати на більш потужний сервер (з допомогою послуг Backup і Snapshots).

Вибір Shared vCPU

В розділі Networking (Мережа) залишаєте все без змін. Вам однаково будуть потрібні і IPv4, і IPv6 адреси. Варто лише звернути увагу, що IPv4 є платною – 0,50 Євро/місяць й буде включена до загальної вартості:

На наступному етапі треба обов’язково згенерувати SSH-ключі доступу і додати публічний ключ на сервер, натиснувши “+Add SSH key”. Він буде використовуватись для віддаленого доступу до сервера по протоколу SSH:

Створення і додавання SSH-ключів на HETZNER

Створювати SSH-ключі треба лише на власному комп’ютері, виконавши у терміналі команду: ssh-keygen. У Windows можна скористатися додатком PuTTYgen.

В результаті ви отримаєте пару ключів – private і public key, які рекомендується зберігати в надійному місці з обмеженими правами доступу 0600.

Публічний ключ відкрити в текстовому редакторі (або виконавши команду термінала cat ~/.ssh/id_pub.key) й скопіювати його вміст у віконечко “Add an SSH key” на HETZNER.

Ця операція з імпортом ключа дуже важлива – уважно перевіряйте усі свої дії, інакше потім просто не зможете з’єднатися зі своїм сервером.

Решту опцій – Volumes, Firewalls, Backups, Placement groups, Labels, Cloud config залишаємо без змін, вони потребують додаткової оплати і на цьому етапі є зайвими.

Праворуч з’явиться лічильник кошторису — перевірте фінальну суму до оплати й тисніть кнопку “Create & Buy now”:

Як створити сервер на Hetzner

Після цього, на вашому акаунті, в папці проєкту, буде створено новий віртуальний сервер з кодовою назвою комплектації (яку обрали при створенні). Ви зможете перейти в нього, керувати з усіма привілеями суперадміністратора, моніторити будь-які зміни, відстежувати статистику використання ресурсів, налаштовувати мережу, підключати додаткові опції/послуги, словом адмініструвати і обслуговувати як вам заманеться (при цьому вся відповідальність лежить тільки на вас):

На цьому частина з HETZNER завершена. Ви отримали віртуальний майданчик. Тепер потрібно відконфігурувати його серверне середовище і розгорнути хостинг-панель.

Розгортання Cyberpanel на VPS

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

Оновлення Ubuntu:

sudo apt-get update
sudo apt-get upgrade -y

Оновлення CentOS:

sudo su -
yum update -y

Увага: CyberPanel рекомендується встановлювати на чистий, тобто новостворений сервер. Якщо сервер попередньо вже використовувався, тоді бажано вимкнути усі активні сервіси — Apache, MySQL, Postfix, Dovecot і т.д. А також видалити їх файли конфігурації. Нижче команди, які допоможуть зробити це:

systemctl stop apache2
systemctl stop mysql
systemctl stop postfix
systemctl stop dovecot
apt-get purge apache2* libapache2* mysql-client* mysql-common* mysql-server* postfix* dovecot*
apt-get autoremove
apt-get clean
rm -rf /var/lib/mysql

Наступним кроком буде відключення вбудованої системи захисту SElinux, яка може блокувати доступ деяким службам CyberPanel. Насправді це дуже потужна система захисту, але у випадку з CyberPanel безпеку візьмуть на себе інші компоненти. Перевірити статус SELinux можна командою: sestatus.

Якщо статус enabled, то переходимо до редагування файлу /etc/selinux/config й прописуємо значення disabled для SELINUX:SELINUX=disabled

Зберігаємо, перезапускаємо сервер, ще раз перевіряємо статус. Тепер SElinux повинен бути вимкнений.

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

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

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

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

Install Cyberpanel on Centos 8

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

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

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

  1. Встановити Повний пакет сервісів для CyberPanel? Включаючи PowerDNS, Postfix та Pure-FTPd. — якщо ви хочете розгорнути повномасштабний функціональний хостинг, обирайте «Так». При бажанні усіх їх можна потім відключити.
  2. Чи бажаєте встановити віддалену MySQL базу даних? — Зазвичай, для звичайних сайтів використовується стандартна локальна SQL-база даних. Тому тиснемо «Ні».

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

Продовжуємо відповідати на наступні питання:

  1. Чи бажаєте встановити розширення Memcache? — це популярний плагін кешування, який пришвидшує завантаження сайту. Відповідаємо «Так».
  2. Чи бажаєте встановити розширення Redis? — ще один плагін кешування даних. Може знадобитись.
  3. Бажаєте налаштувати WatchDog для веб-сервісів і бази даних? — тиснемо «Ні».

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

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

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

Налаштування хостингу CyberPanel

Після встановлення, панель управління доступна на порту 8090 за URL-адресою: xttp://IP_адреса_сервера:8090

Вводимо дані для входу, які отримали вище і авторизуємося в панелі (надалі в розділі Users -> Modify users можна активувати Двофакторну авторизацію (2FA)).

Веб-інтерфейс Cyberpanel інтуїтивно-зрозумілий, складається з таких блоків:

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

Процес роботи у Cyberpanel аналогічний будь-якому іншому хостингу. Для розгортання веб-сайтів тут існує пункт меню “Websites”, де можна провести будь-яку операцію з сайтами — додати, вилучити, модифікувати, здійснювати адміністрування. Для роботи з базами даних є окремий розділ – “Databases”. Робота з поштовими серверами і адресами — розділ “Email”. Сертифікати — розділ “SSL”. Загалом, тут величезна кількість розділів і елементів управління.

Якщо ви користуєтесь Cyberpanel лише для своїх потреб, то рекомендую перейти в розділ Packages -> Modify packages й відредагувати пакет споживання хостингу, прибравши зайві ліміти. В іншому випадку це може бути корисним для створення пакетів використання хостингу.

Не зайвим буде провести базовий тюнінг конфігурації для відповідної версії PHP, яка застосовується вашим сайтом. Для цього треба перейти у розділ PHP -> Edit PHP Configs:

Для ефективної роботи сайту я рекомендую наступні налаштування PHP.INI (/usr/local/lsws/lsphp74/etc/php/x.x/litespeed/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 — максимальний розмір завантажуваних файлів.
  • allow_url_fopen = Off — по даним Acunetix ця опція може створити вразливості, тому її краще відключити.
  • allow_url_include = Off — аналогічно попередньому пункту, див опис тут.
  • session.cookie_httponly = True — захищає від XSS-атак через куки.
  • session.cookie_samesite = Lax — захищає від атак типу Cross-Site Request Forgery (CSRF/XSRF).
  • session.cookie_secure = True — захищає від маніпуляцій з куками.

Після внесених змін, рекомендується перезавантажити сервер. Це можна зробити у панелі або в терміналі командою: systemctl restart lsws.

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

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

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

В модулі ModSecurity (Security -> ModSecurity) можна встановити вже готові конфігурації безпеки від OWASP або Comodo. Вони містять правила реагування на кіберінциденти:

Далі рекомендую встановити Firewall. З усього переліку, який надає CyberPanel, я обрав CSF (ConfigServer Security & Firewall) — це багатофункціональний комплексний модуль захисту для віртуальних серверів на базі Linux. Його знайдемо у розділі Security -> CSF.

На відміну від стандартного фаєрвола, який увімкнений по замовчуванню, CSF більш просунутий і гнучкий. З його допомогою можна багато-чого налаштувати, а також провести аудит налаштувань безпеки сервера:

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

Варто також налаштувати безпеку протоколу SSH, який часто стає жертвою bruteforce-переборів. Для цього необхідно перейти у розділ Security -> Secure SSH та перевірити чи активний доступ по SSH-ключу (замість стандартної пари “логін-пароль”). Опцію «Permit Root login» (дозволити входити в систему під root) краще перемикнути у положення «Off». Додатково можна змінити номер стандартного SSH-порта в файлі конфігурації на сервері: /etc/ssh/sshd_config.

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

В Cyberpanel також присутній модуль – Backup, який підтримує чимало способів резервного копіювання. Доступне звичайне “Backup” та просунуте резервне копіювання “Incremental Backup”:

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

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

В CyberPanel існує ще такий метод резервного копіювання як Віддалене копіювання (“Remote Backup”). Для цього треба перейти у розділ «Add/Delete Destinations» й вказати розташування віддаленого сервера WebDav. Віддалене резервне копіювання також можна встановити для обох типів — Backup або Incremental Backup.

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

CyberPanel дає користувачам повний функціонал, включаючи розгортання і налаштування приватного сервера електронної пошти з підтримкою SSL та DKIM.

Для цього необхідно додати новий сайт або просто домен (Website -> Create website) та включити опцію “DKIM Support”. При цьому MAIL-сервер повинен бути попередньо направлений на IP-адресу вашого сервера:

  • запис з ім’ям mail направити його на IPv4 адресу поштового сервера (без proxy). Аналогічно зробити для IPv6.
  • MX запис з ім’ям @ та пріоритетом 20 направити на mail.domain.com.

Тепер можна у Cyberpanel перейти в розділ “Email”, обрати із списка свій домен та створити першу корпоративну email-скриньку:

Щоб листи не потрапляли у спам, необхідно додати у DNS-зону свого домену відповідні підписи безпеки — SPF, DMARC і DKIM. Ось приклад як їх прописати в DNS:

  • TXT @ v=spf1 a mx ip4:XX.XX.XX.XX ~all
  • TXT _dmarc v=DMARC1; p=quarantine; rua=your@domain.com; ruf=your@domain.com; sp=none; adkim=r; aspf=r
  • TXT default._domainkey v=DKIM1;k=rsa;p=yourDKIM-key_from_CP

DKIM-запис є найважливішим з усіх і його можна згенерувати прямо у панелі Cyberpanel в розділі Email -> DKIM Manager.

У розділі SSL -> MailServer SSL можна встановити сертифікат LetsEncrypt для безпечного TLS-з’єднання з поштовим сервером.

Перевірити справність усієї конфігурації поштового сервера та налаштувати мережеві порти можна через адмін-панель клієнта Rainloop: xttps://IP_адреса_сервера:8090/rainloop/?admin.

Логін по замовчуванню admin. Пароль знаходиться у файлі на сервері: /usr/local/CyberCP/public/rainloop.php або /usr/local/lscp/cyberpanel/rainloop/data/_data_/_default_/admin_password.txt.

В панелі керування Rainloop перейти в меню “Domains”, обрати свій домен і просто натиснути “Test” – налаштування IMAP та SMTP мають підсвітитися зеленим кольором:

Увага: якщо виникає помилка, необхідно перевірити чи відкриті поштові порти на сервері – 25, 143, 113, 465, 587, 993, 995 (якщо використовується фаєрвол CSF, їх необхідно внести у список дозволених у файлі /etc/csf/csf.conf) і чи валідний SSL-сертифікат безпеки. На серверах HETZNER аби мати можливість використовувати поштові порти, необхідно попередньо відправити зі свого акаунту запит в технічну підтримку з вказаною причиною “Unblock mail ports”.  У випадку будь-яких інших несправностей, рекомендую дивитися конфігурацію Postfix і Dovecot (вихідний SMTP та вхідний IMAP сервери), а також конфігурацію клієнта Rainloop: /usr/local/lscp/cyberpanel/rainloop/data/_data_/_default_/configs/application.ini.

Хто буде користуватися поштою у клієнті Rainloop, раджу включити:

  • двофакторну авторизацію;
  • PGP-шифрування;
  • обов’язкову перевірку SSL/TLS-з’єднання.

Для зручності, можна встановити Desktop-клієнт Mozilla Thunderbird та використовувати його як штатний інструмент для прийому/відправки електронної пошти.

Перевірити успішність доставки email-листів можна через онлайн-сервіс mail-tester.com. Треба скопіювати адресу їх сервісної електронної пошти, надіслати на неї email-листа з будь-яким змістом і перевірити приймання. В ідеалі маєте набрати 10 балів з 10:

Тестування відправки електронних листів

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

ПОДІЛИТИСЬ У СОЦМЕРЕЖАХ:

0 0 голосів
Рейтинг статті
Підписатися
Сповістити про
guest
0 Коментарі
Вбудовані Відгуки
Переглянути всі коментарі
0
Цікаво почути Вашу думку!x
Отримати комерційну пропозицію
Оформити заявку
Замовити консультацію

Заповніть, будь ласка, форму й наш спеціаліст зв’яжеться з Вами та надасть безкоштовну консультацію!

Замовити дзвінок

Вкажіть, будь ласка, контактний номер телефону. Наш менеджер миттєво зв’яжеться з Вами!