Автоматизация LAMP

Главные вкладки

Аватар пользователя xSPiRiTx xSPiRiTx 13 октября 2016 в 9:17

Ubuntu 14.04 + LAMP

Все классно работает, но вот не дает покоя мне тот факт, что каждый раз при создании сайта приходится править конфиги, создавая виртуальные хосты. Честно, я делаю это не часто и не каждый день. В связи с этим я с трудом вспоминаю где находятся эти конфиги и какими командами включить виртуальные хосты. Приходится искать заметки и копипастить оттуда.

Поэтому возник вопрос: существуют ли какие-нибудь удобные GUI средства автоматизации LAMP под Linux таких задач как добавление виртуального хоста сразу с прописью его в /etc/hosts, перезагрузка, остановка, включение сервера Apache? Эти дела отлично реализованы в OpenServer для Windows....как пример.

Комментарии

Аватар пользователя ivnish ivnish 13 октября 2016 в 9:48

>таких задач как добавление виртуального хоста сразу с прописью его в /etc/hosts, перезагрузка, остановка, включение сервера Apache?

Это простейший баш-скрипт может. Изучайте баш, будете приятно удивлены его мощью

Аватар пользователя fairrandir fairrandir 13 октября 2016 в 9:59

У себя на ArchLinux настраивал с помощью dnsmasq. Автоматом подхватывает папки из ~/public_html вида sitename.localnet, без перезагрузки. Танцев с бубном было много, готовой инструкции тоже нет. Проблема только одна, как и у вас - настроил года три назад и уже забыл. Вечером гляну конфиги, поподробнее расскажу.

Аватар пользователя ivnish ivnish 14 октября 2016 в 9:29

Совсем нет. Я вот такой извращенец, что дома у меня все устройства на линуксе, но сайты делаю на виртуалке в OpenServer, потому что быстро, удобно, и не надо париться с правами на файлы.

Аватар пользователя gun_dose gun_dose 14 октября 2016 в 10:25

на линуксе поднимаете виртуалку с виндой, в которой опенсервер? А как же git, drush, mysqldump, composer? Они же на винде каждый запускается в своей хитроспециализированной консоли.

Аватар пользователя xSPiRiTx xSPiRiTx 13 октября 2016 в 13:51

а как хостеры это делают? к ним через сайт после регистрации приходит заявка и админы через панели управления добавляют хосты и выделяют дисковую квоту?

Аватар пользователя multpix multpix 13 октября 2016 в 15:06

xSPiRiTx wrote:

Все классно работает, но вот не дает покоя мне тот факт, что каждый раз при создании сайта приходится править конфиги, создавая виртуальные хосты

Если вы про разработку - то drush rs запускает легкий серверок с проектом на 0.0.0.0:8888, а sqlite вполне хватает для dev.
Если про продакшн - то коли такие вопросы у вас возникают, лучше самому отойти от голого сервера в сторону шаред, или aws.

Аватар пользователя negociant negociant 13 октября 2016 в 22:49

В php начиная с версии 5.4 имеется Built-In Web Server (RU, EN), drush именно этой фичей и пользуется с помощью одной простой команды, сам пользуюсь встроенным сервером в phpstorm https://www.jetbrains.com/help/phpstorm/2016.2/php-built-in-web-server.html для быстрого запуска php приложений.

Аватар пользователя xSPiRiTx xSPiRiTx 14 октября 2016 в 0:10

я как-то пробовал запускать мелкий сервер, который был встроен в php...с самого начала начали возникать какие-то проблемы...я даже не вспомню какие, потому что сразу же не задумываясь забил на него

Аватар пользователя xSPiRiTx xSPiRiTx 13 октября 2016 в 19:52

как вариант вообще отказаться от использования доменов. не нужны они мне.
а команды как вариант записать хотя бы в ярлычки и развесить их удобным для себя образом.
спасибо!
буду делать уже на новой системе, а то у меня ксубунта 14.04 уже несколько лет никак не сломается, скучно с ней.

Аватар пользователя fairrandir fairrandir 13 октября 2016 в 21:50
1

В dnsmasq (вроде в бубунте по дефолту есть):
address=/.localnet/127.0.0.1
В httpd.conf апача (документация):

