LINUX.ORG.RU

Скрипты для веб-разработки вроде Денвера

 , , , ,


0

1

Для собственного использования сделал, сделал коряво, но работает.

  1. Нам потребуется apache, mysql и python
  2. Качаем и распаковываем куда угодно
  3. Ищем в файле addhosts.py cтрочку
    webdevdir = "/home/ginger/webdev/"
    и исправляем на свой каталог с проектами
  4. Запускаем от рута
    ./start-webdev.sh
    для запуска и
    ./stop-webdev.sh
    для остановки.
  5. Радуемся

Проверено под Debian 6.0

Скачать бесплатно без СМС

★★★★

Последнее исправление: alix (всего исправлений: 3)

Кто смотрел, по ссылке однострочник?

GateKeeper ★★
()

не нужно

Народ? Архив? Для трёх маленьких скриптов?

И с чего ты взял что все мои sites-available должны быть запущены?

Kalashnikov ★★★
()

Зачем данные, сжатые GZIP обзывать .bz2 ?

anonymous
()

Для собственного использования сделал, сделал коряво, но работает.

Такое лучше не выкладывать. Для начала стоит почитать PEP8. Не говоря уже о том, что Denwer — это рак веб-разработки. Тот, кто не осилил настроить Apache, MySQL и PHP, не нужен в вебе. Незачем тянуть этот подход в Linux.

anonymous
()

а зачем это нужно? Python фреймворки запускаются как стендэлон сервер без проблем.

xpahos ★★★★★
()
Ответ на: комментарий от xpahos

Кстати php-5.4 тоже теперь умеет запускаться как сервер.

anonymous
()
Ответ на: комментарий от AITap

Это вроде XAMPP for Linux?

Нет, это просто скрипты для запуска-остановки апача+мускля и добавления виртуальных хостов для всех проектов (чего нет в LAMPP)

alix ★★★★
() автор топика
Ответ на: не нужно от Kalashnikov

И с чего ты взял что все мои sites-available должны быть запущены?

Все мои sites-available могут быть запущены, они мне не мешают и их не так много

alix ★★★★
() автор топика
Ответ на: комментарий от xpahos

а зачем это нужно? Python фреймворки запускаются как стендэлон сервер без проблем.

Некоторые люди пишут на PHP, Perl, чистом Python и других языках

alix ★★★★
() автор топика
% python -m SimpleHTTPServer 8666

И не надо ничего качать. Тем более с Народа.

anonymous
()
Ответ на: комментарий от alix

Некоторые люди пишут на ... чистом Python

помой python, что ли.

anonymous
()
 $ ls
addhosts.py  start-webdev.sh  stop-webdev.sh
 $ cat addhosts.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#       addhosts.py  
#      Copyright 2012 Alix <ginger@desktop>
#      /* GPL v2+ */
import os;

def createVirtualHost(serverName, documentRoot, ip):
	vHostFile = "/etc/apache2/sites-available/"+serverName
	f = open(vHostFile, "w+");
	f.write("<VirtualHost "+ip+":80>\n");
	f.write("	ServerAdmin oren.ginger@gmail.com\n");
	f.write("	ServerName "+serverName+"\n");
	f.write("	ServerAlias www."+serverName+"\n");
	f.write("	DocumentRoot "+documentRoot+"\n");
	f.write("	<Directory />\n");
	f.write("		Options FollowSymLinks\n");
	f.write("		AllowOverride None\n");
	f.write("	</Directory>\n");
	f.write("	<Directory "+documentRoot+">\n");
	f.write("		Options Indexes FollowSymLinks MultiViews\n");
	f.write("		AllowOverride None\n");
	f.write("		Order allow,deny\n");
	f.write("		allow from all\n");
	f.write("	</Directory>\n");
	f.write("	ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/\n");
	f.write("	<Directory \"/usr/lib/cgi-bin\">\n");
	f.write("		AllowOverride None\n");	
	f.write("		Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch\n");
	f.write("		Order allow,deny\n");
	f.write("		Allow from all\n");
	f.write("	</Directory>\n");
	f.write("	ErrorLog ${APACHE_LOG_DIR}/error.log\n");
	f.write("	LogLevel warn\n");
	f.write("	CustomLog ${APACHE_LOG_DIR}/access.log combined\n");
	f.write("</VirtualHost>\n");
	f.close();
	hostsFile = open("/etc/hosts", "a");
	hostsFile.write("# These are lines added by my script\n");
	hostsFile.write(ip+"	"+serverName+"\n");
	hostsFile.write(ip+"	www."+serverName+"\n");
	hostsFile.close();
	

