The LAMP stack (Linux, Apache, MySQL, PHP) is a group of open source software that is typically installed together to enable a server to host dynamic PHP websites and web apps. This guide includes the steps to set up a LAMP stack on Ubuntu 14.04, on a single server, so you can quickly get your PHP application up and running.
A more detailed version of this tutorial, with better explanations of each step, can be found here.
- sudo apt-get update
- sudo apt-get -y install apache2 mysql-server php5-mysql php5 libapache2-mod-php5 php5-mcrypt
When prompted, set and confirm a new password for the MySQL “root” user:
- sudo mysql_install_db
- sudo mysql_secure_installation
At the prompt, enter the password you set for the MySQL root account:
MySQL root password prompt:Enter current password for root (enter for none):
OK, successfully used password, moving on...
At the next prompt, if you are happy with your current MySQL root password, type “n” for “no”:
MySQL root password prompt:Change the root password? [Y/n] n
For the remaining prompts, simply hit the “ENTER” key to accept the default values.
Open Apache’s dir.conf
file in a text editor:
- sudo nano /etc/apache2/mods-enabled/dir.conf
Edit the DirectoryIndex
directive by moving index.php
to the first item in the list, so it looks like this:
DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
Save and exit.
Restart Apache to put the change into place:
- sudo service apache2 restart
Create a basic test PHP script in /var/www/html
:
- echo '<?php phpinfo(); ?>' | sudo tee /var/www/html/info.php
Open the PHP script in a web browser. Replace your_server_IP_address with your server’s public IP address:
Visit in a web browser:http://your_server_IP_address/info.php
If you see a PHP info page, PHP processing is working:
Delete the test PHP script:
- sudo rm /var/www/html/info.php
Here are links to more detailed tutorials that are related to this guide:
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
Sign up for Infrastructure as a Newsletter.
Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.
Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.
The sudo apt-get install now says that it can’t install ANY of the php5 packages. You may want to update these instructions.
I have followed this tutorial but when I test my info.php: all I get is a blank page
If you are with permission issues with the wp-content that can help you: in /etc/apache2/envvars
change:
for:
Remember the final critical step…
Restart Apache to put the change into place: sudo service apache2 restart
For some reason I managed to overlook this step, and while everything appeared to be functioning, I kept getting unexplainable errors that appeared (to the professionals whom I consulted) to be a misconfiguration of the PDO drivers, which I was told meant that PHP could not connect to MySQL.
After about a week of trouble-shooting and head-banging on my desk, this simple (overlooked) restart command solved all my problems. Ouch.