Docker Ubuntu Apache Php Mysql
In this tutorial we are going to learn how to configure Ubuntu 18.04 server as a web server using the Ubuntu LAMP stack, which includes the Apache web server, PHP programming Language and MySQL/MariaDB Database Server.
In this tutorial, we will explain how to install PHP 8 on Ubuntu 20.04 and integrate it with Apache and Nginx web server. A server running Ubuntu 20.04 with Apache/Nginx installed. A root password is configured in your server. Install PHP 8.0. By default, Ubuntu 20.04 ships with the PHP version 7.4. How to Install Apache, PHP and MySQL on Ubuntu 18.04. In this tutorial we are going to learn how to configure Ubuntu 18.04 server as a web server using the Ubuntu LAMP stack, which includes the Apache web server, PHP programming Language and MySQL/MariaDB Database Server. Docker is an application that simplifies the process of managing application processes in containers. In this tutorial, you'll install and use Docker Community Edition (CE) on Ubuntu 18.04. FROM php:7.2.1-apache MAINTAINER egidio docile RUN docker-php-ext-install pdo pdomysql mysqli As you can see, with the FROM instruction, we specified that this dockerfile should be based on the default one. Then we included a RUN instruction: using the script provided in the image itself, docker-php-ext-install, we include the extensions. In this post, we will learn a number of commands for locating the default configuration files for MySQL database server (my.conf), PHP programming language (php.ini) and Apache HTTP server (http.conf), which together with Linux form the LAMP (Linux Apache Mysql/MariaDB PHP) stack.
We will start by installing and configuring Apache web server, then we will install PHP, MySQL Server and phpMyAdmin web interface.
Install and Configure Apache web server on Ubuntu 18.04
Apache is the most popular and stable web server for Ubuntu Linux. The Apache HTTP server for Ubuntu 18 provided by the apache2 package. To install apache2 on Ubuntu, open the terminal and execute:
Docker Ubuntu Apache Php Mysql Commands
That is all you need to do. Now, open a web browser from a remote computer and type the IP address of your Ubuntu server in the address bar.
You will get the Apache2 Ubuntu Default Page.
- The apache2.conf file is the main configuration file which you can find under the /etc/apache2/ directory.
- The /var/www/html is the default DocumentRoot, You can immediately serve static HTML website by putting the contents (e.g. HTML, images, CSS, JavaScript and etc.) into the /var/www/html directory.
Creating Apache Virtual Hosts
Virtual Hosting are a way of serving multiple websites from a single server. Every website will have their own configuration and separate Document Root to host website contents.
Creating an Apache Virtual Host is a simple task. For this demonstration, I am going to create a new virtual host for the example.com domain. The /var/www/example.com directory going to be the DocumentRoot.
First create the DocumentRoot:
Create the Virtual Host configuration file inside the /etc/apache2/sites-available/ folder (Filename must end with '.conf' extension).
Add following VirtualHost configuration:
Save the file, enable the new site and reload the Apache web server:
And now our web server is ready to serve www.example.com website. Of Course we still don't have anything in our DocumentRoot and you also need to configure DNS records to point your domain name to the server IP address.
To test virtual host without DNS, create an index.html file inside the DocumentRoot and entry to the hosts file on your local computer, pointing www.example.com to your Ubuntu server IP address.
Install PHP programming Language
PHP is a programming language for developing web applications and essential part of the Ubuntu LAMP Stack. To install PHP on Ubuntu 18.04, Run:
The php package will install the 'php7.2' as well as 'libapache2-mod-php7.2' module that required to work with Ubuntu Apache web server.
After the installation is complete, we need to restart the apache server:
To test the PHP installation, create an index.php file under the /var/www/html folder and add the phpinfo() function:
Then access the index.php by typing http://your-server-ip/index.php in the web browser (e.g. 192.168.1.100/index.php). You should get information page that displays PHP configuration settings on your Ubuntu 18.04 Server.
Docker Ubuntu Apache Php Mysql Server 2016
Install MySQL Server on Ubuntu 18.04
Next, we are going to install MySQL Server as our Database server. Installing MySQL Server on Ubuntu 18.04 is straightforward. Open the terminal update the package list and install the mysql-server package:
(If you want to Install MariaDB, install the mariadb-server package instead of mysql-server package).
After the installation has finished, Log in to the MySQL console with the following command:
Note that the MySQL server on Ubuntu use auth_socket plugin to authenticate mysql root and does not need a password for connecting as a root user. If you want to enable password authentication, click on the following link to learn how to set the MySQL root password on Ubuntu 18.04.
Install phpMyAdmin on Ubuntu 18.04
phpMyAdmin is a web based graphical user interface to manage MySQL/MariaDB Database server. To install phpMyAdmin on Ubuntu 18.04 Server, Run:
When asked to choose web server that should be automatically configured to run phpMyAdmin, select apache2 by pressing the space bar on the keyboard.
After the installation completes, you can access phpMyAdmin at http://server-ip/phpmyadmin or http://domain-name/phpmyadmin.
Now you have a fully functional web server up and running with Apache, MySQL and PHP programming language.
Summary
In this tutorial we learned how to install Lamp stack on Ubuntu 18.04 server. The LAMP stack stands for Linux Apache MySQL and PHP, it is a web hosting platform for Linux to server web pages using http protocol.
What Next? Next we are going to learn how to install vsftpd on Ubuntu 18.04. You can also read our WordPress installation guide, WordPress is the most popular content management system and most of websites on the internet is powered by WordPress.