Apache

Команда Описание
Команда Описание
sudo apt update Обновление системы
sudo apt install apache2 Установка apache
sudo apt purge apache2 Очистка от apache
sudo apt remove –purge apache2 apache2-data apache2-utils Удаление apache
Команда Описание
sudo systemctl status apache2Посмотреть статус сервиса
sudo systemctl start apache2 Запустить сервис
sudo systemctl stop apache2 Остановить сервис
sudo systemctl restart apache2 Перезапустить сервис
sudo systemctl reload apache2 Перечитать без разрыва текущей сессии с хостов
sudo systemctl disable apache2 Деактивировать запуск web-сервера при загрузке
sudo systemctl enable apache2 Активировать в загрузку

1. Узнаём где находится папка с данными из конфигурации по умолчанию.

grep "DocumentRoot" /etc/apache2/sites-available/000-default.conf  

2. Создаём папку для нового сайта

sudo mkdir -p /var/www/sample.net/html  

3. Создаём файл по умолчанию для нового сайта

sudo touch /var/www/sample.net/html/index.html  

4. Открываем файл по умолчанию и копируем в него HTML код ниже

sudo vim /var/www/sample.net/html/index.html  

Вставить текст ниже в index.html

<!DOCTYPE html>
<html>
 <head>
   <title>Hello</title>
   <meta charset="utf-8">
 </head>
 <body>
         <h1>Hello Selectel!</h1>
  </body>
</html>

5. Копируем конфигурацию по умолчанию с новым именем

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/sample.net.conf

6. Редактируем конфигурацию нового сайта

sudo vim /etc/apache2/sites-available/sample.net.conf  

Для подключения виртуальных хостов, а также модулей в Apache HTTP-сервере используется набор команд:

Команда Описание
a2enmod {модуль} подключение модуля
a2dismod {модуль} отключение модуля
a2ensite {конфиг виртуального хоста} подключает виртуальный хост
a2dissite {конфиг виртуального хоста}отключает виртуальный хост
Команда Описание
sudo a2ensite sample.net.conf Разрешить конфигурацию сайта sample.net.conf
sudo a2dissite 000-default.confЗапретить конфигурацию сайта 000-default.conf
sudo systemctl reload apache2 Перезагрузить конфигурацию apache2
sudo apache2ctl configtestПроверка файлов настроек
sudo apachectl -SЗапущенная конфигурация
sudo apachectl -MОтобразить загруженные модули

Не забыть указать ServerName и ServerAlias, а также убедиться, что они не указывают на 127.0.0.1 на сервере, чтобы не попадать на дефолтный сайт.

<VirtualHost *:80>
        ServerName 30f.ru 
        ServerAlias www.30f.ru
 
        ServerAdmin root@30f.ru
        DocumentRoot /var/www/30f.ru/html
 
        ErrorLog /var/www//30f.ru/logs/error.log
        CustomLog /var/www/30f.ru/logs/access.log combined
</VirtualHost>
<Directory /var/www/html/product>
   ...
   Deny 45.34.21.10
   ...
</Directory>
<Directory /var/www/html/product>
   ...
   Deny 45.34.21.10
   Deny 65.34.23.12
   ...
</Directory>
<Directory /var/www/html/product>
...
   <location /example.pdf>
    ...
    Deny 45.34.21.10
    ...
   </location>
...
<Directory>
<VirtualHost *:8080>
...
   <location /example.pdf>
    ...
    Deny 45.34.21.10
    ...
   </location>
...
<VirtualHost>
sudo systemctl status apache2.service -l --no-pager
sudo journalctl -u apache2.service --since today --no-pager
$ sudo systemctl status httpd.service -l --no-pager
$ sudo journalctl -u httpd.service --since today --no-pager

C помощью Apache

$ sudo apachectl configtest
$ sudo vim /etc/apache2/apache2.conf    
$ sudo vim /etc/httpd/conf/httpd.conf

В конец файла добаляем

  ServerName 127.0.0.1
sudo apachectl configtest

Редирект с http на https

Добавить в .htaccess

RewriteEngine On
RewriteCond %{HTTPS} =off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]