Решил я поразмять мозги и изучить что-нибудь новое для себя — предметом изучения стал фреймворк Laravel.
Запустил установку с помощью composer и вдруг осознал, что локального веб-сервера у меня на ноутбуке нет — только на ПК. И мне лень конфигурировать вручную веб-сервер, прогресс ведь не стоит на месте — наверняка, можно проще и быстрее. И действительно — можно! Через несколько минут с момента начала изучения этого вопроса, у меня уже был настроенный и готовый к работе локальный веб-сервер на основе nginx + php-fpm, под управлением Valet Linux. Настолько просто, что даже не ожидал.
Инструкция по установке и использованию Valet Linux:
Все действия выполнялись в Manjaro Linux KDE:
1. Устанавливаем зависимости:
sudo pamac install php composer nginx jq xsel
Также, должны быть установлены networkmanager и dnsmasq.
2. Устанавливаем глобально composer:
composer global require cpriego/valet-linux
3. Добавляем в ~/.bashrc и/или ~/.zshrc эту строку:
export PATH="$HOME/.config/composer/vendor/bin:$PATH"
4. Применяем новые переменные окружения:
source ~/.bashrc
# для zsh:
#source ~/.zshrc
5. Создаем бэкап /etc:
mkdir -p /root/.backup/etc && tar -pczf "/root/.backup/etc/$(date +%Y%m%d%H%M%S).tar.gz" /etc/
6. Устанавливаем valet:
valet install
7. И теперь запускаем. Например, каталог с сайтами находится по адресу ~/Sites, тогда:
cd ~/Sites
valet park
Теперь каждый проект в этом каталоге будет доступен по адресу http://project-name.test, где project-name — это имя директории внутри каталога Sites.
В качестве корневой директории локальных сайтов может выступать как непосредственно каталог Sites/project-name, так и каталог вида Sites/project-name/public — дополнительных настроек для этого не требуется. Каталог public имеет меньший приоритет, т.е. при наличии Sites/project-name/index.php и Sites/project-name/public/index.php будет отображен Sites/project-name/index.php.
Еще немного про Valet Linux
Для перезапуска:
valet restart
Для остановки:
valet stop
Основные команды Valet Linux:
- valet park — делает текущую директорию доступной для всех проектов — выполняется из каталога проекта.
- valet link [name] — создаёт символическую ссылку для конкретного проекта.
- valet secure — включить SSL для проекта.
- valet forget — удаляет текущую директорию из списка парковочных директорий.