Как быстро установить, настроить и запустить web сервер Apache2 на сервере Linux.

 Тема статьи блога, развёртывание сервера 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

установить владельца корневого каталога веб-сервера

# 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 является публичным сервисом, который предоставляет доступ к своим приложениям авторизованным пользователям и гостям для свободного просмотра информации на своих страницах. В задачу администратора входит обеспечить защиту Apache2 от проникновения злоумышленника в панель управления приложения установленного на Apache2. Для защиты административной панели любого приложения установленного на Apache2, хорошо зарекомендовал себя способ доверия ip адресов в файле .htaccess, который необходимо поместить в каталог администратора любого приложения установленного на Apache2, но предварительно необходимо настроить Apache2, что бы он мог "видеть" файл .htaccess.

для поддержки .htaccess сервера Apache2 необходимо в секцию "Directory" добавить

 # /etc/httpd2/conf/sites-available/default.conf
...
<Directory "/var/www/html">
...
AllowOveride All
<Directory

 Сервер Apache2, по умолчанию, нацелен  на каталог справочной документации, тематически направленной на изучение особенностей использования того дистрибутива, который установлен для работы или учёбы. Исходя из сказанного, пользователю необходимо решить вопрос использовать страницы документации при работе с Apache2 или отказаться, создав веб-сервер для работы приложений.

комментировать или удалить ссылки на справочную документацию ОС

...
</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.

 Проверить работу сервера Apache2 можно с помощью браузера, набрав в адресной строке адрес веб-сервера, если вы не можете видеть ответ Apache2, тогда следует просмотреть журналы работы веб-сервера в каталоге хранилища логов.

Расширение 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 - для функций связи сокетов

 Заключение.

 Все уровни современной жизни, в настоящее время, требуют информационной поддержки. Самым простым и совершенным способом в доставке информации являются веб-технологии, ядро которого состоит из веб-движка на стороне провайдера и лёгкого клиента, браузера, на стороне пользователя. Надёжность доставки и получения информации пользователем во многом зависит от движка, который участвует в процессе обработки информации, основным критерием надёжности программы является время. Сервер веб-приложений Apache2 хорошо зарекомендовал себя во многих проектах, являясь свободным продуктов, он пользуется мощной поддержкой сообщества Apache Software Foundation, обладает хорошей гибкостью и модульной кроссплатформенной архитектурой, используя механизм работы Apache2 в качестве базового сервера, пользователи получают надёжную информационную систему.