Ha jól emlékszem lassan három hónapja gyűröm a MacBook Pro-t, és próbálom elfelejteni az évek alatt beidegződött Windows-t több kevesebb bosszúság árán. Eljutottam addig a pontig, hogy már nem csak felhasználóként szeretném használni az OSX-et, hanem az új webtárhely oldalunkat a Tárhelypark-ot oldalt is szeretném ezen fejleszteni és tesztelni mielőtt éles üzembe kerül. Mivel egyelőre ezt WordPress-el tervezzük, ezért szükségem van a Mac-en egy Apache/PHP/MySQL fejlesztői környezetre, amit most össze is rakok.
Állítólag a Mac már alap kiszerelésben is egy fejlesztői gép, ezért minden van rajta kezdve az Apache-tól a PHP-n át a Ruby-ig. Ez talán igaz is lehetne, ha nem derült volna ki azonnal, hogy azért egy kis tuningolás nem árt, mert egy alap WordPress futtatásához hiányzik egy két dolog: a PHP telepítésből az mcrypt könyvtár, a MySQL adatbázis kezelő, és némi Apache konfiguráció.
A konfiguráció amin dolgozom: Mac OS X 10.6.8 (10K549) – Snow Leopard
OSX Apache konfiguráció
Az OSX-ben már benne van az Apache, de nem fut, el kell indítani:
$ sudo apachectl start
leállítani vagy újraindítani így tudod:
$ sudo apachectl stop
$ sudo apachectl restart
Ha fut a webszerver akkor a localhost-on már látnod is kell egy böngészőből:
http://localhost
Apache Virtuális hosztok
Én szeretem a virtuális hosztok használatát, mert így könnyebb megjegyezni az egyes alkalmazások elérését, és nem kell foglalkozni az elérési utakkal az URL-ben. Úgy terveztem, hogy a létrehozott oldalakat a saját Sites könyvtáramban fogom tárolni a /Users/user/Sites könyvtárban, mert ezt használja több program is alapértelmezésben.
Az Apache konfigurációs fájlban (/etc/apache2/httpd.conf) engedélyezni kell a virtuális hosztokat:
/etc/apache2/httpd.conf
# Virtual hosts
Include /private/etc/apache2/extra/httpd-vhosts.conf
A httpd.vhosts.conf konfigurációs fájlban felvettem a tarhelypark.local domain-hez tartozó hosztot.
httpd-vhosts.conf
ServerAdmin xyz@codeplay.hu
DocumentRoot "/Users/kepes/Sites/tarhelypark-wp"
ServerName tarhelypark.local
ServerAlias *.tarhelypark.local
ErrorLog "/private/var/log/apache2/tarhelypark.local-error_log"
CustomLog "/private/var/log/apache2/tarhelypark.local-access_log" common
Hosts fájl az OSX-en
Ahhoz, hogy a virtuális hosztok működjelenk, még fel kell venni a megfelelő nevűt a /etc/hosts fájlba. A ServerName paraméterben megadott nevet kell hozzákapcsolni a localhost Ip címéhez.
$sudo nano /etc/hosts
127.0.0.1 localhost
255.255.255.255 broadcasthost
::1 localhost
fe80::1%lo0 localhost
127.0.0.1 tarhelypark.local
127.0.0.1 myadmin.local
127.0.0.1 blog.tarhelypark.local
Miután ezt felvettük, és az Apache újraindult, a böngészőből el lehet érni a szervert a tarhelypark.local beírásával.
Symbolic link not allowed or link target not accessible
Jól használhatók még a szimbolikus linkek is, amiket trükkös engedélyezni. Nem a fő konfigurációs fájlban kell beállítani a FollowSymlinks paramétert mert egy inkludált konfig fájl felülírja azt.
/etc/apache2/users/username.conf
Options Indexes MultiViews FollowSymlinks
AllowOverride All
Order allow,deny
Allow from all
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
Amiért még ilyen hibaüzenetet kaphatunk, az a könyvtár jogosultsága amire a szimbolikus link mutat. Ha a konfiguráció után még mindíg jelentkezik a probléma, akkor jól nézd át a jogokat és tulajdonosokat!
PHP konfiguráció
Eredetileg nincsen php.ini fájl, létre kell hozni a /etc könyvtárban
$ sudo cp /etc/php.ini.default /etc/php.ini
PHP és mcrypt
A PHP alap konfigurációból hiányzik az mcrypt könyvtár, ami számos programhoz, például a PHPMyAdmin-hez is szükséges. Ezt most pótolni fogjuk.
Először is nézzük meg milyen php verzió fut a gépen:
$ php -v
PHP 5.3.4 (cli) (built: Dec 15 2010 12:15:07)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
Nálam a PHP 5.3.4. Ahhoz, hogy az mcrypt-et hozzá tudjuk kapcsolni a PHP-hez szükségünk van a következő három dologra:
- Xcode 3, amihez Apple Developer-é kell válnunk. Ez egy kicsit macerás, az xcode telepítve 9 Gb
- mcrypt könyvtár (libmcrypt)
- PHP forráskód, a megfelelő verzióval
Az xcode telepítése után csomagold ki a libmcrypt és php letöltéseket. A libmcrypt fordítása:
$ ./configure
$ make
$ make install
A PHP-ből nincsen szükség a teljes csomag lefordítására, csak az mcrypt kiegészítő szükséges:
$ cd php-/ext/mcrypt/
$ sudo phpize
$ sudo ./configure
$ sudo make
$ sudo make install
Ezek után létre kell jöjjön egy .so fájl a /usr/lib/php/extensions/no-debug-non-zts-20090626 könyvtárban.
Az /etc/php.ini fájlban szerepelnie kell a következő két sornak:
extension_dir=/usr/lib/php/extensions/no-debug-non-zts-20090626
extension=mcrypt.so
Az Apache újraindításával a phpinfo-ban meg kell jelennie az mcrypt könyvtárban.
MySQL
A MySQL letöltés és telepítése egyszerű, ezt nem részletezem. Miután a telepítés befejeződött szükség van a my.cnf konfigurációs fájl létrehozására a /etc könyvtárban. Én a fejlesztéshez a legkisebb példa konfigurációt, a my-small.cnf fájlt választottam.
$ sudo cp /usr/local/mysql/support-files/my-small.cnf /etc/my.cnf
Alapértelmezés szerint a PHP rossz helyen keresi a sock fájlt, ezért meg kell változtatni a /etc/php.ini fájlban a mysql.default_socket bejegyzést:
mysql.default_socket = /tmp/mysql.sock
$ sudo /Library/StartupItems/MySQLCOM/MySQLCOM start
Érdemes belerakni a MySql-t a path -ba
$ nano ~/.profile
export PATH=$PATH:/usr/local/mysql/bin

