Изучаем Laravel. Установка и настройка Debian в VirtualBox

27 августа 2016, 16:13


Начал изучать сей замечательный фреймворк, единственный минус не всегда понятная документация, но мы прорвёмся. Для начала нам нужны инструменты, для того чтобы развернуть Laravel:
  1. VirtualBox и плагины Extension Pack
  2. Debian
  3. WinSCP
  4. KittySSH
  5. Notepad++
Устанавливаем VirtualBox. Когда VirtualBox установится, его нужно будет настроить. Первым делом на вкладке Файл -> Настройки -> Плагины установим скачавшиеся плагины Extension Pack для VirtualBox. Cтатичный IP для гостевой ОС в VirtualBox
  1. Нам нужен адаптер (сетевая карта) с постоянным IP-адресом, поэтому настоим ее:
  2. По умолчанию, адаптер vboxnet0 динамически получает IP адрес во время сессии подключения от DHCP-сервера. Для моего виртуального web-сервера Wordpress необходимо, чтобы он имел статический IP-адрес. Поэтому на вкладке «DHCP сервер» я убрал галочку с надписи «Включить сервер». Таким образом, DHCP-сервер у меня отключен.
  3. Теперь захожу в настройки своей VM и на вкладке Адаптер 2 указываю: Нажимаю ок и запускаю VM (никакие порты пробрасывать не нужно).
  4. Если вы ещё не установили Debian, самое время это сделать. Скачайте образ CDNet, актуальная версия 8.5 на момент написания статьи. Если вы не разу не ставили Debian, то советую во первых поставить графическую установку Grafic Install при установке. Далее выберите язык, язык можно выбрать русский, но в выборе клавиатуры советую выбирать раскладку Американская английская. Ставить окружение рабочего стало не нужно, да и вообще на странице с выбором компонентов которые могут быть установлены, советую снять все галочки, чтобы у нас поставился голый Debian с консолью. Для наших целей больше и не надо. Во-первых окружение нам не понадобится, во-вторых все пакеты будут качаться через интернет (если вы выбрали netinstall дистрибутив), что может занять продолжительное время. В итоге, после всех шагов установщика и перезагрузки видим черный экран и приглашение. Заходим под root и пишем простые программы для установки необходимых программ.
  5. VM загрузилась, логинюсь в виртуалке под рутом и выполняю в виртуалке команду:
    ifconfig eth1 192.168.56.101
    по идее еще нужно выполнить команду:
    netmask 255.255.255.0 up
    но команда выдает у меня ошибку (на которую можно забить): netmask: unable to parse «up»: Resource temporarily unavailable все, теперь можно подключиться к нашей VM по SSH или открыть в браузере 192.168.56.101/ и если на Вашей VM установлен Apache, то убедитесь что он работает. Наверное у вас возник вопрос, как так, мы создали интерфейс 192.168.56.1 а подключаемся к 192.168.56.101, не переживайте, это нормально
  6. Увы, настройки описанные в пункте 4 являются временными, и чтобы все работало даже после перезагрузки VM, нужно правильно скофигурировать сетевые интерфейсы. Для Debian файл /etc/network/interfaces у меня получился такой файл:
    # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # The primary network interface #allow-hotplug eth0 #iface eth0 inet dhcp auto eth0 iface eth0 inet dhcp auto eth1 iface eth1 inet static address 192.168.56.101 netmask 255.255.255.0 network 192.168.56.0 broadcast 192.168.56.255 
    Теперь перезагрузите виртуалку или выполните команду:
    service network restart
    Этого будет достаточно, чтобы подключаться к своей виртуалке. С Debian доступ во внешку появляется сразу, но, если Вам понадобится доступ из виртуалки CentOS во внешку, то в виртуалке выполните команду:
    route add default gw 10.0.2.2
    Если что, в виртуалке проверяйте настройки командой ifconfig Вы должны добиться ситуации, когда у Вас будет приблизительно такая ситуация:
    # ifconfig eth0 Link encap:Ethernet HWaddr 08:00:27:88:75:78 inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0 inet6 addr: fe80::a00:27ff:fe88:7578/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:16 errors:0 dropped:0 overruns:0 frame:0 TX packets:23 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:2702 (2.6 KiB) TX bytes:2441 (2.3 KiB) eth1 Link encap:Ethernet HWaddr 08:00:27:c5:d8:41 inet addr:192.168.56.101 Bcast:192.168.56.255 Mask:255.255.255.0 inet6 addr: fe80::a00:27ff:fec5:d841/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:46 errors:0 dropped:0 overruns:0 frame:0 TX packets:52 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:6815 (6.6 KiB) TX bytes:6791 (6.6 KiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) 
  7. Убедившись что всё работает начнём с установки Apache2 + PHP5 + MySQL 5 + Утилиты. Для этого нужно нам выполнить команду:
    apt-get install openssh-server apache2 php5 mysql-server php5-mysql php5-mcrypt nano curl mc
    Из названия пакетов понятно, что мы поставили. Вопросы может вызывать последние два пакета, php5-mcrypt необходим для работы laravel (для шифрования), а curl для установке composer. Что такое composer объясню чуть позже. nano — текстовый редактор, mc — файловый менеджер.
    После установки SSH сделаем доступ для root пользователей (ВНИМАНИЕ! Данная настройка только для локального сервера, на боевых серверах ставить не желательно из-за соображений безопасности).
    nano /etc/ssh/sshd_config
    Находим строку PermitRootLogin without-password. Заменяем на:
    PermitRootLogin yes
    Перезагружаем SSH сервер
    /etc/init.d/ssh restart
    Памятка: /etc/init.d/ssh {start|stop|reload|force-reload|restart|try-restart|status}
Установка Laravel
  1. Отлично. Теперь пора установить Laravel. Заходим в консоль. И переходим в папку
    cd /var/www/
    Это папка в которой Apache2 хранит документы, тоесть ваш сайт. Далее необходимо получить composer.
  2. Composer — это менеджера зависимостей для PHP. Он сам знает какие пакеты необходимы вашему приложению и какие зависимость нужно ставить. Для установки composer используем curl, именно так советуют делать разработчики composer.
    curl -sS https://getcomposer.org/installer | php
    В папке появится файл composer.phar
  3. Далее ставим Laravel.
    php composer.phar create-project laravel/laravel --prefer-dist
    Процесс будет идти несколько минут. В папке появится папка Laravel, а внутри собственно сам фреймворк. Но это еще не все. Необходимо пошаманить с правами на папки и с настройками Apache.
  4. С правами все просто.
    chown -R www-data.www-data /var/www
    Этой командой мы назначили владельцем папки /var/www пользователя www-data, это пользователь от имени которого работает Apache.
  5. Далее переходим в папку /etc/apache2/site-enabled
    cd /etc/apache2/sites-enabled
    И с помощью редактора nano изменяем настройки Apache в файле 000-default.conf
    nano 000-default.conf
    Здесь нас интересует путь до папки с документами DocumentRoot Меняем на:
    /var/www/laravel/public
    Кроме того, нужно прописать вот такую команду в файле /etc/apache2/apache2.conf
    AllowOverride All 
  6. Для выхода из nano нужно нажать ctr+X и для подтверждения сохранения изменений Y. И еще надо подключить mod_rewrite модуль для Apache. Делается так: 1. Включение модуля mod_rewrite в Apache2 Для этого, я использую команду «a2enmod», чтобы включить любые модули в веб-сервере Apache 2. Так что, используйте следующую команду чтобы включить mod_rewrite модуль для apache:
    $ sudo a2enmod rewrite
    2. Активировать ReWrite в вирутальном хосте После включения модуля ReWrite для Apache необходимо добавить «AllowOverride All» в вашем файле конфигурации для виртуального хоста. Этот параметр также может быть включен в глобальном масштабе, путем редактирования основного файла конфигурации apache:
    Options Indexes FollowSymLinks AllowOverride All 
    3. Перезапуск конфигурации Apache2 После включения модуля mod_rewrite для Apache нужно перезагрузить сервер Apache2:
    service apache2 restart
  7. Готово. Laravel установлен. Для проверки открываем браузер и заходим наш сервер. Должны увидите такую страницу.

ИнструментыLaravel установлен. Первый этап выполнен и мы молодцы. Теперь вопрос, как взаимодействовать с виртуальной машиной? Можно писать код прям из консоли виртуалки, использую файловый менеджер mc. Для мелких правок такой вариант отлично подходит. Но вот делать целый проект — это мучение. Есть пара вариантов. Первый — это установить FTP сервер! О нет, опять что-то ставить? Спокойно, есть второй вариант. По умолчанию, в Debian установлен ssh сервер. С помощью этого полезного протокола можно ни только в консоле закарючки писать, но и передавать файлы. Есть программа WinSCP. Она похоже на обычный файловый менеджер.

Для подключения используется пользователь root и пароль, который вы установили при установки Debian. Но, есть еще более удобный инструмент. Notepad++. Уверен многие обрадовались, знакомый инструмент для веб разработчиков. В notepad++ уже есть встроенный sftp клиент. Для начало нужно отобразить панель

И затем сделать настройки для подключения

В итоге, файлы можно редактировать, создавать, удалять, прям из Notepad++. Ну что же, все готово, что бы творить. В следующей статье будем постигать азы Laravel.
SEQUEL.ONE
2    947    0
+1

Комментарии ()

    Вы должны авторизоваться, чтобы оставлять комментарии.

    Топики

    Андрей Копп 03 октября 2018, 11:55
    Компоненты MODX Обзор компонента SEO Pro 0
    Андрей Копп 02 октября 2018, 11:18
    MODX Настройка MySQL 5.7 для работы pdoTools 0
    Андрей Копп 27 сентября 2018, 20:49
    MODX MinifyX в Fenom 0
    Андрей Копп 01 июля 2018, 15:13
    Другое Fenom в MODX (шпаргалки) 0

    Комментарии

    Андрей Копп 02 октября 2018, 09:04
    ComboBox с данными из другой таблицы modExtra 1
    Андрей Копп 08 сентября 2017, 20:24
    Всевозможная очистка кэша в Laravel 5 1