12 февраля Nitrous.IO, облачная среда разработки, позволяющая мгновенно настраивать виртуальные блоки и использовать их с любой платформы через их Web IDE, наконец, добавила поддержку PHP — то, к чему стремились пользователи.
Вы можете прочитать больше об этом в объявлении , но я думаю, что лучше, если мы продемонстрируем пример и запустим приложение Laravel.
Примечание. В этом руководстве предполагается базовое знание терминалов Unix.
Начиная
Создайте учетную запись на Nitrous.io, если у вас ее еще нет, или перейдите по этой ссылке, чтобы сделать это (полное раскрытие, это дает мне азот — валюту, используемую для вывода в сеть более мощных виртуальных машин). После уточнения вашего профиля я призываю вас зайти в публичные ключи и добавить свой собственный публичный ключ SSH, если вы обычно используете их для соединений SSH и подобных. Подробное руководство доступно на GitHub .
Создание коробки
Давайте зайдем в коробки и нажмем «Новая коробка». Выберите PHP, ближайший к вам регион, и выделите столько ресурсов, сколько пожелаете — вы можете потратить на это весь свой баланс Nitrous, если захотите, — когда вы завершаете работу с боксом, ваш закись возвращается.
После нажатия кнопки «Создать ящик», ваш ящик будет подготовлен — почти как в Vagrant. Вы просто не увидите столько результатов, и это будет намного быстрее.
После этого вас встретит дружественный и смутно знакомый интерфейс, а также вводный файл, который поможет вам настроить остальные.
Вы также можете запустить окно PHP, используя любой другой шаблон, а затем с помощью меню Autoparts -> Install Parts для установки связанных с PHP инструментов, таких как Apache, PHP, MySQL и т. Д. В шаблон окна PHP включены эти части. Если вы теперь используете включенную консоль для вывода версии PHP, вы должны увидеть 5.5.8:
«Детали» — это что-то вроде настраиваемого менеджера пакетов Nitrous, и вы используете его для запуска сервисов и установки деталей. Компоненты также могут автоматически установить WordPress для вас, но кто бы этого хотел?
PhpInfo
Откройте папку рабочей области и создайте файл index.php
www
<?php
phpinfo();
Затем перейдите в Preview -> Port 3000 (по умолчанию). Вы должны увидеть следующий экран PhpInfo в вашем браузере:
Обратите внимание, что другие порты не будут работать, если вы не настроите их таким образом. Первый (3000 SSL) — это расширенная функция, и вам придется заплатить за нее, в то время как все остальные могут быть определены, если вы используете консоль для редактирования httpd.conf
vim /home/action/.parts/etc/apache2/httpd.conf
Обратите внимание, что вы также можете получить доступ к этим файлам через файловый браузер, просто не забудьте нажать «Показать скрытые» в нижней части файлового браузера. Хотя мне проще пройти через командную строку.
Установка библиотек PECL
Composer нужна библиотека Zip для работы, и установить ее на наш ящик очень просто, согласно инструкциям
pear config-set php_ini /home/action/.parts/etc/php5/php.ini
pecl config-set php_ini /home/action/.parts/etc/php5/php.ini
pecl install zip
Чтобы вставить в консоль, не забудьте нажать CTRL + SHIFT + V вместо CTRL + V. Сборка и установка могут занять пару минут, подождите.
Но наличие папки www
Почти пахнет общим хостом, не так ли? Давайте про это.
Настройте виртуальный хост
Здесь можно выбрать два пути. Одним из них является определение нескольких виртуальных хостов, как это принято в Apache. Другой — переименование папки www
public
workspace
Я не фанат последнего, потому что это накладывает некоторые ограничения на мои готовые приложения, так что давайте перейдем к первому.
Еще раз, войдите в httpd.conf
vim /home/action/.parts/etc/apache2/httpd.conf
В нижней части файла добавьте следующий блок:
<VirtualHost *:4000>
ServerName doesnotmatter
DocumentRoot "/home/action/workspace/myapp/public"
ServerAdmin [email protected]
<Directory "/home/action/workspace/myapp/public">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Буквально добавьте его в конец файла httpd.conf
Кроме того, в верхней части файла, где написано Listen 0.0.0.0:3000
Listen 0.0.0.0:4000
Сделайте это для каждого порта, который вы хотите прослушать.
В качестве альтернативы можно поместить все это в подпапку config
httpd.conf
Выбери свой яд, либо работает.
Теперь создайте папку, упомянутую в этой конфигурации.
mkdir -p /home/action/workspace/myapp/public
Параметр -p
Теперь добавьте тот же файл index.php
phpinfo();
содержимое в эту папку. Сокращенная команда, чтобы сделать это это:
cd /home/action/workspace/myapp/public/
echo "<?php phpinfo();" > index.php
Перезапустите Apache с parts restart apache2
Вы можете настроить другие виртуальные хосты таким же образом.
Установка Composer
Обновление: обратите внимание, что Composer уже предустановлен, и вы можете пропустить этот шаг. Тем не менее, эта часть описывает установку пользовательских двоичных файлов, так что вы можете прочитать их.
Теперь, когда мы избавились от виртуальных хостов и можем запускать несколько приложений в одной коробке, если захотим, давайте установим Composer. Мы будем устанавливать его глобально — устанавливать его один раз в каждом приложении абсолютно бессмысленно, особенно на коробках с таким ограниченным пространством на жестком диске.
Ящики Nitrous.io ограничены в том, что вы не можете создавать папки вне вашей домашней папки. Чтобы обойти это ограничение, мы просто установим его в папку внутри нашей домашней папки и добавим указанную папку в $PATH
mkdir ~/.tools
cd ~/.tools
curl -sS https://getcomposer.org/installer | php
vim ~/.bashrc
После того, как vimmed, отредактируйте .bashrc
export PATH=$PATH:$HOME/.tools/
Затем перезагрузите файл .bashrc
source ~/.bashrc
Благодаря этому Composer был установлен по всему миру, и вы можете использовать его из любого приложения, которое вам нужно. Попробуйте это, выполнив следующие команды:
cd /home/action/workspace/myapp
composer self-update
Создание примера приложения Laravel
Композитор, проверь. Виртуальный хост, проверьте. Давайте запустим Laravel, не так ли? К вашему сведению, я выбрал Composer в качестве метода установки Laravel, потому что он полезен гораздо больше, чем просто Laravel, и вам в конечном итоге он понадобится и для других проектов, не относящихся к Laravel.
Во-первых, давайте удалим папку myapp. Composer не будет создавать проект в папке, которая не является пустой, поэтому это позволит начать его с нуля.
rm -rf /home/action/workspace/myapp
Затем инициируйте команду create-project:
cd /home/action/workspace
composer create-project laravel/laravel myapp --prefer-dist
Через минуту или две все должно быть загружено. Посещение того же порта 4000 на нашей коробке должно дать нам экран приветствия Laravel.
Следуя инструкциям по быстрому запуску , мы добавляем маршрут закрытия в /test
app/routes.php
Route::get('test', function()
{
return 'Test!';
});
Теперь посещение {$URL}:4000/test
Подключение Laravel к MySQL
Давайте сначала проверим, работает ли наша база данных. Попробуйте ввести команду mysql -u root
SHOW DATABASES;
изменить базу данных для test
USE test;
а затем перечислите таблицы в этой базе данных с помощью SHOW TABLES;
(результат должен быть пустым), вы готовы.
Laravel по умолчанию настроен на использование тех же небезопасных настроек, которые использует Nitrous — имя пользователя базы данных «root» без пароля. Таким образом, соединение готово по умолчанию — все, что вам нужно сделать, это изменить имя базы данных в файле конфигурации на «образец», как это мы будем использовать в следующем примере.
Естественно, вы должны изменить свои учетные данные — в MySQL добавьте пользователя, которому разрешено связываться только с определенной базой данных, и добавьте этого пользователя в файл app/config/database.php
Прочитайте этот ответ для пользовательских привилегий базы данных. Мы не будем делать это только для демонстрации.
Мы могли бы последовать примеру миграции в кратком руководстве, но я бы предпочел сделать все это за один раз и подготовить образцы данных мгновенно. Чтобы создать sample
test
wget -O- -q https://gist.github.com/Swader/8994154/raw/9bb8d253f92791de77fa01138febd404a306ccc6/sample.sql | mysql -u root
Что вам нужно, если вам любопытно, это получить мою суть кода SQL, необходимого для этого, вывести его в стандартный поток вывода в оболочке, при этом заглушая все ошибки и другую информацию журнала, и применить его к MySQL после регистрации в качестве корня.
Мы не будем строить модель только для тестовых данных — я полагаю, что вы можете следовать чрезвычайно простым инструкциям на странице Laravel, чтобы это произошло самостоятельно. Вместо этого мы просто продемонстрируем способность Laravel подключаться к базе данных здесь.
В файле routes
Route::get('test', function()
{
var_dump(DB::select('select * from test'));
});
Обновляя URL / test, мы получаем вывод базы данных:
Вывод
Эта статья доказала, как просто настроить и запустить конфигурацию Laravel на Nitrous.io. Поиграйте, посмотрите документацию, попробуйте сломать вещи. Если вы это сделаете, просто прекратите и заново создайте окно — это так просто.
Мы находимся в эпоху виртуальных машин на каждом шагу, и наше оборудование и пропускная способность достаточно мощны, чтобы не допустить загрязнения окружающей среды наших основных настольных систем ненужными установками. Экспериментируйте без страха и дайте нам знать, что вы придумали, мы хотели бы взглянуть.