Введение.
Тема статьи блога, развёртывание сервера Apache2, в окружении ОС Linux, в качестве стенда использован дистрибутив ALT Linux в минимальной конфигурации для базовой конфигурации Apache2.
Сервер веб-приложений Apache2, является старейшей сервисной программой, входящей в четвёрку обязательных программ установленных практически во всех организациях.
Без использования в своей работе веб-программ или приложений не обходится ни одно современное учреждение или предприятие.
К работе веб-сервера предъявляются такие требования как, устойчивость и долгосрочный прогноз наработки на отказ, от его надёжности зависит работа многих приложений, которые используют ядро Apache2 в качестве базового веб-движка для своей работы.
Сервер Apache2 не требует особенных знаний и опыта в эксплуатации, обычно после установки офисного варианта базового сервера Linux из «коробки», Apache2 сразу начинает работать, ожидая установки на свой движок необходимых программ, например CMC Joomla или WordPress для организации сайта в производственных или учебных заведениях.
Такой вариант использования Apache2 удобен, особенно там где специалистов ИТ не достаточно, но на долгосрочную перспективу не привлекателен из-за своего роста и «разбухания» от информации, которая будет накапливаться годами, учитывая что на этом же сервере работают другие офисные приложения. Исходя из сказанного мы будем создавать отдельный веб-сервер Apache2, целевого назначения развёрнутого на базе сервера Linux в минимальной конфигурации установленного в облаке предприятия, например на платформе Microsoft Azure.
Подготовка.
X — обозначает текущею версию пакетов PHP.
# apt-get update
# apt-get install apache2
# apt-get install apache2-mod_phpX
# apt-get install phpX-mbstring
# apt-get install phpX-zip
# apt-get install phpX-xmlreader
Узнать версию PHP.
# apt-cache search apache2-mod_*.php
apache2-mod_php7 - The php7 HTML-embedded scripting language for use with Apache2
...
Установить владельца корневого каталога веб-сервера.
# chown -R apache2:apache2 /var/www/html/
Проверить права и владельца веб-сервера Apache2.
# namei -mol /var/www/html/
f: /var/www/html/
drwxr-xr-x root root /
drwxr-xr-x root root var
drwxr-xr-x root webmaster www
drwxrwsr-x apache2 apache2 html
Проверить пути каталога веб-сервера в файле конфигурации Apache2.
# vim /etc/httpd2/conf/sites-available/default.conf
...
DocumentRoot /var/www/html
...
<Directory "/var/www/html">
Безопасность Apache2
Сервер Apache2 является публичным сервисом, который предоставляет доступ к своим приложениям авторизованным пользователям и гостям для свободного просмотра информации на своих страницах. В задачу администратора входит обеспечить защиту сервера от проникновения злоумышленника в панель управления приложения установленного на Apache. Для защиты административной панели любого приложения установленного на Apache, хорошо зарекомендовал себя способ доверия ip адресов в файле .htaccess, который необходимо поместить в каталог администратора любого приложения установленного на сервере, но предварительно необходимо настроить Apache2, что бы он мог «видеть» файл .htaccess.
Для поддержки .htaccess сервера Apache необходимо в секцию «Directory» добавить.
# /etc/httpd2/conf/sites-available/default.conf
...
<Directory "/var/www/html">
...
AllowOveride All
</Directory>
Сервер Apache, по умолчанию, нацелен на каталог справочной документации, тематически направленной на изучение особенностей использования того дистрибутива, который установлен для работы или учёбы. Исходя из сказанного, пользователю необходимо решить вопрос использовать страницы документации при работе с Apache или отказаться, создав веб-сервер для работы приложений.
Закомментировать или удалить ссылки на справочную документацию.
...
</IfModule>
# "/var/www/cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
<Directory "/var/www/cgi-bin">
# Summary: Configure for default CGI directory
# Requires: Directory-cgi
Include conf/include/Directory_cgibin_default.conf
</Directory>
# RewriteEngine On
# RewriteCond %{HTTPS} !=on
# RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [R,L]
</VirtualHost>
Запуск сервера Apache2.
# systemctl start httpd2
# systemctl enable httpd2
Проверка работы Apache2.
Проверить работу сервера Apache можно с помощью браузера, набрав в адресной строке адрес веб-сервера, если вы не можете видеть ответ Apache, тогда следует просмотреть журналы работы веб-сервера в каталоге хранилища логов.
Расширение Apache2.
Веб-сервер Apache2, для своей работы, использует многие популярные программы, что бы они успешно работали требуются библиотеки, далее приведены списки самых популярных пакетов, которые чаще всего требуются для запуска приложений и небольшие комментарии к ним.
- Библиотеки популярных приложений.
# apt-get update
# apt-get install phpX-mbstring
# apt-get install phpX-zip
# apt-get install phpX-ldap
# apt-get install phpX-xmlreader
# apt-get install phpX-socket
- LDAP — облегчённый протокол доступа к каталогам
- mbstring — для работы с многобайтовыми строками, и Unicode-кодировками, типа UTF-8 и др
- ZIP — читать и записывать сжатые ZIP-архив и в файлы внутри них
- XMLReader — синтаксический анализатор XML
- sockets — для функций связи сокетов
Заключение.
Все уровни современной жизни, в настоящее время, требуют информационной поддержки. Самым простым и совершенным способом в доставке информации являются веб-технологии, ядро которого состоит из веб-движка на стороне провайдера и лёгкого клиента, браузера, на стороне пользователя. Надёжность доставки и получения информации пользователем во многом зависит от движка, который участвует в процессе обработки информации, основным критерием надёжности программы является время. Сервер веб-приложений Apache хорошо зарекомендовал себя во многих проектах, являясь свободным продуктов, он пользуется мощной поддержкой сообщества Apache Software Foundation, обладает хорошей гибкостью и модульной кроссплатформенной архитектурой, используя механизм работы Apache в качестве базового сервера, пользователи получают надёжную информационную систему.
- сайт Apache