Статьи

PHP как услуга — фортраббит

PaaS (платформа как услуга) — не новая концепция. Дело в том, что хостинговые компании уже давно предоставляют PaaS, когда продают услуги общего хостинга, которые включают PHP на общем сервере. Однако это принципиально отличается от того, как работает бизнес PaaS.

В этой статье мы рассмотрим новичка в сфере услуг провайдера платформы — Fortrabbit — и создадим простое приложение PHP / MySQL, к которому можно получить общий доступ в считанные минуты.

Предполагается, что вы обладаете базовыми знаниями о стеке LAMP, и вам также необходимо иметь базовые знания о Git (если вы не представляете здесь достойное введение ), и вам необходимо сгенерировать и подготовить к использованию ключи SSH (если вы этого не сделаете , обратитесь к этому ресурсу от GitHub ). Это пошаговое руководство ориентировано на Unix (так что пользователи OS X и Linux в порядке), но оно также может быть применено к среде Windows с небольшими изменениями.

Фортраббит — кто, почему и как

Fortrabbit — молодая PaaS-компания, которая говорит, что хостинговый бизнес разрушен, и слишком много о снижении цен и слишком мало о качестве. Чтобы решить эту проблему, они создали PHP-эксклюзивный бизнес, который обслуживает наиболее распространенные потребности разработчиков. Их планы хостинга доступны всем пользователям — от любителей (бесплатные планы) до предприятий (обновления высокой доступности доступны по нажатию кнопки).

Благодаря единой информационной панели у вас есть обзор всех ваших приложений, независимо от вашей роли в них.

Приложения можно сделать общедоступными в любое время, когда вы решите развернуть их, чтобы вы могли легко продемонстрировать то, что вы создаете, своим клиентам в любое время. Как только заявка будет завершена, вы можете передать право собственности клиенту, который с этого момента будет отвечать за платежи. Вы даже можете сохранить роль «Project Manager» в приложении, чтобы иметь возможность выполнять будущие исправления и обновления. Весь процесс фрилансинга буквально упорядочен до минут.

Развертывание работает с Git, SSH, SFTP, ReSync и Composer. У вас есть полный SSH-доступ к вашему приложению, и вы можете работать с ним по своему усмотрению. Фреймворки и системы управления контентом поддерживаются и легко устанавливаются из коробки, а поддержка Phalcon скоро теперь также доступна (версия 0.9)!

Демо-приложение

Давайте запустим и запустим простое приложение Hello World. Клонируем пример репозитория от Github. Это всего лишь простое скелетное приложение CodeIgniter, слегка измененное для наших целей. Контроллер считывает ввод URL-адреса, чтобы найти параметр ID, и если он не находит ни одного, он устанавливает его в 1, в противном случае он использует предоставленный. Этот параметр ID определяет, какую строку базы данных мы выбираем, и, таким образом, выводит ли вывод «Hello World» или «Hello Bruno».

См. Каталог db для сценария импорта SQL, создающего базу данных с именем «sitepoint». Также измените файл database.php каталоге application/config соответствующим образом, чтобы ваше приложение могло получить доступ к базе данных. В моем случае имя пользователя — root, и у меня нет пароля.

Протестируйте приложение, создав для него виртуальный хост. Для примера предположим, что вы назвали хост fortrabbit.sitepoint.test . Таким образом, при вводе fortrabbit.sitepoint.test / в вашем браузере должно появиться «Hello World!», А fortrabbit.sitepoint.test / welcome / index / id / 2 — «Hello Bruno!». Все хорошо? Большой! Давайте затуманить это.

Настройка приложения Fortrabbit

Зайдите в Fortrabbit и зарегистрируйтесь. Если у вас есть учетная запись, нажмите кнопку «Создать приложение» на панели инструментов:

Выберите план Bootstrap Free на следующем экране и нажмите «Купить». Обратите внимание на ограничение «заморозки» — после определенного периода бездействия ваше приложение зависнет и станет недоступным, и вам придется снова войти в систему, чтобы «разморозить» его. Это необходимо для экономии ресурсов и предотвращения использования пользователями своих услуг без оплаты. Считайте, что это неограниченная бесплатная пробная версия.

На следующем экране введите имя приложения и ваш открытый ключ SSH. Нам нужно это, чтобы запустить наше приложение. См. Следующий рисунок для справки.

Вам нужно будет дождаться завершения установки на следующем экране и пару минут спустя, чтобы ваше приложение было готово. Вы получите электронное письмо со всеми необходимыми учетными данными и URL-адресами для управления и посещения вашего приложения. Фактически, посещение тестового URL-адреса с экрана электронной почты / окончательной конфигурации приведет к появлению экрана, не похожего на этот:

Показан полный отчет о стеке, который вы используете, работающее приложение, готовое превратиться во что-то полезное.

Приборная доска

Панель инструментов приложения Fortrabbit откроет вас после того, как вы нажмете «Перейти к моему приложению» на экране окончательной конфигурации, где происходит правильное управление. Здесь вы можете увидеть, сколько у вас есть времени, пока приложение не зависло, и можете сбросить таймер по своему желанию. Все, что вы делаете, это доказывает свою активность, и приложение остается живым, как это просто. Здесь также определены сила и стоимость плана вашего приложения, а также небольшая статистика и список купленных дополнений (например, Memcache — это дополнение, за которое нужно доплачивать).

