Если вы не слышали об 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. Если у вас есть какие-либо вопросы, оставляйте их как комментарии к посту.