Pár užitečných skriptů pro webdesign na Windows

MyEgo.cz

home foto blogy mywindows.cz kontakt

Pár užitečných skriptů pro webdesign na Windows

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

Komentáře

  1. 1 dgx 11.01.05, 02:01:35
    FB

    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

  2. 2 emvee 11.01.05, 02:01:38
    FB

    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.

  3. 3 Ondřej Kokeš 11.01.05, 03:01:09
    FB

    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

  4. 4 Radek Hulán 11.01.05, 03:01:14
    FB

    [1] já to na Linuxu řeším přes triviální skriptík s grep a cat 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, modifikace hosts je nutná, pokud chci střídat localhost a web..

  5. 5 Jaroslav Šeděnka 11.01.05, 04:01:35
    FB

    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..

  6. 6 Radek Hulán 11.01.05, 04:01:41
    FB

    [5] fantastické, díky! to je to, co člověk na Win potřebuje, ale nechce se mu kvůli tomu instalovat celý cygwin :-)

  7. 7 Arcao 12.01.05, 10:01:25
    FB

    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...

  8. 8 Waldo Q. Qux 13.01.05, 02:01:39
    FB

    [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.

  9. 9 Radek Hulán 13.01.05, 09:01:47
    FB

    [8] nevěděl jsem, že httpd.conf umí include, to je potom super možnost, díky!

  10. 10 Jarek Šeděnka 13.01.05, 04:01:43
    FB

    [8] vida, za ten link dik :-) nektere z tech preportovanych veci nemam ani u sebe v Linuxu :-)))

  11. 11 pachollini 15.01.05, 12:01:11
    FB

    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/...

  12. 12 Jakub Vrána 22.01.05, 11:01:40
    FB

    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.

  13. 13 Waldo Q. Qux 10.02.05, 06:02:08
    FB

    [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.