Підручники Apache для початківців
⚡ Розумний підсумок
Сервер Apache HTTP забезпечує роботу більш ніж половини публічної мережі, і цей ресурс детально описує його архітектуру, шляхи встановлення, моделі віртуального хостингу, посилення безпеки, ведення журналу та розгортання в робочому середовищі, щоб адміністратори могли впевнено керувати ним у Linux. Windowsабо macOS Середовища.

Що таке Apache?
Apache — це чудовий прикладний програмний продукт. Це найпоширеніший веб-сервер у світі, який займає понад 50% ринку комерційних веб-серверів. Apache — найпоширеніший веб-сервер на Unix-подібних операційних системах, але його можна використовувати майже на всіх платформах, таких як Windows, OS X, OS/2 тощо. Слово «апачі» походить від назви індіанського племені апачів, відомого своїми навичками ведення війни та розробки стратегій.
Це модульна веб-серверна програма на основі процесів, яка створює новий потік з кожним одночасною підключенням. Вона підтримує низку функцій; багато з них скомпільовані як окремі модулі та розширюють її основну функціональність, забезпечуючи все: від підтримки мов програмування на стороні сервера до механізмів автентифікації. Віртуальний хостинг — це одна з таких функцій, яка дозволяє одному веб-серверу Apache обслуговувати кілька різних веб-сайтів з одного й того ж обладнання.
Як встановити Apache
Перш ніж розгортати Apache, варто зрозуміти різні доступні шляхи встановлення. Існує безліч способів встановлення пакета або програми, як зазначено нижче.
- Одна з особливостей цього відкрита Перевага веб-застосунку вихідного коду полягає в тому, що будь-хто може підготувати інсталятор для власного середовища. Це дозволило різним постачальникам, таким як Debian, Red Hat, FreeBSD та SUSE, налаштувати розташування файлів та конфігурацію Apache, враховуючи інші встановлені програми та базову ОС.
- Окрім встановлення за допомогою інсталятора від постачальника, завжди є можливість зібрати та встановити його з вихідного коду. Встановлення Apache з вихідного файлу не залежить від платформи та працює майже для кожної ОС.
Веб-сервер Apache — це модульна програма, де адміністратор може вибрати необхідну функціональність та встановити різні модулі відповідно до потреб.
Усі модулі можна скомпілювати як Динамічні спільні об’єкти (DSO – це об’єктний файл, який може використовуватися кількома програмами під час їх виконання), що існують окремо від основного бінарного файлу Apache. Підхід DSO дуже рекомендується; він значно спрощує завдання додавання, видалення або оновлення модулів з конфігурації сервера.
Встановлення Apache: платформа Linux
У системах на основі Red Hat або rpm
Якщо ви використовуєте дистрибутив Linux на базі rpm (Red Hat Package Manager, утиліта для встановлення програм на системах Linux), тобто Red Hat, Fedora, CentOS або SUSE, ви можете встановити цю програму або за допомогою менеджера пакетів від певного постачальника, або безпосередньо зібравши rpm-файл з доступного tar-архіву з вихідним кодом.
Ви можете встановити Apache за допомогою стандартного менеджера пакетів, доступного у всіх дистрибутивах на базі Red Hat, таких як CentOS, Red Hat та Fedora.
[root@amsterdam ~]# yum install httpd
Архів вихідного коду Apache можна конвертувати у rpm-файл за допомогою наступної команди.
[root@amsterdam ~]# rpmbuild -tb httpd-2.4.x.tar.bz2
Для створення файлу .rpm з вихідного коду обов'язково потрібно встановити пакет -devel на вашому сервері.
Після конвертації вихідного файлу в rpm-інсталятор ви можете використовувати наступну команду для встановлення Apache.
[root@amsterdam ~]# rpm -ivh httpd-2.4.4-3.1.x86_64.rpm
Після встановлення сервер не запускається автоматично. Щоб запустити службу, потрібно скористатися будь-якою з наступних команд у Fedora, CentOS або Red Hat.
[root@amsterdam ~]# /usr/sbin/apachectl start [root@amsterdam ~]# service httpd start [root@amsterdam ~]# /etc/init.d/httpd start
Встановіть Apache з вихідного коду
Якщо збірка менеджера пакетів не відповідає вашому середовищу, встановлення з вихідного коду пропонує повний контроль. Для встановлення Apache з вихідного коду потрібно встановити пакет -devel на вашому сервері. Ви можете знайти останню доступну версію Apache та завантажити її з офіційна сторінка завантаження ApacheПісля завантаження вихідного файлу перемістіть його до папки /usr/local/src.
[root@amserversterdam ~] cd /usr/local/src [root@amserversterdam ~] gzip -d httpd-2.2.26.tar.gz [root@amserversterdam ~] tar xvf httpd-2.2.26.tar [root@amserversterdam ~] httpd-2.2.26
Щоб переглянути всі доступні параметри конфігурації для Apache, ви можете скористатися параметром ./configure –help. Найпоширенішим параметром конфігурації є –prefix={назва каталогу встановлення}.
[root@amserversterdam ~]./configure --help [root@amserversterdam ~]./configure --prefix=/usr/local/apache --enable-so [root@amserversterdam ~] make [root@amserversterdam ~] make install
Наведений вище приклад показує компіляцію Apache в каталозі /usr/local/apache з можливістю DSO. Опція –enable-so дозволяє завантажувати необхідні модулі в Apache під час виконання через механізм DSO, без необхідності повторної компіляції.
Після завершення встановлення ви можете переглядати сторінку веб-сервера за замовчуванням за допомогою вашого улюбленого браузера. Якщо на вашому сервері ввімкнено брандмауер, вам потрібно зробити виняток для порту 80 у брандмауері вашої ОС. Ви можете скористатися такою командою, щоб відкрити порт 80.
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
сервіс iptables зберегти
Ви можете побачити значення за замовчуванням Екран привітання Apache2 перейшовши за IP-адресою вашого сервера.
Що таке віртуальний хост?
Після запуску Apache наступним логічним кроком є вивчення того, як розміщувати кілька сайтів на одному комп'ютері. Веб-сервер Apache може розміщувати кілька веб-сайтів на... САМЕ сервер. Вам не потрібен окремий сервер та програмне забезпечення Apache для кожного веб-сайту. Цього можна досягти за допомогою концепції Віртуальний хост or VHost.
Будь-який домен, який ви хочете розмістити на своєму веб-сервері, матиме окремий запис у файлі конфігурації Apache.
Типи Apache Virtualhost
- Віртуальний хост на основі імен
- Віртуальний хост на основі адреси або IP-адреси
Віртуальний хост на основі імен
Віртуальний хостинг на основі імен використовується для розміщення кількох віртуальних сайтів на одній IP-адресі.
Щоб налаштувати віртуальний хостинг на основі імен, вам потрібно встановити IP-адресу, на яку ви отримуватимете запити Apache для всіх потрібних веб-сайтів. Ви можете зробити це за допомогою директиви NameVirtualHost у конфігурації Apache, тобто Файл httpd.conf або apache2.conf.
Приклад віртуального хосту Apache:
NameVirtualHost *:80 <VirtualHost 192.168.0.108:80> ServerAdmin webmaster@example1.com DocumentRoot /var/www/html/example1.com ServerName www.example1.com </VirtualHost> <VirtualHost 192.168.0.108:80> ServerAdmin admin@example2.com DocumentRoot /var/www/html/example2.com ServerName www.example2.com </VirtualHost>
Ви можете додати стільки віртуальних хостів, скільки потрібно вашому середовищу. Ви можете перевірити файли конфігурації веб-сайту за допомогою:
[root@amsterdam ~]#httpd -t
Syntax OK
Якщо файл конфігурації має неправильний синтаксис, він викличе помилку:
[root@115 conf.d]# httpd -t
Syntax error on line 978 of /etc/httpd/conf/httpd.conf:
Invalid command '*', perhaps misspelled or defined by a module not included in the server configuration
Віртуальний хост на основі IP
Щоб налаштувати віртуальний хостинг на основі IP, вам потрібно налаштувати більше однієї IP-адреси на вашому сервері. Отже, кількість віртуальних хостів, які може обслуговувати Apache, залежатиме від кількості IP-адрес, налаштованих на вашому сервері. Якщо ваш сервер має 10 IP-адрес, ви можете створити 10 віртуальних хостів на основі IP.
На наведеній вище діаграмі двом веб-сайтам, example1.com та example2.com, було призначено різні IP-адреси, і вони використовують віртуальний хостинг на основі IP.
Listen 192.168.0.100:80 <VirtualHost 192.168.10.108:80> ServerAdmin webmaster@example1.com DocumentRoot /var/www/html/example1.com ServerName www.example1.com </VirtualHost> <VirtualHost 192.168.10.109:80> ServerAdmin admin@example2.com DocumentRoot /var/www/html/example2.com ServerName www.example2.com </VirtualHost>
Apache проти Nginx: швидке порівняння
Під час планування нового розгортання Apache часто зважують з Nginx. У таблиці нижче наведено найпоширеніші моменти прийняття рішень.
| Фактор | Apache HTTP Server | Nginx |
|---|---|---|
| Модель обробки | Процес або потік на кожне з'єднання (prefork, worker, event MPMs) | Керований подіями, асинхронний |
| конфігурація | Підтримуються перевизначення .htaccess для кожного каталогу | Централізоване налаштування, без .htaccess |
| Динамічний контент | mod_php та інші модулі вбудовують середовища виконання в процес | Проксі-сервери для PHP-FPM або зовнішніх серверів додатків |
| Пропускна здатність статичних файлів | Потужна, але з більшим обсягом пам'яті на одне з'єднання | Відмінно за дуже високої паралельності |
| Екосистема модулів | Дуже великий; завантажується як DSO під час виконання | Скомпільовані або динамічні модулі, менша екосистема |
| Типовий випадок використання | Спільний хостинг, робочі процеси .htaccess, змішані динамічні додатки | Reverse проксі-сервер, статична доставка, кінцеві точки з високим рівнем паралельності |
Що потрібно Apache для запуску файлу Php?
Запуск PHP-файлів на Apache потребує mod_php увімкнено на вашому сервері. Це дозволяє Apache інтерпретувати файли .php. Він має обробники PHP, які інтерпретують код PHP в Apache та надсилають HTML на ваш веб-сервер.
Якщо на вашому сервері ввімкнено mod_php, у каталозі /etc/httpd/conf.d/ буде файл з назвою php.conf. Ви також можете перевірити його за допомогою:
httpd -M | grep "php5_module"
Результат буде подібним до:
Обробники PHP в Apache
- mod_php
- CGI
- FastCGI
- suPHP
mod_php є найстарішим обробником PHP; він робить PHP частиною Apache та не викликає жодних зовнішніх процесів PHP. Цей модуль встановлено за замовчуванням у кожному репозиторії дистрибутивів Linux, тому його ввімкнення або вимкнення дуже просте.
Якщо ви використовуєте FastCGI як ваш обробник PHP, ви можете налаштувати кілька версій PHP для використання різними обліковими записами на вашому сервері.
FastCGI, тобто mod_fastcgi, є розширенням mod_fcgid, Де mod_fcgid є високопродуктивною альтернативою CGI (mod_cgi). Він запускає достатню кількість екземплярів CGI для обробки одночасних веб-запитів. Він також використовує suexec для підтримки різних користувачів з їхніми власними екземплярами PHP та покращує веб-безпеку.
Для запуску файлів Ruby на Apache потрібно ввімкнути mod_ruby. Apache також може обробляти файли Ruby через FastCGI. За допомогою mod_fcgid, тобто FastCGI, можна використовувати кілька версій Ruby.
Ви також можете встановити Apache Passenger та налаштувати Apache для його використання для обслуговування сторінок Ruby.
(Пасажир Phusion, також відомий як «пасажир«, — це безкоштовний модуль веб-сервера, розроблений для інтеграції з Apache та Nginx.)
Кроки для встановлення mod_ruby на ваш сервер:
cd /tmp wget http://www.modruby.net/archive/mod_ruby-1.2.6.tar.gz tar zxvf mod_ruby-1.2.6.tar.gz cd mod_ruby-1.2.6/ ./configure.rb --with-apr-includes=/usr/include/apr-1 make make install
Як запустити Ruby з Apache
Нам потрібно додати модуль mod_ruby до конфігурації Apache, тобто /etc/httpd/conf.d/ruby.conf, та додати наступний рядок.
LoadModule ruby_module modules/mod_ruby.so
Якщо ви хочете ввімкнути або вимкнути ці модулі, вам потрібно відредагувати файл конфігурації Apache та прокоментувати або розкоментувати ці модулі, за умови, що веб-сервер вже скомпільований з ними.
Як захистити веб-сервер Apache
Щойно Apache почне обслуговувати правильний контент, наступним пріоритетом буде його блокування. Захист вашого веб-сервера дуже важливий; це означає дозволити іншим бачити лише призначену інформацію, захистити ваші дані та обмежити доступ.
Це поширені практики, які підвищують безпеку вашого веб-сервера Apache.
1) Приховування інформації про версію Apache та ОС
Apache відображає свою версію та назву операційної системи в помилках, як показано на скріншоті нижче.
Зловмисник може використати цю інформацію для запуску атаки, використовуючи загальнодоступні вразливості в певній версії сервера або ОС.
Щоб Apache не відображав цю інформацію, нам потрібно змінити опцію «підпис сервера», доступну у файлі конфігурації Apache. За замовчуванням вона «увімкнена»; нам потрібно встановити її на «вимкнено».
vim /etc/httpd/conf/httpd.conf
ServerSignature Off ServerTokens Prod
Ми також налаштували «ServerTokens Prod», який повідомляє веб-серверу повертати лише Apache та приховувати основну та проміжну версії ОС.
Після зміни файлу конфігурації вам потрібно перезавантажити або перезавантажити веб-сервер Apache, щоб зміни вступили в силу.
service httpd restart
2) Вимкнути список каталогів
Якщо кореневий каталог вашого документа не має індексного файлу, за замовчуванням ваш веб-сервер Apache відображатиме весь вміст кореневого каталогу документа.
Цю функцію можна вимкнути для певного каталогу за допомогою директиви «Параметри», доступної у файлі конфігурації Apache.
<Directory /var/www/html> Options -Indexes </Directory>
3) Відключення непотрібних модулів
Рекомендується вимикати всі непотрібні модулі, які не використовуються. Ви можете переглянути список увімкнених модулів у вашому файлі конфігурації Apache.
[root@amsterdam ~]#httpd -M
perl_module (shared)
php5_module (shared)
proxy_ajp_module (shared)
python_module (shared)
ssl_module (shared)
Багато з перелічених модулів можна вимкнути, як-от mod_imap, mod_include, mod_info, mod_userdir та mod_autoindex, оскільки вони майже не використовуються жодними веб-серверами у робочому середовищі.
vi /etc/httpd/conf/httpd.conf
#LoadModule auth_digest_module modules/mod_auth_digest.so
Після того, як ви закоментуєте модуль, збережіть файл.
Перезапустіть служби Apache за допомогою наступної команди.
/etc/init.d/httpd restart
4) Обмеження доступу до файлів поза кореневим каталогом веб-сайту
Якщо ви хочете переконатися, що файли поза кореневим каталогом веб-сервера недоступні, вам потрібно переконатися, що доступ до каталогу обмежено за допомогою параметрів «Дозволити» та «Заборонити» у файлі конфігурації вашого веб-сервера.
<Directory/> Options None AllowOverride None Order deny,allow Deny from all </Directory>
Після обмеження доступу за межами кореневого веб-каталогу ви не зможете отримати доступ до жодного файлу, розташованого в будь-якій іншій папці на вашому веб-сервері; ви отримаєте код повернення 404.
5) Використання mod_evasive для відбиття DoS-атак
Якщо ви хочете захистити свій веб-сервер від DoS-атак (відмова в обслуговуванні), вам необхідно ввімкнути модуль mod_evasive. Це модуль стороннього розробника, який виявляє DoS-атаки та запобігає їх завданню такої ж шкоди, якої вони могли б завдати, якби їх залишили без контролю. Його можна завантажити нижче.
6) Використання mod_security для підвищення безпеки Apache
Цей модуль працює як брандмауер для Apache та дозволяє вам контролювати трафік у режимі реального часу. Він також запобігає атакам методом перебору на веб-сервер. Модуль mod_security можна встановити за допомогою менеджера пакетів за замовчуванням вашого дистрибутива.
7) Обмеження розміру запиту
Apache не має жодних обмежень на загальний розмір HTTP-запиту, що може призвести до DoS-атаки. Ви можете обмежити розмір запиту за допомогою директиви Apache «LimitRequestBody» всередині тегу Directory. Значення може бути встановлене будь-яким від 0 до 2 ГБ (2147483647 байт) залежно від ваших потреб.
<Directory "/var/www/html/uploads"> LimitRequestBody 512000 </Directory>
Формат журналу Apache
Зі зміцненням сервера перегляд журналів стає основним інструментом для виявлення проблем. Журнали Apache надають детальну інформацію, яка допомагає виявляти поширені проблеми із сервером.
Для створення журналів доступу необхідно ввімкнути модуль mod_log_config.
Три директиви, доступні у конфігураційному файлі Apache
- TransferLog: Створення файлу журналу.
- LogFormat: Вказівка власного формату.
- CustomLog: Створення та форматування файлу журналу.
Директива TransferLog доступна у файлі конфігурації Apache, і вона ротує файли журналів віртуального хоста відповідно до встановлених параметрів.
<VirtualHost www.example.com> ServerAdmin webmaster@example.com DocumentRoot /usr/www/example/httpd/htdocs/ ServerName www.example.com ServerAlias example.com www.example ErrorLog /usr/www/example/httpd/logs/error_log TransferLog /usr/www/example/httpd/logs/accesslog CustomLog /usr/www/example/httpd/logs/accesslog combined </VirtualHost>
Два типи формату журналу Apache
- Загальний формат журналу
- Комбінований формат журналу
Ви можете ввімкнути їх, відредагувавши файл конфігурації Apache, тобто apache2.conf (Debian/Ubuntu) або httpd.conf (системи на основі rpm).
Загальний формат журналу
LogFormat "%h %l %u %t \"%r\" %>s %b" common CustomLog logs/access_log common
Загальний журнал, створений Apache
[Wed Oct 11 14:32:52 2000] [error] [client 127.0.0.1] client denied by server configuration: /export/home/live/ap/htdocs/test
Комбінований формат журналу
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined CustomLog log/access_log combined
Тут,
- %h – це віддалений хост.
- %l – це ідентифікація користувача, визначена за допомогою identd.
- %u – це ім’я користувача, визначене HTTP-автентифікацією.
- %t – це час, коли сервер завершив обробку запиту.
- %r — рядок запиту від клієнта. («GET / HTTP/1.0»)
- %>s – це код стану, що надсилається із сервера клієнту (500, 404 тощо).
- %b – це розмір відповіді клієнту (у байтах).
- Реферер – це сторінка, яка посилається на це URL.
- User-agent — рядок ідентифікації браузера.
Комбінований журнал, створений Apache:
199.187.122.91 - - [06/Mar/2014:04:22:58 +0100] "GET /robots.txt HTTP/1.1" 404 1228 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)"
Користувацький журнал створює окремий файл журналу для кожного віртуального хоста на вашому сервері. Його потрібно вказати в розділі віртуального хоста конфігураційного файлу.
Ви можете побачити конфігурацію віртуального хоста нижче; згенерований журнал буде налаштований для цього віртуального хоста, а формат буде об'єднаний.
Налаштуйте свій перший робочий веб-сервер
Після того, як конфігурація, безпека та ведення журналу будуть розглянуті, завершальний етап — це об'єднання всього цього в готове до роботи середовище.
1. Для того, щоб мати працюючий веб-сервер у виробничому середовищі, вам потрібен виділений вузол (фізичний, віртуальний або хмарний екземпляр) під керуванням Linux, Unix, Windows, macOS, І т.д.
2. Веб-сервер повинен мати пряме підключення до мережі і Статична IP-адреса налаштований на ньому.
3. Потрібно мати все Модулі необхідний для запуску веб-сторінок. Якщо веб-сервер обробляє сторінки PHP, йому потрібно ввімкнути модуль PHP.
- Також потрібен хороший антивірус додаток, налаштований та запущений для захисту веб-сервера від атак шкідливого програмного забезпечення або вірусів. Вам також потрібен механізм для оновлення регулярно оновлювати налаштований антивірус або антивірусну програму без будь-якого ручного втручання, щоб отримати максимальну користь.
- Якщо на вашому веб-сервері розміщено сотні доменів, вам необхідно реалізувати обмеження квоти файлової системи для кожного домену, кількість баз даних, які може створити кожен домен, кількість облікових записів електронної пошти на домен тощо.
- Якщо ваш веб-сервер налаштовано для спільні хостингові послуги, користувачів на вашому веб-сервері потрібно обмежитиКористувач спільного хостингу повинен мати мінімальні привілеї, щоб не пошкодити важливі файли та не зламати весь сервер. Apache не надає такої функціональності та потребує різних сторонніх програм і налаштування ОС для досягнення цієї мети.
- Якщо ви додаєте a новий домен на вашому веб-сервері потрібно редагувати сотні записів конфігурації, щоб увімкнути всі функції для доданого домену.
- Якщо потрібно один із розміщених доменів різні налаштування PHP ніж решта доменів, реалізація цього в ядрі Apache є дуже складною та вимагає значного налаштування вашого веб-сервера.
- Робочий веб-сервер потребує a брандмауер щоб блокувати небажаний трафік, який може спричинити високе навантаження на ваш сервер. Впровадження IPTABLE Використання правил за допомогою командного рядка є складним. Для написання ефективних правил брандмауера для блокування небажаного трафіку потрібні знання основних середовищ Linux або Unix. IPTABLE базується на модулі netfilter; це брандмауер рівня ОС, який дозволяє адміністратору створювати правила для вхідного та вихідного трафіку на сервері.
- Робочий веб-сервер вимагає кількох різних програм, наприклад e-mail, Ftp для завантаження файлів, і Система доменних імен для паркованих доменів. Керування всіма цими програмами на основній системі Linux або Unix вимагає знання відповідних технологій.
Отже, можна сказати, що керування веб-сервером для кількох доменів є дуже складним завданням, яке вимагає редагування сотень файлів конфігурації та налаштування кожної програми для досягнення бажаного результату. Виправлення неполадок будь-якої неправильної конфігурації буде дуже складним для початківців.
Рішення за допомогою Cpanel або подібного програмного забезпечення
cPanel надає графічний спосіб керування вашим веб-серверомВін призначений для надання послуг масового хостингу, які прості у використанні та налаштуванні. cPanel зменшив технічні бар'єри для входу в світ хостингу та управління веб-серверами. Він спрощує складні завдання; він надає багато корисних та простих у використанні веб-інтерфейсів, які виконують поширені завдання системного адміністрування, необхідні для роботи веб-сервера.
cPanel компілює власну версію програмного забезпечення.
Якщо вам потрібно перекомпілювати веб-сервер (Apache) на звичайній платформі Linux, вам доведеться вручну вибрати або шукати необхідні модулі. cPanel надає функціональність EasyApache, яка є методом компіляції веб-сервера на основі скриптів.
Він не лише надає вам веб-сервіси, але й Mail, DNS, FTP та багато інших служб, необхідних для вашої веб-програми.
Завдання, що потребують досвіду в хостингу на базі Linux або Unix, такі як встановлення SSL-сертифікатів, перекомпіляція Apache з різними модулями PHP, оновлення веб-безпеки, налаштування ефективних правил IPTABLE, додавання користувачів FTP, створення поштових облікових записів для кожного домену, сканування кореневого каталогу документів антивірусом та створення баз даних, легко виконати за допомогою cPanel.
Він надає безліч скриптів, які виправляють, встановлюють та усувають неполадки, пов'язані з поширеними адміністративними завданнями.
Він забезпечує функції резервного копіювання та відновлення, що усуває необхідність копіювання файлів вручну до резервного сховища. Якщо ви створюєте резервну копію свого домену, cPanel створить tar-файл, який міститиме кореневу папку документів, облікові записи електронної пошти та листи, облікові записи FTP, бази даних, записи DNS та інші програми.
Він також надає надійну документацію та має дуже велику спільноту користувачів, де ви можете обговорювати та отримувати рішення своїх проблем.
Отже, можна так сказати cPanel — це потужна програма для керування вашим веб-сервером з необхідними функціями. Вона надає простий у використанні інтерфейс для керування вашим доменом і механізм, що дозволяє уникнути складнощів керування основним веб-сервером.
Існує багато конкуруючих продуктів для cPanel, таких як Plesk, ISPConfig, Ajenti, Kloxo, Open Panel та ZPanel.

















