Debian apache включить модуль

Обновлено: 04.07.2024

Откуда пошло название Apache

Тут имеет место анаграмма. Apache назван в честь племён сервероамериканских индейцев Апачей, в английском языке название звучит также как a patchy server, что означает свободный сервер

Установка Apache

Чтобы установить Apache на Debian или Ubuntu, прописываем в консоль:

Если вы работаете не под root, не забывайте про sudo, например: sudo apt-get install apache2

Использование Apache

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

Где расположен Apache

Во FreeBSD файлы Apache вы можете найти в директории /usr/local/etc/apache(тут расположены цифры, соответствующие версии вебсервера)

В Debian и Ubuntu директория располагается в /etc/apache2

Файл конфигурации Apache

Apache имеет 3 уровня конфигурирования

Пример корневого (главного) конфигурационного файла apache2.conf

В данном случае, Apache висит на порту 8080 и принимает данные с проксирующего сервера NGINX, который, в свою очередь, висит на порту по умолчанию 80

Пример файла виртуального хоста конкретного сайта example.conf

Использование модулей в Apache

Пожалуй, Apache наиболее знаменит за возможность использовать различные модули в своей работе.

Сами же модули находятся в следующих директориях:

Чтобы включить модуль, в Apache существует команда a2enmod .
Чтобы отключить модуль, воспользуйтесь командой a2dismod

И перезагрузим Апач, чтобы изменения вступили в силу:

Как использовать mod_rewrite

Вот пример .htaccess WordPress

Если необходимы подробные примеры или решение проблем относительно Apache, пишите вопросы в комментариях, рассмотрим подробнее

Редирект с www на без www без mod_rewrite

Конечно, можно воспользоваться .htaccess , чтобы прописать редирект, но вот в чём дело:

Как скрыть версию Apache

Пропишите следующие строки в главном конфигурационном файле Apache

Они скроют версию сервера

Как перезагрузить Apache

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

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

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

Что такое модуль Apache?

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

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

Как включить Apache?

Как я уже сказал, установка модулей apache может выполняться разными способами, например, с помощью пакетного менеджера или даже компилировать вручную. Но чтобы их загрузить, Apache должен знать где находится динамическая библиотека и основные настройки чтобы правильно загрузить модуль.

Обычно в папке конфигурации Apache, например, /etc/apache/mods-available находится файл модуля, в котором импортируется его библиотека и указываются настройки. Таким образом, чтобы включить модуль будет достаточно перенести файл с его конфигурацией в папку, из которой конфигурация загружается при старте Apache. Например, в /etc/apache2/mods-enabled. Сначала посмотрим список модулей apache:

sudo apachectl -M

Так посмотреть модули apache вы можете в Ubuntu и основанных на ней дистрибутивах, в других системах расположение файлов и команды могут отличаться, но суть та же самая, адрес библиотеки модуля должен быть включен в основную конфигурацию, неважно каким способом. В Ubuntu также есть утилиты для автоматического копирования файлов куда нужно при активации модуля, это a2enmod. Например, включим модуль rewrite:

sudo a2enmod rewrite

Или отключаем:установка модулей apache

sudo a2dismod rewrite

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

Лучшие модули Apache

1. PageSpeed

Модуль PageSpeed - позволяет оптимизировать работу веб-сервера и ускорить загрузку контента. Он поддерживает сжатие данных, кэширование, изменение размера файлов и удаление лишних пробелов и символов из файлов. Модуль разработан в Google для увеличения скорости загрузки контента. Для установки модуля в Ubuntu выполните такие команды:

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

sudo apachectl -M | grep pagespeed

Конфигурационный файл находится по адресу /etc/apache2/mods-available/pagespeed.conf, здесь вы можете настроить различные дополнительные настройки.

2. Security

Модуль mod_security добавляет дополнительный уровень защиты с помощью отклонения определенных видов трафика на основе правил и фильтров. Это программный фаервол, который позволяет защитить ваш веб-сервер от некоторых уязвимостей и проблем. Установить этот модуль можно из официальных репозиториев:

sudo apt install libapache2-modsecurity

Затем модуль нужно активировать, например, с помощью a2enmod:

sudo a2enmod mod-security

Конфигурационный файл находится в папке /etc/apache2/mod-security.conf, также на него указывает символическая ссылка из /etc/modsecurity. Настройте правила в зависимости от ваших потребностей и особенностей сайта. Затем активируйте защиту изменив значение SecRuleEngine от DetectionOnly, на On:

