понедельник, 7 марта 2016 г.

Установка Joomla 3 в Ubuntu 16.04. Часть 1 (Обновлено: 11 августа 2016)

Joomla logo
Joomla является популярным CMS (движоком сайта) с открытым исходным кодом, позволяющий создавать как личные сайты, так и коммерческие. В статье я рассмотрю подготовительные этапы необходимые для установки Joomla в Ubuntu 16.04:




  1. Создание MySQL пользователя с базой данных.
  2. Скачивание и распаковка файлов дистрибутива Joomla в директорию локального хостинга.
  3. Отключение буферизации выхода у php.
  4. Установка php-модуля обеспечивающего поддержу ZIP архивов.

Для работы локального сайта на Joomla в системе должен быть установлен и настроен локальный сервер. В предыдущей статье я рассказал про установку веб-сервера LAMP в Ubuntu 16.04.

В этом руководстве сайт на Joomla будет называться example, и далее в командах example - это имя сайта. Если вы хотите создать сайт под другим именем, то замените в командах example на свое название.

Шаг первый. Создание пользователя MySQL с базой данных.


MySQL пользователя мы создадим с помощью phpMyAdmin. Переходим по ссылке http://localhost/phpmyadmin/ и логинимся. Имя пользователя, по умолчанию, root, пароль создавался во время установки phpMyAdmin.

Войдя в phpMyAdmin, щелкаем по вкладке "Учетные записи пользователей", затем переходим по кнопке-ссылке "Добавить учетную запись пользователя" :

Начинаем создавать MySQL пользователя.
Рис. 1. Начинаем создавать MySQL пользователя.

На странице создания нового пользователя:
  • Указываем имя пользователя через текстовое поле;
  • Имя хоста выбираем "локальный" --- localhost;
  • Создаем пароль и затем его подтверждаем.
  • Ставим галочку: "Создать базу данных с таким же именем и предоставить на неё все привелегии.";
  • Ставим галочку: "Предоставить все привелегии на то, что подпадает под шаблон (имя пользователя\_%).";
  • Ставим галочку: Глобальные привелегии --- отметить все.

Создание MySQL пользователя, верхняя часть страницы.
Рис. 2. Создание MySQL пользователя, верхняя часть страницы.

Создание MySQL пользователя, средняя часть страницы.
Рис. 3. Создание MySQL пользователя, средняя часть страницы.

После ввода параметров и выставления галочек, в самом внизу нажимаем "Вперёд". phpMyAdmin выполнит команды создания нового пользователя:

CREATE USER 'example'@'localhost' IDENTIFIED WITH mysql_native_password AS '***';
GRANT ALL PRIVILEGES ON *.* TO 'example'@'localhost' REQUIRE NONE WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0;
CREATE DATABASE IF NOT EXISTS `example`;
GRANT ALL PRIVILEGES ON `example`.* TO 'example'@'localhost';
GRANT ALL PRIVILEGES ON `example\_%`.* TO 'example'@'localhost';

Успешное создание MySQL пользователя.
Рис. 4. Успешное создание MySQL пользователя.

Пользователь MySQL создан вместе с базой данных с одинаковыми именами: example . Далее выходим из phpMyAdmin и переходим к следующему шагу.

Шаг второй. Размещение Joomla сайта в /var/www/html


Скачать дистрибутив Joomla можно на официальном сайте в разделе Download:  https://www.joomla.org/download.html . На момент написания (обновления) статьи последняя стабильная версия Joomla - 3.6.2 :
Официальный сайт Joomla, раздел Download.
Рис. 5. Официальный сайт Joomla, раздел Download.

Разработка Joomla ведется на GitHub, откуда и берется ссылка для скачивания на официальном сайте Joomla: https://github.com/joomla/joomla-cms/releases

Joomla на github.com .
Рис. 6. Joomla на github.com .

Скачав дистрибутив, предположим в директорию Загрузки, открываем терминал и выполняем последовательно команды:

cd Загрузки/
ls
sudo mkdir /var/www/html/example
sudo unzip Joomla_3.6.2-Stable-Full_Package.zip -d /var/www/html/example
sudo chown -R www-data:www-data /var/www/html/example
sudo adduser $USER www-data
sudo adduser www-data $USER
sudo chmod -R o=rX,gu=rwX /var/www/html/example

С помощью команды cd заходим в директорию Загрузки. Можно воспользоваться командой ls для просмотра списка файлов и папок. mkdir --- создает директорию для Joomla сайта. unzip распаковывает zip архив в директорию указанную через ключ -d. Программа chown рекурсивно (ключ -R) меняет владельца файлов на www-data, это пользователь Apache2.

Три последние команды для новичков, опытные пользователи могут обойтись без них. Первый вызов adduser добавляет текущего пользователя $USER в группу www-data, а второй вызов adduser добавляет www-data в группу текущего пользователя $USER. Программа chmod рекурсивно (ключ -R) меняет права на файлы, теперь вы можете без проблем править и создавать файлы в директориях своего сайта, на работу Apache это никак не повлияет.

Шаг третий. Отключение буферизации вывода


Установщик Joomla рекомендует не использовать буферизацию вывода, которая по умолчанию включена у php в Ubuntu. Можно пропустить этот шаг, ничего страшного не будет.

В Ubuntu 16.04 для отключения буферизации вывода нужно отредактировать файл /etc/php/7.0/apache2/php.ini , в предыдущих релизах Ubuntu правится файл /etc/php5/apache2/php.ini .

В качестве редактора я использую pluma, если вы предпочитаете другой редактор, то в командах замените pluma на свой редактор. Чтобы не нарваться на подводный камень, в начале запустим pluma без прав администратора на несколько секунд:

pluma

Далее открываем файл /etc/php/7.0/apache2/php.ini в редакторе с правами администратора:

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

В открывшимся конфигурационном файле ищем строчку:

output_buffering = 4096

И изменяем ее на следующую:

output_buffering = off

Отключение буферизации вывода
Рис. 7. Отключение буферизации вывода.

Сохраняем и выходим из редактора. В заключение, перезагружаем Apache2 сервер:

sudo service apache2 reload

На этом первая часть статьи подошла к концу. В следующей части я рассмотрю саму установку Joomla.

Шаг четвёртый. Установка php-модуля обеспечивающего поддержу ZIP архивов


Joomla рекомендует использовать модуль php обеспечивающий поддержу ZIP архивов. Здесь ничего сложного, модуль устанавливается командой:

sudo apt-get install php7.0-zip