Step 1: Install Apache Web Server on Ubuntu 18.04
1. First start by updating your software packages and then install Apache web server using following commands.
$ sudo apt update
$ sudo apt install apache2
2. After the installation process is complete, the apache service should start automatically and will be enabled to start at system boot time, you can check if it’s up and running using following command.
$ sudo systemctl status apache2
3. If you have a system firewall enabled and running, you need to open the ports 80 and 443 to allow client connection requests to apache web server via HTTP and HTTPS respectively, then reload the firewall settings as shown.
$ sudo ufw allow 80/tcp
$ sudo ufw allow 443/tcp
$ sudo ufw reload
4. Now verify your Apache installation by testing default test page at the below URL from a web browser.
If you see the apache default web page, it means your installation is working fine.
Step 2: Install MariaDB on Ubuntu 18.04
5. Now install MariaDB, is a free, open source database management system forked from MySQL and it is a community developed project being led by the original developers of MySQL.
$ sudo apt install mariadb-server mariadb-client
6. The MariaDB services should start automatically after installation, check its status to ensure that it is up and running.
$ sudo systemctl status mysql
7. The MariaDB installation is not secure by default, you need to execute a security script that comes with the package. You will be asked to set a root password to ensure that nobody can log into the MariaDB.
$ sudo mysql_secure_installation
Once you execute the script, it will ask you to enter current password for root (enter for none):
Then enter yes/y to the following security questions:
- Set root password? [Y/n]: y
- Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
- Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
- Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
- Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Step 3: Install PHP on Ubuntu 18.04
8. PHP is one of the most widely used server side scripting language used to generate dynamic content on websites and apps. You can install PHP (default version is PHP 7.2) and other modules for web deployments using following command.
$ sudo apt install php php-common php-mysql php-gd php-cli
9. Once PHP installed, you can test your PHP setup by creating a simple
info.php page in your web server document root, using this single command.
$ echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
10. Then open a web browser, and enter this URL to view the php information page.
Step 4: Install PhpMyAdmin on Ubuntu 18.04
11. Finally, you can install phpMyAdmin for administrating MySQL/MariaDB databases from the comfort of a web browser, by running following command
$ sudo apt install phpmyadmin
Through the package installation process, you will be asked to choose the web server that should be automatically configured to run phpMyAdmin, select apache by pressing the space bar and press Enter.
12. Next, enter the password for the MySQL/MariaDB administrative user so the installer can create database for phpmyadmin.
13. Once everything installed, you can now restart the apache2 service to effect the recent changes.
$ sudo systemctl restart apache2
Note: If the PhpMyAdmin package has not been enable to work with apache web server automatically, run the following commands to copy the phpmyadmin apache configuration file located under /etc/phpmyadmin/ to apache webserver available configurations directory /etc/apache2/conf-available/ and then activate it using the a2enconf utility, and restart apache service effect the recent changes, as follows.
$ sudo cp /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
$ sudo a2enconf phpmyadmin
$ sudo systemctl restart apache2
14. Lastly, from a web browser, and type the following URL to access you phpMyAdmin web frontend.
Use the root credentials to authenticate in the phpMyAdmin, as shown in the following screen shot.
Important: Starting from MySQL 5.7, root login requires sudo command, therefore the root login will fail via phpmyadmin, you may need to create another admin user account. Access the mariadb shell using the root account from a terminal, and run the following commands to create a new user:
$ sudo mysql -u root -p
MariaDB [(none)]> CREATE USER 'admin'@'localhost' IDENTIFIED BY 'css@1234';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION;
MariaDB [(none)]> FLUSH PRIVILEGES;
Now log into PhpMyAdmin using the new admin credentials to administer your databases.
That’s it! In this article, we have explained how to setup LAMP stack with the latest PhpMyAdmin in Ubuntu 18.04.