Установка и настройка веб-сервера Apache2

Apache HTTP-сервер — назван именем племён североамериканских индейцев Апачи, также является сокращением «a patchy server» — свободный веб-сервер.

Пример команды установки в Ubuntu:

sudo apt-get install apache2

Пример установки в CentOS:

yum install httpd

Проверяем открыв в браузере адрес http://имяхоста
Обычно должна появится стандартная надпись «It works!«.

Директория хранения вэб файлов — /var/www/
Директория конфигурационных файлов — /etc/apache2/

Для каждого сайта создается отдельный виртуальный хост. Стандартный файл виртуального хоста находится по адресу /etc/apache2/sites-available/000-default.conf

Допустим у нас есть домен example.net. Создаем новый файл в директории /etc/apache2/sites-available/example.conf и прописываем в него настройки:

<VirtualHost *:80>
     ServerAdmin admin@example.net
     ServerName example.net
     ServerAlias www.example.net
     DocumentRoot /var/www/example.net/

     <Directory /var/www/example.net>
     Options -Indexes
     AllowOverride All
     Order allow,deny
     allow from all
     </Directory> 

     #можно ограничить доступ по IP к некоторым директориям, например админке таким способом:
     <Directory /var/www/example.net/admin>
     Order allow,deny
     allow from 127.0.0.1 192.168.0.47 172.16.30.5
     </Directory>

     ErrorLog /var/log/example.net.error.log
     CustomLog /var/log/example.net.access.log combined
</VirtualHost>

Опишу опции которые я указывал выше:
-Indexes — в случае отсутствия индексных файлов index.php, index.html и т.д. не будет отображаться содержимое каталогов.
FollowSymLinks — разрешает переходить по символическим ссылкам.
-MultiViews — в случае указания например несуществующей директории http://example.net/img/ включение этой директивы позволит переадресовывать на файл http://example.net/img.php или http://example.net/img.jpg и т.д. если какой нибудь из них существует, такие манипуляции могут плохо сказаться на индексации ссылок поисковиками, поэтому эту директиву лучше отключить.
AllowOverride All — разрешает использование дополнительных файлов конфигурации .htaccess.

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

sudo a2ensite TEXT
sudo a2dissite TEXT

Если нужно активировать какие нибудь модули, можно это также сделать например командами (первая команда для подключения, вторая — отключения):

sudo a2enmod rewrite
sudo a2dismod rewrite

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

sudo a2enconf TEXT
sudo a2disconf TEXT

Теперь создаем директорию для сайта и копируем в нее файлы.

sudo mkdir /var/www/example.net

Редактируем некоторые параметры безопасности веб сервера:
sudo nano /etc/apache2/conf.d/security

ServerTokens OS
на:
ServerTokens Prod

ServerSignature On
на:
ServerSignature Off

Перезапускаем Apache2 чтобы изменения вступили в силу:

/etc/init.d/apache2 restart
service apache2 restart

Если на сервере используется много IP-адресов, а apache2 должен работать не на всех, то можно указать в /etc/apche2/ports.conf на каких ему работать, также можно изменить порт, например:

Listen 192.0.3.1:80
Listen 192.0.1.10:8080

Чтобы работал на всех:

Listen 80

Смотрите также:
Контроль доступа Apache2

Добавить комментарий