Blog

installatie mysql, php en apache via macports

Omdat ik op mijn mac een gd-versie nodig had met freetype-ondersteuning, heb ik moeten afstappen van de ingebouwde php-configuratie in Snow Leopard. Na wat sakkeren ben ik op volgende werkwijze terechtgekomen. Met dank aan onderstaande websites. Met een beetje samenvoegen en gezond verstand ben ik tot de volgende werkwijze gekomen. Je mag geen schrik hebben van de terminal, maar je moet je ook niet laten afschrikken. Als je klaar bent heb je een heel flexibele PHP-configuratie.

Heel Belangrijk: maak eerst een backup van je sites en maak een dump van je sql!!

Omdat MySQL al geÏnstalleerd was heb ik deze eerst moeten uitschakelen. Start hiervoor MySQL Administrator op en stop de huidige server. Hernoem vervolgens de huidige installatie (later kun je deze volledig verwijderen):

sudo mv /usr/local/mysql /usr/local/mysql.old

Installeer MacPorts zoals beschreven: http://www.macports.org/install.php Je maakt het best gebruik van het DMG-bestand (selecteer de juiste versie) en zorg dat je Xcode staan hebt!.

Als je liever grafisch werkt, installeer dan ook Porticus: http://porticus.alittledrop.com/download.html

Na de installatie van Porticus: Ports - Self Update

Kies bij All Ports ’mysql5’ én ’mysql5-server’ en klik op Install

Zorg ervoor dat mysql automatisch opstart:

sudo launchctl load -w /Library/LaunchDaemons/org.macports.mysql5.plist

en maak de standaard databases aan:

sudo /opt/local/lib/mysql5/bin/mysql_install_db --user=mysql

Voeg mysql toe aan je standaardpad, voeg daarom deze regel toe aan ~/.profile

export PATH=/opt/local/lib/mysql5/bin:$PATH

maak een snelkoppeling aan om mysql op te starten en af te sluiten (just in case you need it). Nog steeds in ~/.

alias mysqlstart='sudo /opt/local/bin/mysqld_safe5 &’

alias mysqlstop='/opt/local/bin/mysqladmin5 -u root -p shutdown'

Voeg nog een socket toe voor mysql. Maak een bestand /opt/local/etc/mysql5/my.cnf aan. plaats hierin:

[mysqld_safe] socket = /tmp/mysql.sock

Maak een verwijzing aan om compatibel te blijven met een aantal programma’s:

sudo ln -s /tmp/mysql.sock /opt/local/var/run/mysql5/mysqld.sock

Start je MySQL-installatie

mysqlstart

Controleer of je kan aanmelden:

mysql5 -u root

Als alles goed gegaan is, zit je nu in de Mysql-prompt. Typ quit om deze te verlaten.

Installatie van Apache en PHP in Porticus, selecteer PHP5, en kies Install. Zet een vinkje bij PEAR en Apache2 om deze mee te installeren. Klik op update. Na een tijdje is deze klaar.

start Apache automatisch op:

sudo launchctl load -w /Library/LaunchDaemons/org.macports.apache2.plist

Maak een alias aan voor Apache omdat je deze eenvoudiger kan starten in ~/.profile:

alias apache2ctl='sudo /opt/local/apache2/bin/apachectl'

Configureer PHP:

sudo cp /opt/local/etc/php5/php.ini-development /opt/local/etc/php5/php.ini

Zorg dat Apache de php-module laadt:

cd /opt/local/apache2/sudo /opt/local/apache2/bin/apxs -a -e -n "php5" libphp5.so

Open /opt/local/apache2/conf/httpd.conf zoek de regel:

DocumentRoot "/opt/local/apache2/htdocs"

en vervang deze door:

DocumentRoot "/Library/WebServer/Documents"

Het is geen must, maar het mag wel. als je deze wijziging hebt doorgevoerd moet je nog een regel aanpassen: Vervang

<Directory "/opt/local/apache2/htdocs">

Door:

<Directory "/Library/WebServer/Documents">

Laat Apache ook weten dat hij index.php-bestanden moet aanvaarden:

<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>

zoek de block <IfModule mime_module> op, en plaats hierin:

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

Ik werk graag met userdirectory’s. dan kan ik mijn bestanden onder /Users/mijnnaam/Sites plaatsen: zoek de regel

Include conf/extra/httpd-userdir.conf

op, en verwijder het commentaarteken.

Installeer nu eerst php5-mysql (via Macports) om via php je mysql te kunnen aanspreken

herstart je Apache

apache2ctl restart

Je kan nu ook phpmyadmin toevoegen via porticus / macports.

Om je database te importeren (als we er van uitgaan dat je backup de naam localhost.sql heeft)

mysql5 -u root source localhost.sql

AANVULLING:

Ik maak ook gebruik van een .htaccess bestand om mijn url's te rewriten. Apache via Macports kan hier standaard mee overweg, maar je moet wel nog de rechten juist zetten hiervoor. Daarom voeg je in het bestand /opt/local/apache2/conf/extra/httpd-userdir.conf de volgende regels toe:

<Directory "/Users/tim/Sites">
    AllowOverride all
</Directory>

Herstart je Apache, en klaar.

Veel succes

Bronnen:

en nog een aantal andere. Laat het gerust weten mocht ik inhoud uit uw site hebben overgenomen. Ik plaats deze hier dan ook bij.

2010-04-01