MaHarder
Модератор
SkripTers TEAM
Кодеры
OLD SkripTers
- Регистрация
- 17 Дек 2019
- Сообщения
- 1,438
- Реакции
- 800
Что такое Lando? Это платформа для локальной разработки сайтов на основе LAMP. Но, уверяю, не только Apache входит в возможности данной системы (они позиционируют себя как библиотека). Настройка локального сервера зависит лишь от одного файла. И самое прекрасное в том, что под каждый ваш проект можно создавать отдельную конфигурацию!
Вебстраница библиотеки: https://lando.dev
Плюсы:
От себя хочу добавить, что это довольно удобная система управления пространством и проектами. Достаточно создать файл конфигурации и запустить сервис. Как я вообще вышел на Ландо? На работе пришлось пересесть на систему под линуксом (тема, где я искал подходящий линукс). Ну и поскольку я и на работе иногда работаю с PHP, а теперь и имею доступ к интернету, то я начал искать альтернативу для Open Server Panel для убунту. Наткнулся на парочку систем - devilbox и Lando.
Установка на системах Ubuntu/Debian:
https://docs.lando.dev/getting-started/installation.html - Официальная инструкция на все ОС, я буду писать только под убунту
На этом всё.
Примерный скрипт конфигурации:
в любом удобном месте создать файл конфигурации с названием .lando.base.yml. Рекомендую в корне сайта, иначе в параметр webroot указываем полный путь до сайта. В консоле переходим туда, где находится файл конфигурации и задаём следующую команду
По конфигурации:
Lando не прописывает их сама
Чтобы узнать данные подключения и текущие сервисы, достаточно ввести в консоль следующую команду:
Чтобы перезапустить сервер:
Чтобы перенастроить сервер:
Чтобы удалить сервер:
Вебстраница библиотеки: https://lando.dev
Плюсы:
- Кросплатформенность, будет работать на всех системах: MacOS, Linux и Windows с поддержкой WSL
- Быстрая настройка в один файл
- Настройка каждого "домена" отдельно
- Документация на английском
- Отсутствие удобного GUI
- Обязательное наличие докера (Docker)
От себя хочу добавить, что это довольно удобная система управления пространством и проектами. Достаточно создать файл конфигурации и запустить сервис. Как я вообще вышел на Ландо? На работе пришлось пересесть на систему под линуксом (тема, где я искал подходящий линукс). Ну и поскольку я и на работе иногда работаю с PHP, а теперь и имею доступ к интернету, то я начал искать альтернативу для Open Server Panel для убунту. Наткнулся на парочку систем - devilbox и Lando.
Установка на системах Ubuntu/Debian:
https://docs.lando.dev/getting-started/installation.html - Официальная инструкция на все ОС, я буду писать только под убунту
- Устанавливаем докер
- При помощи скрипта:
Bash:
curl https://get.docker.com | sh
- Ручная установка:
- Установка необходимых ПО:
-
Bash:
sudo apt install gnome-terminal
-
Bash:
sudo apt-get install ca-certificates curl gnupg lsb-release -y
-
- Удаление остатков докера (если был), можно пропустить, если уже установлен:
-
Bash:
sudo apt remove docker-desktop
-
Bash:
rm -r $HOME/.docker/desktop
-
Bash:
sudo rm /usr/local/bin/com.docker.cli
-
Bash:
sudo apt purge docker-desktop
-
- Устанавливаем GPG ключи для репозитория докера и сам репозиторий:
-
Bash:
sudo mkdir -p /etc/apt/keyrings
-
Bash:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
-
Bash:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
-
- Устанавливаем докер и его компоненты:
-
Bash:
sudo apt-get update
-
Bash:
wget https://desktop.docker.com/linux/main/amd64/docker-desktop-4.16.2-amd64.deb
- Верный пакет установки берём отсюда: https://docs.docker.com/desktop/install/ubuntu/
-
Bash:
sudo apt-get install ./docker-desktop-4.16.2-amd64.deb
-
Bash:
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y
-
- Установка необходимых ПО:
- При помощи скрипта:
- Устанавливаем Lando:
-
Bash:
wget https://files.lando.dev/installer/lando-x64-stable.deb
-
Bash:
sudo apt install ./lando-x64-stable.deb
- Добавляем текущего пользователя в группу докера:
Bash:
sudo usermod -aG docker $USER
-
- Перезапускаем сессию (Выход/Вход или перезагрузка системы)
На этом всё.
Примерный скрипт конфигурации:
YAML:
name: dle152
recipe: lamp
config:
php: 7.2
database: mysql:5.7
xdebug: true
webroot: .
services:
dle152database:
type: mysql:5.7
portforward: true
creds:
user: mysql
password: mysql
database: dle152
proxy:
appserver:
- dle152.local
в любом удобном месте создать файл конфигурации с названием .lando.base.yml. Рекомендую в корне сайта, иначе в параметр webroot указываем полный путь до сайта. В консоле переходим туда, где находится файл конфигурации и задаём следующую команду
Bash:
lando rebuild
По конфигурации:
- name: только в нижнем регистре и желательно без пробелов
- recipe: есть много разных "рецептов", но для разработки на PHP достаточно указать lamp. На сайте разработчиков есть и другие готовые "рецепты"
- config: отличается от рецепта к рецепту, если нужно что-то подправить под себя, то добавляет эту строчку
- php: Указываем версию PHP
- database: Выбор между mysql, postgres и mariadb. Через двоеточье ) можно указать версию
- xdebug: если нужен дебагер, то указываем с параметром true
- webroot: Путь до сайта. Если файл конфигорации находится в корне сайта, то указываем либо слеш (/), либо точку (.)
- services: Добавляется дополнительный набор сервисов, которые будут работать для данной конфигурации. Полезно особенно в том случае, если не берётся "рецепт" LAMP.
- dle152database: название сервиса. Кол-во сервисов неограничено
- type: Тип сервиса, в моём случае это mysql версии 5.7. Можно указать apache, ngnix и многие другие сервисы, которые будут работать на заднем фоне
- creds: Данная настройка полезна для типа базы данных. Мы указываем здесь данные базы данных
- user, password, database: Параметры для входа и название базы данных
- dle152database: название сервиса. Кол-во сервисов неограничено
- proxy: Настройка проксиобработки сервисов и самой конфигурации
- appserver: В моём случае я настраиваю проксирование вебсервера на определённый адрес
- Адреса пишутся каждый с новой строки, НО их так-же надо будет прописать и в файле хостов ОС
- appserver: В моём случае я настраиваю проксирование вебсервера на определённый адрес
Apache-конфиг:
127.0.0.1 dle152.local dle152database
Чтобы узнать данные подключения и текущие сервисы, достаточно ввести в консоль следующую команду:
Bash:
lando info
Чтобы перезапустить сервер:
Bash:
lando stop && lando start
Чтобы перенастроить сервер:
Bash:
lando rebuild
Чтобы удалить сервер:
Bash:
lando destroy -y
Последнее редактирование: