Статьи

Хостинг WordPress на OpenShift

OpenShift Если вы не слышали об 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>

Где domainнаходится уникальное доменное имя OpenShift для вашего приложения и emailaddressваш электронный адрес для входа в 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

Это даст вам поддержку MySQL для вашего приложения. После выполнения этой команды вы получите подробную информацию о вашей базе данных MySQL. Чтобы помочь в управлении базой данных, проще всего было добавить PHPMyAdmin

$ rhc-ctl-app -e add-phpmyadmin-3.4 -a "appname"

Теперь, когда у вас установлен 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.

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

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

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

Теперь у вас должна быть работающая установка WordPress, работающая на OpenShift

Загрузка мультимедиа в WordPress
Одним из побочных эффектов добавления локального контента в репозиторий git является то, что любые изменения, внесенные в веб-сайт, теряются при добавлении в него нового кода. Например, плагины, установленные через пользовательский интерфейс WordPress, теряются при отправке нового кода в OpenShift. Кроме того, любые изображения, загруженные в WordPress (по умолчанию хранятся в wp-content/uploads), также теряются при нажатии нового кода. Чтобы преодолеть это, отредактируйте /.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. Если у вас есть какие-либо вопросы, оставляйте их как комментарии к посту.