The tutorial describes how to install Apache 2.2, MySQL 5 and PHP 5 in FreeBSD 6.0 for a reliable web server.

Part 5 – Installing PHP Hypertext Preprocessor Scripting Language 5 and PHP 5 Extensions

  1. Install by enter the following commands on FreeBSD OS command line, wait for previous command to finish before running the next command:
    cd /usr/ports/lang/php5
    make install clean
  2. If you’re prompted, select “use Apache 2.x instead”.
  3. Continue with the following commands to install PHP5 extensions and modules to enable the support of the modules in Apache:
    cd /usr/ports/lang/php5-extensions
    make config
  4. At Options for php5-extension 1.0 menu, select all PHP extensions and modules that you may use with Apache webserver. This is a part of the configuration for PHP, where you need to enable features of PHP that come in modules, such as ability to manage user sessions, interface with databases and many others. Default extensions such as ctype functions support, HASH Message Digest Framework support, session support and etc have been selected. Other popular extensions that you most likely to be in used are MySQL database support and GD library support. Use space bar to select or unselect the extensions and press Enter when done.
  5. Continue the installation of php5-extensions with the following commands:
    make install clean
  6. If there are any message the pops up and prompts you to select some options or configurations, you can just accept the default settings by pressing Enter. Some modules that may prompt you for action include php5-gd, php5-mbstring and php5-sqlite.
  7. Edit the Apache configuration file in order to enable Apache web server to load the PHP modules when initialization:
    1. Go to Apache configuration file location by cd /usr/local/etc/apache2/
    2. Edit Apache configuration file by vi httpd.conf
    3. Search for LoadModule lines, after the last LoadModule line, but within the same section, add the following 2 lines:
      AddType application/x-httpd-php .php
      AddType application/x-httpd-php-source .phps
  8. Optionally, copy /usr/local/etc/php.ini-recommended or /usr/local/etc/php.ini-dist to /usr/local/etc/php.ini (in same directory), which will enable you to tune and change the default settings of behaviours of PHP.
  9. Start the Apache HTTP web server by using apachectl start (or restart Apache HTTP web server by using apachectl restart). apachectl is located in /usr/local/sbin, if you encounter Command not found problem, try to change directory to its location.
  10. PHP5 installation done.

A web server has been setup with the FreeBSD with Apache, MySQL and PHP. The document root of the web server (where you should put your HTML and PHP files is at /usr/local/www/apache22/data/ and you will need a SecureFTP (SFTP) client such as WinSCP to upload your files to web server securely.