Egy demó miatt fel kellett egy W7-es gépre egy apache szervert húznom. Hogyan is megy ez, ezt foglaltam össze tömören ide.
Az Apache2 egy kicsit másként üzemel, mint az apache, de azért nem áthidalhatatlanok a különbségek. Az első szembe5lés, hogy nem a user-em alatt kell public_html könyvtárban bohóckodni, hanem egy különálló path van erre beidomítva (alapban /srv/www/htdocs). Ide szemetelhetünk és nem fognak személyes anyagaink a világháló (de legalábbis a kollégák) szemei elé tárulni.
Nézzük gyorsan, hogyan tudjuk elindítani a verdát:
- A korábban megírt cikkben használt cygsetup --add-dal fel kell tenni az apache2 csomagot a a Web kategóriából.
- Futtassuk: /usr/bin/cygserver-config. Mivel nem vagyok admin a gépen, ezért csak console programként megy majd a cygserver, ezért ne próbáljuk meg service-ként felrakni. Aki persze erősebb a gépén, annak hajrá!
- /usr/sbin/cygserver.exe - E nélkül csúnya "Bad system call"-okat dob a httpd2 elindítása.
- edit: /etc/apache2/httpd.conf. Alapból a /srv/www/htdocs-ben van egy index.html. Ez egynek jó!
- /usr/sbin/httpd2 -X . Így 1 szálon fog indulni és nem megy el daemon-nak (service-nek), hanem a console-ra for írogatni. Ha van mit.
A firefoxban beírjuk, hogy http://<IP_címünk> és máris megjelenik, hogy
It works!
Hurrá... Akkor jöhet a finomítás!
Debug-oláshoz elég egy képernyőt megnyitni. A háttérben indítottam a cygserver-t és rá a háttérben a httpd2-t. Egyik sem egy szószátyár darab. Két képernyőn "tail -f"-felhetjük a /var/log/apache2 könyvtárban az access_log-ot és az error_log-ot. Mind a kettő vidám olvasmány. Ha mind a kettőt egyszerre szeretnénk nézegetni, akkor ajánlott olvasmány: Két file listázása egyszerre Linuxon.
Először is nézzük, mi a helyzet a cgi-bin-nel. Az /srv/www/cgi-bin könyvtárban alapban van két kis test cgi szkript. A printenv a környezeti változókat írja vissza, a test-cgi a kapott argumentumokat is visszaírja. Adjunk futtatási jogokat, majd vim /etc/apache2/httpd.conf :
AddHandler cgi-script .pl
...
<Directory "/srv/www/cgi-bin">
...
Options +ExecCGI
</Directory>
és mehet: http://<IP>/cgi-bin/printenv. Ez elsőre szépen működik! A második a http://<IP>/cgi-bin/test-cgi?alma=egy&bela=ketto. Az argumentumok a QUERY_STRING-be kerülnek, ahogy az elő vagyon írva.
Ipi-apache, 1, 2, 3 minden nap!
+jegyzések