Nice tutorial…. thanks !!!
Ebből az Apple Pro-ból meglenne egy jó kis Sony Vaio és egy Alianware asztali gép monitorral, plusz egy jó kis Cisco router. Utána az Alienware – re mehet is fel a Windows Server és a Microsoft IIS. Azt ha beindul a vállalkozás akkor bedobható a szerverterembe.
Nem tom telepítettél e már fel PHP-t IIS-re kb. 3 klikk, SSL/TLS – t egy normál emberi lény be sem tud állítani Apache-on, IIS-en 2db klikk. Friendly URL-ezés is kb. 3db klikk, míg apache-on vagy alias-ozol, vagy nevetséges .htaccess-ezel.
Szóval felejtsd el az Apple-t webszerverre ez a cuccos nem arra való, hanem csak státusszimbólumnak.
Köszi az infot, de a cikk nem arról szól, hogy webszervert telepítettem volna, hanem fejlesztői környezetet, ami arra való, hogy lefejleszd az alkalmazásod, és utána ha működik, kirakd webszerverre.
A fejlesztői környezet egyik alap feladata szerintem, hogy ne egyen sok erőforrást, és mindenben támogassa a fejlesztést (log, debug, profile stb.). Nem ismerem az IIS-t, de ha az is megfelel ezeknek a követelményeknek, és elfut pár MB memóriával, akkor jó lehet. Különben valóban kell egy erőmű, amin fejlesztesz. A fentebb leírt környezet egy alap MacBook-on is tökéletesen fut.
Számomra a kattintások száma nem szempont, inkább a fejlesztés gyorsasága a lényeg. Ehhez kell a jó és stabil környezet, pl. egy OSX