Установка и настройка Apache2 в Linux

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

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

sudo apt-get install apache2

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

sudo yum install httpd

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

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

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

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

<VirtualHost *:80>
     ServerAdmin test@ixnfo.com
     ServerName ixnfo.com
     ServerAlias www.ixnfo.com
     DocumentRoot /var/www/ixnfo.com/
 
     <Directory /var/www/ixnfo.com>
     Options -Indexes
     AllowOverride All
     Order allow,deny
     allow from all
     </Directory> 
 
     #можно ограничить доступ по IP к некоторым директориям, например админке таким способом:
     <Directory /var/www/ixnfo.com/admin>
     Order allow,deny
     allow from 127.0.0.1 192.168.0.47 172.16.30.5
     </Directory>
 
     ErrorLog /var/log/ixnfo.com.error.log
     CustomLog /var/log/ixnfo.com.access.log combined
</VirtualHost>

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

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

sudo a2ensite ixnfo.com
sudo a2dissite ixnfo.com

Проверим корректность конфигурации и нет ли ошибок:

sudo apachectl -t

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

sudo a2enmod rewrite
sudo a2dismod rewrite

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

sudo a2enconf TEXT
sudo a2disconf TEXT

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

sudo mkdir /var/www/ixnfo.com

В файле /etc/apache2/conf.d/security изменим некоторые параметры безопасности веб сервера:

ServerTokens Prod
ServerSignature Off

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

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

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

Listen 192.0.3.1:80
Listen 192.0.3.2:80
Listen 192.0.1.10:8080

Чтобы работал на всех IP адресах в том числе localhost:

Listen 80

Пример отключения/включения автозапуска Apache2 при запуске операционной системы (Ubuntu):

systemctl is-enabled apache2
systemctl disable apache2
systemctl enable apache2

Просмотр версии apache2:

apache2 -v

Смотрите также мои статьи:
Контроль доступа Apache2
Установка Certbot в Ubuntu
Перенаправление запросов на SSL
Установка и настройка Nginx

Оставьте комментарий

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