Zverejňovanie vlastných stránok (nie len) na lokálnej sieti je v operačnom systéme Mac OS X veľmi jednoduchá záležitosť. Mac OS X má v sebe zabudovaný Apache server už v štandardnej inštalácii. Systém umožňuje užívateľom publikovať na sieti jednoduché HTML stránky.
Môj problém však nastal, keď som potreboval dať stránkam dynamiku pomocou PHP modulu. Existuje veľa softvérov tretích strán (MAMP, XAMPP), ktoré to umožňujú. S týmito softvérmi som nemal žiadne veľké problémy, ale aj tak som sa rozhodol využiť možnosť, ktorú poskytuje samotný Leopard.
Ako aktivovať PHP?
Ako som už spomínal, samotný Leopard obsahuje PHP modul, konkrétne modernú verziu 5.2.4. Na to, aby sme ho mohli používať, musíme editovať konfiguračný súbor Apache-u, ktorý sa nachádza v /etc/apache2/httpd.conf. Otvoríme si ho textovým editorom a nájdeme riadok, kde sa načítava modul PHP 5:
#LoadModule php5_module libexec/apache2/libphp5.so
Tento riadok je zakomentovaný, na to aby sme ho odkomentovali musíme odstrániť symbol #, takže riadok bude vyzerať takto:
LoadModule php5_module libexec/apache2/libphp5.so
V tomto súbore je pre nás dôležitý ešte jeden riadok a to cesta k adresáru, z ktorého si načítava Apache prvú (domovskú) stránku. Nájdeme riadok s názvom DocumentRoot.
DocumentRoot "/Library/WebServer/Documents"
/Library/WebServer/Documents je adresár, ktorý má Apache prednastavený štandardne. V tomto adresári je uložená stránka Apache serveru aj s anglickým manuálom. Pokiaľ skopírujeme naše stránky do tohto adresára, budú načítané automaticky (index.php). Kľudne ale môžeme tento adresár zmeniť napríklad na „/Users/Peter/Sites“.
Osobne preferujem prestaviť cestu kvôli ľahšiemu prístupu k súborom a tiež jednoduchšiemu prístupu cez browser. Po dokončení editácie súbor uložte.
Spustenie servera Apache je jednoduché, v System Preferences povoľte Web Sharing a tým sa server aktivuje. Cez Terminal je možné spustiť Apache príkazom sudo apachectl start, reštartujeme parametrom restart.
Otestovanie behu servera
Pre otestovanie behu kliknite na adresu pod nápisom „Your computer’s website“ v okne Web Sharing, ktoré ste otvorili pri aktivácii Apache. Alternatívne môžte do adresy prehliadača napísať „localhost“.
Pokiaľ webserver funguje správne a nemenili ste štandardnú cestu DocumentRoot, mali by ste v titulku webstránky vidieť „Test Page for Apache Installation“. Pokiaľ zadáte stránku http://localhost/manual/, zobrazí sa nám manuál k Apache 2.2, ktorý je hostovaný z nášho vlastného servera.
Pre zobrazenie stránok jednotlivých užívateľov musíme do prehliadača zadať adresu v tvare http://localhost/~Peter (namiesto Peter zadáte vaše uživateľské meno). Zobrazí sa vám stránka z adresára /Users/Peter/Sites namiesto stránky nahratej v DocumentRoot, samozrejme tie môžu byť identické.
Test funkčnosti PHP
Doterajší postup nám síce zobrazil HTML stránku, ale zatiaľ ešte nič nehovorí o tom, či PHP modul skutočne funguje. Vytvorte si jednoduchý PHP súbor s názvom info.php s týmto obsahom.
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>PHP Test page</title> </head> <body> <?php phpinfo(); ?> </body> </html>
Súbor info.php uložte do DocumentRoot adresára a do prehliadača zadajte localhost/info.php. Zobrazí sa vám stránka, ktorá hovorí o aktívnej verzii PHP a ďalších nastaveniach PHP modulu. Tým sme si overili, že server s PHP modulom funguje.
Autorom článku je čitateľ Richard Kellner, článok bol zaslaný emailom.
komentárov
celkom v pohode je nechat povodny priecinok a v homedir si ho iba nalinkovat..
ja to tak robim pod linuxom :)
Ale pokud potřebujete i MySQL, je určitě jednodušší MAMP…
Celkom dalo návod. Ale čo ak chcem mať na localhoste aj subdomeny? A pre každú aktívny .htaccess? vie mi niekto poradiť?
Zdravim. Nedavno som sa potykal s podobnym problemom. Zistil som vsak, ze dodavane PHP nie je skompilovane s kniznicou GD. Pridal som ju podla clanku http://www.veola.net/macintosh/adding-gd-library-for-mac-os-x-leopard ale pozor, niektore image funkcie nefunguju v 5.2.4-5.2.5 dobre. Tiez je tu moznost nahodit vsetko cez Macports http://samuraicoder.net/installing_php_and_mysql_leopard_macports_prealpha
Martin>
sa to robi cez tzv. virtual hosty..
1. v httpd.conf pridas nieco take :
NameVirtualHost 127.0.0.1
ServerAdmin admin@localhost
ServerName $nazov_domeny$
DocumentRoot $cesta_k_rootu_webu$
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
2. potom este v /etc/hosts doplnis do riadku s IP 127.0.0.1 :
127.0.0.1 localhost $nazov_domeny$
3. restart Apache
4. do browsera das http://$nazov_domeny$
5. SJ by povedal : Wow.. it’s amazing, isn’t it ?
(Kedze som to robil poslednykrat pred par mesiacmi, mozno som na nieco zabudol)
Ja mam apacha/php/mysql/pgsql/ruby a vsetky tie veci okolo web dev instalovane z portov. Uz len koli tomu, ze sa to lahsie updatuje a customizuje ako by default apache a php z MAC OS X
okrem toho, sam updatovat Apache, PHP, Ruby a dalsie veci priamo v Mac OS X moze v buducnosti pri vydani update Mac OS X sposobit pekny bruchabol…
Martin>
..pozeram ze to striplo tagy, bod 1 este raz :
NameVirtualHost 127.0.0.1
<virtualhost 127.0.0.1>
ServerAdmin admin@localhost
ServerName $nazov_domeny$
DocumentRoot $cesta_k_rootu_webu$
<directory $cesta_k_rootu_webu$>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</directory>
</virtualhost>
velmi dobra vecicka. diky moc.. tym padom teraz mozem MAMP odinstalovat ak som ho pouzival doteraz ????
no a co ak chcem aj mysql ? hm.. naco mi je php bez mysql ? je to nato tiez neaky navod, ze to ma system integorvane v sebE?
mayoxy > pokial nepotrebujes mysql tak si MAMP mozes kludne odinstalovat a pouzivat iba toto, pokial by si si chcel aj mysql tak sa to da vyriesit instalaciou cez mac ports (http://www.macports.org/) ale to uz je trochu zlozitejsie a aj narocnejsie na priestor na disku lebo pred instalaciou mac ports potrebujes mat developer tools, na kompilaciu. Ako vyssie spominal lesnik, da sa tam nainstalovat aj apache, php, mysql a dalsie uzitocne programy ale chce to sa s tym trochu pohrat. Osobne mam rozbehany apache a php original v macu a mysql som doinstalovaval cez ports a potom uz som iba menil php.ini a httpd.conf aby spolupracovali dokopy, zial mysql v systeme integrovana neni a este nebola vydana stabilna verzia na OS X 10.5 a je iba na 10.4 a tu som neskusal instalovat do Leoparda tak neviem ako sa chova.
Martin> Markie ti uz odpovedal ako sa to da riesit, toto bol moj namet na dalsi clanok ale neviem ci by sa to tematicky uplno hodilo prave sem, kazdopadne na domovskej stranke apache sa o tom celkom dobre docitas (http://httpd.apache.org/docs/1.3/vhosts/)
richard kellner > hm..mam taky pocit ze ostanem pri MAMP. :)
mayoxy > ostat pri MAMP je jednouchsia volba a ako som spominal aj na zaciatku clanku je to aj dobra volba. Osobne vsak preferujem nastavit si to v OS ked to tam je a nemat dve rovnake sluzby a aspon viem co sa deje “pod kapotou” :) Uz vysla oficialna verzia MySQL5 (instalacny balik dmg) aj na Leoparda, tak si planujem v blizsej buducnosti najst trocha casu, skusit to nainstalovat a napisat pokracovanie k clanku.
Tiez je moznost spristupnit databazu PostgreSQL s ktorou PHP dokaze spolupracovat a o instalacii tejto databazy na macblogu vysiel tiez clanok, na prepojenie s PHP staci editovat php.ini, ktore sa nachadza: /private/etc/php.ini
Tak ja som si dnes vyskusa nainstalovat mysql z dmg balicka, konfiguracia pre apache nebola zlozita, a ktomu som si tam pridal aj phpmyadmin.
Funguje to super, ak si najdem cas napisem navod, nieje to zlozite, len problem je v tom, ze moje navody su velmi tazkopadne pisane. Inac, predtym som pouzival XAMPP pre mac, ale teraz mi to viac vyhovuje.
neviem, či toto bude fungovať, ale skúsiť to treba. Ďakujem. Fero.