Блог на Laravel 5 (часть 0) Настройка окружения в Mac/Linux

Настройка Composer

Этот урок - короткая инструкция для пользователей Mac/Linux. Если Вы работаете в Windows 10, то почитайте статью Рабочее окружение веб-программиста в Windows о том, как нужно настраивать вашу систему для разработки на Laravel.

Откройте терминал и перейдите к своей пользовательской директории, например

cd /User/<USER_NAME>/
Запустите команду ниже для скачивания Composer. Эта команда создаст Phar (PHP Archive) файл с названием composer.phar:

curl -sS https://getcomposer.org/installer | php

Теперь переместим composer.phar в директорию /usr/local/bin/ и выставим этому файлу права, чтобы его можно было каждый раз спокойно запускать без суперпользователя:

sudo mv /usr/local/bin/composer.phar /usr/local/bin/composer #перекидываем в другую папку и переименовываем composer

Все, приведенное выше можно было выполнить одной командой:

php composer-setup.php --install-dir=/usr/local/bin --filename=composer

Меняем права к composer:

sudo chmod 755 /usr/local/bin/composer
Важно! Переименовывать composer.phar -> composer нужно обязательно

Создание алиаса для Composer

Далее, укажем алиас для Composer:

nano ~/.bash_profile

Эта команда откроет в редакторе Nano файл, где можно задавать пользовательские настройки. Добавим туда строку:

alias composer="php /usr/local/bin/composer"

и далее запустим эту команду для того, чтобы наши изменения начали работать:

source ~/.bash_profile

Проверим нашу работу запустив в терминале:

composer --version

Если вы увидите такую картинку, значит все работает правильно. Composer установлен.

Composer

Установка Laravel installer'а

Запускаем команду в терминале:

composer global require laravel/installer

У меня появилась ошибка:

laravel/installer v3.0.1 requires ext-zip * -> the requested PHP extension zip is missing from your system.

Выясняем какая версия php у нашей системы:

php --v
# выяснил, что версия 7.3.9 
brew install php@7.3
brew link php@7.3

Для пользователей Linux будет команда:

#ставлю поэтому такую же версию zip как и версия php
sudo apt-get install php7.3-zip

После этого было еще куча сообщений о проблеме с symphony/console. Пришлось перейти в папку .composer/ удалить composer.json.lock и папку vendor/symfony/filesystem/. После всего этого указал версию в composer.json:

{
    "require": {
        "symfony/filesystem": "^5.0",
        "laravel/installer": "^3.0"
    }
}

Снова запустил composer global require laravel/installer и всё заработало:


Важно: Обратите внимание, что в вашем профиле для шелла должен быть указан путь к composer:

Создание приложения на Laravel

Создадим наше приложение под именем blog. Запустите в терминале команду:

laravel new blog

У вас должна создаться директория с файлами и произойти запуск composer'a

Настройка сайта

После этого нужно скопировать файл с примерами настроек .env.example -> .env

cd blog/ && cp .env.example .env

Далее генерируем уникальный ключ для нашего приложения:

php artisan key:generate

Далее в зависимости от вашей системы Windows/Linux/Mac вам нужно будет стартовать локально сервер. Я рассмотрю 2 варианта: в Мак с помощью valet и в Линукс с помощью artisan:

Установка Valet

Установим Valet для удобной работы в Мак:

composer global require laravel/valet

Перейдем в нашей рабочей директории запустим valet

valet install # запуск и проверка работы valet
valet link # создание симлинки на наш сайт, чтобы можно было открыть его по ссылке valet.test
valet restart # перезапуск Valet

Все, теперь сайт должен отрыться по ссылке http://blog.test

Запуск локально сервера с помощью Artisan

В рабочей папке blog запускаете команду:

php artisan serve

Artisan сработает и запустит сайт по-умолчанию на локалхосте:

Установка базы данных

Для простоты использовал обычную mysql установку:

brew install mysql
mysql.server start #запуск сервера

Альтернативно для тех, кто хочет установить MariaDB (у меня не получилось нормально справиться с maria):

brew uninstall mysql && brew install mariadb # установка
brew services start mariadb # старт MariaDB при каждом запуске ПК
mysql.server start # старт MariaDB один раз