Не забудьте перезапустить веб-сервер для остаточной активации модуля.

3. Status

Это один из самых полезных и простых модулей, который установлен по умолчанию вместе с Apache. С помощью mod_status вы можете оценить нагрузку на сервер, а также количество запросов. Конфигурационный файл находится в папке /etc/apache2/mods-available:

sudo vi /etc/apache2/mods-available/status.conf

Здесь, в секции Locaction необходимо добавить строку Allow from с вашим IP адресом, из которого будет доступ к статистике:

<Location /server-status>
SetHandler server-status
Order deny,allow
Deny from all
Allow from 127.0.0.1 ::1
Allow from ваш_ip_адрес
</Location>

Затем сохраните изменения и перезагрузите Apache. Теперь, чтобы посмотреть статистику будет достаточно открыть в браузере:

Здесь вы найдете множество полезной информации о нагрузке на сервер.

4. Spamhaus

Spamhaus - это модуль, который позволяет блокировать запросы от IP адресов, которые считаются адресами хакеров. Вы можете установить модуль spamhaus из официальных репозиториев с помощью команды:

sudo apt install libapache2-mod-spamhaus

sudo a2enmod mod-spamhauspamhaus-drop.git
sudo systemctl restart apache2

5. Rewrite

Это один из самых популярных и самых используемых модулей Apache, его применяют большинство сайтов. Он позволяет генерировать легко читаемые URL для документов, выполнять редиректы и различным образом преобразовывать содержимое запросов. Настройка модуля rewrite рассматривалась в отдельной статье. Модуль установлен по умолчанию, но в некоторых дистрибутивах его необходимо активировать:

sudo a2enmod rewrite
sudo systemctl restart apache2

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

Выводы

В этой статье мы рассмотрели основные модули Apache, которые вы можете использовать. Но это далеко не полный список. Постоянно создаются новые модули, которые позволяют расширить возможности программы и изменить ее стандартное поведение. Но имейте в виду, что чем больше кода вы добавляете к серверу, тем больше расходы ресурсов и тем больше вероятность, что в коде есть критическая ошибка. Выбирайте только хорошо проверенные модули, которые используются большим количеством пользователей.

Apache – самый популярный веб-сервер в сети Интернет, который обслуживает больше половины активных сайтов.

В этой статье мы рассмотрим общие конфигурационные файлы и основные параметры Apache в системе Ubuntu/Debian

Примечание: Файлы Apache отличаются в зависимости от дистрибутива, потому эта статья не подходит пользователям RHEL.

Установка Apache в Ubuntu/Debian

Если веб-сервер Apache ещё не установлен, используйте команды:

sudo apt-get update
sudo apt-get install apache2

Чтобы убедиться, что установка прошла успешно, откройте в браузере IP-адрес своего сервера. На экране должна появиться приветственная страница Apache:

It works!
This is the default web page for this server.
The web server software is running but no content has been added, yet.

Иерархия файлов Apache

В Ubuntu и Debian Apache хранит конфигурационные файлы в папке /etc/apache2.

Эта папка содержит ряд простых текстовых файлов и подкаталогов. Наиболее важные из них:

  • apache2.conf: главный конфигурационный файл сервера. В нём можно выполнить почти все конфигурации.
  • ports.conf: этот файл задаёт порты, которые прослушиваются виртуальными хостами. Проверьте этот файл при настройке SSL.
  • conf.d/: этот каталог управляет отдельными аспектами конфигурации Apache. К примеру, с его помощью часто определяется конфигурация SSL и стандартная политика безопасности.
  • sites-available/: этот каталог хранит все доступные виртуальные хосты, которые определяют, какой контент будет обслуживаться на сайте. Эти хосты не активны.
  • sites-enabled/: этот каталог определяет активные виртуальные хосты. Как правило, он содержит символические ссылки на файлы, определенные в каталоге sites-available.
  • mods-[enabled,available]/: эти каталоги работают по тому же принципу, что и sites-available и sites-enabled. Они хранят модули.

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

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

Основные настройки Apache хранятся в /etc/apache2/apache2.conf.

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

В Ubuntu и Debian большая часть файла отведена под глобальные настройки, а конфигурация сервера по умолчанию и настройки виртуальных хостов обрабатываются в конце файла с помощью директивы Include.

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

