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