Вкладка stats предоставит вам подробный обзор производительности вашего приложения, а вкладка Git позволяет вам вернуться к вводу открытого ключа SSH из начальной конфигурации. На вкладке SSH / SFTP просто перечислены учетные данные для доступа.

Вкладка PHP позволяет вам установить некоторые директивы конфигурации и параметры PHP, а вкладка домены обеспечивает легкий доступ к определению новых доменов и поддоменов, так что вы можете иметь собственную точку домена для своего приложения и избавиться от длинного суффикса eu.frbit . Также имеется вкладка прав доступа, которая позволяет вам определить нового владельца приложения для целей передачи, добавить членов команды и т. Д. (Хотя бесплатный план начальной загрузки поддерживает только операцию с одним человеком).

Развертывание

Фортраббит, будучи молодым, до сих пор не имеет установленного веб-интерфейса для MySQL, поэтому нет PHPMyAdmin. Вы можете, конечно, установить свой собственный — но есть еще один вариант, который довольно практичен. MySQL Workbench поддерживает удаленные туннельные соединения через SSH, поэтому при условии, что он установлен (и он действительно должен быть установлен), откройте новое соединение и определите все необходимые параметры:

Теперь у вас есть доступ к вашей удаленной базе данных через локального клиента — и редактирование базы данных не может быть проще. Поскольку комбинация пользователь / пароль Fortrabbit MySQL отличается от нашей локальной установки, нам нужен способ, позволяющий решить эту проблему без необходимости постоянно обновлять конфигурацию базы данных. К счастью, есть простой способ сделать это. В конце application/config/database.php мы поместили следующий код (соответственно измените ваше имя пользователя и пароль):

 <!--?php <br ?-->if (isset($_SERVER['APP_NAME'])) { // This means we're on Fortrabbit, and need different credentials. // Local setups don't have the "APP_NAME" environment variable $db['default']['hostname'] = 'sitepoint.mysql.eu1.frbit.com'; $db['default']['username'] = 'sitepoint'; $db['default']['password'] = 'xxxxxxxx'; } 

Это работает, потому что Fortrabbit определяет переменную среды для каждого приложения с именем APP_NAME которого у нас нет на нашей локальной машине. Всякий раз, когда мы проводим локальное тестирование, наше приложение обращается к локальной базе данных, как и раньше. Когда мы проводим онлайн-тестирование, имя пользователя, пароль и хост переключаются на учетные данные Fortrabbit. Обратите внимание, что вы можете определить произвольное количество переменных среды в панели инструментов приложения на вкладке PHP.

Следующим шагом является импорт файла SQL в базу данных. Пока наше соединение с MySQL все еще открыто, импортируйте предоставленный файл SQL из папки db .

Теперь давайте наконец развернем наше приложение. Это делается в несколько этапов и имеет несколько возможных подходов; мы рассмотрим только один.

Шаг 1: клонировать ваше текущее приложение на Fortrabbit

В терминале введите git clone [email protected]:sitepoint.git который клонирует пустой репозиторий из вашего приложения на Fortrabbit. Может показаться странным, что репо пусто, когда на самом деле вы видите какой-то контент при посещении URL-адреса приложения, но это потому, что внутри него уже есть скрытый файл index.php который изначально игнорируется. Как только вы нажимаете первый коммит, этот файл index.php перезаписывается (если вы добавили такой файл в корневой каталог вашего проекта).

Шаг 2: Добавить контент в папку, добавить в Git

Далее мы берем весь контент нашего локального приложения и просто перемещаем его в этот каталог. Затем добавьте содержимое каталога в хранилище с помощью следующей команды: git add * и, конечно, сделайте коммит ( git commit -am 'Initial commit' )

Шаг 3. Нажмите приложение в прямом эфире

Используйте git push origin master команду git push origin master чтобы запустить приложение. Основная часть origin master требуется только при первом нажатии — последующие нажатия не требуют этого.

Шаг 4. Измените настройки домена

На экране «Управление приложением» на вкладке «Домены» добавьте public после исходного URL-адреса в поле ввода, например:

Это делается для того, чтобы сервер искал корень приложения внутри public , а не в недоступной верхней папке.

Это оно! Посетите ваше приложение сейчас по его URL, и вы увидите, что оно работает так же, как и локально. Добавьте часть URL с параметрами ( / welcome / index / id / 2 ) и просмотрите изменение строки. Это показывает нам, что как перезапись URL, так и соединение с базой данных работают как надо.

Бесплатно отдавать

В море * aaS сервисов Fortrabbit выделяется простотой использования, простотой, доступностью и внимательным персоналом, который всегда рядом с вами. В этом щедром и амбициозном духе Fortrabbit объединяется с SitePoint для потрясающей раздачи!

Пять счастливчиков получат купонные коды стоимостью 100 €, которые можно обменять на услугу Fortrabbit. Чтобы получить право, 1) попробуйте Fortrabbit и опубликуйте комментарий ниже , сообщающий нам о вашем опыте, или 2) подпишитесь на @phpmasterdotcom и поделитесь этой статьей в Twitter с хэштегом #phpmaster , все до 20 февраля . Пять победителей будут выбраны случайным образом вскоре после этого. Победители комментариев будут уведомлены по электронной почте (обязательно укажите действующий адрес электронной почты в контактной форме!), А победители Twitter — прямым сообщением.

Удачи!