вторник, 30 августа 2016 г.

Настройка веб-сервера LAMP в Ubuntu 16.04

LAMP logo
В начале весны была опубликована статья Установка веб-сервера LAMP и PhpMyAdmin в Ubuntu 16.04. Сейчас расскажу про довольно популярные настройки:
  • Изменение максимальный размера закачиваемого файла;
  • Включение модуля mod_rewrite в Apache.

Ограничение на максимальный размер загружаемых файлов


Рассмотрим пример, я захотел восстановить базу данных, импортируя сделанный раннее бэкап. Захожу в PhpMyAdmin, создаю пользователя с базой данной и начинаю импортировать файл, но вижу ограничение на размер загружаемого файла в 2 Мб, а мой бекап имеет размер около 8 Мб.


Максимальный размер изменяется в настройках php по адресу /etc/php/7.0/apache2/php.ini . Здесь нужно обратить внимание на три параметра: upload_max_filesize, post_max_size и memory_limit:
  • upload_max_filesize - максимальный размер закачиваемого файл;
  • post_max_size - устанавливает максимально допустимый размер данных, отправляемых методом POST. Это значение также влияет на загрузку файлов.
  • memory_limit - Эта директива задает максимальный объем памяти в байтах, который разрешается использовать скрипту. Это помогает предотвратить ситуацию, при которой плохо написанный скрипт съедает всю доступную память сервер.
Для правильной работы apache сервера должно выполняться upload_max_filesize <= post_max_size <= memory_limit.

Для правки конфиг. файла открываем терминал и выполняем команду:

sudo pluma /etc/php/7.0/apache2/php.ini

Далее поиском находим необходимые директивы и изменяем их параметры, я выставил следующие значения:

upload_max_filesize = 96M
post_max_size = 128M
memory_limit = 256M

Сохраняем файл и закрываем текстовый редактор. Затем перезагружаем apache сервер командой:

sudo service apache2 reload

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


В качестве пример будет выступать Joomla. На localhost'е поставил дефолтную Joomla с примером блога. При переходе на страницу About видим вставку index.php  в адресе страницы http://localhost/study/index.php/about . Адреса страниц можно сделать чистыми, без index.php, так страница About будет иметь вид  http://localhost/study/about. И как раз для организации работы чистых ссылок необходимо включение модуля mod_rewrite в Apache.


Для включения mod_rewrite выполняется 4 шага, 2 со стороны Apache и 2 со стороны Joomla:

1) Задействуем модуль mod_rewrite в Apache выполнив команду в терминале:

sudo a2enmod rewrite

2) Правим конфиг. файл apache /etc/apache2/apache2.conf, где меняем во всём документе AllowOverride none на AllowOverride All.

После правок не забываем перезагрузить apache сервер:
sudo service apache2 reload

3) В корне папки Joomla сайта находится файл htaccess.txt, переименовываем его в .htaccess (с точкой в начале).

4) Заходим в панель управления Joomla, где идем в "общие настройки" во вкладку "сайт" и находим здесь раздел "Настройки SEO". Для включения чистых ссылок, выбираем "Да" для "Перенаправление URL":

Сохраняем настройки, после чего проверяем работу mod_rewrite модуля. Заново открыв на сайте Joomla раздел About видим чистую ссылку  http://localhost/study/about, что говорит об успешной работе mod_rewrite модуля.