В конце файла вы найдёте множество настроек Include. Они определяют модули, добавляют документ ports.conf, определённые файлы из каталога conf.d/ и настройки виртуальных хостов из каталога sites-enabled/.

Сосредоточимся на глобальных настройках веб-сервера Apache.

Глобальные настройки Apache

Данный раздел рассматривает важные параметры глобальных настроек Apache.

Timeout

По умолчанию этот параметр имеет значение 300. Это значит, что на выполнение каждого запроса у сервера есть максимум 300 секунд. В большинстве случаев это значение очень большое, и его рекомендуют уменьшить до 30-60 секунд.

KeepAlive

Если этот параметр имеет значение On, сервер позволит клиенту запрашивать несколько объектов в рамках одного соединения. Если параметр имеет значение Off, то каждый новый запрос будет создавать индивидуальное соединение. Такое поведение может привести к перенагрузке сайта с большим трафиком.

MaxKeepAliveRequests

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

Значение 0 позволит веб-серверу обрабатывать неограниченное количество запросов в рамках одного соединения.

KeepAliveTimeout

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

Настройки MPM

Далее идут параметры MPM (Multi-Processing Module).

Чтобы узнать, с помощью каких модулей был скомпилирован Apache, откройте терминал и наберите:

Как видите, в данном случае веб-сервер скомпилирован с модулем prefork.c и файлом apache2.conf.

Конфигурации виртуальных хостов

Стандартный виртуальный хост находится в файле default в каталоге sites-available.

Чтобы ознакомиться с общим форматом виртуального хоста, откройте этот файл:

sudo nano /etc/apache2/sites-available/default
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
. . .

По умолчанию виртуальный хост обрабатывает запросы на порте 80.

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

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

Эти параметры устанавливаются в разделе Virtual Host и применяются ко всему виртуальному хосту.

Параметр ServerAdmin указывает контактный адрес электронной почты, который будет использоваться в случае возникновения проблем на сервере. Этот адрес можно вставить на страницу ошибки. Для этого параметр ServerSignature (в файле /etc/apache2/conf.d/security) должен иметь значение Email.

Директива ServerName задаёт доменное имя или IP-адрес сервера. Это индивидуальный параметр каждого виртуального хоста, который может переопределить настройки по умолчанию, если он совпадает со значением ServerName.

Настройки каталогов

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

Сначала виртуальный хост предлагает набор правил для каталога / (root-каталог). Этот раздел обеспечит базовую конфигурацию виртуального хоста, поскольку он относится ко всем файлам, которые обслуживаются в файловой системе.

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

<Directory />
Options FollowSymLinks
AllowOverride None
Order Deny,Allow
Deny from All
</Directory>

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

Далее идут настройки каталога document root, в которых параметр allow from all переопределяет параметры каталога /.

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

Настройки Alias и ScriptAlias

Иногда перед разделом Directory идут параметры Alias и ScriptAlias.

Директива Alias позволяет добавлять к обслуживаемому контенту каталоги вне DocumentRoot.

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

Alias /content/ /path/to/content/

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

Включение сайтов и модулей в Apache

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

sudo a2ensite файл_виртуального_хоста

Включив сайт, перезапустите Apache, чтобы веб-сервер перечитал конфигурации:

sudo service apache2 reload

Чтобы отключить виртуальный хост, нужно удалить символьную ссылку из sites-enabled:

sudo a2dissite файл_виртуального_хоста

После этого нужно снова перезапустить веб-сервер:

sudo service apache2 reload

Включить и отключить модуль Apache можно с помощью следующих команд (соответственно):

Они работают так же, как и ранее упомянутые команды a2ensite иa2dissite. После включения или отключения модуля нужно перезапускать веб-сервер.

Заключение

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

Если вам нужна дополнительная информация о веб-сервере, обратитесь к официальной документации Apache.

Включение модулей Apache на VPS в Debian,Ubuntu

Всем привет! Недавно был ап тиц, который прошел для меня очень даже неожиданно, так как Яндекс впервые за 6 месяцев, дал блогу первую 10-ку. Почему неожиданно? Потому что работа по увеличению ссылочной массы не велась более 4 месяцев.

Но сегодня пост будет о том, как включить модули apache, которые необходимы для стабильной работы сайта. Тема для поста всплыла после того как плагин кэширования для WordPress, под названием wp super cache, потребовал включить следующие модули apache: mod_headers, mod_expires, на моем только что купленном VPS. Это будет так сказать, своеобразная настройка apache по наши нужды.

