Как установить Apache на Ubuntu для управления трафиком

Ищете ли вы открытый веб-сервер для обработки высоких нагрузок? Установите Apache на Ubuntu, чтобы он стал идеальным решением!

Apache – самый распространенный веб-сервер, который легко справляется с большим объемом трафика. В этом руководстве вы узнаете, как установить Apache на сервере с операционной системой Ubuntu Linux и настроить виртуальные хосты.

Попробуйте Apache сегодня и избавьтесь от простоев в работе веб-сервера!

Предварительные требования

Это руководство будет наглядным демонстрационным материалом. Если вы хотите следовать за нами, убедитесь, что у вас есть следующее.

  • Сервер Ubuntu – в этом руководстве используется Ubuntu 20.04.
  • A user account with root privileges.

Как установить Apache на сервере Ubuntu

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

По умолчанию пакет Apache доступен в репозиториях Ubuntu, и вы можете установить Apache, выполнив одну команду с использованием менеджера пакетов apt.

1. Выполните команду apt update ниже, чтобы убедиться, что ваш сервер обновлен и применены все патчи безопасности.

sudo apt update -y
Updating Server Package Index

2. Запустите команду apt-cache ниже, чтобы поискать и перечислить все доступные пакеты Apache в вашей системе.

sudo apt-cache search apache2

На скриншоте ниже вы можете увидеть все доступные пакеты Apache, и наиболее распространенными являются:

  • apache2 – Apache HTTP сервер – этот пакет является стандартным веб-сервером Apache.
  • libapache2-mod-php – этот пакет обеспечивает поддержку PHP для веб-сервера Apache.
  • apache2-ssl-dev – этот пакет обеспечивает поддержку SSL/TLS соединений в Apache
  • apache2-utils – этот пакет предоставляет различные утилиты для веб-сервера Apache, такие как htpasswd для создания пользователей для базовой аутентификации.
Listing Apache Packages

3. Запустите следующую команду apt install для установки Apache на вашем сервере.

sudo apt install -y apache2
Installing Apache

4. После установки пакета выполните следующую команду systemctl для запуска Apache (apache2). Эта команда не выводит результат, но вы проверите состояние службы Apache на следующих шагах.

sudo systemctl start apache2

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

sudo systemctl enable apache2
Enabling Apache Auto-Start on Boot Up

6. Затем выполните следующую команду systemctl для проверки состояния службы Apache (apache2).

sudo systemctl status apache2

Вы увидите следующий результат. Активное (запущенное) состояние указывает на то, что служба Apache запущена и работает ожидаемым образом.

Check the status of the Apache service.

7. Выполните нижеприведенную команду, чтобы проверить версию Apache, установленную на вашем сервере.

apache2 -version

На момент написания этого текста последняя стабильная версия Apache – 2.4.41, а ваша может отличаться.

Checking Installed Apache Version

8. Наконец, откройте ваш любимый веб-браузер и перейдите по IP-адресу или имени хоста вашего сервера Ubuntu (например, 192.168.1.100).

Ниже вы можете увидеть стандартную веб-страницу Apache, созданную в процессе установки. Эта страница подтверждает, что Apache установлен и работает ожидаемым образом.

Если по какой-то причине вы получили ошибку, перейдите к следующему разделу и настройте ваш брандмауэр.

Verifying Apache Installation by Accessing Apache’s Default Page

Настройка брандмауэра UFW для защиты сервера Apache

В предыдущем разделе вы запросили веб-страницу с вашего сервера Apache, которая отобразила стандартную веб-страницу Apache. Но что если вы столкнулись с ошибкой “connection refused”, как показано ниже? Эта ошибка может возникнуть из-за вашего брандмауэра, который блокирует доступ к серверу Apache.

Getting Connection Refused Error

Для устранения этой ошибки подключения вы настроите свой брандмауэр для разрешения доступа к серверу Apache. А в установке Ubuntu по умолчанию включен брандмауэр с именем UFW, который помогает защищать ваш сервер от несанкционированного доступа.

1. Запустите следующую команду, чтобы просмотреть все профили приложений, включенные в UFW.

sudo ufw app list

Ниже вы можете видеть различные доступные приложения в UFW:

  • Apache Full – Этот профиль разрешает доступ ко всем портам, необходимым для веб-сервера Apache (порты 80 и 443).
  • Apache – Профиль по умолчанию, разрешающий доступ к незащищенному порту 80.

Не следует использовать этот профиль в производственной среде, потому что он менее безопасен.

  • Apache Secure – Этот профиль более безопасен, поскольку ограничивает доступ только к порту для зашифрованного трафика TLS/SSL (порт 443).
  • OpenSSH – Этот профиль разрешает доступ к порту SSH (порт 22) для подключения по SSH.
Listing Application Profiles Available in UFW

2. Затем выполните следующие команды, чтобы разрешить (allow) профиль Apache Full вместе с SSH.

Эти команды позволяют получить доступ ко всем портам, что полезно в среде разработчика.

sudo ufw allow 'Apache Full'
sudo ufw allow 'OpenSSH'
Enabling the Apache Full Profile along with SSH

Возможно, вы хотите отключить приложение, измените опцию разрешения на опцию отключения, вот так: sudo ufw disable ‘app_profile’

3. Выполните команду ufw status ниже, чтобы проверить статус вашего брандмауэра UFW.

sudo ufw status verbose

Ниже вы можете видеть доступные правила брандмауэра, указывающие, что Apache Full и OpenSSH доступны отовсюду.

Checking UFW Firewall Status

4. Наконец, откройте ваш веб-браузер и попробуйте запросить веб-страницу с вашего сервера Apache. На этот раз вы увидите стандартную веб-страницу Apache, созданную в процессе установки.

Verifying Apache Installation by Accessing Apache’s Default Page

Настройка виртуальных хостов для обслуживания веб-сайтов

Ваш сервер Apache работает, так что самое интересное — время разместить ваше веб-приложение. Как? Вы будете настраивать ваши виртуальные хосты на вашем сервере Ubuntu. Виртуальный хост – это конфигурационный файл, который позволяет вам размещать несколько веб-сайтов на одном сервере с одним IP-адресом.

Обратите внимание, что создание файлов и каталогов, начиная с этой точки урока, требует sudo-доступа.

Чтобы начать настройку виртуальных хостов:

1. Выполните нижеприведенную команду, чтобы создать новый каталог с именем /var/www/example.com. Вы будете использовать этот каталог для хранения содержимого вашего веб-сайта. Замените example.com на фактическое доменное имя, которое вы хотите использовать.

Эта команда не возвращает вывод, но вы можете проверить каталог, выполнив следующую команду: ls /var/www

sudo mkdir -p /var/www/example.com

2. Затем выполните следующую команду chown, чтобы изменить владельца каталога /var/www/example.com на вашу учетную запись пользователя. Эта команда не возвращает вывод, но позволяет управлять содержимым вашего веб-сайта.

sudo chown -R $USER:$USER /var/www/example.com

3. Выполните команду chmod ниже, чтобы изменить разрешения каталога /var/www/example.com на 755. Эта команда не возвращает вывод, но предоставляет вашей учетной записи пользователя доступ на чтение и запись к содержимому вашего веб-сайта.

sudo chmod -R 755 /var/www/example.com

4. Теперь создайте файл с именем index.html в каталоге /var/www/example.com с помощью вашего предпочтительного редактора. Заполните файл приведенным ниже кодом, сохраните изменения и закройте файл. Файл index.html служит страницей по умолчанию вашего веб-сайта.

Приведенный ниже код создает простую веб-страницу, отображающую текст “Hello World! Ваш виртуальный хост работает!”.

<html>
  <head>
    <title>Welcome to example.com!</title>
  </head>

  <body>
    <h1>Hello World! Your virtual host is working!</h1>
  </body>
</html>

5. Создайте новый файл конфигурации виртуального хоста с именем example.com.conf в каталоге /etc/apache2/sites-available.

Вы можете отредактировать файл по умолчанию /etc/apache2/sites-available/000-default.conf, чтобы внести изменения в ваш новый виртуальный хост. Но лучше создать новый файл для вашего веб-сайта. Это поведение помогает вам организовать ваши конфигурационные файлы.

Скопируйте/вставьте нижеприведенную конфигурацию в файл example.com.conf. Но убедитесь, что замените example.com и webmaster@localhost на фактические значения для вашего веб-сайта.

Сохраните изменения и закройте файл.

<VirtualHost *:80>

  ServerAdmin webmaster@localhost

  ServerName example.com

  ServerAlias www.example.com

  DocumentRoot /var/www/example.com

  ErrorLog ${APACHE_LOG_DIR}/error.log

  CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

6. Теперь выполните каждую команду ниже, чтобы отключить файл виртуального хоста по умолчанию и включить ваш новый файл виртуального хоста.

Файл виртуального хоста по умолчанию включен по умолчанию, и вы не можете использовать ваш новый файл виртуального хоста, пока не отключите файл виртуального хоста по умолчанию.

# Отключить файл виртуального хоста по умолчанию
sudo a2dissite 000-default
# Включить ваш файл виртуального хоста
sudo a2ensite example.com.conf
Disabling the Default Virtual Host File and Enabling your New Virtual Host

7. Выполните команду service ниже, чтобы перезапустить ваш сервер Apache (apache2), чтобы применить изменения.

sudo service apache2 restart

8. Наконец, откройте ваш веб-браузер и перейдите на ваш веб-сайт (example.com).

Если ваша конфигурация сервера Apache правильна, вы увидите ту же самую нижеприведенную сообщение, отображенное в вашем веб-браузере.

Accessing the Hosted Website

Заключение

В этом руководстве вы узнали, как установить Apache на Ubuntu и настроить виртуальные хосты для обслуживания вашего веб-сайта на одном сервере. На данный момент вы можете эффективно размещать несколько веб-сайтов на вашем сервере Ubuntu.

Это руководство действует как введение, и вы можете подумать о дальнейшей работе с Apache и настройке других функций. Возможно, стоит попробовать настроить виртуальные хосты с SSL и защитой паролем, чтобы обеспечить безопасность вашего сервера Apache? Или добавить пользовательские заголовки на ваш сайт для управления запросами пользователей?

Source:
https://adamtheautomator.com/install-apache-on-ubuntu/