Objective
The objective of this article is LAMP setup. Installing LAMP on Ubuntu 18.04 Bionic Beaver includes the setup of Linux, Apache, MySQL and PHP server, also known as LAMP stack.Operating System and Software Versions
- Operating System: - Ubuntu 18.04 Bionic Beaver
Requirements
Privileged access to to your Ubuntu 18.04 system will be required.Conventions
- # - requires given linux commands to be executed with root privileges either directly as a root user or by use of
sudo
command - $ - requires given linux commands to be executed as a regular non-privileged user
Other Versions of this Tutorial
Ubuntu 20.04 (Focal Fossa)Instructions
Install LAMP Ubuntu 18.04
Using thetasksel
command the procedure of installing LAMP on Ubuntu 18.04 Bionic Beaver is a rather trivial matter. First, make sure that you have the tasksel
package installed: $ sudo apt install taskselTo install LAMP server using
tasksel
execute: $ sudo tasksel install lamp-server
Test your LAMP Install
Create a simple PHP Info page to test your LAMP installation:$ sudo bash -c "echo -e '<?php\nphpinfo();\n?>' > /var/www/html/phpinfo.php"The above command will create a new
/var/www/html/phpinfo.php
file with the following content: $ cat /var/www/html/phpinfo.php <?php phpinfo(); ?>Now, point your web browser to your new LAMP install using the following URL:
http://<YOUR SERVER DOMAIN OR IP ADDRESS HERE>/phpinfo.php
:All done. Below you can find some optional tasks to further configure your LAMP stack server.
Subscribe to RSS and NEWSLETTER and receive latest Linux news, jobs, career advice and tutorials.
Optional LAMP Setup
MySQL Secure Installation
It is recommended to secure your MySQL installation before using your LAMP stack server in production. To do so execute:$ mysql_secure_installation
Firewall Configuration
The following firewall configuration allows incoming traffic on TCP ports80
and 443
: $ sudo ufw allow in "Apache Full"
Install PHP Modules
The default LAMP stack comes pre-installed with basic PHP modules. There are many additional PHP modules available$ apt-cache search ^php- | grep module
. First, obtain a PHP module package name and then install it using: $ sudo apt install MODULE_NAME_HERE
Appendix: LAMP install error messages
Warning Message:AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this messageSolution: Open
/etc/apache2/apache2.conf
and insert the following directive at the end of the file: ServerName <YOUR SERVER DOMAIN OR IP ADDRESS HERE>Alternatively, use the
echo
command. This example will be used for a server with the IP address 10.1.1.4
. Change your server IP or Domain name accordingly: $ sudo bash -c "echo ServerName 10.1.1.4 >> /etc/apache2/apache2.conf"Confirm your new configuration:
$ sudo apache2ctl configtest Syntax OK