ApacheMySQLPHP
This is to help people setup and install a [http://en.wikipedia.org/wiki/LAMP_%28software_bundle%29 LAMP] server in Ubuntu 5.04, including Apache 2, PHP 4, and MySQL 4.1. As of this writing, MYSQL 5.0 and PHP 5 could only be installed by compiling. See the bottom of this document for further info.
Check Repositories
The Universe repository needs to be enabled to install Apache. Please see AddingRepositoriesHowto for details.
Also, you should be familiar with RootSudo.
Installing Apache 2
$ sudo apt-get install apache2
Installing PHP 4
$ sudo apt-get install php4
Installing MYSQL 4
$ sudo apt-get install mysql-server $ sudo apt-get install libapache2-mod-auth-mysql $ sudo apt-get install php4-mysql
After installing MySQL, you really ought to read [http://dev.mysql.com/doc/mysql/en/default-privileges.html 2.9.3. Securing the Initial MySQL Accounts] from the [http://dev.mysql.com/doc/mysql/en/index.html MySQL Reference Manual].
Edit Apache Configuration
You may want your current user to be the PHP pages administrator. To do so, edit the Apache configuration file :
$ sudo gedit /etc/apache2/apache2.conf
Search both the strings starting by "User" and "Group", and change the names by the current username and groupname you are using. Then you'll need to restart Apache. (look at the next chapter concerning apache commands)
Configuration options relating specifically to user websites (accessed through localhost/~username) are in /etc/apache2/mods-enabled/userdir.conf.
Edit PHP Configuration to Work With MYSQL
You may need to edit the PHP configuration file to get PHP and MYSQL talking :
$ sudo gedit /etc/php4/apache2/php.ini
Remove the ";" for the line ";extension=mysql.so", and restart Apache as is stated below.
Run, stop, and restart Apache
Use the following command to run Apache :
$ sudo /usr/sbin/apache2ctl start
To stop it, use :
$ sudo /usr/sbin/apache2ctl stop
Finally, to restart it, run :
$ sudo /usr/sbin/apache2ctl restart
Status
To check the status of your PHP installation:
$ sudo gedit /var/www/testphp.php
and insert the following line
<?php phpinfo(); ?>
View this page on a web browser, at http://yourserveripaddress/testphp.php or http://localhost/testphp.php
Securing Apache
If you just want to run your Apache install as a development server and want to prevent it from listening for incoming connection attempts, this is easy to do.
$ sudo gedit /etc/apache2/ports.conf $ password:
Change ports.conf so that it contains:
Listen 127.0.0.1:80
Save this file, and restart Apache (see above). Now Apache will serve only to your home domain, http://127.0.0.1 or http://localhost.
Other Apache options
To enable SSI (ServerSideIncludes) - http://www.unet.univie.ac.at/%7Ea9826090/en/projects/linux/ubuntu-apache2-ssi.html
LocalhostSubdomain - access your local files as if you had different subdomains
Further Information
You can compile PHP5FromSource, as well as MYSQL5FromSource.