[[PageOutline]] [wiki:howto <- Back to the HOWTO section] These installation instructions are written for the following versions: * Apache 2.2.* - See: [[howto/Apache2]] for instructions on installation of Apache2 * MySQL 5.6.* - See: [[howto/MySQL]] for instructions on installation ofMySQL * PHP 5.6.* - See: [[howto/PHP]] for instructions on instalation of PHP Simplified sequence: Install Apache Install MySQL Install PHP Modify Apache Configuration to support MySQL and PHP. = Integrate PHP with Apache = If this is your first install, you need to enable php56-apache2handler in your web server. To enable the php56-apache2handler, run: Register PHP with Apache {{{ cd /opt/local/apache2/modules sudo /opt/local/apache2/bin/apxs -a -e -n "php5" mod_php56.so }}} This should return the message: ''[activating module `php5' in /opt/local/apache2/conf/httpd.conf]'' Update Apache’s `httpd.conf` - ''/opt/local/apache2/conf/httpd.conf'' - file to enhance the "DirectoryIndex" directive to include additional "index" files. Search for: {{{ DirectoryIndex index.html }}} and change it this way: {{{ DirectoryIndex index.php index.html }}} Verify that at the end of the `httpd.conf` file the following lines exist so that Apache includes the mod_php "AddType" configurations {{{ # Include PHP configurations Include conf/extra/mod_php56.conf }}} Verify that in the Dynamic Shared Object (DSO) Support section the following have been added. {{{ # Load the PHP module LoadModule php5_module modules/mod_php56.so }}} Note: either of the above two edits are only required if the lines are not present in the httpd.conf file, as the apxs command (executed above) will add those for you. = Step 3: MySqL setup for PHP = Setup the MySQL default socket to use the MacPorts configuration (/opt/local/var/run/mysql5/mysqld.sock) {{{ $ sudo -i # cd /opt/local/etc/php5 # cp php.ini php.ini.bak # defSock=`/opt/local/bin/mysql_config5 --socket` # cat php.ini | sed \ -e "s#pdo_mysql\.default_socket.*#pdo_mysql\.default_socket=${defSock}#" \ -e "s#mysql\.default_socket.*#mysql\.default_socket=${defSock}#" \ -e "s#mysqli\.default_socket.*#mysqli\.default_socket=${defSock}#" > tmp.ini # grep default_socket tmp.ini # Check it! # mv tmp.ini php.ini # exit # OR rm php.ini.bak && exit }}} If you installed php5 with the +pear variant you should also: {{{ cd /opt/local/etc/php5 sudo cp pear.conf.sample pear.conf }}} Restart Apache so that your changes take effect {{{ sudo port unload apache2 sudo port load apache2 }}} = Step 4: Craete phpinfo = This is used to test the configuration after you have integrated it with Apache and MySQL. Create a file named `phpinfo.php` that contains the following three lines {{{ }}} and place it in your Apache "`DocumentRoot`" directory (nominally: "`/opt/local/apache2/htdocs`") or your own user "`Sites`" directory if you activated user directories as specified above. Point your browser to http://localhost/phpinfo.php (or http://localhost/~username/phpinfo.php as applicable) and verify that the correct version of PHP is active (v5.6.4 as of this writing) and that MySQL support is active (you may want to search the page for "`mysql`"). \\ Note that this file needs to be readable and executable. * Remember to return to [[howto/PHP]] to complete the PHP installation.