How to install Apache, PHP 7.2, and MySQL on Ubuntu 18.04 (LTS)

in lamp •  4 years ago 

I'm running all the steps in this tutorial with root privileges, so logged in as root:

sudo -s

  1. Installing MySQL or MariaDB Database ( The following example will be an installation of MariaDB 10 )
    1.1 Install MariaDB 10
    Run the following command to install MariaDB-server and client:
    apt-get -y install mariadb-server mariadb-client
    Now we set a root password for MariaDB.
    mysql_secure_installation
    You will be asked these questions:
    Enter current password for root (enter for none): <-- press enter
    Set root password? [Y/n] <-- y
    New password: <-- Enter the new MariaDB root password here
    Re-enter new password: <-- Repeat the password
    Remove anonymous users? [Y/n] <-- y
    Disallow root login remotely? [Y/n] <-- y
    Reload privilege tables now? [Y/n] <-- y
    1.2 Test the MySQL/MariaDB root login
    Test the login to MariaDB with the "mysql command"
    mysql -u root -p
    and enter the MariaDB root password that you've set above. The result should be similar to the screenshot below:

image.png

To leave the MySQL/MariaDB shell, enter the command "quit" and press enter.

  1. Install Apache Web Server
    Apache 2 is available as an Ubuntu package, therefore we can install it like this:
    apt-get -y install apache2
    Now direct your browser to http://192.168.1.100, and you should see the Apache2 default page (It works!):

image.png

The document root of the apache default vhost is /var/www/html on Ubuntu and the main configuration file is /etc/apache2/apache2.conf. The configuration system is fully documented in /usr/share/doc/apache2/README.Debian.gz.

  1. Install PHP 7.2
    We can install PHP 7.2 and the Apache PHP module as follows:
    apt-get -y install php7.2 libapache2-mod-php7.2
    Then restart Apache:
    systemctl restart apache2
  2. Test PHP and get details about your PHP installation
    The document root of the default web site is /var/www/html. We will now create a small PHP file (info.php) in that directory and call it in a browser. The file will display lots of useful details about our PHP installation, such as the installed PHP version.
    Advertisement
    nano /var/www/html/info.php
<?php phpinfo(); Then change the owner of the info.php file to the www-data user and group. chown www-data:www-data /var/www/html/info.php Now we call that file in a browser (e.g. http://192.168.1.100/info.php):

image.png

As you see, PHP 7.2 is working, and it's working through the Apache 2.0 Handler, as shown in the Server API line. If you scroll further down, you will see all modules that are already enabled in PHP. MySQL is not listed there which means we don't have MySQL / MariaDB support in PHP yet.

  1. Get MySQL / MariaDB support in PHP
    To get MySQL support in PHP, we can install the php7.2-mysql package. It's a good idea to install some other PHP modules as well as you might need them for your applications. You can search for available PHP modules like this:

apt-cache search php7.2
and
apt-cache search php-
as not all PHP packages have the version number 7.2 in their name.
Pick the ones you need and install them like this:
apt-get -y install php7.2-mysql php7.2-curl php7.2-gd php7.2-intl php-pear php-imagick php7.2-imap php-memcache php7.2-pspell php7.2-recode php7.2-sqlite3 php7.2-tidy php7.2-xmlrpc php7.2-xsl php7.2-mbstring php-gettext
Now restart Apache2:
systemctl restart apache2

image.png

PHP 7.2 has now MySQL / MariaDB support as shown in phpinfo() above.
What's more?

Once Apache, PHP, and MySQL have been provisioned in Ubuntu 18.0.4, you could just go to download the source code of ZenTao and unzip it to your webroot

sudo wget https://blog.easycorp.cn/dl/zentao/biz4.1/ZenTaoPMS.biz4.1.php7.2.zip
Since the apache default vhost is /var/www/html on Ubuntu 18.04, so just unzip it there
sudo unzip ZenTaoPMS.biz4.1.php7.2.zip -d /var/www/html
And now just direct your browser to http://192.168.1.100
For the latest Enterprise version of ZenTao, https://www.zentao.pm/dynamics/scrum-tool-for-enterprises-zte4.1-798.html

image.png

References

https://www.howtoforge.com/tutorial/install-apache-with-php-and-mysql-on-ubuntu-18-04-lamp/

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

As for MySQL database, I can recommend devart mydac. It helps to work better.