Так уж получилось, что я сейчас стажируюсь в компании, где очень сложно поставить на рабочий стол простую программу, а тем более IDE, иногда это даже превращается в целые недельные квесты.
Но при этом в свободное от работы время я очень люблю экспериментировать.
Прочитав статью о онлайн-IDE и имея аккаунт в OpenShift, я решил попробовать создать и развернуть Yii-приложение в облаках.
Сразу скажу, что эта статья для новичков.
Если вам интересно, заходите! Мы подключаем Cloud9 IDE И Опеншифт .
Я решил использовать Cloud9 в качестве IDE, дизайна и функциональность Мне нравится.
Плюс в том, что можно запускать приложение прямо в IDE, минус в том, что хостинг базы данных не поддерживается, поэтому постараемся организовать доступ к базе данных, которую будем создавать в OpenShift. И все же Cloud9 меня улыбнул наличием терминала (Alt+T), пусть и ограниченного.
Шаг 0. Мы создадим учетные записи, если у вас их еще нет.
Лично я использую бесплатные варианты.
Для Cloud9 это публичные рабочие среды размером 128 МБ + 1 приватный + ограниченный терминал.
Для OpenShift это 3 небольших картриджа, каждый с 512Мб ОЗУ и 1Гб диском.
Картриджи — это компоненты, которые можно добавить в приложение, например базы данных (MySQL, PosgreSQL и MondoDB) и инструменты администрирования (phpMyAdmin, RockMongo, Cron и т. д.).
Вполне достойна для небольших экспериментов.
Шаг 1. Добавление SSH-ключа Cloud9 в OpenShift Известно, что ключи SSH используются для безопасных соединений, вот несколько хороших статей.
В Cloud9 ключ можно найти в разделе «Показать ключ SSH» в вашей учетной записи.
Копируем и вставляем этот ключ в OpenShift, для этого в Вашем Аккаунте есть Открытые Ключи
Шаг 2. Создаем рабочую среду в Cloud9 и добавляем приложение в OpenShift.
Здесь все просто, главное при создании приложения в Cloud9 выбрать git-версию рабочей среды.
Отныне git будет нашим верным помощником.
В OpenShift легким движением мыши создаем приложение с PHP 5.3.
Шаг 3. Добавление git-репозитория приложения из OpenShift в рабочую среду Cloud9
После создания приложения в OpenShift вы можете увидеть его git-репозиторий.
Чтобы связать этот репозиторий с производственной средой в Cloud9, мы используем следующие команды:
Шаг 4. Загрузка Yii в рабочую среду Cloud9 и создание скелета приложения yii. Чтобы загрузить yii framework в приложение, используйте его git-репозиторий, добавив его в качестве подмодуля:git remote add openshift -m master ssh://******.
git/
git pull -s recursive -X theirs openshift master
git submodule add git://github.com/yiisoft/yii.git yii
git commit -m "added yii repository as submodule"
Загрузим нужный нам релиз в репозиторий:
cd yii
git checkout 1.1.13
cd .
git add yii
git commit -m "Use yii v1.1.13"
Теперь давайте создадим фреймворк для приложения yii. Для этого обычно используется скрипт веб-приложения, но запустить его просто как оболочку не получится.
Вместо этого мы будем использовать PHP-версию скрипта, и да, нам понадобится глобальный путь к нашей папке.
Выполните следующую команду и получите глобальный путь: pwd
Имеем примерно следующее:
Теперь давайте запустим скрипт по этому пути, чтобы создать фреймворк приложения: php yii/framework/yiic.php webapp /var/lib/stickshift/ffa13067224647beb05863058997082a/app-root/data/354172/php git
Добавим все, что мы получили: git add php
git commit -m "created yii skeleton app"
Тестовый запуск php/index.php из Cloud9 покажет нам предупреждение: date(): небезопасно полагаться на настройки часового пояса системы.
Эту проблему можно решить, добавив в php/protected/config/main.php следующее: <Эphp
// uncomment the following to define a path alias
// Yii::setPathOfAlias('local','path/to/local-folder');
date_default_timezone_set( 'UTC' );
И не забудьте зафиксировать: git commit -a -m "set the default timezone to UTC"
Хочу отметить, что проблема существует только в Cloud9; в Openshift приложение запускается без каких-либо предупреждений.
Шаг 5. Создание базы данных в OpenShift и настройка подключения
Конечно, можно обойтись и sqlite-базой данных, но для собственного интереса давайте настроим MySQL и добавим картридж на странице приложения.
УПД1: Обязательно запишите данный пароль перед завершением, так как.
после этого я так и не нашел способа восстановить или сменить пароль :(.
Как предлагалось Урчр В Комментарии , логин и пароль хранятся в переменных среды.
Для их получения вы можете использовать терминал Cloud9 и подключаться удаленно к приложению через SSH. Используется стандартный логин - администратор , а пароль берется из $OPENSHIFT_MYSQL_DB_PASSWORD. УПД2: Узнать адрес и порт базы данных мне удалось только установив картридж phpMyAdmin. Вы также можете получить его через консоль в переменных среды $OPENSHIFT_MYSQL_DB_HOST и $OPENSHIFT_MYSQL_DB_PORT.
Для административных целей мы также предоставим картридж с phpMyAdmin.
В том же php/protected/config/main.php настраиваем подключение к MySQL. Вот и все!
Теперь приложение готово к дальнейшим действиям.
Все это можно сделать, используя только браузер, везде, где есть доступ в Интернет. Использовались следующие источники: 1. Смотри, мам, нет рук! Разработка облачной среды с помощью Cloud9 IDE 2. Создать проект Yii в Cloud9 Надеюсь, что статья будет полезна! Теги: #openshift; Облако 9; yii framework #Разработка веб-сайтов #Openshift