- Как установить и настроить веб-сервер apache в среде Linux
- Установка
- yum install httpd
- Centos 8.
- dnf install httpd
- # systemctl enable httpd
- Настройка
- Как настроить Apache посредством htaccess
- Как настроить модули сервера
- Заключение
- Как установить Apache на Ubuntu 20.04 и разместить веб-сайт
- Установка Apache2 в Ubuntu 20.04
- Проверка Состояния Сервера Apache2 в Ubuntu 20.04
- Протестируйте установленный веб-сервер Apache2
- Настройка виртуальных хостов Apache2 в Ubuntu
- Создание виртуального хоста
- Создать корневой каталог документа
- Создание индексного файла сайта
- Welcome to SETIWIK!
- Apache HTTP Server (Русский)
- Contents
- Установка
- Настройка
- Дополнительные опции
- Пользовательские каталоги
- TLS/SSL
- Виртуальные хосты
- Управление большим количеством виртуальных хостов
- Расширения
- Дополнительные параметры
- Использование php5 c php-fpm и mod_proxy_fcgi
- Использование php5 c apache2-mpm-worker и mod_fcgid
- MySQL/MariaDB
- Решение проблем
- Просмотр журнала и текущего состояния Apache
- PID file /run/httpd/httpd.pid not readable (yet?) after start
- Обновление с Apache 2.2 до 2.4
- Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe
Как установить и настроить веб-сервер apache в среде Linux
Одним из самых популярных свободных веб-серверов является Apache. Согласно статистическим данным, он используется более чем на 30% всех веб-ресурсов сети Интернет, что составляет около 300 миллиардов сайтов. А это, согласитесь, немало.
Надо признать, что популярность программы только растет, хотя Apache появился давно. Впервые об этом сервере заговорили в 1995 году. Он стал своеобразной альтернативой тогдашнему NCSA, что не могло не радовать пользователей, поскольку данный продукт был сыроват и имел множество недоработок, значительно отягощающих работу в сети.
С этим событием связано и само название веб-сервера Apache. Существует интересное предположение, что название популярной программы переводится, как «заплатка». А всё потому, что этому продукту удалось «залатать» пробелы своего предшественника. Теперь пользователи Apache не ограничены ни в чем.
Нынешний Apache прекрасно поддерживает Linux, Windows и MacOs. Как главные достоинства продукта, пользователи отмечают его обширную функциональность и гибкость. Так как программа разработана на основе модульной структуры, Apache можно без лишней скромности считать продуктом вне времени. Программа не устаревает, поскольку её легко совершенствовать посредством добавления новых дополнительных модулей.
Настройка сервера – это достаточно непростая, но вполне выполнимая задача. А вот установка программы не представляет особых трудностей даже для неопытных пользователей Ubuntu. Её можно установить в дистрибутив Линукс при помощи терминала и нескольких примитивных команд.
В данном материале мы подробнее рассмотрим важные особенности установки программы Apache в Ubuntu, поскольку в данном руководстве нередко нуждаются новички. Следует отметить, что предложенная инструкция будет актуальной и для других дистрибутивов.
Установка
Итак, настало время перейти от теории к практике, и попробовать установить актуальную версию популярной программы на своём компьютере. Для этих целей юзеру нужно воспользоваться терминалом.
Для ubuntu / debian.
Это позволит произвести обновление системы до последней версии. После этого можно заняться непосредственно установкой программы. Для этого задайте:
apt install apache2
Если вы работаете не с Ubuntu, то нужный пакет программы может иметь и другое наименование. Например, httpd. В ином случае всё можно оставить как есть. Далее следует упростить себе работу на будущее. Для этого рекомендуется добавить Apache в автозагрузку, как только завершиться процесс установки программы. Это нужно для того, чтобы не запускать программу вручную после каждого включения ПК.
Автоматический запуск будет доступен, если задать в терминале:
# systemctl enable apache2
yum install httpd
Centos 8.
dnf install httpd
Автозапуск в Centos
# systemctl enable httpd
Настройка
Ранее конфигурация программы хранилась в одном файле, но эти времена давно позади. Возможно, разбросанность данных усложняет задачу неопытному пользователю Линукс, но это лишь на первый взгляд. Если убрать эмоции и подумать рационально, то всё кажется практичным и удобным, ведь распределение данных по различным директориям облегчает юзеру ориентирование в файлах.
Настройки программы можно обнаружить в этом каталоге – /etc/apache/:
- Основные настройки программы – файл /etc/apache2/apacheconf
- Дополнительные настройки программы – файл etc/apache2/conf-available/*
- Настройки модулей находятся здесь – etc/apache2/mods-available/*
- Настройки хостов (виртуальных) – файл etc/apache2/sites-available/*
В упомянутом каталоге также содержатся и другие настройки, улучшающие работу программы. Пользователю может попасться на глаза еще один каталог – enabled, но в эту папку трогать не следует. Все необходимые коррективы нужно вносить в каталогах available. И хотя некоторые пользователи всё еще умудряются действовать по старинке, перебрасывая все файлы в единый файл, от этого нужно отходить и отучаться. Разумеется, программа будет функционировать на компьютере после подобных манипуляций, но сейчас так не принято делать.
Имея дело с постоянно развивающимся и совершенствующимся инструментом, пользователь также должен идти в ногу со временем и приучать себя к прогрессивным действиям.
Как открыть главный файл conf?
Для этого следует задать в терминале:
Далее пользователю необходимо ознакомиться с данными, выведенными на экран.
Как настроить Apache посредством htaccess
Для настройки сервера под определенную директорию созданы файлы .htaccess. Чтобы программа смогла прочитать настройки из упомянутых файлов, пользователь должен позаботиться о том, чтобы основной файл и файл виртуального хоста содержал только AllowOverride All. Всё, что содержится в этих файлах с приставкой None должно быть убрано. В ином случае некоторые настройки не будут работать.
Что касается всего остального, то пользователь может производить здесь любые настройки – от изменения доступа к каталогу до активации новых модулей расширения функционала программы.
Как настроить модули сервера
Как уже упоминалось ранее, популярный веб-сервер Apache представляет собой программу, созданную по модульной структуре. Именно это позволяет продукту обходить своих конкурентов – тех, которые устаревают с течением времени. Пользователи охотно работают с Apache, ведь он отчасти напоминает «конструктор». Всегда можно добавить или убрать необходимый элемент. При таком раскладе нет необходимости каждый раз беспокоиться о поиске программы, которая казалась бы наиболее актуальной. Пока есть Apache, проблема решается сама собой.
Заговорив о дополнительных модулях, обеспечивающих богатый функционал программы, будет логичным разобрать эту тему подробнее. Все доступные для установки модули содержатся в данном каталоге:
А если пользователю хочется просмотреть те модули, которые уже добавлены в программу, понадобится папка:
В принципе, необходимость в том, чтобы просматривать эти модули, невелика. Пользователь может вполне обойтись и без этих действий. Однако мы оставим подсказку для тех, кому может понадобиться подобная информация.
Для вывода запущенных модулей существует специальная команда:
Теперь разберемся, как активировать модуль. Для этого введите в терминале команду:
Для отключения модуля потребуется задать:
После одного из вышеперечисленных действий потребуется перезагрузить программу. Это делается следующим образом:
# systemctl restart apache2
Заключение
В этой статье мы дали общие рекомендации относительно того, как произвести установку и дальнейшую настройку популярного веб-сервера Apache на примере Ubuntu. Упомянутые инструкции также актуальны и для других дистрибутивов, поскольку все они работают по схожему принципу. Разумеется, настройки программы не ограничиваются на том, что было рассмотрено в материале, поскольку всё в этом вопросе слишком индивидуально. Пользователь сам решает, что делать с дополнительными модулями и т.д.
Источник
Как установить Apache на Ubuntu 20.04 и разместить веб-сайт
Apache — это программное обеспечение бесплатного веб-сервера, с открытым исходным кодом, разработан Apache Software Foundation. Официально он называется Apache HTTP Server. Apache является одним из самых старых, кросс-платформенных веб-серверов.
В этой инструкции мы установим Apache версии 2 (Apache2) на Ubuntu 20.04. Кроме того, мы настроим виртуальные хосты таким образом, чтобы на одном сервере могли размещаться несколько веб-сайтов.
Установка Apache2 в Ubuntu 20.04
Первое что требуется сделать это проверить наличие обновлений пакетов с помощью команды ниже.
Во — вторых, выполните следующую команду, чтобы установить Apache версии 2 из репозитория пакетов Ubuntu.
При появлении запроса введите Y, чтобы продолжить установку.
После успешной установки Apache2 выполните следующую команду для просмотра версии.
Проверка Состояния Сервера Apache2 в Ubuntu 20.04
Далее следует проверить состояние сервера Apache2, для этого выполните следующую команду.
По умолчанию служба Apache2 должна быть активна (запущена). Если нет, запустите службу следующей командой.
Протестируйте установленный веб-сервер Apache2
Последний шаг — это тестирование веб-сервера Apache2. Откройте веб-браузер и введите IP — адрес вашего сервера Ubuntu. Или введите localhost, если вы локально подключены к серверу.
Вы должны увидеть страницу Apache2 Ubuntu default page, как показано на рисунке ниже.
Страница Apache2 Ubuntu по умолчанию
Настройка виртуальных хостов Apache2 в Ubuntu
Виртуальные хосты позволяют размещать более одного веб-сайта на одном сервере Apache2. В Nginx это называется серверными блоками.
По умолчанию Apache2 поставляется с одним виртуальным хостом, а его конфигурационная информация хранится в файле /etc/apache2/sites-enabled/000-default.conf. Кроме того, корень веб-сайта по умолчанию — располагается в /var/www/html.
Настроить новый виртуальный хост очень просто. Следуйте инструкции и просто замените setiwik своим собственным зарегистрированным доменным именем.
Примечание: ваше зарегистрированное доменное имя должно указывать на IP-адрес вашего сервера Ubuntu.
Создание виртуального хоста
Создайте новый конфигурационный файл виртуального хоста, скопировав файл по умолчанию следующим образом.
$ cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/setiwik.conf
Далее отключите виртуальный хост по умолчанию с помощью приведенной ниже команды.
Создать корневой каталог документа
Выполните следующую команду, чтобы создать корневой каталог документа для хранения файлов веб — сайта.
Затем сделайте учетную запись Пользователя службы Apache2 (www-data) и группу (www-data) владельцами корневого каталога документа. Это можно сделать следующим образом.
$ sudo chown www-data:www-data /var/www/setiwik
Далее, предоставьте учетной записи Пользователя службы Apache2 (www-data) полный доступ к корневому каталогу документа с помощью следующей команды.
Создание индексного файла сайта
Теперь создайте индексный файл в корневом каталоге документа с помощью команды:
Скопируйте и вставьте пример HTML-кода ниже.
Welcome to SETIWIK!
Если вы видите эту страницу, веб-сайт SETIWIK работает правильно
Источник
Apache HTTP Server (Русский)
Перевод этой статьи или раздела не отражает оригинальное содержание.
Apache HTTP Server, или сокращенно Apache — популярный веб-сервер, разработанный Apache Software Foundation.
Apache часто используется вместе с языком сценариев PHP и СУБД MySQL. Такую комбинацию обычно называют LAMP (Linux, Apache, MySQL, PHP). Эта статья объясняет, как настроить Apache и как интегрировать с ним PHP и MySQL.
Если вам нужно быстро создать окружение для разработки и тестирования, то можете просто установить Xampp.
Contents
Установка
Настройка
Файлы настроек Apache находятся в /etc/httpd/conf . Основным файлом является /etc/httpd/conf/httpd.conf , который может по ссылкам включать в себя дополнительные файлы с настройками. В большинстве случаев будет достаточно стандартных настроек из этого файла. По умолчанию корневым каталогом веб-сервера является /srv/http .
Для старта Apache запустите службу httpd.service .
После этих действий Apache должен запуститься. Проверьте работает ли он, набрав в адресной строке браузера http://localhost/ . Веб-сервер должен отправить вам простую тестовую страничку.
При необходимости дальнейшей настройки сервера смотрите следующие разделы.
Дополнительные опции
Следующие опции (директивы) в /etc/httpd/conf/httpd.conf могут быть вам интересны:
По соображениям безопасности при запуске сервера Apache от имени суперпользователя (напрямую или через скрипт инициализации) происходит смена идентификатора пользователя (UID), от имени которого выполняется процесс сервера. По умолчанию используется пользователь http , который не имеет привилегированных полномочий в системе. Это порт, через который Apache принимает входящие соединения. Если сервер имеет выход в интернет через маршрутизатор, необходимо будет настроить перенаправление этого порта. Если вы используете Apache для разработки и тестирования, вы можете разрешить только локальный доступ к нему. Для этого укажите Listen 127.0.0.1:80 . Адрес электронной почты администратора, который будет выводиться, например, на странице ошибки Apache. Это корневая директория Apache, в которой можно разместить ваши веб-страницы. Измените ее, если нужно, но не забудьте также поменять путь в директиве на новое расположение DocumentRoot , иначе вы, скорее всего, получите сообщение об ошибке 403 Error (недостаточно полномочий) при попытке получить доступ к новому корневому каталогу Apache. Также не забудьте изменить строку Require all denied на Require all granted , иначе снова получите ошибку 403 Error. Помните, что директория DocumentRoot и ее родительские папки должны иметь разрешения на запуск для всех (можно установить командой chmod o+x /path/to/DocumentRoot> ), в противном случае вы получите ошибку 403 Error. Запрещает переопределение настроек. Если в секции указана эта директива, Apache будет полностью игнорировать настройки в файле .htaccess . Обратите внимание, что теперь такая настройка для Apache 2.4 является настройкой по умолчанию, поэтому если вы планируете использовать .htaccess , вам необходимо дать соответствующие разрешения. Если вы собираетесь включить модуль mod_rewrite или использовать настройки в .htaccess , вы можете определить какие из директив, объявленных в этих файлах, могут перезаписывать конфигурацию сервера. Для получения дополнительной информации обратитесь к документации Apache.
Дополнительные настройки можно найти в /etc/httpd/conf/extra/httpd-default.conf .
Чтобы полностью отключить вывод версии Apache в генерируемых сервером страницах, добавьте:
Чтобы подавить вывод такой информации, как версии Apache и PHP, добавьте:
Пользовательские каталоги
По умолчанию доступ к каталогам пользователей возможен по адресу http://localhost/
»user»/ , который показывает содержимое каталога
/public_html (его имя и расположение задается в файле /etc/httpd/conf/extra/httpd-userdir.conf ).
Если вы не хотите, чтобы пользовательские каталоги были доступны через web, закомментируйте следующую строку в /etc/httpd/conf/httpd.conf :
Убедитесь, что права доступа к вашему домашнему каталогу и
/public_html позволяют получать доступ к файлам в них всем пользователям:
Однако с точки зрения безопасности вышеприведенное решение слишком фривольно. Правильнее поступить по-другому. Сначала добавьте пользователя http в группу, которой принадлежит ваша домашняя папка. Например, если ваша домашняя папка и все ее подкаталоги принадлежат группе piter, можно проделать следующее:
После этого назначьте права на чтение и исполнение для каталогов
/public_html и, рекурсивно, на остальные подкаталоги для
/public_html для членов группы (в нашем примере для членов группы piter). Опираясь на нижеприведенный шаблон, осуществите эти мероприятия:
Перезапустите службу httpd.service , чтобы изменения вступили в силу. Смотрите также Umask#Set the mask value.
TLS/SSL
Для использования TLS/SSL необходимо установить openssl .
Создайте закрытый ключ и запрос на получение сертификата (CSR). Также вы можете самозаверить CSR (который создаст сертификат):
Теперь раскомментируйте следующие строки в /etc/httpd/conf/httpd.conf :
Перезапустите службу httpd.service , чтобы изменения вступили в силу.
Виртуальные хосты
Если вы хотите, чтобы Apache обслуживал не один, а несколько хостов, раскомментируйте следующую строку в файле /etc/httpd/conf/httpd.conf :
Укажите свои виртуальные хосты в /etc/httpd/conf/extra/httpd-vhosts.conf . Файл уже содержит пример полностью рабочих настроек, что поможет вам быстро выполнить настройки под ваши нужды.
Для проверки виртуальных хостов на локальной машине добавьте их виртуальные имена в ваш файл /etc/hosts :
Перезапустите httpd.service , чтобы изменения вступили в силу.
Управление большим количеством виртуальных хостов
Если Apache используется для обслуживания очень большого количества виртуальных хостов, вам может быть полезна возможность их легко включать и отключать. Для этого рекомендуется создавать собственный файл настроек на каждый хост и хранить все эти файлы в одном каталоге, например /etc/httpd/conf/vhosts .
Сначала создайте каталог:
Теперь создайте в нем отдельные конфигурационные файлы:
И включите эти файлы в основной файл настроек /etc/httpd/conf/httpd.conf :
Теперь можно быстро включать/отключать требуемые виртуальные хосты, просто закомментировав или раскомментировав соответствующие директивы Include в основном файле настроек.
Очень простой файл виртуального хоста будет выглядеть следующим образом:
Расширения
Для использования mod_mpm_prefork , откройте /etc/httpd/conf/httpd.conf и поменяйте строку
Также вы можете просто использовать mod_proxy_fcgi (смотрите #Использование php7 c php-fpm и mod_proxy_fcgi [ссылка недействительна: раздел не найден] ).
Чтобы включить модуль PHP, добавьте следующие строки в /etc/httpd/conf/httpd.conf :
- Поместите эту строку в любом месте после строки LoadModule dir_module modules/mod_dir.so :
- Разместите эту строку в конце списка Include :
Если ваш корневой каталог DocumentRoot не /srv/http , добавьте его в список open_basedir в /etc/php/php.ini (необязательно):
Перезапустите службу httpd.service , чтобы изменения вступили в силу.
Чтобы убедиться в том, что PHP настроен корректно, создайте файл test.php в каталоге DocumentRoot (то есть в /srv/http/ или
/public_html ) и поместите в него следующий код:
По адресу http://localhost/test.php или http://localhost/»
пользователь»/test.php вы должны увидеть информационную страницу PHP.
Если PHP-код не исполняется, а на странице браузера вы увидите содержимое test.php , проверьте добавили ли вы Includes в строку Options для вашего корневого каталога в /etc/httpd/conf/httpd.conf . Кроме того, убедитесь, что TypesConfig conf/mime.types раскомментирован в секции . Также можно попробовать добавить нижеследующую строку в секцию файла httpd.conf :
Дополнительную информацию вы можете получить на странице PHP.
Дополнительные параметры
Рекомендуется правильно настроить вашу временную зону (список временных зон) в /etc/php/php.ini по примеру:
По желанию включите режим показа ошибок при отладке PHP-кода, для этого измените значение опции display_errors на On в файле /etc/php/php.ini :
Ежели вы хотите использовать модуль libGD , установите php-gd и раскомментируйте extension=gd.so в /etc/php/php.ini :
Для использования модуля mcrypt установите php-mcrypt AUR и раскомментируйте extension=mcrypt.so в /etc/php/php.ini :
Не забудьте добавить индексные файлы /etc/httpd/conf/extra/php7_module.conf , если это необходимо:
Для дополнительной настройки, пожалуйста прочтите PHP.
Использование php5 c php-fpm и mod_proxy_fcgi
- Установитеphp-fpm
- Задайте listen в /etc/php/php-fpm.conf следующим образом:
- Добавьте следующие строки в /etc/httpd/conf/httpd.conf :
- Если у вас добавлен модуль php, уберите его, так как он больше не нужен:
- Перезапустите демон apache php-fpm:
Использование php5 c apache2-mpm-worker и mod_fcgid
- Раскомментируйте следующую строку в /etc/conf.d/apache :
- Раскомментируйте следующую строку в /etc/httpd/conf/httpd.conf :
- Установите пакеты mod_fcgid и php-cgi , доступные в официальных репозиториях.
- Создайте файл /etc/httpd/conf/extra/php5_fcgid.conf со следующим содержимым:
- Создайте каталог и символическую ссылку в нем на php-cgi:
- Отредактируйте /etc/httpd/conf/httpd.conf :
и перезапустите службу httpd.service .
MySQL/MariaDB
Следуйте инструкциям на странице PHP#MySQL/MariaDB.
После выполнения настройки, перезапустите службу mysqld , чтобы изменения вступили в силу.
Решение проблем
Просмотр журнала и текущего состояния Apache
Текущее состояние службы httpd вы можете вывести командой systemctl status httpd .
Лог-файлы Apache вы найдете в каталоге /var/log/httpd .
PID file /run/httpd/httpd.pid not readable (yet?) after start
Если вы получаете такую ошибку, закомментируйте строку:
в файле настроек Apache.
Обновление с Apache 2.2 до 2.4
Если вы используете php-apache , посмотрите инструкции к Apache с PHP выше.
Управление доступом было изменено. Приведите все директивы Order , Allow , Deny и Satisfy к новому синтаксису с Require . mod_access_compat позволит использовать устаревший формат на время этапа перехода.
Подробную информацию вы найдете на странице Upgrading to 2.4 from 2.2.
Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe
Если не удалось запустить php5_module при старте httpd.service и вы получаете следующее сообщение об ошибке:
Это значит, что Apache работает c поточным MPM, но используется не потокобезопасная версия PHP. В этом случае, следует заменить mpm_event_module на mpm_prefork_module :
Источник