Вже більше 5 років я не користуюся жодними приватними хостингами, а розгортаю їх самотужки. Це дає мені повну безпеку, швидкодію та свободу в адмініструванні. Я забув що таке віруси, глюки, махінації адмінів та недоступність серверів. Все це давно в минулому. Тепер все залежить від мене — я сам собі господар, сам собі хостер. У цій статті розкажу про те, як кожному досягти такої самостійності й ефективності, як розгорнути власний хостинг використовуючи VPS від HETZNER за 4 євро на місяць та безкоштовну панель управління Cyberpanel.
CyberPanel – це безкоштовна повнофункціональна професійна панель управління VPS/VDS сервером, яка базується на технології LiteSpeed або OpenLiteSpeed (його безкоштовна версія). Характеризується високою надійністю, безпекою, швидкодією (споживає мінімум ресурсів). Кіберпанель безкоштовна і дарує адміністратору повну автономність. Це “коробочна” версія, у якій отримуєте “All-in-One”: хостинг, ftp, ssh, mysql, dns, mail-сервер та інші сервіси.
Особливості та переваги Cyberpanel:
Системні вимоги Cyberpanel:
В якості платформи для розгортання майбутньої інфраструктури можна обрати будь-який віртуальний VPS-сервер.
На сьогодні існує чимало постачальників хмарних послуг, зокрема і Amazon Web Services (AWS), і Digital Ocean, але я пропоную VPS від HETZNER – німецької компанії, яка є ветераном на ринку телекомунікаційних послуг та надає 100% якісний сервіс. У них, на мою думку, найкраще співвідношення “Ціна/Якість”.
Нижче представлена тарифна сітка HETZNER для віртуальних приватних серверів (Virtual Private Server, VPS):
Як бачимо, мінімальна ціна починається з 4.51 Євро. Однак, це ціна з врахуванням податку VAT, який стягується з жителів ЄС. Для громадян України ціни будуть ще меншими (див. нижче). Порівняно з дорогими хостингами, це копійки. Ви отримуєте віртуальний приватний сервер з персональною IP адресою (IPv4) (більшість звичайних хостингів надають одну публічну IP-адресу на всіх), 2 Гб оперативної пам’яті, 20 Гб дискового простору, 20 Тб трафіку (що по суті є безлімітом, адже його майже неможливо вичерпати звичайному сайту). Фізична геолокація VPS-сервера подається на вибір — Німеччина, Фінляндія, США.
Хостинг сплачується наприкінці або на початку кожного місяця, за принципом – “скільки спожив — стільки заплатив”. Тобто, якщо ви вимкнете сервер (а така можливість є) і не будете ним користуватися, або ваш сервер буде простоювати — ви заплатите меншу ціну. Але тариф для вас завжди буде незмінним (за умови, що ви не змінюватимете конфігурацію і не замовлятимете додаткові сервіси, які оплачуються окремо).
Отже, давайте зареєструємося в сервісі Hetzner й спробуємо придбати VPS-сервер з мінімальними характеристиками та розгорнути на ньому хостинг-панель.
Читайте також: Що таке оренда VPS-серверів?
Для початку реєстрації переходимо за моїм партнерським посиланням (при покупці VPS ви повинні отримати 20 Євро бонусів!), дотримуємося усіх вказівок HETZNER і реєструєте новий акаунт, вказавши дійсну електронну пошту. На неї прийде посилання з підтвердженням операції. Переходите по ньому і завершуєте реєстрацію, вказавши свої персональні дані у всіх полях форми реєстрації, включно з номером телефону і банківською карткою. Також, майте на увазі, що надалі для верифікації, можливо, доведеться завантажити скан-копію свого паспорта. Реєстрацію бажано проводити з білої чистої IP-адреси, вказуючи свої справжні дані, інакше можливий бан.
Можна сказати, що обов’язкова верифікація — це одночасно і мінус таких сервісів як HETZNER, і плюс, тому що захищає ваш обліковий запис від зламу та викрадення.
Отже, після успішної реєстрації входимо у свій онлайн-кабінет HETZNER. На панелі керування створюємо новий проєкт “Add new project” і додаємо новий сервер “Create a server”, де треба обрати бажану конфігурацію сервера:
Операційну систему я рекомендую обирати AlmaLinux, яка є логічним продовженням CentOS і споживає мінімум ресурсів при максимальній кількості сайтів. Хоча, якщо ви берете потужний сервер всього лиш для 1-3 своїх сайтів, то можна зупинитися і на Ubuntu, яка відрізняється чудовою підтримкою та сумісністю з різними компонентами, однак вимоглива до серверних ресурсів.
Серед перелічених типів серверів ви обираєте конфігурацію VPS лише на базі процесорів Shared vCPU x86 – це окремі віртуальні процесори, які черпають свої ресурси з одного фізичного дата-центру. Є також Dedicated-процесори, однак вони потрібні лише для дуже серйозних проєктів з багатотисячним трафіком і особливою архітектурою. Відповідно ціна їх у 5 разів дорожча.
Для звичайного хостингу підійде саме Shared vCPU (не плутати з Shared-хостингом!).
Отже, при виборі нижче з’явиться довгий список різних конфігурацій на базі Shared vCPU, де ви зможете обрати сервер з потрібними технічними характеристиками та вартістю (для громадян України без податку VAT).
Оптимальним мінімальним вибором будуть CX11 або CPX11. В майбутньому ви зможете масштабувати ці характеристики, наприклад збільшити кількість оперативної пам’яті або ядер, або взагалі мігрувати на більш потужний сервер (з допомогою послуг Backup і Snapshots).
В розділі Networking (Мережа) залишаєте все без змін. Вам однаково будуть потрібні і IPv4, і IPv6 адреси. Варто лише звернути увагу, що IPv4 є платною – 0,50 Євро/місяць й буде включена до загальної вартості:
На наступному етапі треба обов’язково згенерувати SSH-ключі доступу і додати публічний ключ на сервер, натиснувши “+Add SSH key”. Він буде використовуватись для віддаленого доступу до сервера по протоколу SSH:
Створювати 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 завершена. Ви отримали віртуальний майданчик. Тепер потрібно відконфігурувати його серверне середовище і розгорнути хостинг-панель.
Після того, як ви створили сервер, першим і обов’язковим кроком буде оновлення системи. Якщо цього не зробити — можуть виникати труднощі й баги.
Оновлення 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)
Відбудеться ініціалізація та перевірка вимог системи, після чого менеджер встановлення запропонує обрати один з трьох варіантів:
Введіть бажану цифру та натисніть Enter. Далі пройде чекінг й запропонують обрати версію CyberPanel:
Після цього вам запропонують відповісти на ряд запитань, щоб точно сконфігурувати пакет встановлення CyberPanel:
Чи бажаєте встановити віддалену MySQL базу даних? — Зазвичай, для звичайних сайтів використовується стандартна локальна SQL-база даних. Тому тиснемо «Ні».
Далі відбудеться перевірка актуальної версії «Кіберпанелі», після чого вам запропонують згенерувати або ввести пароль до панелі керування — рекомендую придумати надійний пароль зі спеціальними символами верхнього та нижнього регістру:
Продовжуємо відповідати на наступні питання:
Далі відбудеться встановлення всіх необхідних пакетів, що може зайняти від 5 до 15 хвилин. Уважно спостерігайте за перебігом подій, адже в разі будь-яких критичних помилок процес може бути обірваним або незавершеним. А в разі несуттєвих помилок — їх можна буде потім усунути.
На завершення ви отримаєте фінальне повідомлення про успішне встановлення з посиланнями на усі доступи, а також рекомендаціями щодо мережевих портів, без яких не зможуть працювати CyberPanel та Open Lite Speed сервер:
На запитання «Бажаєте перезавантажити сервер зараз?» — натискаємо «Так». Після перезавантаження у консолі сервера з’явиться технічна інформація зі статистикою доступності (Uptime) та повідомленням про те, що цей сервер містить встановлену панель управління CyberPanel:
Після встановлення, панель управління доступна на порту 8090 за URL-адресою: xttp://IP_адреса_сервера:8090
Вводимо дані для входу, які отримали вище і авторизуємося в панелі (надалі в розділі Users -> Modify users можна активувати Двофакторну авторизацію (2FA)).
Веб-інтерфейс Cyberpanel інтуїтивно-зрозумілий, складається з таких блоків:
Процес роботи у 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):
Після внесених змін, рекомендується перезавантажити сервер. Це можна зробити у панелі або в терміналі командою: systemctl restart lsws
.
У розділі Security містяться усі необхідні налаштування, модулі та компоненти безпеки, такі як:
В модулі 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 дає користувачам повний функціонал, включаючи розгортання і налаштування приватного сервера електронної пошти з підтримкою SSL та DKIM.
Для цього необхідно додати новий сайт або просто домен (Website -> Create website) та включити опцію “DKIM Support”. При цьому MAIL-сервер повинен бути попередньо направлений на IP-адресу вашого сервера:
Тепер можна у Cyberpanel перейти в розділ “Email”, обрати із списка свій домен та створити першу корпоративну email-скриньку:
Щоб листи не потрапляли у спам, необхідно додати у DNS-зону свого домену відповідні підписи безпеки — SPF, DMARC і DKIM. Ось приклад як їх прописати в DNS:
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, раджу включити:
Для зручності, можна встановити Desktop-клієнт Mozilla Thunderbird та використовувати його як штатний інструмент для прийому/відправки електронної пошти.
Перевірити успішність доставки email-листів можна через онлайн-сервіс mail-tester.com. Треба скопіювати адресу їх сервісної електронної пошти, надіслати на неї email-листа з будь-яким змістом і перевірити приймання. В ідеалі маєте набрати 10 балів з 10:
ПОДІЛИТИСЬ У СОЦМЕРЕЖАХ:
Заповніть, будь ласка, форму й наш спеціаліст зв’яжеться з Вами та надасть безкоштовну консультацію!
Вкажіть, будь ласка, контактний номер телефону. Наш менеджер миттєво зв’яжеться з Вами!