def main():
	
	webdevdir = "/home/ginger/webdev/"
	
	sites = os.listdir(webdevdir);
	i = 1;
	for site in sites:
		i=i+1;
		print "Adding "+webdevdir+site+" as 127.0.0."+str(i)+"...";
		createVirtualHost(site, webdevdir+site, "127.0.0."+str(i));
	return 0;


if __name__ == '__main__':
	main()
 $ cat start-webdev.sh 
#!/bin/sh
echo "************************************"
echo "* Под Linux нет денвера - не беда! *"
echo "************************************"
echo "Бэкап /etc/hosts..."
cp /etc/hosts /etc/hosts.old
echo "Добавляю виртуальные хосты..."
./addhosts.py
rm /etc/apache2/sites-enabled/*
for SITE in $(ls /etc/apache2/sites-available)
do
	ln "/etc/apache2/sites-available/$SITE" "/etc/apache2/sites-enabled/$SITE"
done
service apache2 start
service mysql start

 $ cat stop-webdev.sh 
#!/bin/sh

echo "****************************"
echo "* Останавливаю LAMP-сервер *"
echo "****************************"
service apache2 stop
service mysql stop
echo "Восстанавливаю /etc/hosts..."
cp /etc/hosts.old /etc/hosts
Deleted
()
Ответ на: комментарий от Deleted

Зачем ты это сюда приташил? Тебя мама не учила в мусорном баке не копаться?

anonymous
()
Ответ на: комментарий от alix

Некоторые люди пишут на PHP, Perl, чистом Python и других языках

не знаю как чистый PHP/Perl, а вот чистый Python кто-то запускает не через wsgi? Там уж явно не apache нужен.

xpahos ★★★★★
()

Нет такого файла или каталога: /etc/apache2/

На арче не работает, бида

anonymous
()
Ответ на: комментарий от alix

Ну да, твои. И скрипты твои. И никому кроме тебя они не нужны. Нет, вещь хорошая наверно, но публиковать такое не нужно.

Kalashnikov ★★★
()
Ответ на: комментарий от Kalashnikov

Да ну может же пригодиться кому-нибудь

alix ★★★★
() автор топика

Конструктивная критика:

- Как писал выше, не соблюдается PEP8. - В python'е есть возможность записи multiline-строк — """. Затем писать одной порцией. - Лучше использовать форматирование строк - %. - Зачем виртуальные хосты вешать на разные IP ? - Параметры скрипта (например, директория с проектами) лучше вынести в конфиг или опцию командной строки. - «Под Linux нет денвера - не беда!» — это зачем? - # These are lines added by my script — ничего не говорящий комментарий. - Дистрибутивоспецифично.

Можно еще написать. Это первое, что пришло в голову.

anonymous
()

Извиняюсь за разметку в предыдущем посте. Пишу на ЛОРе редко, не привык к разметке.

Конструктивная критика:

  • Как писал выше, не соблюдается PEP8.
  • В python'е есть возможность записи multiline-строк — """. Затем писать одной порцией.
  • Лучше использовать форматирование строк - %.
  • Зачем виртуальные хосты вешать на разные IP ?
  • Параметры скрипта (например, директория с проектами) лучше вынести в конфиг или опцию командной строки.
  • «Под Linux нет денвера - не беда!» — это зачем?
  • # These are lines added by my script — ничего не говорящий комментарий.
  • Дистрибутивоспецифично.

Можно еще написать. Это первое, что пришло в голову.

anonymous
()
Ответ на: комментарий от alix

Потому что он хороший

он не везде есть - раз, тупо записать в файл строки можно и на шелле - два.

lazyklimm ★★★★★
()

Скачать бесплатно без СМС

Уууу если б тут кто на лефтбиты и депозиты ссылки давал его бы тут с говном сожрали. Ссылки только прямые! Запомни. Для лора это умолчание!!!

Dron ★★★★★
()

Я могу понять, зачем денвер в венде существует. Но не могу понять, зачем это надо в ОС где все инструменты и так родные и работают?

Alve ★★★★★
()
Ответ на: комментарий от Alve

Подскажете название родного инструмента для автоматической настройки виртуальных хостов?

alix ★★★★
() автор топика
Ответ на: комментарий от alix

автоматическая настройка виртуального хоста? Это что, сложно??

Alve ★★★★★
()

Такое любой админ пишет за 15 минут на шелле.

shell-script ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.