Домой / Скайп / Apache файл конфигурации. Сам себе хостмастер или установка Apache на платформе Windows. Создание структуры веб-сервера

Apache файл конфигурации. Сам себе хостмастер или установка Apache на платформе Windows. Создание структуры веб-сервера

Последнее обновление: 20.10.2017

Загрузим пакет веб-сервера Apache с сайта http://www.apachelounge.com/ . Выберем последнюю версию сервера. На странице загрузок мы можем найти две версии пакета Apache - для 64-битных систем и для 32-битных.

Перед установкой Apache следует отметить, что если наша ОС Windows, то в системе должны быть установлен пакет для C++, который можно найти по адресу для 64-битной и для 32-битной .

После загрузки пакета с Apache распакуем загруженный архив. В нем найдем папку непосредственно с файлами веб-сервера - каталог Apache24 . Переместим данный каталог на диск C, чтобы полный путь к каталогу составлял C:/Apache24 .

Теперь нам надо установить Apache в качестве службы Windows. Для этого запустим командную строку Windows от имени администратора и перейдем в каталог веб-сервера с помощью команды

httpd.exe -k install

Если установка завершится удачно, то в командная строка отобразит сообщение "The Apache2.4 service is successfully installed". Также будет проведено тестирование сервера:

В моем случае, как отображено выше на картинке, Apache не смог подключиться к порту 80, который стоит по умолчанию в конфигурации, так как у меня порт 80 прослушивается другим веб-сервером - IIS. Это одна из распространенных проблем при запуске Apache. Чтобы ее решить, нам надо либо отключить службу IIS, либо указать для Apache новый порт. Я выберу второй путь.

После установки проведем конфигурацию сервера, чтобы связать его с ранее установленным интерпретатором PHP. Для этого в папке C:\Apache24\conf найдем файл httpd.conf и откроем его в текстовом редакторе.

Файл httpd.conf настраивает поведение веб-сервера. Мы не будем подобно затрагивать его описания, а только лишь произведем небольшие изменения, которые потребуются нам для работы с PHP.

Во-первых, найдем строку

Listen 80

Это строка указывает на прослушиваемый порт. По умолчанию 80-й порт. Если конфликтов с портами не возникает можно оставить так, как есть. Я же изменю на 8080 порт.

#ServerName www.example.com:80

и изменим на

ServerName localhost:8080

Теперь подключим PHP. Для этого найдем в файле httpd.conf конец блока загрузки модулей LoadModule

//...................... #LoadModule watchdog_module modules/mod_watchdog.so #LoadModule xml2enc_module modules/mod_xml2enc.so

И в конце этого блока добавим строчки

LoadModule php7_module "C:/php/php7apache2_4.dll" PHPIniDir "C:/php"

DocumentRoot "c:/Apache24/htdocs"

По умолчанию в качестве хранилища документов используется каталог "c:/Apache24/htdocs". Заменим эту строку на следующую:

DocumentRoot "c:/localhost"

Изменим пути файлам, в которые будут заноситься сведения об ошибках или посещении сайта. Для этого найдем строку

ErrorLog "logs/error.log"

И заменим ее на

ErrorLog "c:/localhost/error.log"

CustomLog "logs/access.log" common

И заменим ее на

CustomLog "c:/localhost/access.log" common

И также найдем блок и добавим в него две строчки:

AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps

И в конце найдем блок :

DirectoryIndex index.html

И заменим его на следующий:

DirectoryIndex index.html index.htm index.shtml index.php

Это минимально необходимая конфигурация, которая нужна для работы с PHP. Чтобы управлять сервером (запускать, останавливать, перезапускать), мы можем использовать утилиту, которая идет в комплекте - . Данную утилиту можно найти в каталоге C:\Apache24\bin

Запустим утилиту. В трее появится значок ApacheMonitor. Нажмем на него и в появившемся контекстном меню выберем пункт Start.

Если у нас все настроено правильно, то должен запустить веб-сервер.

Теперь наша задача - убедиться, что php подключен и работает правильно. Для этого перейдем в папку c:/localhost , которую мы создали для хранения документов, и добавим в нее обычный текстовый файл. Переименуем его в index.php и внесем в него следующее содержание:

В данном случае мы создали простейший скрипт, который выводит общую информацию о PHP. Теперь обратимся к этому скрипту, набрав в строке браузера адрес http://localhost:8080/index.php

Что тут произошло? При обращении к сайту на локальной машине в качестве адреса указывается http://localhost . Так как мы указали в качестве порта 8080, то также в адресе указывается через двоеточие порт. Если бы мы использовали 80-й порт, который используется по умолчанию, то его не надо было указывать.

Затем указывается имя ресурса, к которому идет обращение. В данном случае в качестве ресурса используется файл index.php . И так как в файле httpd.conf в качестве хранилища документов веб-сервера указан каталог C:\localhost , то именно в этом каталоге и будет веб-сервер будет производить поиск нужных файлов.

И поскольку выше при конфигурировании мы указали, что в качестве главной страницы может использоваться файл index.php , то мы можем также обратиться к этому ресурсу просто http://localhost:8080/

На этом установка и настройка веб-сервера Apache завершена, и мы можем создавать свои сайты.

Apache – самый популярный веб-сервер в сети Интернет, который обслуживает больше половины активных сайтов.

В этой статье мы рассмотрим общие конфигурационные файлы и основные параметры Apache в системе Ubuntu/Debian

Примечание : Файлы Apache отличаются в зависимости от дистрибутива, потому эта статья не подходит пользователям RHEL.

Установка Apache в Ubuntu/Debian

Если веб-сервер Apache ещё не установлен, используйте команды:

sudo apt-get update
sudo apt-get install apache2

Чтобы убедиться, что установка прошла успешно, откройте в браузере IP-адрес своего сервера. На экране должна появиться приветственная страница Apache:

It works!
This is the default web page for this server.
The web server software is running but no content has been added, yet.

Иерархия файлов Apache

В Ubuntu и Debian Apache хранит конфигурационные файлы в папке /etc/apache2.

cd /etc/apache2
ls -F
apache2.conf envvars magic mods-enabled/ sites-available/
conf.d/ httpd.conf mods-available/ ports.conf sites-enabled/

Эта папка содержит ряд простых текстовых файлов и подкаталогов. Наиболее важные из них:

  • apache2.conf: главный конфигурационный файл сервера. В нём можно выполнить почти все конфигурации.
  • ports.conf: этот файл задаёт порты, которые прослушиваются виртуальными хостами. Проверьте этот файл при настройке SSL.
  • conf.d/: этот каталог управляет отдельными аспектами конфигурации Apache. К примеру, с его помощью часто определяется конфигурация SSL и стандартная политика безопасности.
  • sites-available/: этот каталог хранит все доступные виртуальные хосты, которые определяют, какой контент будет обслуживаться на сайте. Эти хосты не активны.
  • sites-enabled/: этот каталог определяет активные виртуальные хосты. Как правило, он содержит символические ссылки на файлы, определенные в каталоге sites-available.
  • mods-/: эти каталоги работают по тому же принципу, что и sites-available и sites-enabled. Они хранят модули.

Как видите, конфигурации Apache не ограничены главным конфигурационным файлом, они распределены между несколькими файлами и каталогами. Такую структуру конфигураций можно расширить при помощи новых файлов.

Конфигурационный файл Apache

Основные настройки Apache хранятся в /etc/apache2/apache2.conf.

Этот файл содержит три главных раздела: глобальные настройки Apache, настройки сервера по умолчанию и конфигурации виртуальных хостов.

В Ubuntu и Debian большая часть файла отведена под глобальные настройки, а конфигурация сервера по умолчанию и настройки виртуальных хостов обрабатываются в конце файла с помощью директивы Include.

В конце файла вы найдёте множество настроек Include. Они определяют модули, добавляют документ ports.conf, определённые файлы из каталога conf.d/ и настройки виртуальных хостов из каталога sites-enabled/.

Сосредоточимся на глобальных настройках веб-сервера Apache.

Глобальные настройки Apache

Данный раздел рассматривает важные параметры глобальных настроек Apache.

Timeout

По умолчанию этот параметр имеет значение 300. Это значит, что на выполнение каждого запроса у сервера есть максимум 300 секунд. В большинстве случаев это значение очень большое, и его рекомендуют уменьшить до 30-60 секунд.

KeepAlive

Если этот параметр имеет значение On, сервер позволит клиенту запрашивать несколько объектов в рамках одного соединения. Если параметр имеет значение Off, то каждый новый запрос будет создавать индивидуальное соединение. Такое поведение может привести к перенагрузке сайта с большим трафиком.

MaxKeepAliveRequests

Этот параметр позволяет определить максимальное количество запросов для одного соединения. Это позволяет увеличить производительность Apache.

Значение 0 позволит веб-серверу обрабатывать неограниченное количество запросов в рамках одного соединения.

KeepAliveTimeout

Данный параметр устанавливает промежуток времени между запросами. Если в течение указанного времени клиент не создал следующий запрос. Веб-сервер прервёт соединение. Если в дальнейшем этот клиент отправит запрос, сервер создаст новое соединение.

Настройки MPM

Чтобы узнать, с помощью каких модулей был скомпилирован Apache, откройте терминал и наберите:

apache2 -l
Compiled in modules:
core.c
mod_log_config.c
mod_logio.c
prefork.c
http_core.c
mod_so.c

Как видите, в данном случае веб-сервер скомпилирован с модулем prefork.c и файлом apache2.conf.

Конфигурации виртуальных хостов

Стандартный виртуальный хост находится в файле default в каталоге sites-available.

Чтобы ознакомиться с общим форматом виртуального хоста, откройте этот файл:

sudo nano /etc/apache2/sites-available/default

ServerAdmin webmaster@localhost
DocumentRoot /var/www

Options FollowSymLinks
AllowOverride None


Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all

. . .

По умолчанию виртуальный хост обрабатывает запросы на порте 80.

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

Настройки виртуального хоста высшего уровня

Эти параметры устанавливаются в разделе Virtual Host и применяются ко всему виртуальному хосту.

Параметр ServerAdmin указывает контактный адрес электронной почты, который будет использоваться в случае возникновения проблем на сервере. Этот адрес можно вставить на страницу ошибки. Для этого параметр ServerSignature (в файле /etc/apache2/conf.d/security) должен иметь значение Email.

Директива ServerName задаёт доменное имя или IP-адрес сервера. Это индивидуальный параметр каждого виртуального хоста, который может переопределить настройки по умолчанию, если он совпадает со значением ServerName.

Параметр ServerAlias позволяет добавить алиасы сайта – альтернативные имена и пути, ведущие к одному контенту. Так, например, часто устанавливается алиас домена с www.

DocumentRoot задаёт каталог, в котором веб-сервер хранит контент данного виртуального хоста. В Ubuntu для этого по умолчанию используется /var/www.

Настройки каталогов

В конфигурации виртуального хоста есть специальный раздел для настройки обработки отдельных каталогов файловой системы. Эти настройки также можно переопределять.

Сначала виртуальный хост предлагает набор правил для каталога / (root-каталог). Этот раздел обеспечит базовую конфигурацию виртуального хоста, поскольку он относится ко всем файлам, которые обслуживаются в файловой системе.

По умолчанию Ubuntu не накладывает никаких ограничений на файловую систему. Apache рекомендует добавить несколько стандартных ограничений доступа, например:


Options FollowSymLinks
AllowOverride None
Order Deny,Allow
Deny from All

Это заблокирует доступ ко всему контенту, если в последующих определениях каталогов не указано иное.

Параметр AllowOverride позволяет настроить переопределение конфигураций с помощью файлов.htaccess. Чтобы переопределить настройки, файл.htaccess должен находиться в каталоге с контентом. По умолчанию эта функция отключена.

Настройки Alias и ScriptAlias

Иногда перед разделом Directory идут параметры Alias и ScriptAlias.

Директива Alias позволяет добавлять к обслуживаемому контенту каталоги вне DocumentRoot.

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

К примеру, такая строка в виртуальном хосте для сайта example.com откроет доступ к контенту в каталоге /path/to/content/ при запросе example.com/content/.

Alias /content/ /path/to/content/

Помните, что открывая доступ к дополнительным каталогам, нужно устанавливать ограниченные привилегии на них.

Включение сайтов и модулей в Apache

Создав файл виртуального хоста, вы можете включить его. Для этого нужно создать символическую ссылку на файл в каталоге sites-enabled:

sudo a2ensite файл_виртуального_хоста

Включив сайт, перезапустите Apache, чтобы веб-сервер перечитал конфигурации:

sudo service apache2 reload

Чтобы отключить виртуальный хост, нужно удалить символьную ссылку из sites-enabled:

sudo a2dissite файл_виртуального_хоста

После этого нужно снова перезапустить веб-сервер:

sudo service apache2 reload

Включить и отключить модуль Apache можно с помощью следующих команд (соответственно):

a2enmod
a2dismod

Они работают так же, как и ранее упомянутые команды a2ensite иa2dissite. После включения или отключения модуля нужно перезапускать веб-сервер.

Заключение

Данная статья охватывает только базовые настройки файлы веб-сервера Apache. Набор функций Apache можно значительно расширить с помощью модулей.

Если вам нужна дополнительная информация о веб-сервере, обратитесь к

Установка и настройка локального web-сервера Apache, PHP, MySQL под операционную систему Windows

учебное пособие

2.3. Настройка файла конфигурации Apache

Apache по праву считается одним из лучших веб-серверов, однако заставить его правильно работать не каждому под силу. В лучших традициях *nix-программ все настройки осуществляются редактированием текстового файла httpd.conf. Значительно облегчить конфигурирование может графическая оболочка ApacheConf 3.3: http://apache-gui.com, http://www.zecos.com, [email protected]. ApacheConf 3.3 позволяет редактировать файл httpd.conf, используя графический интерфейс (GUI):

Все параметры сервера в утилите удобно разбиты на разделы (глобальные параметры, виртуальные хосты и т.п.), имеет мастера по установки SSI, PHP и множество дополнительных функций. Начинающие администраторы смогут улучшить свои знания Apache - многие директивы снабжены комментариями, имеются подсказки на русском языке. Опытным пользователям программа поможет сэкономить время при настройке. Поддерживаются версии сервера Apache 2 и 1.3. Редактировать можно как локальный файл httpd.conf, так и расположенный на FTP-сервере.

Конфигурирование Apache -- непростое занятие. К счастью, все директивы сервера подробно описаны в сопроводительной документации, включенной в дистрибутив. Существует и online-версия руководства. Она доступна по адресу http://httpd.apache.org/docs/ . Главное достоинство документации на сайте в том, что по ней можно проводить поиск, что недоступно при использовании руководства из дистрибутива.

Следует в точности выполнять перечисленные ниже шаги, не пропуская и не откладывая ни одного.

Создайте в папке home папку localhost:

В папке localhost будет храниться содержимое главного хоста Apache-того, который будет доступен по адресу http://localhost.

В папке localhost следует создать папки cgi-bin и www:

В папке cgi-bin будут храниться CGI-сценарии, а в папке www - программы на PHP и разные документы. Обратите внимание CGI-сценарии - это не совсем то же самое, что PHP - скрипты. Поэтому они должны располагаться раздельно.

Для настройки Apache необходимо открыть файл D:usrApacheconfhttpd.conf при помощи Блокнота или Notepad++. Это единственный файл, который нужно настроить. Прежде чем начать редактирование данного файла рекомендуется сделать его резервную копию (например, с названием: httpd.conf рез коп исх).