UseCanonicalName Off
VirtualDocumentRoot /home/user/public_html/%0/

При создании папки вида sitename.localnet всё подхватывается автоматом.

Аватар пользователя fairrandir fairrandir 13 октября 2016 в 23:08
1

Не. В самом простом варианте - по идее достаточно этих трёх строчек. А какие проблемы возникнут по пути - то мне неведомо. У меня не получалось из-за какой-то баги подружить dnsmasq с NetworkManager. С правами были проблемы. Какой-то конфликт с dhcp.

Но это у меня карма плохая. Иногда кажется, что я половину жизни на issue-трекерах провожу.

Аватар пользователя gun_dose gun_dose 15 октября 2016 в 11:29

ХоолиGUN wrote:

Если постоянный стандарт php+mysql+apache, то нах докер


Это на линуксе. А на винде даже для одного говнопроекта лучше докер, т.к. там есть полноценная консоль. А то помню прикол установки драша на опенсервер: композер запускается только из спец консольки опенсервера. Ставишь драш, но он уже из этой консоли не пашет, а пашет из системной консоли винды. А гит запускается из специальной гитовской консоли. И ссш только через путти. В общем, многооконный режим во всей красе)) а из консоли машины докера даже под виндой всё пашет идеально, ну только шрифт ублюдский

Аватар пользователя multpix multpix 15 октября 2016 в 12:33

MS и Canonical в win10 замутили подсистему linux:
https://msdn.microsoft.com/commandline/wsl/install_guide
https://msdn.microsoft.com/en-us/commandline/wsl/about

Так-же на win можно использовать Virtualbox с Doker-ом или без.

И это убирает кучу неудобств?
Так а почему-бы попросту не ставить Linux, хотя-бы второй системой)))

Аватар пользователя Grayw0lf Grayw0lf 15 октября 2016 в 11:43

gun_dose wrote:

Это на линуксе. А на винде даже для одного говнопроекта лучше докер,

Кто мешает сделать виртуалку и на ней развернуть полноценный линь?

Аватар пользователя gun_dose gun_dose 15 октября 2016 в 12:41

В докере одной командой поднимается сконфигурировпнный контейнер. А если рассуждать в стиле "что мешает", то можно уйти слишком далеко: что мешает поставить линукс второй системой, что мешает поставить второй компьютер с линуксом, что мешает нанять человека, который всё сделает за тебя. И т.д. Но мы тут немного рассуждаем о быстром развёртывании систем, а не о том, кто как умеет.

Аватар пользователя multpix multpix 15 октября 2016 в 13:21

gun_dose wrote:

Но мы тут немного рассуждаем о быстром развёртывании систем, а не о том, кто как умеет

Я понял что вы "умеете докер")))
А вы опять перекручиваете))
Разговоры о постороннем дяде придумали и озвучили....

А это всего лишь поиск "лучшей практики".

docker - отличный инструмент - но порой и он излишен.
(принцип - не плоди сущее без надобности)

К слову @xSPiRiTx все преимущества *nix прекрасно известны
Осталось только немного настроить php)))

Повторюсь: для локальной разработки в большинстве типовых случаев хватает drush runserver

Или, как сказал Денис - свой скрипт, который примет аргументом имя_проекта, подымет для него хост, и создаст корневую.
По типу:
 bigom-zrobiv-i-otkriv super-site.local --with-dru8 --root='~/projects'
)))

Да только зачем, если все уже есть в drush, а деплоимся автоматом?

Аватар пользователя gun_dose gun_dose 15 октября 2016 в 14:26

Ай, уже неинтересно, переливаем из пустого в порожнее. У меня дома убунта, настроил первый сайт, остальные делаю копированием конфы этого домена с заменой через контрлф доменного имени. Потом судо а2енсайт, судо сервисе апапче2 релоад и в хостс одно слово. Это всё занимает порядка минуты, если плохо помнишь, где конфиги. Не знаю, что там куда автоматизировать.

ЗЫ: а на винде драш рансервер канает?

Аватар пользователя dashiwa dashiwa 15 октября 2016 в 13:28

Докер жрет памяти...Счастливые обладатели 4 гигабайт и ниже отдыхают и предпочитают баш скрипты. Можно и драш дополнить он на баш основан