Меню Рубрики

Установка апач на ubuntu server

Apache HTTP Server

Содержание

Версии Apache в Ubuntu

Хостинг сайтов

Можно реализовать четырьмя способами:

Установка

Для установки Apache выполните в терминале:

Настройка

В Ubuntu конечный файл настройки (apache2.conf) расделён на несколько файлов, расположенных в разных поддиректориях. Подробней написано в комментариях файла apache2.conf.

Настройки модулей расположены в директории /etc/apache2/mods-available. Для подключения или отключения модулей (настроек модулей) следует использовать соответствующие команды a2enmod или a2dismod . Пример подключения модуля:

Свои настройки следует сохранять в файлы, расположенные в директории /etc/apache2/conf-available. Для подключения или отключения своих настроек следует использовать соответствующие команды a2enconf или a2disconf . Пример подключения файла со своими настройками:

Настройки виртуальных хостов следует сохранять в файлы, расположенные в директории /etc/apache2/sites-available. Для подключения виртуальных хостов следует использовать соответствующие команды a2ensite или a2dissite . Пример подключения виртуального хоста:

Кодировка по умолчанию

Для указания кодировки по умолчанию следует использовать директиву AddDefaultCharset в файле /etc/apache2/conf-available/charset.conf (или раскомментировать соответствующую строку):

Виртуальные хосты