Приступим к настройке.

1. Первую опцию, которую мы установим, будет путь к Apache. Измените ее следующим образом: ServerRoot "/usr/Apache"

3. Директиву BindAddress использовать не рекомендуется, поэтому оставьте ее закомментированной:

4. Раскомметируйте строку подключения модуля: LoadModule rewrite_module modules/mod_rewrite.so

5. В конец списка загружаемых модулей добавьте строку: LoadModule php4_module "/usr/php/sapi/php4apache.dll"

Эта строка подключает модуль PHP для правильной работы с Apache. Если его не подключить, то могут возникать проблемы при работе со скриптами.

6. После подключения модуля PHP добавьте две строчки:

#For the module mod_rewrite

# Reconstruction of the complete module list from all available modules

# (static and shared ones) to achieve correct module execution order.

AddModule mod_setenvif.c

поместите перед словами:

# Dynamic Shared Object (DSO) Support

Перейдем ко второму разделу файла httpd.conf - конфигурация сервера по умолчанию.

8. В опции ServerAdmin следует указать адрес, на который следует направлять сообщения в случаи неправильной работы сервера:

ServerAdmin [email protected]

9. Опция ServerName задает имя сервера:

ServerName localhost

10. Опция DocumentRoot указывает каталог, в котором расположены web-страницы: DocumentRoot "/home"

11. Опция и используется для применения опций к конкретному каталогу. Замените следующий блок:

# doesnt give it to you.

Options Indexes FollowSymLinks MultiViews

# "AuthConfig", and "Limit"

AllowOverride None

Order allow,deny

# This may also be "None", "All", or any combination of "Indexes",

# "Includes", "FollowSymLinks", "ExecCGI", or "MultiViews".

# Note that "MultiViews" must be named *explicitly* --- "Options All"

# doesnt give it to you.

Options Indexes FollowSymLinks Includes MultiViews

# This controls which options the .htaccess files in directories can

# override. Can also be "All", or any combination of "Options", "FileInfo",

# "AuthConfig", and "Limit"

AllowOverride All

# Controls who can get stuff from this server.

Order allow,deny

В этом блоке была настроена папку home. Давайте разберем значения опций.

Директива Options определяет, какие особенности сервера являются доступными в данном каталоге:

Indexes - если запрошенный URL соответствует папке, и в этой папке нет ничего соответствующего DirectoryIndex (например, index.html), то сервер выведет содержание данной папки;

FollowSymLinks - разрешить переходы по символическим ссылкам (создаваемым командой ln);

Includes - разрешить SSI (Server Side Includes);

MultiViews - разрешить поддержку многих языков.

Директива AllowOverride позволяет отменять, при помощи файлов.htaccess, ранее установленные директивы. Если данная директива установлена в None, то файл.htaccess игнорируется, если же в All, то все директивы.htaccess файла будут допускаться.

Директивы Order allow,deny и Allow from all определяют, кто может получать, что бы то ни было с данного сервера.

12. Закомментируйте следующий модуль:

#

# UserDir "D:/usr/Apache/users/"

DirectoryIndex index.html index.htm index.php index.shtml index.shtm

14. В блоке:

Order allow,deny

16. Если вы желаете, чтобы в сообщениях об ошибке высвечивался e-mail администратора, то замените в следующей опции On на Email:

ServerSignature EMail

17. Находим такую строку:

ScriptAlias /cgi-bin/ "D:/usr/Apache/cgi-bin/"

и заменяем ее другой строкой: ScriptAlias /cgi-bin/ "/home/cgi-bin/"

Этот каталог cgi-bin, в котором должны располагаться ваши CGI - скрипты. Он был создан в директории home.

18. Установите следующие опции для папки cgi-bin:

AllowOverride All

19. Ищем строку AddType application/x-tar .tgz, она расположена после настроек приоритета языков. Перед этой строкой необходимо добавить блок подключения php:

#AddType application/x-httpd-php phtml php3 php

#ScriptAlias /__php_dir__/ "/usr/php/"

#Action application/x-httpd-php "/__php_dir__/php.exe"

Первая строка указывает расширения файлов, которые должны обрабатываться PHP интерпретатором.

Во второй строке связывается настоящий путь к PHP и псевдоним, а в третьей указывается файл интерпретатора.

Эти строки пока следует закомментировать, иначе могут возникнуть ошибки. После настройки PHP, комментарии нужно будет снять.

20. Далее настраивают SSI -- очень мощный и в то же время очень простой инструмент, способный помочь при создании и поддержке сайта. С помощью SSI-директив, их еще называют SSI-вставками, можно включать в страницу другие файлы, результаты работы программ, значения системных переменных и пр. Преимущества этой технологии особенно проявляются, когда нужно поддерживать достаточно большой по объему сайт, который имеет определенную структуру и повторяющиеся по всему сайту элементы. Для подключения SSI находят строки, снимают с них комментарии и изменяют, как показано ниже: AddHandler cgi-script .cgi

Затем надо раскомметировать и изменить:

AddType text/html .shtml .shtm

AddHandler server-parsed .shtml .shtm

