Найти тему

Установка и настройка Apache2 на Ubuntu Server 20

Оглавление

Установка

Установить пакет apache2:

sudo apt update
sudo apt install apache2

Проверить работу службы:

sudo systemctl status apache2

Настроить файерволл UFW. Для этого вывести список профилей приложений командой:

sudo ufw app list

Есть три профиля, доступных для Apache:
Apache: этот профиль открывает только порт 80 (нормальный веб-трафик без шифрования)
Apache Full: этот профиль открывает порт 80 (нормальный веб-трафик без шифрования) и порт 443 (трафик с шифрованием TLS/SSL)
Apache Secure: этот профиль открывает только порт 443 (трафик с шифрованием TLS/SSL)

Разрешить трафик по профилю "Apache Full":

sudo ufw allow 'Apache Full'

Проверить изменение:

sudo ufw status

Для проверки запущенного сервера необходимо знать его IP-адрес. Узнать адрес сервера можно командой:

hostname -I

С удаленного компьютера зайти на сервер по известному IP-адресу. Должна отобразиться страница "Apache2 Ubuntu Default Page".

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

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

В папке /var/www/ создать папку, в которой будут находиться файлы сайта:

sudo mkdir /var/www/site

Создать тестовую страницу в месте расположения будущего сайта:

sudo nano /var/www/site/index.html

В редакторе написать тестовый код:

<html>
<body>
<p>Hello!</p>
</body>
</html>

Т.к. html-файл создавался "из-под рута", необходимо изменить владельца папки со всем содержимым (рекурсивно) командой:

sudo chown -R www-data:www-data /var/www/site

Установить права доступа командой:

sudo chmod -R 755 /var/www/site

Создать новый файл с настройками виртуального хоста:

sudo nano /etc/apache2/sites-available/site.conf

С содержимым:

<VirtualHost *:80>
ServerAdmin info@localhost
ServerName site
ServerAlias www.site
DocumentRoot /var/www/site
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Активировать новый виртуальный хост командой:

sudo a2ensite site.conf

Отключить сайт по умолчанию командой:

sudo a2dissite 000-default.conf

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

sudo apache2ctl configtest

Перезапустить Apache командой:

sudo systemctl reload apache2

Открыть в браузере сайт, воспользовавшись именем виртуального хоста. После копирования файлов сайта в папку /var/www/site не забывать изменять им владельца и права доступа.

Поддержка PHP

Если при переходе на сайт php-скрипты открываются как текст, а не исполняются, необходимо установить поддержку PHP. В начале установить PHP командой:

sudo apt install php

Установить дополнения для Apache2:

sudo apt install libapache2-mod-php php-mysql php-mysql

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

php -v

Перезагрузить Apache командой:

sudo systemctl restart apache2

Команды управления Apache2

Чтобы остановить веб-сервер, введите:

sudo systemctl stop apache2

Чтобы запустить остановленный веб-сервер, введите:

sudo systemctl start apache2

Чтобы остановить и снова запустить службу, введите:

sudo systemctl restart apache2

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

sudo systemctl reload apache2

По умолчанию Apache настроен на автоматический запуск при загрузке сервера. Если вы не хотите этого, отключите такое поведение с помощью следующей команды:

sudo systemctl disable apache2

Чтобы перезагрузить службу для запуска во время загрузки, введите:

sudo systemctl enable apache2

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

#ubuntu #apache2 #php