How to easily install LAMP on ubuntu 16.04 – DebYum

share on:
install lamp on ubuntu

A LAMP consists of Linux Operating System, Apache web server, MySQL Database Server and PHP, is a web stack in which software are installed together so that it can be used for hosting web content.

For this tutorial, I am using DigitalOcean droplet with 512 MB RAM.

About this page:


Before installing anything we will first update our server.

root@ubuntu-512mb-nyc1-01:~# apt-get update &&  apt-get upgrade


INSTALL APACHE 2.4. in Ubuntu 16.04

we will install Apache 2.4 in our Ubuntu 16.04 server.

root@ubuntu-512mb-nyc1-01:~# apt-get install apache2 -y


Edit the main Apache configuration file /etc/apache2/apache2.conf  , to adjust the  KeepAlive settings:

sed -i '/KeepAlive On/c\KeepAlive Off' /etc/apache2/apache2.conf


Activate the Rewrite module

This module operates on the full URLs (including the path-info part) both in per-server context (httpd.conf) and per-directory context (.htaccess)and can generate query-string parts on result. The rewritten result can lead to internal sub-processing, external request redirection or even to an internal proxy throughput.

We can enable any module in apache with a2enmod  command

root@ubuntu-512mb-nyc1-01:~# a2enmod rewrite


Activate the Prefork Module.

we will enable the PreFork Module as Php uses prefork module by default.

But the default multi-processing module (MPM) for Apache is the event module and before enabling prefork module we need to disable the event module.

To disable this module we will use  the a2dismod  command.

root@ubuntu-512mb-nyc1-01:~# a2dismod mpm_event 
root@ubuntu-512mb-nyc1-01:~# a2enmod mpm_prefork


Restart Apache to implement your changes.

root@ubuntu-512mb-nyc1-01:~#  systemctl restart apache2


Setting  ServerName globally to Suppress Syntax Warnings.

First thing first, we will take care of an annoying warning message about not being able to reliably determine the server’s fully qualified domain name, which appears during restarting Apache server or checking for syntax error.

This warning can be easily removed via :

root@ubuntu-512mb-nyc1-01:~#  echo "ServerName localhost" >> /etc/apache2/apache2.conf



If you want to set your IP Address to your server name then you can use.

root@ubuntu-512mb-nyc1-01:~# IPOFSERVER=ip addr | grep 'state UP' -A2 | tail -n1 | awk '{print $2}' | cut -f1 -d'/'
root@ubuntu-512mb-nyc1-01:~# echo "ServerName $IPOFSERVER" >> /etc/apache2/apache2.conf


Next, check for syntax errors by typing:

root@ubuntu-512mb-nyc1-01:~# apachectl -t
Syntax OK


Restart Apache to implement your changes:

root@ubuntu-512mb-nyc1-01:~#  systemctl restart apache2


Allow Apache through Firewall.

we will allow Apache to communicate through Firewall.

root@ubuntu-512mb-nyc1-01:~#  firewall-cmd --zone=public --add-service=http --add-service=https --permanent
root@ubuntu-512mb-nyc1-01:~#  firewall-cmd --zone=public --add-port=80/tcp --add-port=443/tcp --permanent
root@ubuntu-512mb-nyc1-01:~#  firewall-cmd --reload


Also Allow Apache through Ubuntu Firewall.

root@ubuntu-512mb-nyc1-01:~# sudo ufw allow in "Apache Full"


To check if Apache is working properly, you can always visit your IP-ADDRESS in your browser.

Or you can install elinks or w3m like packages to check apache’s working from command line.

root@ubuntu-512mb-nyc1-01:~# apt-get install elinks -y
root@ubuntu-512mb-nyc1-01:~# elinks http://server-ip-address


Installing MySQL 5.7.x.

After installing Apache, we can now proceed to install MySQL server.MySQL is a database management system. The default version of MySQL server provided in Ubuntu 16.04 is MySQL 5.7.x. MariaDB 10 is also available in Ubuntu repositories.

To install MySQL, we can use.

root@ubuntu-512mb-nyc1-01:~# sudo apt-get install mysql-server -y


Start Mysql server and also enable it to start at reboot.

root@ubuntu-512mb-nyc1-01:~# systemctl enable mysql.service
root@ubuntu-512mb-nyc1-01:~# systemctl start mysql.service


Check this post : Complete Guide To Install, Update & Disable Strict SQL Mode In MySQL 5.7.

Securing the Database Server.

We need to secure the Database server by running this script  ( mysql_secure_installation ) in the shell.

root@ubuntu-512mb-nyc1-01:~# mysql_secure_installation
Enter current password for root (enter for none):
Set root password? [Y/n]   y

New password:
Re-enter new password:

Remove anonymous users? [Y/n]   y

**** If you don't want to access your database remotely then enter 'y' otherwise enter 'n' ****

Disallow root login remotely? [Y/n]   y

Remove test database and access to it? [Y/n]   y

Reload privilege tables now? [Y/n]   y



Stopping MySQL Service .

If you want to stop MySQL service use,

root@ubuntu-512mb-nyc1-01:~# systemctl stop mysql.service


Installing PHP.

PHP is used to run scripts, connect to the Database server ( MySQL ) to fetch data and process all the data to display dynamic content.

we will install additional packages so that our PHP can connect with MySQL database and these packages are often required by most of the applications.

root@ubuntu-512mb-nyc1-01:~#  apt-get install php libapache2-mod-php php-gd php-json php-curl php-intl php-mcrypt php-mysql php-imagick php-zip php-xml php-mbstring -y


To make Apache serve php files first instead of html files, we will need to edit  /etc/apache2/mods-enabled/dir.conf

root@ubuntu-512mb-nyc1-01:~# echo -e "<IfModule mod_dir.c>\n    DirectoryIndex index.php index.html index.cgi index.xhtml index.htm\n </IfModule>" > /etc/apache2/mods-enabled/dir.conf


To test the working of PHP , we can use this code to display PHP related info of your server.

root@ubuntu-512mb-nyc1-01:~# echo -e "<?php\nphpinfo();\n?>" > /var/www/html/info.php


Restart Apache server.

root@ubuntu-512mb-nyc1-01:~# systemctl restart apache2



With LAMP stack installed, you can now install a different kind of applications or CMS like PrestaShop  or a website on your server.

And if you want are in little bit hurry to install LAMP on Ubuntu 16.04 test server then you can visit Page 2 of this article.

I have tried to cover all the basic to advance concepts with their examples.

Still, if I have missed anything please update us through comment box. I will keep updating the same based on feedback’s received.

Thanks for visiting this page and Have a Good day. 🙂

share on:


Hello there, My name is Rishi Guleria and I work as a Linux system administrator. I have created this blog to share what I have learned so far and to learn new things. Don't forget to leave the feedback. Have a great day. :)


  1. ufabet ยูฟ่าเบท ufabet ufa no.1 ในวันนี้เป็นอีกรูปแบบ ที่น่าสนใจในการใช้บริการ ที่เหมาะสำหรับการพนัน ออนไลน์
    ufabetแทงบอล ลดการใช้บริการ ผ่านเว็บไซด์ จึงทำให้การใช้บริการ และลงทุนผ่านเว็บไซต์ ยูฟ่าเบทคือช่องทางที่ดีที่สุด ในการพนัน และการเดิมพัน และสัมผัสได้ว่าการสมัคร เป็นสมาชิกของเรา คือช่องทางที่ดีที่สุด จึงทำให้การตัดสินใจ และลงทุนผ่านเว็บไซต์ ยูฟ่าเบทคือช่องทางที่น่ารักทุกคน ต่างยอมรับ ในการใช้บริการที่ดีที่สุด

    ufabetแทงบอลในโลก เมื่อเลือกที่จะลงทุน แล้วทำการพนัน ผ่านเว็บไซต์ยูฟ่าเบท เพราะ ในการตัดสินใจ และลงทุนผ่านเว็บไซต์ ยูฟ่าเบทคือช่องทางการใช้บริการ และการลงทุน ที่เหมาะสำหรับ การพนันออนไลน์ และสัมผัสได้ว่าการสมัคร เป็นสมาชิกใหม่คือช่อง ทางการใช้บริการที่ดีที่สุด ทางเข้าเล่น UFABET

    ufabetแทงบอลจึงยอมรับเลยว่าเว็บไซต์ มีเกมส์คาสิโนออนไลน์ มากมายไว้คอยบริการ และตอบโจทย์สำหรับ การชนะการเดิมพัน ในการสมัคร เป็นสมาชิกของเรา คือการใช้บริการที่ดีที่สุด ในวันนี้คือเว็บไซต์ ที่น่าสนใจ และน่าเชื่อถือ ในการพนัน ออนไลน์ และสัมผัสได้ว่าการสมัคร เป็นสมาชิกอยู่ ช่องทางการใช้บริการ ที่ดีที่สุดเว็บพนัน บอลยูฟ่าเบท

    ufabetแทงบอล ในการสมัคร เป็นสมาชิก และสัมผัสกับเว็บไซต์ ยูฟ่าเบทคือช่วงถามที่น่าสนใจ
    ในการใช้บริการและการลงทุน ซึ่งสามารถ ทําให้ทุกคน ยอมรับเรียกว่าการสมัคร ใช้บริการ และลงทุนผ่านเว็บไซต์ 24 ชั่วโมงทางที่ดีที่สุด จึงทำให้การใช้บริการ ผ่านเว็บไซด์ของเรา สัมผัสที่ว่าการพนัน และการเดิมพัน ในช่องทางที่ดีที่สุด ในวันนี้ เพราะการให้บริการ 24 ชั่วโมง

    เพื่อที่จะสามารถ สร้างผลประโยชน์และผลกำไร ตอบแทนกลับคืนมา สู่นักพนันทุกๆคน การลงทุน และการเข้าใช้บริการ ในช่องทาง และสามารถทำให้นักพนันมี ค่าตอบแทนสำหรับ การลงทุนที่ดีที่สุดจึงทำให้ ในวันนี้การลงทุน บาคาร่า

    ufabetแทงบอล เป็นการตอบโจทย์สำหรับ การพนันในทุกประเภทที่จะสามารถ ทําให้ทุกคน ยอมรับ ในการใช้บริการและลงทุนผ่านเว็บไซต์ ได้อย่างแน่นอน สมาชิกของเราคือ การสัมผัสกับการพนัน ออนไลน์ และใช้บริการ ได้อย่างสะดวกสบาย จึงทำให้การใช้บริการ และการลงทุนผ่านเว็บไซต์ คือที่น่าสนใจ ที่สามารถ ทำให้นักเรียนทุกคน มั่นใจ ในการเลือกใช้บริการที่ดีที่สุด และมั่นใจ

    ทางเข้าเล่น UFABET
    ในการใช้บริการผ่านเว็บไซด์ ที่มีประสิทธิภาพ ในการสมัคร เป็นสมาชิกของเราคือช่องทางที่เหมาะสำหรับ การพนันออนไลน์ จริงหรือ?
    และสามารถ ใช้บริการ ได้อย่างปลอดภัย เมื่อตัดสินใจ และลงทุนผ่านเว็บไซต์ ยูฟ่าเบทในวันนี้ สามารถ ทำให้นักเรียนทุกคน ต่างยอมรับ ในการพนัน และการเดิมพัน จึงอยากให้ผู้ใช้บริการ ในวันนี้มั่นใจ ในการลงทุน และเลือกที่จะลงทุนผ่านเว็บไซต์ เพื่อสร้างความสะดวกสบาย และความมั่นใจ ในการเลือกใช้บริการที่ดีที่สุด

    สำหรับ นักพนัน และนักเสี่ยงโชคทุกๆ คน ซึ่งมีความมั่นใจ ในการใช้บริการ และการลงทุนผ่านเว็บไซต์ ที่เหมาะสำหรับ การพนันออนไลน์ ร่วม ในการสมัคร เป็นสมาชิกของเรา คือการใช้บริการ ที่มีประสิทธิภาพ ในการออนไลน์ โดยตรง และมั่นใจ ได้ว่าการเลือกใช้บริการ ผ่านเว็บไซด์ufabet ufaแทงบอล อันดับ1

Leave a Response

share on: