22.04.2016

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

Сразу надо оговориться, что Codio даёт не голую ось, а слегка подготовленную:

  1. При создании проекта можно использовать LAMP сборку Ubuntu, что вы так же можете сделать при установке новой Ubuntu.
  2. При создании проекта сразу же заводится виртуальный хост, смотрящий в папку ~/workspace/. Что так же не проблема, т.к. после установке Ubuntu LAMP, у вас так же будет виртуальный хост, просто в другом месте /var/www/default/, который будет откликаться на следующий запрос http://ваш.IP.арес.сервера/.

Учитывайте эти 2 пункта при прочтении ниже описанных шагов по установке MODx Evolution.

Создание базы данных и пользователя

Заходим под root-ом в mysql, что бы начать работу (консоль запросить пароль):

$ mysql -u root -p

Создаём базу данных, указывая в явном виде, что должна использоваться кодировка utf8, т.к. по умолчанию, если ничего не менять в настройках, mysql для вновь созданных баз использует latin1.

mysql> CREATE DATABASE `имя_базы_данных` CHARACTER SET utf8 COLLATE utf8_general_ci;

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

mysql> GRANT ALL PRIVILEGES ON `имя_базы_данных`.* TO 'имя_пользователя'@localhost IDENTIFIED BY 'пароль' WITH GRANT OPTION;

Выходим из консоли mysql:

mysql> EXIT;

Установка MODx Evolution

После того как скачаете и загрузите в корневую папку сайта zip-архив с последней версией MODx Evolution (в моём случае это была версия 1.1.0), надо установить утилиту для разархивирования скачанного:

$ sudo apt-get install unzip

Распаковываем архив с системой управления:

$ unzip evolution-1.1.0-pl.zip

В архиве файлы, которые должны лежать в корне папки используемой будущим сайтом, еще обернуты в папку, в моем случае это evolution-1.1. Перенесём все файлы и избавимся от ненужной папки:

$ mv evolution-1.1/{*,.*} /var/www/папка_назначения

Далее переходим по ссылке http://доменное_имя_вашего_сайта/install и приступаем к установке CMS. В процессе установки система может «ругнуться», что ей не доступны какие-то файлы или папки для записи. Скорей всего это связано с правами на распакованные файлы системы в рамках ОС. Например в Codio вся работа в консоли ведётся под пользователем codio. Решается эта проблема присваиванием всем файлам и папкам группы www-data, в которую входит Apache:

$ sudo chown -R codio:www-data *

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

$ ls -la

GD и/или Zip PHP расширения не найдены

После установки, MODx может заявить «GD и/или Zip PHP расширения не найдены», которые обеспечивают комфортную работу с изображениями в системе управления (простые пользователи вообще ничего не смогут сделать).

Для начала, на всякий случай обновим индекс пакетов Ubuntu:

$ sudo apt-get update

Далее установим желаемое MODx-ом дополнение:

$ sudo apt-get install php5-gd

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

$ sudo service apache2 reload

Не работает modrewrite

При стандартных настройках виртуального хоста может вылезти проблема с modrewrite. Вроде бы и ht.access переименован в .htaccess, и все настройки дружественных URL выставлены верно в системе, а всё кроме главной не работает.

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

$ sudo a2enmod rewrite

Уточняем имя файла, который описывает Ваш виртуальный хост (в моем случае 000-default.conf):

$ ls -la /etc/apache2/sites-available/

В файле строчку AllowOverride None меняем на AllowOverride All:

$ sudo nano /etc/apache2/sites-available/000-default.conf

Перезагружаем Apache, что бы сделанные изменения вступили в силу:

$ sudo service apache2 reload


Описанного мне достаточно для того, что бы установить новый MODx Evolution и начать делать сайт.