Этими директивами настраиваем SSI. Apache будет обрабатывать файлы с указанными расширениями процессором SSI. Это наиболее стандартный ход. Впрочем, вместо.shtml можно написать.html или.phtml - главное, чтобы расширение было идентично расширению, которые использует для обозначения использующих SSI файлов провайдер.

И, естественно, нужно включить сам "механизм" вложения, а для этого добавить к команде Options слово Includes. Тогда строка с командой Options может принять вид: Options Indexes FollowSymLinks Includes

Эта функция разрешает Apache передачу файлов, не сопровождающихся http заголовками.

21. Для использования карт изображения и карт типов раскомметируйте следующие строки:

AddHandler imap-file map

AddHandler type-map var

22. В самый конец файла добавьте строку:

Include conf/vhosts.conf

Сохраните все изменения файла httpd.conf. Создайте резервную копию рабочего файла httpd.conf (например, с названием: httpd.conf рабочий). Это может оказаться полезным при восстановлении системы.

23. Создайте в папке D:usrApacheconf файл vhosts.conf:

Допустим, что Вам придется работать с несколькими серверами. Разработчики Apache предусмотрели и этот вариант. При настройке Apache, изначально сделано так, чтобы с появлением нового сервера на Вашем компьютере его было легко подключить и настроить. Для этого при настройке Apache создают файл vhosts.conf и в конец файла httpd.conf добавляют строчку «Include conf/vhosts.conf», которая подключает этот файл.

Добавление нового сервера подробно описано в разделе 2.4.

24. Теперь перезапустите Apache: Пуск > Все программы > Apache HTTP Server > Control Apache Server > Restart.

Если все сделано верно, то откроется консольное окно:

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

Если же имеются ошибки, то в течение 30 секунд оно будет запущено и в нем будет написана ошибка, по которой Apache не может быть запущен, например:

Сообщается, что на линии 327 файла httpd.conf имеется ошибка. Ошибка часто возникает, если забыли скопировать файл php4ts.dll в каталог C:WindowsSystem32.

Ошибка может возникнуть также, если забыли создать файл vhosts.conf и хотя бы один виртуальный хост.

Автоматизированная настройка TCP/IP, BOOTP. Динамическая настройка (DHCP)

Протокол ВООТР проектировался для того, чтобы протоколы IP (Internet Protocol) и UDP (User Datagram Protocol) могли использоваться для передачи информации компьютерам, желающими настроить свою конфигурацию. Компьютер, сгенерировавший запрос...

Гнучка система інформаційної підтримки підвищення кваліфікації персоналу ДП № 9

Apache HTTP-сервер - відкритий веб-сервер Інтернет для UNIX-подібних, Microsoft Windows, Novell NetWare та інших операційних систем. На сьогодні є найуживанішим Веб сервером мережі Інтернет...

Редкий случай, когда веб-сервер используется с дефолтными настройками. Обычно, перед запуском его требуется настроить под конкретные задачи. Для этого нужно отредактировать конфигурационный файл httpd.conf...

Инсталляция, настройка и сопровождение Web-сервера Linux

ServerType Для этой директивы значением по умолчанию является ServerType standalone. Серверы, работающие в автономном режиме (standalone), запускаются из загрузочных сценариев при запуске системы...

Файл конфигурации представляет собой XML - файл, в котором хранятся данные, необходимые для подсветки синтаксиса. Файл состоит из корневого элемента language, который в свою очередь содержит 3 дочерних элемента: style, keywords и types...

Написание текстового редактора с подсветкой синтаксиса

Для начала создадим 3 переменных типа xmlChar: xmlChar *uri; // используется для хранения атрибутов xmlChar *color; // используется для хранения значения цвета xmlChar *font; // используется для хранения значения шрифта Загрузка данных из XML файла происходит в функции...

Понятие и использование Network File System

В простейшем случае, файл /etc/exports является единственным файлом, требующим редактирования для настройки NFS-сервера...

Представление графических данных. Преобразование форматов. Использование специальных эффектов

Рисунок 2.1 - Схема открытия файла. На рисунке 2.2 приведен алгоритм открытия файла формата TGA. Рассмотрим его подробнее. Сначала происходит открытие файла с именем ИмяФайла. tga...

Проект разработки HTTP-сервера

Чтобы запустить установочный файл (install.php), необходимо зайти в Moodle используя веб-броузер или просто наберите http://localhost/install.php в строке адреса (Инсталлер будет использовать cookie. Если Вы увидете всплывающее окно с сообщением об этом...

Разработка Web-сайта для кафедры "Вычислительная техника и информационные технологии"

Самый распространенный Web-сервер в мире - это Apache. По данным компании Netcraft, общее число Web-узлов, работающих под его управлением, к концу 1998 г. достигло 2 млн. (55% общего числа узлов) и постоянно растет...

Разработка информационной модели взаимодействия пенсионного фонда с плательщиками взносов

Для корректной работы электронного обмена, в программе ЗУП должны быть обязательно заданы определенные настройки. В частности, должна быть введена информация об отделении ПФР, с которым предполагается осуществлять обмен данными...

Разработка системы сбора и обработки данных

Для моделирования системы в среде MAX+plusII необходимо разработать файл конфигурации на языке AHDL. В него войдут такие мега-функции, как: lpm_counter - счетчик, необходимый для деления частоты...

