Pár užitečných skriptů pro webdesign na Windows
Webdesign, CMS
11.01.05
Na Windows se mi při startu spouští minimální množství služeb, pokud si člověk chce zahrát Half Life 2 či Doom 3, je to nutnost. I proto nespouštím Apache2 a MySQL 4.1 automaticky, při startu, ale tímto jednoduchým BAT souborem (s odkazem na ploše):
net start apache2 net start mysql
A podobně pro zastavení:
net stop apache2 net stop mysql
Pro simulaci avicenna.cz na localhost:
echo 127.0.0.1 localhost > c:\windows\system32\drivers\etc\hosts echo 127.0.0.1 avicenna.cz www.avicenna.cz >> c:\windows\system32\drivers\etc\hosts
Následně mohu do URL browseru zadat http://www.avicenna.cz
a
pracuji na svém lokálním počítači, soubor c:\windows\system32\drivers\etc\hosts
bude obsahovat toto:
127.0.0.1 localhost 127.0.0.1 avicenna.cz www.avicenna.cz
Rovněž je vhodné změnit DocumentRoot
, pro Apache2 server, tedy
soubor httpd.conf
, Windows shell bohužel neobsahuje věci jako
je grep, aby to šlo dělat inteligentněji, nicméně, na změnu DocumentRoot
z C:\Dev\www
na C:\Dev\www\avicenna
postačí
i toto:
copy /Y c:\Dev\prog\Apache2\conf\httpd.conf c:\Dev\prog\Apache2\conf\httpd.conf.original echo DocumentRoot "C:\Dev\www\avicenna" >> c:\Dev\prog\Apache2\conf\httpd.conf C:\Dev\prog\Apache2\bin\Apache.exe -w -n "Apache2" -k restart copy /Y c:\Dev\prog\Apache2\conf\httpd.conf.original c:\Dev\prog\Apache2\conf\httpd.conf
více webů (a DocumentRoot) reším tak, že je nechávám poslouchat na jiné IP, tedy 127.0.0.1, 127.0.0.2 atd.
Podle toho se upraví i příslušný soubor hosts a httpd.conf.
A pak už není třeba používat skripty pro změnu konfigurace nebo restart Apache
A co takhle použít v apači vistual hosts? Není pak potřeba pořád měnit httpd.conf... Nevím jak ve dvojce, ale v apache 1.3 to funguje.
Delam to obdobne jako dgx:
Momentalne mam 5 IP (127.0.0.1-5) a k nim vhosty na jednotlive weby, takze mam projekt a napisu jen "allmond", potrebuju phpmyadmina, mam ho jako "ss/phpmyadmin" apod. Je to jednoduche, snadne a simulace webserveru je hotova
[1] já to na Linuxu řeším přes triviální skriptík s
grep
acat
a/etc/init.d/web restart
, stejně dělám jen na jednom webu v jednom čase ;) Ale je fakt, že s omezeným shellem je na Win lepší<VirtualHost>
. Navíc, modifikacehosts
je nutná, pokud chci střídat localhost a web..no, co se tyce grepu a podobnch vychytavek, tak se muze hodit nainstalovat si UnxUtils (http://unxutils.sourceforge.net/...), treba bez wgetu nebo grepu snad ani pouzitelne pracovat s terminalem nejde..
[5] fantastické, díky! to je to, co člověk na Win potřebuje, ale nechce se mu kvůli tomu instalovat celý cygwin :-)
Ja to osobne resim pres virtual hosts:
V httpd.conf:
NameVirtualHost *:80
<VirtualHost *:80>
VirtualDocumentRoot h:/_www/%0
</VirtualHost>
A pak v souboru hosts pridam radky:
127.0.0.1 http://www.server.com
127.0.0.1 http://www.server.cz
Nasledne pokud polezeme na tyto domeny, tak se nam to bude odkazovat do adresaru:
http://www.server.com
http://www.server.cz
Je plno nastaveni, staci si jen procist manual k Virtual Hosts...
[1] na woknech se mi tenhle zpusob nepovedl :/ server se sice bindne na 127.0.0.2, ale pak stejne odpovida ten z 127.0.0.1, dela to treba i u pingu:
Příkaz PING na 127.0.0.2 s délkou 32 bajtů:
Odpověď od 127.0.0.1: bajty=32 čas < 1ms TTL=128
[5] dalsi (a vic) je treba na [a]gnuwin32.sf.net[/a], nativni win32 bash se ovsem musi sehnat jinde ;)
ad clanek: uprava hosts se mi neosvedcila, dela to trochu zmatek a je to imho zbytecna prace navic, takze pouzivam radeji avicenna._stroj_ (pokud tedy na lokale, tak avicenna.localhost, jinde avicenna.develmachine, ..)
co se tyce automagicke upravy httpd.conf, tak snad nejlepsi by bylo vyuzit moznosti include v httpd.conf, ten includovanej soubor pak jednoduse zdegenerovat v shellu a main konfigurak necht si ho natahne.
[8] nevěděl jsem, že httpd.conf umí include, to je potom super možnost, díky!
[8] vida, za ten link dik :-) nektere z tech preportovanych veci nemam ani u sebe v Linuxu :-)))
Mně se taky osvědčilo zřídit virtuální hosty pro každý server, který dělám - dá se pak mít spuštěné všecko najednou, nemusí se nic přepínat. Taky je IMHO lepší dát jim jiné názvy než mají ostré - jednak se člověk nesplete a jednak lze lokální verzi prohlížet zároveň s webovou. Návod na rozjetí na Windows je na http://seky.nahory.net/2004/12/...
Windows shell bohužel neobsahuje věci jako je grep
Windows sice nemají grep, ale mají findstr, který se na základní věci dá použít stejně dobře jako grep.
[8] tak, ohledne bindnuti na 127.0.0.2 -- musim opravit sam sebe. problem s tim, ze i kdyz se server bindne na 127.0.0.2 tak stejne odpovida ten ze 127.0.0.1 resi KB884020 a tyka se jen XPSP2. po aplikaci tohoto fixu jiz vse odpovida jak ma.