Zprovoznění PHP na Mac OS X
Na Macu je sice už předinstalované PHP, ale špatně se s ním pracuje - např. se do něj těžko přidávají další rozšíření (třeba gettext). Je tedy pohodlnější spravovat vlastní instalaci PHP. Použijeme k tomu balíčkovací systém Homebrew, pomocí kterého se dá instalovat i řada dalších CLI nástrojů.
Pokud s Macem začínáte, doporučuji si pročíst také pár tipů a triků pro Mac OS X.
Homebrew
# instalace Homebrew
ruby <(curl -fsSkL raw.github.com/mxcl/homebrew/go)
# Před pokračováním vyřešte všechny problémy, které vypíše následující příkaz.
# Především bude třeba nainstalovat Xcode z Mac App Store a v něm doinstalovat Command Line Tools.
#
# V souboru /etc/paths také přesunťe/přidejte na první řádku cestu '/usr/local/bin',
# aby dostaly přednost nástroje nainstalované pomocí Homebrew a ne ty již integrované v systému.
brew doctor
Git
Xcode Command Line Tools již Git pro příkazovou řádku obsahují. Pokud ale chcete vždy aktuální verzi, můžete si ho stáhnout z „oficiálního webu“:http://git-scm.org/ anebo použít Homebrew:
brew install git
Pro vygenerování SSH public/private klíče slouží ssh-keygen, který vám položí pár otázek a poté vygeneruje dvojici do adresáře .ssh:
ssh-keygen
Doporučuji také použít můj .gitconfig (inspirovaný tím od Vaška Purcharta se spoustou praktických nastavení a aliasů.
PHP
# Dáme Homebrew vědět o repozitáři s PHP balíčky.
brew tap homebrew/dupes
brew tap josegonzalez/homebrew-php
# A nainstalujeme PHP.
# Poznamenejte si pokyny z výsledku tohoto příkazu, budete je potřebovat při integraci PHP do Apache!
brew install php54 --with-pgsql --with-intl --with-imap
# Rozšíření lze instalovat také pomocí Homebrew. Seznam dostupných si vypíšete takto:
brew search php54
php.ini
se nachází v /usr/local/etc/php/5.4/php.ini
.
PEAR
PEAR je vždy potřeba volat se sudo, jinak nebude fungovat.
# Pokud následující příkaz nevypíše '/usr/local/bin/pear',
# neupravili jste soubor /etc/paths podle návodu ze sekce o instalaci Homebrew!
which pear
# Instalace PHPUnitu
sudo pear channel-discover pear.phpunit.de
sudo pear channel-discover pear.symfony-project.com
sudo pear channel-discover components.ez.no
sudo pear install phpunit/PHPUnit
Aby nástroje nainstalované přes PEAR fungovaly, je potřeba přidat do /etc/paths
cestu /usr/local/Cellar/php53/5.3.16/bin
(upravte podle vaší verze PHP).
Nově otevřená okna Terminálu teď již dokážou nástroje instalované přes PEAR najít:
phpunit --version
Apache
V systému je již integrovaný Apache, který netrpí problémy integrovaného PHP, můžeme ho tedy pro naše účely využít.
Jeho konfigurační soubor se nachází v /etc/apache2/httpd.conf
.
Potřebujeme do něj doplnit načtení PHP modulu. K ostatním LoadModule příkazům tedy přidáme (správnou cestu vám vypsal příkaz brew install php53 na začátku návodu):
LoadModule php5_module /usr/local/Cellar/php53/5.3.16/libexec/apache2/libphp5.so
Dále je potřeba zvolit si pohodlnější DocumentRoot. Já projekty umisťuji do /Users/www
.
V httpd.conf nalezněte řádku DocumentRoot "/Library/WebServer/Documents"
a nahraďte ji:
DocumentRoot "/Users/www"
Dále nalezněte sekci <Directory "/Library/WebServer/Documents">
a cestu opět přepište na /Users/www
.
V té samé sekci ještě zaměňte AllowOverride None
(aby fungoval .htaccess) za AllowOverride All
.
Restartujte server:
sudo apachectl restart
Selenium
# Instalace wgetu, pomocí kterého stáhneme binárku Selenium serveru
brew install wget
Zkopírujte si URL na stažené souboru selenium-server-standalone-*.jar z tohoto seznamu a použijte ji v příkazu wget:
sudo mkdir /usr/lib/selenium/
sudo wget http://selenium.googlecode.com/files/selenium-server-standalone-2.25.0.jar /usr/lib/selenium/
sudo mkdir -p /var/log/selenium/
sudo chmod a+w /var/log/selenium/
Uložte následující soubor do:
~/Library/LaunchAgents/org.nhabit.Selenium.plist
A samozřejmě nahraďte správnou cestu k vaší verzi Selenium serveru:
<?xml version="1.0" encoding="UTF-8"?>
<plist version="1.0">
<dict>
<key>Label</key>
<string>org.nhabit.Selenium</string>
<key>OnDemand</key>
<true/>
<key>ProgramArguments</key>
<array>
<string>/usr/bin/java</string>
<string>-jar</string>
<string>/usr/lib/selenium/selenium-server-standalone-2.25.0.jar</string>
<string>-port</string>
<string>4443</string>
</array>
<key>ServiceDescription</key>
<string>Selenium Server</string>
<key>StandardErrorPath</key>
<string>/var/log/selenium/selenium-error.log</string>
<key>StandardOutPath</key>
<string>/var/log/selenium/selenium-output.log</string>
</dict>
</plist>
A v terminálu spusťte službu:
launchctl load ~/Library/LaunchAgents/org.nhabit.Selenium.plist
launchctl start org.nhabit.Selenium