Для начала нам надо зайти на сервер по SSH. Как обычно пользоваться мы будем программой Putty, которую можно скачать в сети интернет совершенно бесплатно.

Открываем программу Putty и вводим IP адрес вашего сервера:


После нажатия на кнопку open у нас откроется окно терминала, в котором нужно ввести логин и пароль (пользователь root).

Ввод логина и пароля:


После ввода логина и пароля нажимаем enter и вводим следующую команду. Для включения модулей apache используется команда – a2enmod. А для отключения используется команда – a2dismod.

Включение модуля Apache:

Отключение модуля Apache:

После внесения нужных вам изменений в apache, всегда перезагружайте его.

На сегодня это всё друзья. До скорых встреч!

А как у вас прошел ап тиц?

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

Настраиваем веб-сервер на базе Apache в Debian / Ubuntu Server

Веб-сервер Apache без преувеличения можно назвать стандартом де-факто в интернет. Большинство популярных систем управления сайтами и иных веб-приложений разрабатываются таким образом, чтобы работать с данным веб-сервером "из коробки". Поэтому, если вам нужен веб-сервер широкого применения, то Apache будет лучшим выбором. В данной статье мы расскажем, как установить и настроить полноценный веб-сервер на базе Debian / Ubuntu Server.

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

Кроме самого веб-сервера нам понадобится система управления базами данных, в данной отрасли стандартом де-факто давно является MySQL, и один из скриптовых языков для работы веб-приложений, на сегодняшний день пальму первенства уверенно держит PHP. Все вместе образует классическую связку, именуемую еще LAMP-сервер, аббревиатура расшифровывается как: Linux - Apache - MySQL - PHP.

Для установки мы будем использовать платформу Debian / Ubuntu. Системы, в зависимости от релиза, отличаются набором ПО, но все изложенное ниже будет одинаково применимо к любой из них. Существующие отличия будут оговорены отдельно. На момент написания статьи актуальны следующие релизы систем и версии ПО:

  • Debian 8 Jessie: Apache 2.4.10, PHP 5.6.7, MySQL 5.5.43
  • Debian 7 Squeeze: Apache 2.2.22, PHP 5.4.39, MySQL 5.5.43
  • Ubuntu Server 14.04 LTS: Apache 2.4.7, PHP 5.5.9, MySQL 5.5.43
  • Ubuntu 12.04 LTS: Apache 2.2.22, PHP 5.3.10, MySQL 5.5.43

Все вышеуказанные выпуски содержат относительно современные версии ПО, но есть некоторые особенности. Так входящий в состав Ubuntu 14.04 и Debian 8, Apache 2.4 имеет достаточно серьезные отличия от Apache 2.2 и не все CMS (системы управления контентом, "движки") и веб-приложения умеют работать с ним, особенно это касается старых версий. Так, например, вы не сможете использовать Apache 2.4 для веб-доступа к базам 1С:Предприятие. Поэтому, если вы решили выбрать версию 2.4 - уточните совместимость с нею всех планируемых к размещению CMS и веб-приложений.

Кроме того, MySQL из состава Ubuntu Server 12.04 / 14.04 не работает внутри контейнеров OpenVZ, которые широко используются для предоставления услуги VPS. Проблема решается заменой MySQL из репозитория на версию от MySQL Community (разработчики) или один из форков, например, MariaDB.

С учетом вышесказанного оптимальным выбором нам представляется использование в качестве платформы веб-сервера Debian 7, как наиболее совместимую с существующими веб-приложениями и не имеющую серьезных проблем.

Мы не будем останавливаться на установке и подготовке серверной ОС, более подробно вы можете ознакомиться с этим процессом в наших статьях для Debian и Ubuntu Server. Также не забудьте правильно настроить язык и региональные стандарты системы. Все приведенные ниже действия следует выполнять с правами суперпользователя, например, с помощью команды sudo.

Установка Apache

Установка веб-сервера предельно проста:

Для проверки его работы наберите в браузере IP-адрес сервера, и вы увидите стандартную страницу заглушку:

LAMP-Debian-Ubuntu-001.jpg

Для Apache 2.4 она выглядит несколько иначе, но смысл от этого не меняется.

