All4DK 29.12.2012 13:51

Новичку+AMP за 3 минуты! =)

LAMP = Linux + Apache + MySQL + PHP

Linux установлен - достаточно добавить всё остальное, да ещё хочется чуть-чуть удобства - автоматического подхватывания новых папок как новых хостов. По поводу этого удобства писал уже тут.

И вот в сентябре был написан маленький скрипт, который ставит и настраивает всё это добро в автоматическом режиме.

В результате выполнения скрипта мы получаем машину, настроенную для начала web-разработки.
Запросы вида http://*.loc/ отправляются нашему серверу (локальной машине). Для этого прописывать алиас или менять конфиги не требуется! Достаточно создать новую директорию в /home/web/ и всё.

Взять скрипт можно тут: https://bitbucket.org/all4dk/webserverinstall


Тэги: apache development dnsmasq mysql php web
+ 2 -
Похожие Поделиться

kstep 29.12.2012 19:27 #
Я сам с некоторых пор перестал пользоваться толстыми веб-серверами для разработки.

Все Питон и Руби проекты имеют свой дев-сервер (например тот же джанговский ./manage.py runserver), для ПХП сначала перешёл с Апача на nginx+php-fpm, а с выходом ПХП 5.4 со встроенным дев-сервером избавился и от них (запускаю проект через php -S localhost:9000).
All4DK 29.12.2012 21:20 #
А чем это лучше? Я придерживаюсь мнения, что разрабатывать софт лучше на том, на чём он потом будет работать. Как-то надёжнее, провереннее что-ли.
Но это ИМХО, т.ч. можно и не соглашаться.
exelens 30.12.2012 10:58 #
Сервер не сильно важен. Важно сколько багов допустил разраб веб-приложения в реализации своего приложения.
cppmm 30.12.2012 15:16 #
Иногда важен. Только недавно программеру приходилось перепиливать кусок проекта, потому как у него на локалхосте в manage.py всё работало, а после переноса на тестовый сервер с человеческими настройками отломалась половина функционала. Уж не знаю, что там именно было, но подобные косяки как минимум с джанговскими встроенными runserver и runfcgi я встречаю не в первый раз.
kstep 08.01.2013 00:02 #
Это лучше тем, что когда пишешь стопяцот проектов на питоне, руби, пхп и всё это на разных фреймфорках (от джанго до синатры) и виртуальных средах (от virtualenv до vagrant), то смысла держать общесистемный зоопарк серверов, сред и либ очень геморно и практически бессмыссленно. Проще зайти в каталог с конкретным проектом и запустить его скриптом в нужной среде.
MAXH0 29.12.2012 20:41 #
Хм.
Есть не только Хабра-телепатия.
Но и WElinux телепатия :)
Спасибо не то чтобы очень нужно, но вовремя.
All4DK 29.12.2012 21:21 #
Очень рад!
MAXH0 29.12.2012 21:40 #
Рано радуетесь :)
У меня не запахало.
Где ДНС менять?
MAXH0 29.12.2012 21:45 #
Ну и еще волшебные строчки для сервер старт.стоп.рестарт.
All4DK 30.12.2012 00:03 #
sudo service apache2 restart
к примеру.
All4DK 30.12.2012 00:04 #
ну и
sudo service dnsmasq restart
MAXH0 29.12.2012 22:19 #
DNS стоит локальный
All4DK 30.12.2012 00:01 #
в свойствах подключения по локальной сети. Ставим днс 127.0.0.1.
cppmm 30.12.2012 04:38 #
Через написание подобных скриптов должен пройти в своей жизни каждый админ. :)
exelens 30.12.2012 10:59 #
а к чему это в конечном счете должно привести?
dront78 30.12.2012 11:07 #
может выпустят наконец package для аминки, делающий все это в автоматическом режиме.

webmin вроде дышит еще)
cppmm 30.12.2012 15:11 #
может выпустят наконец package для аминки, делающий все это в автоматическом режиме.

Это невозможно. И webmin тому явное подтверждение. :)
cppmm 30.12.2012 15:10 #
Кроме прокачки скилла у каждого конкретного админа - ни к чему.
Дело в том, что все такие скрипты по определению являются частными случаями.
Мне самому подобное приходилось писать несколько раз.
Впервые, когда рулил серваком на FreeBSD в небольшом провайдере и клиентам выдавались "сайтики" типа login.providername.com. Там был apache1.3 в качестве веб-сервера, bind8 рулил именами, а четвёртый mysql работал в качестве базы данных. Заводить сайтики надо было при создании нового пользователя в FreeNIBS. Одновременно с этим создавался почтовый ящик для клиента, логин в ProFTPd и выделялось строго квотированное место(винты не резиновые). Всё было написано на шелле и даже работало. Только вот тот скрипт был уже совершенно не нужен, когда сменилась учётная система, шлюзовой сервер был заменён на debian, перед апачем был установлен nginx и т.д. Всё было переписано с нуля, потому как править сильно много.
А потом я такое же писал для девелоперов, только вместо виртхостов апача, нгинкса и пр. создавались виртмашины в openvz с разными внутренностями...
А сейчас у меня среди прочих есть сервачок, где вроде бы снова только стандарные вебсерверы и базы данных, но настроек больно много и в bash'е уже тесно, поэтому приходится на perl'е шаблоны обрабатывать.
И даже если бы я просто хотел поставить себе на локалхосте систему для разработки сайтиков с быстрым созданием баз данных и виртхостов, я бы не использовал dnsmasq, как у ТС, базы создавал бы из подключаемых sql-дампов, а именами рулил бы напрямую в hosts регекспами. Уверен, у любого другого админа появятся свои use-case для подобных вещей.
Т.е. штука полезная, но очень узкозаточенная. :)
kosmass_zt 03.01.2013 10:48 #
Два маленьких момента:
1) goodbye
2) Я бы не стал давать 777 на все файлы в этой папке. Даже если это dev машина. 644 должно хватить всем.
All4DK 03.01.2013 11:22 #
1) - спасибо!
2) - 644 не хватит, т.к. у неё owner - root. И сам пользователь не сможет с ней ничего делать.

Может быть 666 поставить?
VovanR 13.01.2013 17:01 #
Вчера только дописал у себя в блоге инструкцию похожей настройки места разработчика, а тут такое =)
Надо попробовать ваш метод.
Интересует следующее: видят ли виртуальные машины ваши сайты, и можно ли по локалке от другого юзера смотреть сайты вашей машины? Просто я использовал bind9, а не dnsmasq, поэтому вопрос.
All4DK 17.01.2013 12:52 #
Да, хосты будут отвечать при запросе из сети. Но для того, что-б http://site.loc/ рулился на нужную машину, нужно в качестве основного DNS-сервера указать вашу машину.
All4DK 17.01.2013 12:53 #
Ну или в хостах прописать, но это странный метод))