Статьи

Руководство по хостингу на OpenShift


Недавно я переместил этот блог на WordPress, работающий на
OpenShift Express от RedHat
.

Если вы не слышали об OpenShift, это:


«Бесплатная облачная платформа для приложений Java, Perl, PHP, Python и Ruby».

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

OpenShift Express поддерживает приложения Java (с полной поддержкой AS7), Ruby, PHP, Perl и Python.

В этом посте я собираюсь показать шаги, необходимые для размещения WordPress в OpenShift Express.

Установка клиентских инструментов
Итак, первым этапом настройки в OpenShift является установка клиентских инструментов OpenShift. На Ubuntu это достигается с помощью apt-get

$ sudo apt-get install ruby
$ sudo apt-get install rubygems
$ sudo apt-get install rhc

Создание домена и приложения
После установки инструментов OpenShift следующим этапом является создание доменного имени для размещения приложения и самого приложения.

Создание домена достигается с помощью команды rhc domain create.

$ rhc domain create -n <domain> -l <emailaddress>

Где домен — это уникальное имя домена OpenShift для вашего приложения, а адрес электронной почты — ваш адрес электронной почты для входа в OpenShift.

Далее необходимо создать приложение. По сути, это удаленный репозиторий git, который клонируется в вашей локальной файловой системе. При создании приложения необходимо указать, какие «картриджи» вы хотите использовать. Для WordPress вам нужно будет использовать картридж php-5.3.

$rhc app create -a <appname> -t php-5.3

Где appname — это имя вашего приложения.

Если все пойдет хорошо, ваше приложение будет создано и доступно в Интернете по адресу:

http://<appname>-<domain>.rhcloud.com

Поддержка MySQL
Следующим этапом размещения WordPress на OpenShift является создание базы данных MySQL. Это снова достигается с помощью командных инструментов OpenShift:

$ rhc-ctl-app -a "appname" -e add-mysql-5.1

Теперь, когда у вас установлен PHPMyAdmin, хорошей практикой безопасности является создание пользователя MySQL с соответствующими правами доступа для доступа к WordPress. Мы не хотим, чтобы WordPress запускался без учетной записи администратора MySQL.

Установите WordPress.
На данный момент вы создали простое PHP-приложение OpenShift с поддержкой MySQL. Следующим этапом является установка WordPress. Для установки просто скачайте последний архив WordPress и разархивируйте его в папку php, которая была создана под вашей папкой appname.

После распаковки заманчиво получить доступ к приложению OpenShift и запустить мастер WordPress, чтобы создать стандартный файл wp-config.php. К сожалению, если вы сделаете это, когда вы в следующий раз отправите свой локальный код в OpenShift, любые изменения, сделанные на сервере, будут потеряны. Итак, общая процедура — всегда вносить изменения локально, а затем отправлять их на сервер. Это также относится к установке плагинов в WordPress — всегда устанавливайте их локально, отправляйте их в git, а затем отправляйте в OpenShift.

Итак, чтобы запустить и запустить WordPress, создайте файл wp-config.php локально в папке установки WordPress. Это очень простой файл для создания, но посмотрите документацию WordPress для получения дополнительной информации.

Перемещение в OpenShift
Создав файл конфигурации базы данных, вы теперь можете зафиксировать все, что нужно, и отправить его в OpenShift.

$ git commit -a -m "Initial installation of WordPress"
$ git push

Опять же, предполагая, что все прошло нормально, без ошибок, вы сможете получить доступ к своему сайту WordPress по адресу:

http://<appname>-<domain>.rhcloud.com

Публикация в настраиваемом домене В
OpenShift недавно добавлена ​​поддержка, позволяющая размещать приложения под своими собственными доменными именами, а не как поддомен rhcloud.com.

Чтобы опубликовать в пользовательском домене, вам нужно добавить псевдоним в OpenShift для вашего приложения к доменному имени, в котором вы хотите разместить его.

$ rhc-ctl-app -c add-alias --alias www.somedomain.com -a <appname>

Чтобы завершить процесс, вам нужно отредактировать свои записи DNS и добавить имя, указывающее ваш домен (например, www.somedomain.com) на <appname> — <domain> .rhcloud.com.

Вы не должны иметь работающую установку WordPress, работающую на OpenShift

Загрузка мультимедиа в WordPress
Одним из побочных эффектов добавления локального контента в репозиторий git является то, что любые изменения, внесенные в веб-сайт, теряются при добавлении в него нового кода. Например, плагины, установленные через пользовательский интерфейс WordPress, теряются при отправке нового кода в OpenShift. Кроме того, любые изображения, загруженные в WordPress (по умолчанию хранятся в wp-content / uploads), также теряются при нажатии нового кода. Чтобы преодолеть это, отредактируйте файл <appname> /. Openshift / action_hooks / build и добавьте следующее содержимое:

if [ ! -d $OPENSHIFT_DATA_DIR/uploads ]; then
    mkdir $OPENSHIFT_DATA_DIR/uploads
fi
 
ln -sf $OPENSHIFT_DATA_DIR/uploads $OPENSHIFT_REPO_DIR/php/wp-content/

Любые загруженные данные теперь будут храниться вне git-репозитория OpenShift и, следовательно, не будут перезаписываться при каждом нажатии на OpenShift.

Надеюсь, я показал, насколько простым является размещение приложений в OpenShift Express. Если у вас есть какие-либо вопросы, оставляйте их как комментарии к посту.