Настройки сервера содержатся в /etc/apache2/apache2.conf, к которому подключаются дополнительные файлы из директорий mods-enabled и sites-enabled. При этом никто не мешает вам внести все указанные настройки непосредственно в apache2.conf - все будет работать, но это резко снижает удобство администрирования, так как требует постоянной правки основного файла конфигурации, в то время как настройки во внешних файлах легко включаются и отключаются при помощи специальных инструментов.

С этой целью каталоги mods-enabled и sites-enabled не содержат файлов конфигурации, а только символические ссылки на директории mods-available и sites-available, где следует располагать сами файлы. Как понятно из названий, в данных каталогах находятся настройки модулей и виртуальных хостов. Если с модулями дело приходится иметь редко, то управлять таким образом виртуальными хостами, т.е. сайтами, очень удобно.

Следующий вопрос, который следует решить, это права доступа к файлам и папкам сайта. По умолчанию их владельцем должен являться веб-сервер (пользователь и группа www-data), в противном случае скрипты могут работать неожиданным образом или не работать вообще. Более удобно и безопасно запускать содержимое сайтов от имени пользователя, а не веб-сервера. Для этого установим следующий пакет:

В Ubuntu 14.04 при установке данного пакета вы можете столкнуться с ошибкой:

Это известный баг, для его исправления выполните:

Если мы заглянем в папку sites-enabled, то увидим там уже готовую конфигурацию для сайта по умолчанию, т.е. того, что будет показано при наборе IP-адреса сервера. Данная настройка указывает на папку /var/www или /var/www/html для Apache 2.4, где расположена страница заглушка. После того как вы добавите свои сайты, выводиться будет первый по списку сайт.

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

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

Внутри разместите следующий текст:

Разберем содержимое более подробно. Начинается секция виртуального хоста с ее определения <VirtualHost 1.2.3.4:80>, где указывается IP-адрес и порт, на котором данный хост работает, если вы хотите принимать соединения на всех сетевых интерфейсах, то вместо адреса поставьте "звездочку" - *. Внутри секции располагаются следующие директивы:

  • ±Includes - разрешает / запрещает SSI (Server Side Includes -- включения на стороне сервера), в нашем случае выключено в целях безопасности. Имеет смысл включать только в том случае, если ваш сайт явно требует данной опции.
  • ±Indexes - разрешает / запрещает показывать содержимое каталога при отсутствии индексного файла, отключено в целях безопасности.
  • ±ExecCGI - разрешает / запрещает выполнение сценариев CGI, отключаем в целях безопасности.

За ней следует директива AllowOverride, которая устанавливает использование директив из файлов .htaccess, по умолчанию сервер устанавливает для /var/www данную директиву в None, что запрещает использовать директивы .htaccess во всех вложенных директориях. Для того чтобы разрешить использование директив .htaccess установите данную директиву в All, что разрешит использовать в .htaccess любые директивы.

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

Закрываем открытые секции: </Directory> и </VirtualHost>, затем сохраняем файл. Конфигурация виртуального хоста готова.

Чтобы включить сайт необходимо сделать символьную ссылку на файл конфигурации в каталоге sites-enabled, а, чтобы выключить - удалить эту ссылку. Это можно сделать вручную, при помощи команды ln -s, или использовать специальную утилиту apache:

Данная команда включит сайт, для выключения введите:

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

Чтобы проверить работу виртуального хоста разместите в его корневой директории любой html-файл и обратитесь к серверу по имени домена (при этом А-запись домена должна быть настроена и указывать на ваш веб-сервер).

Например, создадим индексный файл:

И разместим в нем строку:

В итоге в браузере вы должны увидеть следующее:

LAMP-Debian-Ubuntu-002.jpg

Установка PHP

Если веб-сервер был нужен вам для размещения статического содержимого или сторонних веб-приложений, например, публикации баз 1С:Предприятия, то дальше можно не читать. Но если вы собираетесь создать сайт на основе популярных CMS - вам потребуется поддержка скриптового языка PHP, на базе которого разработаны большинство современных "движков".

Важно! В современных дистрибутивах используется более новая версия PHP7, чтобы работать с новой версией языка вместо php5 в приведенных ниже командах следует указывать php7.x или просто php, например, вместо php5-imagick нужно набрать php7.0-imagick или php-imagick.

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

По умолчанию PHP устанавливается с базовым набором модулей, который удовлетворяет большинство потребностей, однако применяемая вами CMS может требовать дополнительных модулей, которые нужно будет установить отдельно.

