- Настройка веб-сервера Apache под Linux
- План работ:
- 1. Установка Apache под Linux
- 2. Выпуск самоподписанного сертификата
- 3. Публикация информационной базы
- 4. Проверка публикации
- 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 под Linux.
- Выпуск самоподписанного сертификата (Необязательно).
- Публикация информационной базы.
- Проверка публикации.
В отличие от IIS, веб-сервер Apaсhe доступен как для Windows, так и для Linux и позволяет настроить работу публикаций по шифрованному протоколу HTTP.
1. Установка Apache под Linux
Установка веб-сервера и публикация информационной базы для операционной Linux будет продемонстрирована на базе Ubuntu 18.04 LTS. Все, что касается настроить информационной базы не зависит от конкретной версии дистрибутива Linux. Установка же веб-сервера может отличаться.
В данной статье не рассматривается установка и запуск Apache под всевозможные семейства операционных систем Linux. При использовании операционной системы отличной от указанной в статье следуют руководствоваться официальной документацией конкретного вашего дистрибутива.
Итак, предполагается, что есть только что установленная операционная система Ubuntu 18.04 LTS без графического интерфейса пользователя.
Перед тем как продолжить, нужно проверить доступные версии программного обеспечения дистрибутива. Выполняем команду:
В выводе результата команды можно увидеть, что доступны обновления. Рекомендуются их обновить с помощью команды (подсказка «Run ‘apt list –upgradable’»):
По завершению обновления пакетов приложений можно приступить к установке непосредственно веб-сервера.
После этого нужно выполнить команду:
Необходимо дождаться окончание выполнения команды и убедиться, что в момент установки никаких ошибок не возникло. В данном случае установка прошла без проблем.
Далее нужно проверить, что помимо самой установки, веб-сервер запустился и готов обрабатывать запросы (для данной команды использование sudo не обязательно):
В ответ можно увидеть, что состояние службы active (running). Это значит, что веб-сервер работает в штатном режим и можно переходить к публикации информационной базы с помощью командного интерпретатора bash, либо к генерации самоподписанного сертификата (если в этом есть необходимость).
2. Выпуск самоподписанного сертификата
После установки Apache в операционной системе уже должен быть установлен openssl как зависимость к дистрибутиву. Поэтому можно сразу приступить к генерации сертификата.
Первоначально нужно перейти в директорию хранилища сертификатов с помощью команды:
После чего требуется ввести команду генерации сертификата, где вместо нужно подставить имя компьютера, на котором планируется размещен Apache:
Во время выполнения команды будет задано несколько вопросов. Для «Common Name (e.g. server FQDN or Your bane)» нужно также указать имя сервера. Остальные поля заполняются произвольно (кроме «Country name» — здесь можно оставить по умолчанию).
3. Публикация информационной базы
Так в данной статье идет настройка публикации информационных баз без использования графического интерфейса, то публикация информационной базы будет также производиться из командного интерпретатора.
Если до этого сервер «1С:Предприятие» был уже установлен на данном компьютере, то следующие 2 шага можно пропустить. Иначе в качестве подготовительной работы нужно скачать последний доступный дистрибутив платформы и распаковать его временную директорию с помощью команды:
После разархивирования нужно инициировать процедуру установки пакетов.
Как только все готово, необходимо перейти к публикации информационной базы. Для этого требуется перейти в директорию установленной платформы и выполнить команду:
В директории платформы следом нужно выполнить команду:
где нужно заменить:
ИМЯ ПУБЛИКАЦИИ – на произвольное имя публикации
ИМЯ СЕРВЕРА – на адрес сервера 1С:Предприятие
ИМЯ БАЗЫ – на имя базы, совпадающим с именем базы зарегистрированной в кластере
После этого следует перейти в директорию публикаций:
С помощью любого удобного редактора нужно отредактировать файл 000-default.conf и добавить в самый конец файла следующий текст настройки:
После добавления нужно сохранить и закрыть файл и выполнить команду для включения модуля ssl для Apache:
И после этого нужно перезапустить Apache и убедиться, что ошибок не возникает.
4. Проверка публикации
Для проверки корректной работы нужно открыть страницу в браузере и перейти по ссылке, которая состоит из двух частей:
- Имя вашего сервера (например, server2).
- Имя публикации базы (которое было указано в окне настройки публикации).
Для таких параметров ссылка будет иметь вид:
Источник
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 :
Источник