Файлы настроек виртуальных хостов хранятся в /etc/apache2/sites-available/*.conf. По умолчанию в Apache уже настроен один виртуальный хост. Его настройки лежат в файле 000-default.conf. Вы можете использовать этот виртуальный хост в качестве примера.

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

Назовите файл настройки именем вашего хоста host1.server1.conf и сохраните.

После создания файла настроек допишите в /etc/hosts имя вашего хоста:

Для включения созданного виртуального хоста используется утилита a2ensite :

Отключается хост аналогично утилитой a2dissite :

Модули

mod_userdir

Модуль mod_userdir позволяет использовать директории, находящиеся в домашних директориях пользователей для хранения веб страниц. По умолчанию Apache ищет запрашиваемые страницы в директории

Чтобы включить mod_userdir , выполните:

и добавьте необходимого пользователя в группу www-data:

после чего перезагрузите Apache:

Страницы будут доступны по адресу http://localhost/

username, где username — имя пользователя.

Если Вы хотите запускать на сервере cgi-скрипты, подключите модуль cgi командой

По умолчанию cgi-скрипты размещаются в директории /usr/lib/cgi-bin, но вы можете разместить их где угодно, указав это в настройках своего виртуального хоста, либо глобально для всех хостов в файле /etc/apache2/conf-enabled/serve-cgi-bin.conf.

Настройка HTTPS в Apache

Веб-сервер Apache полностью поддерживает работу по HTTPS. Чтобы активировать поддержку HTTPS на уже установленном Apache, необходимо выполнить следующее.

Создание ключа и ssl-сертификата

Использование самоподписанных сертификатов хоть и защищает от пассивного прослушивания, тем не менее не гарантирует клиентам, что сервер является именно тем сервером, который им нужен. Преимуществом самоподписанных сертификатов является их бесплатность. Сертификат, подписанный компанией-сертификатором (Certificate authority), стоит денег.

Для создания ключа и сертификата вводим команду:

На вопрос «Enter PEM pass phrase:» отвечаем паролем, подтверждаем и запоминаем.

На все последующие вопросы отвечаем произвольно, можно просто щелкать по Enter , соглашаясь с предложенными вариантами, только на вопрос «Common Name (eg, YOUR name) []:» отвечаем именем сайта, для которого создаем сертификат, например www.example.com.

После ответа на все вопросы в директории должны появиться два новых файла — server.pem (ключ) и server.crt (сертификат).

Чтобы использовать сгенерированный ключ, нужно знать пароль, введённый нами, и Apache будет спрашивать его у нас при загрузке, а к чему нам лишние вопросы от демонов? 🙂 Поэтому снимаем пароль с ключа:

Скопируем их в /etc/ssl и назначим файлу ключа права чтения только администратору:

Настройка Apache

Для начала необходимо активировать mod_ssl :

А затем включить настройки HTTPS сайта по умолчанию:

Теперь необходимо отредактировать файл с настройками HTTPS сайта по умолчанию, указав в нём пути к вашим сертификатам. Сам файл называется /etc/apache2/sites-enabled/default-ssl (или /etc/apache2/sites-enabled/default-ssl.conf ).

В этом файле рекомендуется после директивы

чтобы запретить использование устаревшего протокола SSLv2.

Дальше вам необходимо отредактировать параметры, ответственные за сертификаты.

Теперь просто перезагрузите Apache:

И если все параметры указаны верно, ваши сайты станут доступны по HTTPS.

Перенаправление HTTP запросов на HTTPS

Затем изменяем файл /etc/apache2/sites-enabled/000-default , отвечающий за виртуальный хост по умолчанию для HTTP запросов. В этот файл добавляем директиву

При этом все настройки директорий можно удалить, поскольку по HTTP на ваши сайты всё равно будет не попасть.

Всё, теперь ещё раз перезапустите Apache и убедитесь, что при заходе по HTTP вы автоматически перенаправляетесь на HTTPS-страницу.

источник

Установка веб-сервера Apache на Ubuntu Server 18.04

В этой статье мы пошагово рассмотрим установку веб-сервера Apache на Ubuntu Server 18.04. Научимся управлять его процессами. Настроим фаервол UFW для Apache, проверим работу веб-сервера, разберемся с основными директориями, логами и посмотрим часто используемые команды.

Шаг 1. — Подготовка

На этапе подготовки мы убеждаемся что у нас есть всё необходимое для выполнения дальнейшей инструкции:

  • Нам нужна установленная ОС Ubuntu Server 18.04 — Вам в помощь статья — Установка Ubuntu Server 18.04 LTS
  • Ubuntu Server 18.04 должна иметь статический IP-адрес и доступ в интернет. — Настройка сети в Ubuntu Server 18.04 [Netplan]
  • Необязательно, но желательно включить фаервол UFW — Первоначальная настройка Ubuntu Server 18.04

Посмотрим свой IP-адрес, командой ifconfig.(Рис.1)

Рис.1 — Командой ifconfig узнаём IP-адрес нашего сервера.

Читайте также:  Установка linux на флешку терминал

Адрес моего сервера — 192.168.3.10, в этой статье я буду вводить его в браузере на другом ПК, для проверки работоспособности Apache. Вы должны будете ввести свой IP-адрес.

Если у вас, допустим, Ubuntu Desktop 18.04 и нету возможности подключиться с другого ПК, то вводите на своей же Ubuntu в браузере -«localhost» или IP-адрес — 127.0.0.1

Всё! На этом подготовка завершена.

Шаг 2. — Установка Apache

Первым делом обновляем список пакетов репозитория.

Apache доступен в стандартном репозитории. Приступаем к установке.(Рис.2)

Рис.2 — Устанавливаем веб-сервер Apache на Ubuntu 18.04.

После установки сразу же посмотрим статус веб-сервера.(Рис.3)

Рис.3 — Смотрим статус веб-сервера Apache.

Как видим Apache после установки сразу же сам запустился. [Об этом свидетельствует строчка — «Active: active (running) « , также отсутствуют серьёзные ошибки.]

Apache добавлен в автозагрузку. [Это мы понимаем по слову «enabled;» В строке «Loaded: loaded (/lib/systemd/system/apache2.service; enabled; «.]

Посмотреть версию установленного Apache можно с помощью команды apache2 -v.(Рис.4)

Точная версия Apache2.4.29.

Рис. 4 — Смотрим версию веб-сервера Apache.

Если у вас Apache не запустился, запустите его командой:

Добавить Apache в автозагрузку, можно командой:

Если вдруг он вам не нужен в автозагрузке, то удалить Apache из автозагрузки можно командой:

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

Шаг 3. — Настройка файрвола UFW

Для тех кто файрвол не включил и не собирается включать — Переходите к Шаг 4. — Проверка Apache

Напомню! Файрвол UFW мы включили в этой статье — Первоначальная настройка Ubuntu Server 18.04

Посмотрим профили приложений в фаерволе UFW.(Рис.5)

Рис.5 — Просматриваем профили приложений UFW.

Видим три профиля Apache:

  • Apache — открывает стандартный 80 порт — http[ нешифрованный веб-трафик ]
  • Apache Full — открывает два порта 80http [ нешифрованный веб-трафик ] и 443https [ TLS / SSL — зашифрованный веб-трафик ]
  • Apache Secure — открывает только 443 порт — https [TLS / SSL — зашифрованный веб-трафик ]

Для того чтобы применить какой-либо профиль можно воспользоваться командой — sudo ufw allowИмя_профиля

Мы применим первый профиль — Apache.(Рис.6)

Рис.6 — Применяем профиль Apache в файволе UFW.

Правило применилось!

Шаг 4. — Проверка Apache

На этапе Шаг 1. — Подготовка мы выяснили IP-адрес сервера, Я с другого компьютера, который находится в той же локальной сети, что и сервер, ввожу его в браузере.(Рис.7)

Для тех кто в танке. Если у вас, допустим, Ubuntu Desktop 18.04 и нету возможности подключиться с другого ПК, то вводите на своей же Ubuntu в браузере — localhost или IP-адрес — 127.0.0.1 © Шаг 1. — Подготовка

Если вы тоже увидели страницу «Apache2 Ubuntu Default Page«, значит вы всё сделали правильно! Веб-сервер работает!

Рис.7 — Вводим IP-адрес сервера в браузере. Apache2 Ubuntu Default Page

Каталоги и файлы конфигураций Apache

/var/www/ — Каталог хранит папки сайтов.

Изначально в нём содержится папка html, в которой лежит файл index.html [index.html — стартовая страница Apache, которую мы увидели на Шаг 4. — Проверка Apache]

Для примера покажем, как может выглядеть содержимое каталога «/var/www/» у более опытных пользователей:

  • /var/www/
    • /html
      • index.html
    • /itdeer.ru
      • /files
      • /img
      • index.html
    • /yandex.ru
      • /search.yandex.ru
        • index.html
      • /photo.yandex.ru
        • index.html

/etc/apache2/ — Главный каталог веб-сервера Apache.

  • /etc/apache2/apache2.confГлавный конфигурационный файл Apache.
  • /etc/apache2/ports.conf — В файле прописаны порты которые Apache будет слушать. [по умолчанию — веб-сервер слушает только 80 порт, но также может слушать 443, при включенном SSL модуле]
  • /etc/apache2/sites-available/ — В директории хранятся файлы доступных виртуальных хостов.
  • /etc/apache2/sites-enabled/ — В директории хранятся активированныевиртуальные хосты.

Apache не использует файлы виртуальных хостов[sites-available], если они не активированы в директории «sites-enabled«. Активация происходит путем создания ссылки в каталоге «sites-enabled«, при помощи команды «a2ensite» или «a2ensite Имя_хоста «

Следующие две пары каталогов работают по принципу «sites-available — sites-enabled«.

Конфигурации:

  • /etc/apache2/conf-available/ и /etc/apache2/conf-enabled/Доступные и активные дополнительные части конфигурации, которых нет в виртуальном хосте. Файлы в директории «conf-available» можно включить командой — «a2enconf«, а выключить командой — «a2disconf«.

Модули (Моды):

  • /etc/apache2/mods-available/ и /etc/apache2/mods-enabled/Доступные и активные модули. Файлы заканчивающиеся на «.load» содержат фрагменты для загрузки конкретных модулей. Файлы заканчивающиеся на «.conf» содержат конфигурацию этих модулей. Включить модуль можно командой — «a2enmod«, выключить модуль можно командой — «a2dismod«.

Логи веб-сервера Apache

Приведены команды для чтения логов с помощью «tail«, «tail -10» — выводит последние 10 строк лога, можете подобрать цифру удобную вам.

/var/log/apache2/access.log — журнал всех запросов к серверу Apache.

Читайте также:  Установка забора пермский край

/var/log/apache2/error.log — журнал всех ошибок Apache. [Директива «LogLevel» в главном конфигурационном файле Apache — /etc/apache2/apache2.conf, отвечает за уровень логирования в файле error.log]

Часто используемые команды

Запустить Apache:

Остановить Apache:

Статус Apache:

Добавить Apache в автозагрузку:

Удалить Apache из автозагрузки:

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

Проверка конфигурации Apache на ошибки [В ответ вы получите «сообщение об ошибке» или «Syntax OK» — отсутствие ошибок и синтаксисе]:

Версия Apache:

источник

Contents

Share

Sign up for our newsletter.

Get the latest tutorials on SysAdmin and open source topics.

Related

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

Введение

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

В этом руководстве мы расскажем, как установить веб-сервер Apache на ваш сервер с Ubuntu 18.04.

Необходимые условия

Перед тем, как начать следовать шагам, описанным в этом руководстве, вам необходимо настроить отдельный, не-рутовый (non-root) профиль пользователя на вашем сервере с Ubuntu 18.04. Кроме того, вам потребуется настроить базовый файрвол для блокирования всех портов, кроме необходимых для работы Apache. Вы можете ознакомиться с процессом настройки аккаунта пользователя и настройкой файрвола на вашем сервере следуя шагам нашего руководства по первичной настройке сервера на Ubuntu 18.04.

После завершения создания аккаунта войдите на ваш сервер с помощью вновь созданного пользователя.

Шаг 1 — Установка Apache

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

Давайте начнём с обновления локального индекса пакетов:

Далее установим пакет apache2 :

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

Шаг 2 — Настройка файрвола

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

В процессе установки Apache регистрирует себя в конфигурации UFW, создавая несколько профилей приложения, которые могут быть использованы для включения и отключения доступа к Apache через файрвол.

Выведем профили приложений ufw следующей командой:

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

Как видно из этого вывода, для Apache доступно три профиля:

  • Apache: этот профиль открывает порт 80 (обычный, не шифрованный веб-трафик).
  • Apache Full: этот профиль открывает порты 80 (обычный, не шифрованный веб-трафик) и 443 (трафик шифруется с помощью TLS/SSL).
  • Apache Secure: этот профиль открывает только порт 443 (трафик шифруется с помощью TLS/SSL).

Рекомендуется включать самый ограниченный профиль, который будет позволять входящий трафик. Поскольку мы не настраивали SSL для нашего сервера в этом руководстве, нам потребуется включить только порт 80:

Вы можете проверить внесённые изменения командой:

В выводе вы должны видеть, что HTTP трафик разрешён:

Как видно из этого вывода профиль был включен для разрешения доступа к веб-серверу.

Шаг 3 — Проверка вашего веб-сервера

После завершения процесса установки Ubuntu 18.04 запустит Apache. Веб-сервер уже должен быть запущен.

Проверим в системе инициализации systemd , что сервис работает, следующей командой:

Как видно из представленного вывода, сервис выглядит работающим корректно. Тем не менее, самый надёжный способ проверить работу Apache — это запросить веб-страницу.

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

Введите следующую команду:

Она вернёт несколько адресов, разделённых пробелами. Вы можете попробовать каждый из них в вашем веб-браузере.

Другой способ заключается в использовании команды, которая позволяет увидеть ваш IP адрес из другого места в сети Интернет:

После того, как вы найдёте IP адрес вашего сервера, введите его в свой веб-браузер:

Вы должны увидеть дефолтную страницу Apache для Ubuntu 18.04:

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

Шаг 4 — Управление процессом Apache

Теперь, когда у вас есть работающий веб-сервер, рассмотрим некоторые базовые команды для управления им.

Для остановки себ-сервера наберите:

Для запуска остановленного сервера наберите:

Для перезапуска сервиса наберите:

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

По умолчанию Apache сконфигурирован на запуск при загрузке сервера. Вы можете отключить такое поведение следующей командой:

Для повторного включения сервиса при загрузке сервера наберите:

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

Шаг 5 — Настройка виртуальных хостов (рекомендуется)

При использовании веб-сервера Apache вы можете использовать виртуальные хосты (аналог серверных блоков в Nginx) для хранения конфигурационных настроек разных сайтов. Это позволяет иметь более одного сайта на одном сервере. В этом руководстве мы будем для примера использовать доменное имя example.com, но вам следует заменить его вашим собственным доменным именем. Для того, чтобы узнать больше о настройке доменных имён в DigitalOcean, рекомендуем ознакомиться с нашим Введением в DNS DigitalOcean.

Читайте также:  Установка пожарных клапанов на сухотрубах

Apache для Ubuntu 18.04 уже имеет один виртуальный хост, включенный по умолчанию, который настроен на отдачу документов из директории /var/www/html . Хотя это и удобно для обслуживания одного сайта, это становится неудобным, когда сайтов несколько. Вместо того, чтобы изменять /var/www/html , давайте создадим новую структуру директорий внутри /var/www для нашего сайта example.com, оставив /var/www/html для показа дефолтной страницы пользователям в случаях, когда клиентский запрос не совпадает ни с одним из настроенных доменных имён.

Создайте директорию для example.com используя флаг -p для создания необходимых родительских директорий:

Далее настройте владельца директории с помощью переменной окружения $USER :

Теперь права должны для корневой директории быть настроены правильным образом при условии, что вы не меняли своё значение umask . На всякий случай мы можем удостовериться в этом командой:

Далее создадим страницу index.html в nano или любом другом текстовом редакторе:

Добавим в файл следующий HTML:

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

Для того, чтобы Apache мог отдавать этот контент, нам необходимо настроить виртуальный хост с корректными настройками. Вместо того, чтобы редактировать существующий файл виртуального хоста /etc/apache2/sites-available/000-default.conf , создадим новый файл для нашего сайта — /etc/apache2/sites-available/ example.com .conf :

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

Обратите внимание, что мы обновили DocumentRoot на адрес нашей новой директории, и ServerAdmin на адрес электронной почты, доступный для администратора example.com. Мы также добавили две директивы: ServerName , которая устанавливает базовое доменное имя, которое должно использоваться для хоста, а также ServerAlias , которая определяет другие имена, которые должны использоваться для отображения хоста так же, как и базовое доменное имя.

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

Теперь активируем профиль сайта с помощью утилиты a2ensite :

Деактивируем дефолтный сайт, определённый в 000-default.conf :

Далее проверим наши настройки на наличие ошибок:

Вы должны увидеть следующий вывод:

Перезапустите Apache для применения внесённых изменений:

Теперь Apache должен работать с вашим доменным именем. Вы можете проверить это введя http:// example.com в вашем браузере, где в результате вы должны увидеть что-то в этом роде:

Шаг 6 — Важные файлы и директории Apache

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

Контент

  • /var/www/html : фактический веб-контент, который по умолчанию состоит только из дефолтной страницы Apache, которую мы видели ранее, хранится в директории /var/www/html . Это может быть изменено в конфигурационных файлах Apache.

Конфигурация сервера

  • /etc/apache2 : это конфигурационная директория Apache. Все файлы конфигурации Apache находятся здесь.
  • /etc/apache2/apache2.conf : главный конфигурационный файл Apache. Изменения в этом файле влияют на глобальную конфигурацию Apache. Этот файл отвечает за загрузку многих других файлов из конфигурационной директории.
  • /etc/apache2/ports.conf : этот файл определяет порты, которые Apache будет слушать. По умолчанию Apache слушает порт 80, а также порт 443 при условии, что модуль для работы с SSL включен.
  • /etc/apache2/sites-available/ : в этой директории хранятся файлы виртуальных хостов. Apache не использует файлы из этой директории, если ссылки на них нет в директории sites-enabled . Обычно настройка всех файлов виртуальных хостов осуществляется в этой директории, а активация хоста происходит путём создания ссылки в другой директории командой a2ensite .
  • /etc/apache2/sites-enabled/ : директория, в которой хранятся активированные виртуальные хосты. Обычно это делается путём создания ссылки на файл конфигурации хоста из директории sites-available с помощью команды a2ensite . Apache читает конфигурационный файлы и ссылки из этой директории при запуске или перезапуске.
  • /etc/apache2/conf-available/ , /etc/apache2/conf-enabled/ : эти директории связаны друг с другом так же, как и sites-available и sites-enabled связаны друг с другом, но используются для хранения фрагментов конфигурации, которые не принадлежат виртуальным хостам. Файлы в директории conf-available могут быть включены командой a2enconf и выключены командой a2disconf .
  • /etc/apache2/mods-available/ , /etc/apache2/mods-enabled/ : эти директории содержат, соответственно, доступные и активные модули. Файлы, оканчивающиеся на .load , содержат фрагменты для загрузки конкретных модулей, а файлы, оканчивающиеся на .conf , содержат настройки этих модулей. Модули можно активировать командой a2enmod и деактивировать командой a2dismod .

Серверные логи

  • /var/log/apache2/access.log : по умолчанию каждый запрос к вашему веб-серверу записывается в этом файле, если только Apache не настроен на другое поведение.
  • /var/log/apache2/error.log : по умолчанию все ошибки записываются в этот файл. Директива LogLevel в конфигурации Apache определяет, насколько детальными должны быть записи об ошибках.

Заключение

Теперь, когда ваш веб-сервер установлен, у вас есть множество вариантов того, что делать дальше. Если вы хотите построить более полный стек приложений, вы можете ознакомиться с нашим руководством по установке и настройке стека LAMP на Ubuntu 18.04.

источник

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