Управление модулями
После установки нужно подключить необходимые модули, для стабильной работы.
Произвести включение модуля можно командой:
a2enmod <имя модуля>
Отключение модуля:
sudo a2dismod <имя модуля>
После включения или отключения модулей необходимо выполнить перезагрузку apache:
sudo systemctl restart apache2
Включаем необходимые модули, которые не включены:
sudo a2enmod expires
sudo a2enmod headers
sudo a2enmod rewrite
sudo a2enmod ssl
Модули как expires и headers снижают загруженность сервера. Модуль expiries задает время, для браузера на которое должен кэшироваться полученная страница.
Модуль Rewrite даёт возможность применять запрашиваемые URL на лету, это актуально для создания ЧПУ ссылок и т д.
А модуль ssl нужен для шифрования трафика по средствам SSL сертификата. После включения и отключения модулей не забывайте делать перезагрузку apache2 и также после внесения изменений в конфигурационных файлах.
Создаем свой файл настроек
Начиная с версии Ubuntu Saucy (13.10) свои настройки следует писать в директории: /etc/apache2/conf-available, активировать настройки следует с помощью команды a2enconf.
Создадим свой файл настроек myconf.conf, в директории /etc/apache2/conf-available, что бы все работало и мог читаться файл настроек .htaccess, по умолчанию при установке эти настройки отключены, запишем в него свои настройки:
nano /etc/apache2/conf-available/myconf.conf
Вставим следующий код:
<IfModule dir_module>
DirectoryIndex index.php index.html index.htm index.shtml index.html.var
</IfModule>
<Directory />
AllowOverride All
Options -Indexes +Includes +FollowSymLinks
Require all granted
</Directory>
<Directory /var/www/>
Options -Indexes +Includes +FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Сохраняем и закрываем файл.

Активируем файл настроек:
a2enconf myconf.conf
Перезапустите Apache:
systemctl restart apache2
Directory задает настройку прав доступа к любой директории файловой системы.
AllowOverride – определяет нужно ли позволять читать .htaccess файлы в указанной директории, это файлы настроек и аналогичным синтаксисом. All – разрешено все, None – задает значение не читать эти файлы.
DocumentRoot – задает значение из какого каталога подгружать файлы для показа посетителям сайта.
Options – задает политики доступа веб-сервера какие предоставить разрешения предоставить тот или иной доступ в указанной директории. Для примера рассмотрим значение, All – разрешает все, FollowSymLinks – разрешен переход по символическим ссылкам.
Indexes – отображает содержимое указанного каталога при отсутствии файла index.
Require – устанавливает политики доступа к этому каталогу. Require all denied – запрещено всем, Require all granted – разрешено всем. Применимо использование вместо all значение user или group чтобы явно задать политику подключения пользователя, как показано на примере ниже.
Order – позволяет управлять доступом к указанной выше директории. Применимы два значения Allow, Deny – разрешить для всех, кроме указанных или Deny, Allow – запретить для всех, кроме разрешенных.
На данном этапе Apache готов работать с файлом .htaccess. Нужные модули подключены, также можно внести все настройки в главный файл конфигурации, который находится в директории /etc/apache2/ .
sudo nano /etc/apache2/apache2.conf
На следующей странице сайта будет описано как настроить виртуальный хост и подключить файл из папки includes, создать файл .htaccess, и настроить директории сайта.