Это старая версия документа.


Apache HTTP Server – проект, развиваемый The Apache Software Foundation, в рамках которого разрабатывается кроссплатформенный HTTP сервер с открытым исходным кодом. Входит в состав LAMP и XAMPP.

Установка

Для установки Apache выполните в терминале:

sudo apt-get install apache2

Настройка

Для применения изменений в настройках необходимо перезапустить демон Apache:
sudo service apache2 restart

До версии Ubuntu Raring (13.04) включительно

Свои настройки следует сохранять в директорию /etc/apache2/conf.d .

Начиная с версии Ubuntu Saucy (13.10)

Свои настройки следует сохранять в директорию /etc/apache2/conf-available .

Для активации файла настройки следует выполнить команду:

sudo a2enconf <config-file-name>

Кодировка по умолчанию

AddDefaultCharset UTF-8

Виртуальный хост в директории пользователя с php

sudo apt-get install libapache2-mod-php5
mkdir ~/public_html
echo -e "<?php\nphpinfo();\n?>" >~/public_html/index.php
sudo a2enmod userdir

Надо закоментировать последних 5 строк в /etc/apache2/mods-enabled/php5.conf . Добавить пользователя в группу www-data и перезагрузка апачи.

sudo adduser $USER www-data
sudo service apache2 restart

Сайт можно смотреть теперь так http://localhost/~username . Должна выйти информация о http сервере.

Виртуальные хосты

Файлы настроек виртуальных хостов хранятся в /etc/apache2/sites-available . По умолчанию в Apache уже настроен один виртуальный хост. Его настройки лежат в файле default (в новых версиях файл может называться 000-default.conf). Вы можете использовать этот виртуальный хост в качестве примера.

Пример настройки виртуального хоста:

<VirtualHost *:80>
    #Имя хоста
    ServerName host1.server1
    #Корневая папка хоста
    DocumentRoot /var/www/host1.server1
    <Directory /var/www/host1.server1>
        #Разрешение на перезапись всех директив при помощи .htaccess
        AllowOverride All
    </Directory>
</VirtualHost>

Назовите файл настройки именем Вашего хоста host1.server1 и сохраните.

После создания файла настроек допишите в /etc/hosts имя вашего хоста:

127.0.0.1    host1.server1

Для включения созданного виртуального хоста используется утилита a2ensite:

sudo a2ensite host1.server1

Отключается хост аналогично утилитой a2dissite:

sudo a2dissite host1.server1

Здесь host1.server1 это имя файла настроек Вашего хоста в /etc/apache2/sites-available

Модули

Настройки модулей хранятся в директории /etc/apache2/mods-available. Для включения или отключения модулей используются a2enmod и a2dismod соответственно.

CGI

Если Вы хотите запускать на сервере cgi-скрипты, подключите модуль cgi командой

sudo a2enmod cgi

По умолчанию cgi-скрипты размещаются в директории /usr/lib/cgi-bin, но Вы можете разместить их где угодно, указав это в настройках своего виртуального хоста, либо глобально для всех хостов в файле /etc/apache2/conf-enabled/serve-cgi-bin.conf.

Eсли Ваш сервер работает во внешней сети, то в целях безопасности настоятельно рекомендуется размещать cgi-скрипты вне корневой директории виртуального хоста!

PHP5

Для включения поддержки PHP5 в качестве модуля Apache необходимо установить пакет libapache2-mod-php5:

sudo apt-get install libapache2-mod-php5

Если же Вы хотите установить PHP5 как отдельную CGI-программу, то установите пакет php5-cgi

sudo apt-get install php5-cgi

Поддержка HTTPS

FIXME перенести сюда статью apache_и_https

Возможные проблемы

Если при запуске появляется следующая ошибка
apache2: Could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
добавьте в свой файл конфигурации строчку

ServerName localhost

Смотрите также

Ссылки