Файл конфигурации представляет собой XML-файл, в котором хранятся данные, необходимые для подсветки синтаксиса. Файл состоит из корневого элемента language, который в свою очередь содержит 3 дочерних элемента: style, keywords и types...

Разработка текстового редактора с подсветкой синтаксиса языков программирования

Для начала создадим 3 переменных типа xmlChar: xmlChar *uri;//используется для хранения атрибутов xmlChar *color;//используется для хранения значения цвета xmlChar *font;//используется для хранения значения шрифта Загрузка данных из XML файла происходит в функции...

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

Начальная установка и настройка

Распакуйте архив дистрибутива в каталог C:\Apache2.

Откройте в текстовом редакторе файл «C:\Apache2\conf\httpd.conf», являющийся основным конфигурационным файлом сервера Apache.

Ну а теперь держитесь. Женщинам, старикам и детям просьба – дальше не читать. За психическое состояние людей, дочитавших статью до конца – авторы ответственности не несут. 🙂

Правка файла httpd.conf

  1. Для загрузки модуля mod_rewrite найдите и раскомментируйте (уберите в начале строки символ «#») данную строку:
    LoadModule rewrite_module modules/mod_rewrite.so
  2. Для загрузки PHP интерпретатора, в конец блока загрузки модулей необходимо добавить строку:
    LoadModule php5_module «C:/php/php5apache2_2.dll»
  3. Определите каталог содержащий конфигурационный файл PHP, добавив ниже следующую строку:
    PHPIniDir «C:/php»
  4. Найдите и раскомментируйте строку:
    ServerName www.example.com:80
    Отредактируйте ее следующим образом установив изначальное имя сервера:
    ServerName localhost:80
  5. Найдите строку:
    DocumentRoot «c:/Apache2/htdocs»
    Назначьте корневую директорию управления сайтами (немного позже мы ее создадим):
    DocumentRoot «C:/apache»
  6. Найдите данный блок:

    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all

    И замените его на нижеследующий:

    Options Includes Indexes FollowSymLinks
    AllowOverride All
    Allow from all
  7. Удалите или закомментируйте первоначальный блок управления директориями (он нам не понадобится), который без комментариев выглядит примерно так:

    Options Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
  8. Найдите блок:

    DirectoryIndex index.html

    Замените его на:

    DirectoryIndex index.html index.htm index.shtml index.php
  9. Найдите строку:
    ErrorLog «logs/error.log»
    Замените на нижеследующую (в этом случае просматривать глобальный файл ошибок сервера будет удобнее):
    ErrorLog «C:/apache/error.log»
  10. Найдите строку:
    CustomLog «logs/access.log» common
    Замените на:
    CustomLog «C:/apache/access.log» common
  11. Для работы SSI (включения на стороне сервера) следующие строки, находящийся в блоке , необходимо найти и раскомментировать:
    AddType text/html .shtml
    AddOutputFilter INCLUDES .shtml
  12. Добавьте ниже, в тот же блок , две строки:
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
  13. И, наконец, найдите и раскомментируйте строки:
    Include conf/extra/httpd-mpm.conf
    Include conf/extra/httpd-autoindex.conf
    Include conf/extra/httpd-vhosts.conf
    Include conf/extra/httpd-manual.conf
    Include conf/extra/httpd-default.conf

Сохраните изменения и закройте файл «httpd.conf»

Теперь откройте файл «C:\Apache2\conf\extra\httpd-vhosts.conf» и произведите в нем следующие изменения.

Существующие блоки примеров виртуальных хостов необходимо удалить, и вставить только нижеследующее:
NameVirtualHost *:80


DocumentRoot «C:/apache/localhost/www»
ServerName localhost
ErrorLog «C:/apache/localhost/error.log»
CustomLog «C:/apache/localhost/access.log» common

Сохраните изменения и закройте файл «httpd-vhosts.conf»

Настройка конфигурационныйх файлов завершена, теперь необходимо установить сервис Apache2.2.

Установка сервиса Apache2.2 в картинках

Запускаем командную строку и вводим в ней «C:\Apache2\bin\httpd.exe -k install»

Вот что мы должны увидеть при успешной установке сервиса Apache2.2.

Если все прошло успешно, движемся дальше — устанавливаем ручной запуск сервиса Apache2.2 для чего проходим путь: «Start» («Пуск») → «Control Panel» («Панель управления») → «Administrative Tools» («Администрирование») → «Services» («Службы»), в открывшемся окне управления служб выбираем строку «Apache2.2» и делаем на ней двойной щелчок, после чего во вкладке «General» («Общие») выбираем ручной запуск сервиса — «Startup type: Manual» («Тип запуска: вручную»). Это необходимо сделать для того, чтобы лишние службы не загружали систему. Учитывая, что домашний компьютер используется не только для веб-разработок, но и для многих других нужд, ручной запуск и остановка, непостоянно используемых сервисов, является наиболее приемлемым.

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

В корне диска необходимо создать каталог «apache» — в нем будут лежать ваши виртуальные хосты (домены), глобальный файл журнала ошибок «error.log» (создается программой при первом запуске, автоматически), глобальный файл доступа «access.log» (создается автоматически). В каталоге «apache» создаем еще одну пустую папку — «localhost», в которой, в свою очередь, создаем папку «www», именно в последней и надо будет держать наше добро в виде локальных скриптов. Такая, казалось бы странная структура каталогов, продиктована схожей схемой построения каталогов в системах Unix, и призвана упростить в дальнейшем ее понимание и использование.

Пример создания виртуального хоста

При необходимости установки собственных виртуальных хостов сделайте следующее:

Откройте файл «httpd-vhosts.conf», и создайте в нём блок, примерно, следующего содержания:

# Папка, в которой будет корень вашего хоста.
DocumentRoot «C:/apache/test.ru/www»
# Домен по которому вы сможете обращаться к виртуальному хосту.
ServerName test.ru
# Алиас (добавочное имя) домена.
ServerAlias www.test.ru
# Файл, в который будут записываться ошибки.
ErrorLog «C:/apache/test.ru/error.log»
# Файл журнала доступа к хосту.
CustomLog «C:/apache/test.ru/access.log» common

Затем в каталоге «apache», создайте папку «test.ru» (прямо так, с точкой), в которой, в свою очередь, создайте папку «www».

Следующий шаг создания виртуального хоста – это изменение файла C:\WINDOWS\system32\drivers\etc\hosts операционной системы. Откройте данный файл и добавьте в него две строки:
127.0.0.1 test.ru
127.0.0.1 www.test.ru

Теперь запустите сервер Apache выполнив в командной строке «C:\Apache2\bin\httpd.exe -k start», откройте браузер, введите в адресной строке «test.ru» или «www.test.ru» и вы окажетесь в своем виртуальном хосте. Только будьте внимательны, теперь вы сможете попасть на оригинальный сайт с именем виртуального хоста («www.test.ru», если таковой существует), только закомментировав либо удалив строку: «127.0.0.1 www.test.ru», в вышеупомянутом файле «hosts».

Документация Apache, при запущенном сервере, доступна по адресу http://localhost/manual/

Остановить работу Apache можно выполнив в командной строке «C:\Apache2\bin\httpd.exe -k stop». При необходимости перезагрузить Apache, выполните в командной строке «C:\Apache2\bin\httpd.exe -k restart».

Установка и настройка веб-сервера Apache – завершена.

Создание пакетных файлов для запуска и остановки сервисов

Согласитесь, что вручную редактировать файл «hosts» при каждом запуске сервисов – это не удобно, поэтому для более удобного, одновременного запуска сервисов Apache, MySQL, и изменения файла «hosts» мы создадим два пакетных файла: на запуск и остановку, которые будут выполнять всю рутинную работу автоматически.

При использовании виртуальных хостов необходимо создать в директории C:\apache два файла: vhosts-off.txt – содержащий изначальное содержимое файла «hosts» и vhosts-on.txt – содержащий все виртуальные хосты. Обратите внимание, что при создании новых виртуальных хостов вам необходимо будет добавлять их в файл vhosts-on.txt, а не в C:\WINDOWS\system32\drivers\etc\hosts. Посмотрите на примеры ниже.

Файл vhosts-off.txt (может содержать одну единственную строку):
127.0.0.1 localhost

Пример файла vhosts-on.txt с виртуальными хостами www.test.ru и test.ru:

127.0.0.1 localhost
127.0.0.1 www.test.ru
127.0.0.1 test.ru

В той же директории C:\apache, создайте два пакетных файла: start-webserver.bat – для запуска сервисов и подмены файла «hosts», и stop-webserver.bat – для остановки сервисов и очистки файла «hosts».

Файл запуска start-webserver.bat:

@echo off echo. if not exist C:\apache\vhosts-on.txt goto no_vhosts echo Create virtual hosts: copy /v /y C:\apache\vhosts-on.txt C:\WINDOWS\system32\drivers\etc\hosts echo. :no_vhosts NET start Apache2.2 NET start MySQL

Файл остановки stop-webserver.bat:

@echo off echo. if not exist C:\apache\vhosts-off.txt goto no_vhosts echo Restore hosts file: copy /v /y C:\apache\vhosts-off.txt C:\WINDOWS\system32\drivers\etc\hosts echo. :no_vhosts NET stop Apache2.2 NET stop MySQL

В случае если вы не используете виртуальные хосты или хотите запустить сервисы без подмены файла «hosts», просто уберите из директории C:\apache файлы vhosts-on.txt и vhosts-off.txt.

Одновременно с сервисами удобно запускать программу Apache Monitor, отображающую в системном лотке состояние сервера Apache, для чего можно создать еще один пакетный файл «start-webserver-monitor.bat», содержание которого аналогично файлу «start-webserver.bat» с добавлением в самый конец следующей строки:

start «» «C:\Apache2\bin\ApacheMonitor.exe»

Теперь для запуска всего инструментария вам понадобится запустить файл «start-webserver-monitor.bat», или «start-webserver.bat», а для остановки «stop-webserver.bat». При желании вы можете переименовать эти файлы, переместить их в любое другое место из папки «C:\apache», либо создать на данные файлы ярлыки, например, на рабочий стол.

Оригинал статьи: http://php-myadmin.ru/learning/instrument-apache.html

Apache — наиболее используемый интернет-сервер на линукс системах. Интернет-сервера используются для выдачи интернет-страниц по запросу клиентских компьютеров. Клиенты обычно запрашивают и просматривают интернет-страницы используя приложения интернет-браузеров, таких как Firefox, Opera, Chromium или Mozilla.

Пользователи вводят единообразный указатель ресурсов (URL) для определения интернет-сервера по его полностью квалифицированному доменному имени (FQDN) и пути до требуемого ресурса. Например, чтобы увидеть домашнюю станицу интернет-сайта Ubuntu, пользователь должен ввести только FQDN:

Www.ubuntu.com

SymLinksIfOwnerMatch — Следует по символическим ссылкам если целевой файл или каталог имеет того же владельца, что и ссылка.

Настройки httpd

Этот раздел раскрывает некоторые основные конфигурационные настройки сервиса httpd .

LockFile — инструкция LockFile устанавливает путь к блокирующему файлу (lockfile) когда сервер скомпилирован с опцией USE_FCNTL_SERIALIZED_ACCEPT или USE_FLOCK_SERIALIZED_ACCEPT. Он должен сохраняться на локальном диске. Стоит оставить значение по умолчанию если только каталог журналов не расположен на NFS ресурсе. В противном случае исходное значение стоить изменить на каталог локального диска с правами на чтение только для root.

PidFile — инструкция PidFile устанавливает файл, в который сервер записывает ID своего процесса (pid). Этот файл должен быть доступен на чтение только root. В большинстве случаев этот параметр стоит оставить без изменений.

User инструкция User устанавливает userid (ID пользователя), используемый сервером для ответа на запросы. Эта настройка определяет права доступа сервера. Любые файлы, недоступные этому пользователю, также будут недоступны для посетителей вашего сайта. По умолчанию используется пользователь «www-data».

Group — инструкция Group аналогична директиве User. Group устанавливает группу под которой сервер будет отвечать на запросы. Значение по умолчанию также «www-data».

Модули Apache2

Apache2 — модульный сервер. Это означает, что только самая базовая функциональность включена в ядро сервера. Расширенные возможности доступны через модули, которые могут быть загружены в Apache2. По умолчанию базовый набор модулей включается в сервер на этапе компиляции. Если сервер скомпилирован для использования динамически загружаемых модулей, то модули могут быть скомпилированы отдельно и добавлены в любое время с использованием инструкции LoadModule . В противном случае Apache2 должен быть перекомпилирован для добавления или удаления модулей.

Ubuntu компилирует Apache2 с возможностью динамической загрузки модулей. Конфигурационные директивы могут быть включены по условию присутствия соответствующего модуля в блоке .

Вы можете установить дополнительные модули Apache2 и использовать их с вашим интернет сервером. Например, запустите следующую команду в терминаледля установки модуля авторизации MySQL:

Sudo apt-get install libapache2-mod-auth-mysql

Ищите дополнительные модули в каталоге /etc/apache2/mods-available.

Используйте утилиту a2enmod для включения модуля:

Sudo a2enmod auth_mysql sudo service apache2 restart

Аналогично a2dismod выключит модуль:

Sudo a2dismod auth_mysql sudo service apache2 restart

Настройка HTTPS

Модуль mod_ssl добавляет важную возможность для сервера Apache2 — возможность шифрованных соединений. Таким образом, когда ваш браузер соединяется с использованием SSL , используется префикс https:// в начале адреса URL в строке навигации.

Модуль mod_ssl доступен в пакете apache2-common. Выполните следующую команду в терминале для включения этого модуля:

Sudo a2enmod ssl

Настройки по умолчанию для HTTPS находятся в файле /etc/apache2/sites-available/default-ssl. Чтобы Apache2 предоставлял HTTPS, также требуются файлы ключа и сертификата. Изначальная настройка HTTPS использует сертификат и ключ, созданные пакетом ssl-cert. Они подходят для тестирования, но должны быть заменены на сертификат, соответствующий вашему сайту или серверу. Для информации по созданию ключей и получению сертификатов смотрите раздел Сертификаты.

Для настройки Apache2 для HTTPS введите следующее:

Sudo a2ensite default-ssl

Каталоги /etc/ssl/certs и /etc/ssl/private используются по умолчанию. Если вы установили сертификат и ключ в другие каталоги, убедитесь что изменили соответственно опции SSLCertificateFile и SSLCertificateKeyFile.

С Apache2, теперь настроенным на HTTPS, перезапустим сервис для разрешения новых настроек:

Sudo service apache2 restart

В зависимости от того как вы выпускали свой сертификат, вам может потребоваться ввести кодовую фразу при старте Apache2.

Вы можете получить доступ к страницам защищенного сервера набрав https://your_hostname/url/ в адресной строке вашего браузера.

Права разделения записи

Чтобы более одного пользователя имели право записи в один и тот же каталог, необходимо дать право записи группе, которая их объединяет. Следующий пример предоставляет права на запись в каталог /var/www для группы «webmasters».

Sudo chgrp -R webmasters /var/www sudo find /var/www -type d -exec chmod g=rwxs "{}" \; sudo find /var/www -type f -exec chmod g=rws "{}" \;

Если доступ должен быть предоставлен более чем одной группе на каталог, используйте Списки управляемого доступа (ACL).