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
grepacata/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, modifikacehostsje 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.com127.0.0.1 http://www.server.cz
Nasledne pokud polezeme na tyto domeny, tak se nam to bude odkazovat do adresaru:
http://www.server.comhttp://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.