Вже більше 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 з дисковим простором 20 Гб або CPX11 з дисковим простором 40 Гб. В майбутньому ви зможете масштабувати ці характеристики, наприклад збільшити кількість оперативної пам’яті або ядер, або взагалі мігрувати на більш потужний сервер (з допомогою вбудованих послуг Backup і Snapshots).
В розділі Networking (Мережа) залишаєте все без змін. Вам однаково будуть потрібні і IPv4, і IPv6 адреси. Варто лише звернути увагу, що IPv4 є платною – 0,50 Євро/місяць й буде включена до загальної вартості:
На наступному етапі треба обов’язково згенерувати SSH-ключі доступу і додати публічний ключ на сервер, натиснувши “+Add SSH key”. Він буде використовуватись для віддаленого доступу до сервера по протоколу SSH:
Створювати SSH-ключі треба лише на власному комп’ютері, виконавши у терміналі команду: ssh-keygen
. У Windows можна скористатися додатком PuTTYgen. В результаті ви отримаєте пару ключів – private і public_key.pub, які рекомендується зберігати в надійному місці з обмеженими правами доступу (chmod 0600).
Публічний ключ з розширенням .pub відкрити у текстовому редакторі (або просто виконавши команду термінала cat ~/.ssh/id_pub.key
) й скопіювати його вміст у віконечко “Add an SSH key” в HETZNER.
Ця операція з імпортом ключа дуже важлива – уважно перевіряйте усі дії, інакше потім не зможете з’єднатися зі своїм сервером. А процедура відновлення доступу до сервера вимагає додаткових навичок.
Решту опцій – Volumes, Firewalls, Backups, Placement groups, Labels, Cloud config залишаємо без змін, вони потребують додаткової оплати і на цьому етапі є зайвими.
Праворуч з’явиться лічильник кошторису — перевірте фінальну суму до оплати й тисніть кнопку “Create & Buy now”:
Після цього, через декілька секунд у папці проєкту буде створено новий віртуальний VPS-сервер з кодовою назвою комплектації, яку ви обрали при створенні. Ви зможете перейти в нього і керувати ним з правами адміністратора, моніторити будь-які зміни, відстежувати статистику споживання ресурсів, налаштувати мережу, підключити додаткові опції/послуги, словом використовувати як вам заманеться (при цьому все обслуговування лежить тільки на вас):
На цьому частина з створення VPS-сервера азавершена. Ви отримали свій віртуальний майданчик. Тепер потрібно відконфігурувати його серверне середовище, встановити необхідні компоненти й розгорнути хостинг-панель.
Отже, підключаємося до сервера по SSH, застосовуваючи приватний ключ доступу, який ви повинні були попередньо згенерувати:
ssh -p 22 -i ~/id_rsa root@XX.XX.XX.XXX
Для зручності раджу використовувати менеджер SSH-з’єднань, наприклад PuTTY (Linux/Windows) або Asbru (Linux).
Після того як ви зайшли на сервер, першим обов’язковим кроком буде оновлення системи. Якщо цього не зробити — можуть потім виникати помилки та труднощі в обслуговуванні.
Оновлення Ubuntu:
sudo apt-get update
sudo apt-get upgrade -y
Оновлення CentOS / AlmaLinux:
sudo yum check-update
sudo yum update -y
Після оновлення добре перезапустити сервер командою: reboot
Увага: 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, то переходимо до редагування файлу nano /etc/selinux/config
й змінюємо значення на disabled для SELINUX:SELINUX=disabled
Якщо у вас не встановлений редактор Nano, то встановіть його командою: sudo yum install -y nano
Зберігаємо зміни в файлі, перезапускаємо сервер і ще раз перевіряємо статус. Тепер 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 та OpenLiteSpeed сервер:
Примітка: Візьміть до уваги, що HETZNER по замовчуванню блокує 25 порт, який використовується для поштового mail-сервера. Але його можна розблокувати, звернушись до технічної підтримки у панелі керування сервером.
На запитання «Бажаєте перезавантажити сервер зараз?» — натискаємо «Так». Після перезавантаження у консолі сервера з’явиться технічна інформація зі статистикою доступності (Uptime) та повідомленням про те, що цей сервер містить встановлену панель управління CyberPanel:
Після встановлення, панель управління доступна на порту 8090 за URL-адресою: xttp://IP_адреса_сервера:8090
Вводимо дані для входу (див. вище) і авторизуємося в панелі. Надалі в розділі Users -> Modify users за бажанням можна активувати Двофакторну авторизацію (2FA).
Веб-інтерфейс Cyberpanel інтуїтивно-зрозумілий, складається з таких блоків:
Процес роботи у Cyberpanel аналогічний будь-якому іншому хостингу. Для розгортання веб-сайтів тут існує пункт меню “Websites”, де можна провести будь-яку операцію — додати, вилучити, модифікувати, здійснювати адміністрування.
Для роботи з базами даних є окремий розділ – “Databases”.
Робота з поштовими серверами і адресами — розділ “Email”.
Сертифікати безпеки — розділ “SSL”.
Загалом, Cyberpanel містить величезну кількість різних розділів, інструментів, компонентів і елементів управління. Для їх вивчення рекомендую скористатись офіційною документацією.
Якщо ви користуєтесь Cyberpanel лише для своїх потреб, то першим ділом рекомендую перейти в розділ Packages -> Modify packages й відредагувати пакет споживання хостингу, знявшив усі обмеження і прибравши ліміти. Це може бути корисним, якщо ви хочете розмежувати використання хостингу за тарифними пакетами для різних користувачів.
У розділі Security містяться усі необхідні налаштування, модулі та компоненти безпеки, такі як:
Перш за все рекомендую обов’язково встановити фаєрвол. З усього переліку, який надає CyberPanel, я обрав CSF (ConfigServer Security & Firewall) — це компактний і багатофункціональний модуль для захисту для віртуальних серверів на базі Linux.
Для встановлення переходимо в Security -> CSF й тиснемо кнопку “Install CSF”.
Після завершення процесу необхідно оновити вікно і перед вами з’явиляться правила блокування вхідних і вихідних TCP/UDP портів. Ви зможете змінювати їх, а на вкладці CSF також дозволяти або блокувати небажані IP-адреси:
Список використованих мережевих портів та їх призначення:
Детальніше про мережеві порти>>
На замітку: Будь-які дії з фаєрволом CSF можна виконувати також у терміналі сервера по SSH через редагування файлу конфігурації: nano /etc/csf/csf.conf
. Після цього потрібно зберегти зміни (CTRL+O) та перезапустити файєрвол командою: csf -r
При встановленому CSF, якщо перейти у розділ Security -> Firewall замість стандартного фаєрволу тепер з’явиться панель статусу CSF:
Тут можна багато-чого налаштувати, а також провести аудит безпеки сервера натиснувши пункт Check Server Security:
В CyberPanel присутній також модуль безпеки веб-сервера – ModSecurity (Security -> ModSecurity). Додатково можна встановити готові правила реагування на кіберінциденти від OWASP та Comodo:
Ще один обов’язковий пункт – безпека SSH-з’єднання. По замовчуванню використовується порт 22, який часто стає жертвою атак і bruteforce-переборів. Рекомендую змінити його.
Для цього необхідно перейти у розділ Security -> Secure SSH та змінити номер порта на будь-який, наприклад, п’ятизначний номер, який складно підібрати.
Цю дію можна також зробити через командний рядок відредагувавши рядок ‘Port 22’ у файлі конфігурації SSH: nano /etc/ssh/sshd_config
і перезапустити службу SSH: sudo systemctl restart sshd.service
Увага: Ваш новий порт має бути вже попередньо доданий у список відкритих вхідних і вихідних TCP-портів в налаштуванні CSF Firewall (Security -> CSF). Інакше ви просто втратите доступ до сервера по SSH. Не забудьте також змінити порт у менеджері SSH-з’єднань.
Опцію «Permit Root login» (дозволити входити в систему під root) рекомендується перемикнути у положення «Off». Але в такому випадку у вас має бути додатковий обліковий запис з правами адміністратора, у який ви зможете зайти.
Додавання нового веб-сайту
Щоб додати новий веб-сайт на хостинг в Cyberpanel, треба перейти в розділ Websites -> Create Website і заповнити усі необхідні дані:
За потреби можна увімкнути додаткові опції:
Після цього новий сайт з’явиться у списку доданих в розділі Websites -> List Websites:
З допомогою посилань Manage та File Manager можна перейти в панель керування сайтом та Файловий менеджер відповідно.
Панель керування доменом є досить обширною й містить усі необхідні функції для налаштування та обслуговування сайту:
Файловий менеджер Cyberpanel дозволяє здійснювати будь-які операції з файлами та папками сайту, включаючи: створення, завантаження, архівування, розпакування, перенесення, редагування, налаштування прав доступу і інші. Це один з кращих файлових менеджерів для хостинг-панелі:
Налаштування PHP
Не зайвим буде провести базовий тюнінг конфігурації для відповідної версії 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 також присутній модуль – 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.
Також потрібно обов’язково додати rDNS запис (Reverse DNS), який має відповідати домену поштового сервера (mail.yoursite.com) й направлений на IP-адресу вашого сервера. В HETZNER це можна зробити самотужки перейшовши в керування сервером, в розділ Networking:
В Cyberpanel у розділі 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
.
В деяких версіях Cyberpanel замість Rainloop, застосовується інший поштовий клієнт – Snappymail. Дані авторизації можна знайти в файлі конфігурації: /usr/local/lscp/cyberpanel/rainloop/data/_data_/_default_/configs/application.ini
. Як змінити пароль описано тут.
В панелі керування 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 сервери), а також конфігурацію поштового клієнта: /usr/local/lscp/cyberpanel/rainloop/data/_data_/_default_/configs/application.ini
.
Хто буде користуватися поштою у клієнті Rainloop/Snappymail, раджу додатково включити:
Для зручності, можна встановити Desktop-клієнт Mozilla Thunderbird та використовувати його як штатний інструмент для прийому/відправки електронної пошти.
Перевірити успішність доставки email-листів можна через онлайн-сервіс mail-tester.com. Треба скопіювати адресу їх сервісної електронної пошти, надіслати на неї від себе email-листа з будь-яким змістом і перевірити приймання. В ідеалі маєте набрати 10 балів з 10:
Для захисту від email-спаму та фішингу можна встановити модуль SpamAssassin — один з найефективніших та найвживаніших компонентів перевірки вхідної електронної пошти, знаходиться у розділі Settings -> Spam Assassin.
Читайте також інші матеріали за темою:
ПОДІЛИТИСЬ У СОЦМЕРЕЖАХ:
Заповніть, будь ласка, форму й наш спеціаліст зв’яжеться з Вами та надасть безкоштовну консультацію!
Вкажіть, будь ласка, контактний номер телефону. Наш менеджер миттєво зв’яжеться з Вами!