Например, для работы с графикой вам потребуется поддержка графической библиотеки GD2, поэтому установим соответствующий модуль:

После чего не забудьте перезапустить веб-сервер:

Кстати, GD2, на наш взгляд не самый лучший выбор, в актив библиотеки можно записать низкое потребление ресурсов и высокую скорость работы, но по качеству работы с изображениями она уступает альтернативной утилите imagemagick, иногда значительно. Поэтому имеет смысл установить обе утилиты и выбрать ту, работа которой наиболее вам подойдет. Если ресурсы сервера позволяют, то предпочтительно использовать imagemagick.

Установим утилиту и модуль PHP для нее:

Для проверки работы PHP создадим в корневой директории сайта специальный скрипт:

И внесем в него следующий текст:

Миниатюра изображения для LAMP-Debian-Ubuntu-003.jpg

Установка MySQL

СУБД MySQL - третий необходимый компонент полноценного веб-сервера, основное назначение базы данных - хранение информации сайта, как пользовательской, так и служебной. При этом по важности СУБД превосходит все остальные компоненты, так как потеря базы данных равносильна потере всей информации вашего ресурса.

Установим сервер баз данных и модуль PHP для работы с ним:

Важно! В свежих выпусках Debian (и его производных) вместо пакета mysql-server следует установить mariadb-server, который полностью совместим с MySQL.

В процессе установки вам будет предложено ввести пароль для суперпользователя MySQL (root), которого не следует путать с суперпользователем системы.

LAMP-Debian-Ubuntu-004.jpg

Для удобного управления базами данных имеет смысл установить phpMyAdmin - удобную веб-утилиту для управления сервером MySQL:

LAMP-Debian-Ubuntu-005.jpg

В Ubuntu 14.04 мы столкнулись с небольшой проблемой, утилита сообщила нам, что расширение mcrypt не найдено, хотя соответствующий модуль PHP был установлен среди зависимостей.

LAMP-Debian-Ubuntu-006.jpg

Проверим. В /etc/php5/apache2/conf.d ссылка на данный модуль отсутствует, в то время как в /etc/php5/mods-available нужный файл есть. Следовательно, модуль установлен, но, по какой-то причине, не подключен. Возможно это связано с Apache 2.4 и тогда подобная ситуация может иметь место и в Debian 8.

Однако ничего страшного не произошло, все что нам нужно - это подключить модуль, создав символьную ссылку:

LAMP-Debian-Ubuntu-007.jpg

Никаких дополнительных настроек MySQL сервер не требует, благо кодировка UTF-8 стала стандартом де-факто. В принципе на этом можно закончить, но все базы данных размещаемые на сервере будут работать с правами суперпользователя MySQL, что небезопасно. Поэтому следует создать пользователей сервера баз данных с ограниченными правами, чтобы они могли управлять только своими базами.

Откроем phpMyAdmin и перейдем на страницу Привилегии (Пользователи), где выберем Добавить нового пользователя.

LAMP-Debian-Ubuntu-009.jpg

Это позволит лишний раз не отвлекаться на установку прав, а просто создавать базы с именами вида ivanov_base1 или petrov_base2, предоставляя соответствующим пользователям полные права на них, а также быстро определять принадлежность баз данных. В тоже время данная настройка не является догмой, вы можете поступать на свое усмотрение. Остальные параметры оставляем по умолчанию.

Для проверки создадим базу данных phpMyAdmin - Базы данных - Новая база данных.

LAMP-Debian-Ubuntu-010.jpg

При создании БД обращайте внимание на кодировку. Сегодня большинство движков и веб-приложений работают с UTF-8 (utf8_general_ci), однако старые версии движков могут использовать национальные кодировки, поэтому нужно будет правильно указать их еще на стадии создания базы, в противном случае, залив в базу, созданную в UTF-8 дамп в кодировке Windows-1252 вместо русских букв на сайте окажутся "крякозяблики".

LAMP-Debian-Ubuntu-011.jpg

Создав базу, проверим ее привилегии, нажав одноименную ссылку рядом с именем базы.

LAMP-Debian-Ubuntu-012.jpg

Как видим, все правильно, полные права на базу имеет указанный в имени пользователь и суперпользователь root, хотя никаких настроек доступа при создании базы мы не указывали.

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

Читайте также: