Skip to content

Instantly share code, notes, and snippets.

@razzul
Last active December 25, 2018 03:15
Show Gist options
  • Save razzul/aed628370c71cc599181e2db3218bf4f to your computer and use it in GitHub Desktop.
Save razzul/aed628370c71cc599181e2db3218bf4f to your computer and use it in GitHub Desktop.
ubuntu lamp

Install LAMP Stack On Ubuntu 16.04

LAMP

Install Apache

$ sudo apt-get update
$ sudo apt-get install apache2

Test Apache

$ sudo ufw app list

Available applications:
    Apache
    Apache Full
    Apache Secure
    OpenSSH

$ sudo ufw app info "Apache Full"

Ports:
    80,443/tcp

Check in browser: http://localhost/

localhost

Install MySQL

$ sudo apt-get update
$ sudo apt-get install mysql-server mysql-client

mysql password

mysql password

Test MySQL

$ sudo systemctl status mysql

Install PHP

$ sudo apt-get update
$ sudo apt-get install php php-mysql php-curl php-json php-cgi libapache2-mod-php php-mcrypt php-xml php-cli
$ sudo gedit /etc/apache2/mods-enabled/dir.conf

<IfModule mod_dir.c>
    DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>

$ sudo systemctl restart apache2
$ sudo gedit /etc/apache2/apache.conf

Under the directory section, add the line “AllowOverride All” under “Directory Index”, making the section look like this:
<Directory /usr/share/phpmyadmin>
    Options FollowSymLinks
    DirectoryIndex index.php
    AllowOverride All
    [...]

$ sudo systemctl restart apache2

Test PHP

$ php -v
$ sudo gedit /var/www/html/test.php

<?php
    phpinfo();
?>

Check in browser: _http://localhost/test.php

php info

Install PHP 5.6

$ sudo a2dismod proxy_fcgi proxy
$ sudo service apache2 restart

$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt-get update
$ sudo apt-get install php7.0 php5.6 php5.6-mysql php-gettext php5.6-mbstring php-mbstring php7.0-mbstring php-xdebug libapache2-mod-php5.6 libapache2-mod-php7.0

Switch PHP version 5.6 > 7.0

$ sudo a2dismod php5.6
$ sudo a2enmod php7.0
$ sudo service apache2 restart
$ sudo update-alternatives --set php /usr/bin/php7.0

Test PHP

$ php -v

Switch PHP version 7.0 > 5.6

$ sudo a2dismod php7.0
$ sudo a2enmod php5.6
$ sudo service apache2 restart
$ sudo update-alternatives --set php /usr/bin/php5.6

Test PHP

$ php -v

Manage MySQL Databases

$ sudo apt-get update
$ sudo apt-get install phpmyadmin

phpmyadmin

phpmyadmin

phpmyadmin

phpmyadmin

phpmyadmin

$ sudo gedit /etc/apache2/apache2.conf

Add this line on the topof the page

Include /etc/phpmyadmin/apache.conf

$ sudo systemctl restart apache2
Check in browser: _http://localhost/phpmyadmin

To uninstall mysql & phpmyadmin:

sudo apt-get purge phpmyadmin

sudo apt-get remove --purge mysql*

sudo apt-get autoremove

sudo apt-get autoclean

sudo systemctl status mysql

sudo apt-get update

sudo apt-get install mysql-server mysql-client

sudo systemctl status mysql

sudo apt-get update

sudo apt-get install phpmyadmin

sudo gedit /etc/apache2/apache2.conf

Add this line on the topof the page - Include /etc/phpmyadmin/apache.conf

sudo systemctl restart apache2

Update root user password:

sudo mysql -u root -p

mysql> use mysql;

mysql> SELECT User, Host, plugin FROM mysql.user;

mysql> UPDATE user SET plugin='mysql_native_password' WHERE User='root';

mysql> FLUSH PRIVILEGES;

mysql> SELECT User, Host, plugin FROM mysql.user;

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';

mysql> exit

sudo service mysql stop

sudo service mysql start

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment