Vývoj webů v OS X a lokální webové servery

V prostředí OS X stejně jako v jiných operačních systémech, můžete bez problémů zprovoznit lokální webový server s podporou PHP a MySQL. Používám hned dvě řešení, jedno pro weby se systémem Drupal, druhé pro ostatní webové projekty.

Vytvářet weby přímo na cílovém serveru je nejenom zdlouhavé, ale i nepraktické. Jakékoli změny v souborech musíte nejprve nakopírovat na FTP, následně vyzkoušet v prohlížeči a potom můžete pokračovat dále. Máte-li nějaký lepší editor nebo vývojové prostředí (já používám Komodo IDE), můžete soubory měnit na FTP nebo SFTP přímo, pokud tam zrovna nenahráváte obrázky pro CSS. I tak je ale vzdálený vývoj nepohodlný.

Alespoň v prvních fázích přípravy nového webu byste tedy měli sáhnout po lokálním webovém serveru. Pokud tvoříte weby pro .NET a MS SQL, pak je volba jasná - Windows, IIS a Visual Studio. V případě PHP aplikací máte více možností a nemusíte zůstávat jen u Windows. Jelikož pracuji primárně s OS X, doporučím vám dvě aplikace vytvářející lokální webový server na počítačích od Apple.

Acquia Dev Desktop - pro komfortní vývoj Drupalu

Již řadu let používám pro zprovoznění webového serveru na lokálním počítači řešení Acquia Dev Desktop. Tedy pro případ, že pracuji na webu postaveném na základě redakčního systému Drupal. Acquia Dev Desktop je k dispozici i pro Windows a jeho výhoda spočívá v naprosto snadném zprovoznění jak úplně nových webů, tak třeba těch existujících, nakopírovaných z internetu do počítače.

Program samotný do počítače nainstaluje webový server Apache, databázový server MySQL, PHP a v případě Windows i SMTP server XMail, abyste mohli testovat odesílání mailů z Drupalu. Servery přitom nastaví tak, aby poslouchali na méně využívaných portech, takže se vám to nebude bít s jinými instalacemi.

Acquia Dev Desktop obsahuje ovládací panel, kterým servery spustíte a pokud si nepamatujete lokální adresu svého webového projektu, přepnete se na něj výběrem z rozbalovací nabídky. Vytvoření nového webu je záležitostí stisku jednoho tlačítka, které přidá do výchozí lokální instalace Drupalu nový konfigurační soubor a vytvoří odpovídající databázi.

Acquia Dev Desktop

Abych se přiznal, já Acquia Dev Dektop používám jinak. Vytváření více webů se společnou souborovou strukturou totiž není to pravé ořechové. Takže pro nové weby si nakopíruji čistou instalaci Drupalu do samostatné složky v /Users/janpolzer/Sites a v Acquia Dev Desktopu řeknu, že chci importovat nový web bez databáze.

Acquia Dev Desktop

V případě importu existujících webů, kdy chci například otestovat nějaké úpravy nebo upgrade z Drupalu 6 na Drupal 7, použiju stejný postup, jen si připravím ještě dump databáze a nechám jej programem naimportovat. Dev Desktop se o vše postará, včetně úpravy souboru settings.php tak, aby si web rozuměl s lokální databází.

MAMP - obecný webserver pro vývoj webů s PHP

V řadě případů chci na lokále provozovat webová řešení postavená na PHP i bez Drupalu. Ve Windows bych měl na výběr asi hromadu řešení, dříve jsem používal VertrigoServ, který je podle jeho domovské stránky stále aktuální. V OS X jsem si oblíbil řešení MAMP.

Podobně jako v případě Dev Desktopu se jedná o webový server Apache a databázi MySQL spolu s PHP ovládané prostřednictvím jednoduché aplikace. V aktuální verzi se lze přepínat mezi podporou PHP 5.2 a 5.3, vyzkoušet lze cacheovací řešení XCache, APC nebo eAccelerator. MAMP se tedy třeba i pro zmíněný Drupal, kdy chcete otestovat podporu různých cache.

Kromě toho lze v ovládacím panelu MAMP měnit i porty a cestu ke složce, ve které jsou weby umístěny. To je v podstatě vše, weby stačí nakopírovat do této složky (standardně /Applications/MAMP/htdocs) a otevřít si v prohlížeči adresu http://localhost:8888/složka-webu/.

MAMP

Na rozdíl od Acquia Dev Desktopu MAMP automaticky nevytváří subdomény něco.localhost, i když i to je možné zprovoznit ruční úpravou souboru hosts. Pokud byste si to chtěli naklikat a mít k dispozici i mnohem více nastavení v ovládacím panelu, je možné koupit asi za tisícovku MAMP Pro.

MAMP

Součástí základního MAMP jsou ještě správci databáze phpMyAdmin a SQLite Manager, které spustíte odkazem na stránce vyvolané automaticky pro startu MAMP.

Server zabudovaný přímo v PHP

Pokud stavíte jen nějaký jednoduchý projekt nebo skript, u kterého nepotřebujete databázi, vyzkoušejte webový server zabudovaný přímo v PHP. Podrobněji jsem se o něm zmiňoval v článku Webserver a interaktivní shell v PHP jako pomůcky pro vývojáře.

S touto dvojicí řešení + možností jednoduchého serveru v PHP, na kterém bez problému běží třeba GetSimple CMS, byste si při vývoji webů v OS X měli vystačit. Máte-li tip na jiné zajímavé řešení, napište.

Co používám od roku 2024? Léta běží, postupy se aktualizují, software se mění. Momentálně používám k provozu PHP a lokálního serveru jinou kombinaci aplikací. Konkrétně PHP Monitor a Laravel Valet. Koukněte na článek.

Tagy

Buďme ve spojení, přihlaste se k newsletteru

Odesláním formuláře souhlasíte s podmínkami zpracováním osobních údajů. 
Více informací v Ochrana osobních údajů.

Autor článku: Jan Polzer

Tvůrce webů z Brna se specializací na Drupal, WordPress a Symfony. Acquia Certified Developer & Site Builder. Autor několika knih o Drupalu.
Web Development Director v Lesensky.cz. Ve volných chvílích podnikám výlety na souši i po vodě. Více se dozvíte na polzer.cz a mém LinkedIn profilu.

Komentáře k článku

návštěvník

Dobrý den,

 

podle Vašich knížek a příspěvků na Vašem webu se seznamuji s Drupalem.
Zprovoznil jsem si lokální webový server s podporou PHP a MySQL (XAMPP), na
kterém mám Drupal 7. Momentálně mám k dispozici Adobe Dreamweaver (CS6), o
kterém jste napsal, že si od verze CS5 rozumí s Drupalem, a chci jej využít,
protože mne zaujala možnost v DW psát kód a hned vedle v zobrazení ‘Live’ vidět
výsledek. A tady mám problém.

 

Prostřednictvím DW mohu psát kód, prohledávat soubory Drupalu,
synchronizovat vzdálené, lokální a testovací prostředí, připojit se k databázi
atp., ale to pro mne zajímavé nefunguje. Když se v DW přepnu na živé zobrazení,
tak se objeví hláška Chyba 403 – Přístup odmítnut
s dodatkem, že nemám oprávnění pro přístup k požadovanému objektu, který je
chráněn proti čtení nebo serverem nečitelný.

 

Už několik dní marně hledám chybu, detailně jsem prošel nastavení Xamppu,
DW i Drupalu a vyzkoušel jsem všechno, co mne napadlo. Ale asi mne nenapadlo
všechno. Určitě to bude nějaká maličkost, kterou mé nezkušené oko přehlédlo. Vy
určitě víte, v čem by mohl být zádrhel. Dáte tip? Předem za něj děkuji.

 

Zdraví Filip.

 

Profile picture for user Jan Polzer

Dobrý den, ono je něco jiného jeden skript s PHP, který generuje jednu stránku a něco komplexní webová aplikace. Moc bych nespoléhal na to, že to bude fungovat vždy bez problémů. Raději bych to kontroloval normálně v prohlížeči.

Nicméně. Pokud se ta 403 objeví vygenerovaná Drupalem (jakože tam máte logo a kus webu), tak sem napište URL, na kterou koukáte. je to lokální stránka či titulka webu nebo se v náhledu DW pokoušíte zobrazovat přímo URL vedoucí na konkrétní soubor s kódem? To fungovat nemůže už z principu.

návštěvník

Děkuji za reakci. Chybu 403 generuje DW CS6, nemající přístup k Drupalu 7
na webovém serveru XAMPP, vše mám lokálně na svém PC. DW má mít vestavěný
webový prohlížeč, který umožňuje živé zobrazení (viz http://www.adobe.com/devnet/dreamweaver/articles/dw_working_with_drupal.html
- tam se sice jedná o DW CS5 a Drupal 6, ale princip je podle mne stejný). V DW
se pokouším otevřít šablonu node.tpl.php (z nejjednoduššího tématu vzhledu), kterou
si DW doplňuje souvisejícími soubory.

Profile picture for user Jan Polzer

Jojo, otázka je, jestli se nesnažíte v náhledu otevírat localhost/sites/all/themes/nejaketema/node.tpl.php. To samozřejmě nejde. Stejně, jako byste tuto adresu zadal do prohlížeče. DW by měl být schopen node.tpl.php debugovat, ale musí si otevřít normální třeba článek v Drupalu, ne přímo adresu s tímto souborem.

Bohužel teď nemám DW koupený, abych to vyzkoušel.

návštěvník

Nad Vašimi odpověďmi člověk musí někdy víc přemýšlet, ale vždycky se mu to
vyplatí. Podle toho dřív uvedeného návodu jsem to sice ani teď nezprovoznil,
ale přesto mi to už funguje. Použil jsem index.php v kořenovém adresáři
Drupalu. Díky za názory.

Profile picture for user Jan Polzer

:-) Ne vždycky se mi zadaří odpovědět dostatečně srozumitelně. Zvlášť, když popisovanou věc nemám přímo před sebou. Ale hlavně, že už to funguje.

Přidat komentář

Odesláním komentáře souhlasíte s podmínkami Ochrany osobních údajů

reklama
Moje kniha o CMS Drupal

 

Kniha 333 tipů a triků pro Drupal 9


Více na KnihyPolzer.cz

Poslední komentáře