Настройка web сервера apache в CentOS 8

Zerox Обновлено: 24.05.2020 CentOS, Linux 53 комментария 29,961 Просмотры

Файл «»

Основной файл конфигурации этого сервера — «». Лежит он в каталоге «conf» в root-директории Apache. Вот над ним вам и придеться издеваться. Скажу сразу, если вы не понимаете английского, удалите из этого файла все комментарии и пояснения, оставьте только сами директивы (и закоментированные тоже); таким образом вы сможете быстрее находить нужную директиву, не роясь среди множества непонятных вам пояснений. Синтаксис файла очень простой: «директива значение», все строки не соответствующие этому виду можно удалить.

Внимане! Некоторые директивы могут выглядеть так:

#директива значение <блок директив /> директива значение </блок директив> <блок директив /> # Комментарий директива значение # Комментарий </блок директив>

и т. п. Эти строки удалять не нужно!

Символ комментария в «» — «#» (решетка). Т. е. все символы, идущие в строке после «#» не воспринимаются сервером. Так вы можете добавлять собственные комментарии. Убирая этот символ перед закомментированными строками вы делаете их доступными для чтения сервером.

Настройка Apache сервера

После установки Apache сервера будет полезно провести некоторые настройки которые облегчат работу с ним в дальнейшем.

Создание виртуальных хостов

Во-первых на жестком диске нужно создать папку, в которой будут храниться все проекты. У меня это папка server в корне диска «С».

Шаг 1. Разрешение доступа Apache к папе www на жестком диске.

В настройках Apache нужно указать путь к этой папке и разрешить доступ. Для этого нужно открыть в любом текстовом редакторе основной файл конфигурации Apache. Это файл C:Program FilesApache Software

В файле ищем блок инструкций:

Ниже этого блока вставляем следующие инструкции:

AllowOverride All # Options None Options Indexes FollowSymLinks Order allow,deny Allow from all

Тем самым мы разрешили доступ Apache к папке server в корне жесткого диска.

Читайте также:  Ограничения пользователей в Linux с помощью rbash

Шаг 2. Создаем место для хранения файлов сайта.

В папке server необходимо создать папку с именем нашего сайта (например mysite). В папке mysite создаем еще две папки: www — для хранения файлов сайта и logs — сюда Apache будет автоматически записывать ошибки, связанные с работой сервера и информацию о подключениях к сайту.

Так как обычно работа ведется с несколькими сайтами (т.е. в папке server корня жесткого диска, может находится несколько проектов: mysite, mysite1, mysite2 и т.д.), доступными по разным локальным URL, то нужно настроить работу Apache с виртуальными хостами.

Для этого в файле конфигурации C:Program FilesApache Software необходимо подключить файл дополнительной конфигурации виртуальных хостов.

Ищем в файле строку #Include conf/extra/ . Процесс подключения файла дополнительной конфигурации виртуальных хостов заключается в удалении символа решетка (#) перед этой строкой.

Дело в том, что в настройках Apache символом решетка (#) обозначается закомментированная строка, которая не участвует в конфигурации сервера.

Теперь файл дополнительной конфигурации подключен. Вот этот файл: C:Program FilesApache Software Опять таки, открываем данный файл любым текстовым редакторе и описываем доступ к разрабатываемому сайту.

В конце файла необходимо добавить следующий блок:

ServerName DocumentRoot «C:/server/mysite/www» ErrorLog «C:/server/mysite/logs/» CustomLog «C:/server/mysite/logs/» common

Пункт ServerName задает URL, по которому будет осуществляться доступ из браузера локального компьютера к разрабатываемому сайту, файлы которого находятся в папке C:/www/mysite/www. Файл C:/www/mysite/logs/ будет содержать информацию об ошибках в работе сайта, а файл C:/www/mysite/logs/ — информацию о подключениях.

Шаг 3. Перенаправление запросов на локальный сервер.

Последний шаг — это перенаправление запросов на локальный сервер. Нам нужно сообщить Windows о том, что при запросе в браузере URL его должен обработать наш локальный Apache. Для этого открываем файл C:WINDOWSsystem32driversetchost в любом текстовом редакторе и в конце дописываем одну строчку: 127.0.0.1

Вот и все, теперь перезапускаем Apache, кликнув левой клавишей по иконке рядом с часами и выбрав пункт Restart.

Источник

Введение

В этой статье я расскажу, как настроить web сервер на базе популярного стека технологий — apache и php с модулем prefork. В связи с выходом нового релиза Centos 8, многие статьи на эту тему стали не актуальны, так как версии софта в базовых репозиториях обновились и тот же php нет смысла ставить из стороннего репозитория.

Читайте также:  Как установить андроид-приложения на windows phone

Работать будем на сервере под управлением CentOS 8. Если у вас его еще нет, то читайте мои статьи на тему установки и базовой настройки centos. Не забудьте уделить внимание теме настройки iptables. В данной статье я ее не буду касаться, хотя тема важная для web сервера.

В своей тестовой среде я буду использовать следующие сущности.

имя тестового виртуального хоста и сайта
/web/sites директория для размещения виртуальных хостов
локальный ip адрес сервера
имя виртуального хоста для phpmyadmin

Если вам не хочется настраивать SELinux, то просто отключите его. Если же вы планируете включить и использовать после настройки, то переведите его в режим Permissive. В этом режиме он будет отключен, но все ограничения будут отражаться в лог файле . Это позволит нам в конце статьи сформировать модуль selinux для httpd и php и включить их.

# setenforce 0

Добавление новой задачи

Если вы создали новый конфиг, и хотите тут же его запустить. Или, если вы хотите применить новые изменения к старым конфигам, и перезапустить все задачи, то вы должны выполнить:

service supervisor stop service supervisor start

Но, если вы не хотите перезапускать все задачи. Если вы просто хотите обновить все конфиги, то используйте эту команду, которая просканирует все команды, и обновит о них данные:

supervisorctl reread

Команда выше только обновит конфиги о задачах, но не запустит их. Для того, чтобы запустить задачи с новыми конфигурационными данными, необходимо дополнительно выполнить:

supervisorctl update

И она перезагрузит все задачи, где конфиги были изменены.

Шаг — Знакомство с важными файлами и директориями Apache

Теперь вы научились управлять службой Apache, и настало время познакомиться с несколькими важными каталогами и файлами.

Контент

  • /var/www/html: веб-контент, в состав которого по умолчанию входит только показанная ранее страница Apache по умолчанию, выводится из каталога /var/www/html. Это можно изменить путем изменения файлов конфигурации Apache.
Читайте также:  Как установить Этчер ( Etcher),USB инструмент для записи, на Ubuntu.

Конфигурация сервера

  • /etc/apache2: каталог конфигурации Apache. Здесь хранятся все файлы конфигурации Apache.
  • /etc/apache2/apache2conf: главный файл конфигурации Apache. Его можно изменить для внесения изменений в глобальную конфигурацию Apache. Этот файл отвечает за загрузку многих других файлов в каталоге конфигурации.
  • /etc/apache2/: этот файл задает порты, которые будет прослушивать Apache. По умолчанию Apache прослушивает порта 80, а если активирован модуль с функциями SSL, он также прослушивает порт 443.
  • /etc/apache2/sites-available/: каталог, где можно хранить виртуальные хосты для каждого сайта. Apache не будет использовать файлы конфигурации из этого каталога, если они не будут связаны с каталогом sites-enabled. Обычно все изменения конфигурации серверных блоков выполняются в этом каталоге, а затем активируются посредством ссылки на другой каталог с помощью команды a2ensite.
  • /etc/apache2/sites-enabled/: каталог, где хранятся активные виртуальные хосты для каждого сайта. Обычно они создаются посредством создания ссылок на файлы конфигурации из каталога sites-available с помощью команды a2ensite. Apache считывает файлы конфигурации и ссылки из этого каталога при запуске или перезагрузке, когда компилируется полная конфигурация.
  • /etc/apache2/conf-available/, /etc/apache2/conf-enabled/: эти каталоги имеют те же отношения, что и каталоги sites-available и sites-enabled, но используются для хранения фрагментов конфигурации, которые не принадлежат виртуальному хосту. Файлы из каталога conf-available можно активировать с помощью команды a2enconf и отключить с помощью команды a2disconf.
  • /etc/apache2/mods-available/, /etc/apache2/mods-enabled/: эти каталоги содержат доступны и активированные модули соответственно. Файлы с расширением .load содержат фрагменты для загрузки определенных модулей, а файлы с расширением .conf содержат конфигурации этих модулей. Модули можно активировать и отключать с помощью команд a2enmod и a2dismod.

Журналы сервера

  • /var/log/apache2/: по умолчанию каждый запрос веб-сервера регистрируется в этом файле журналда, если Apache не настроен по другому.
  • /var/log/apache2/: по умолчанию все ошибки регистрируются в этом файле. Директива LogLevel в конфигурации Apache указывает, насколько детальные записи регистрируются в журналах ошибок.