Installing LAMP (Linux, Apache, MariaDB and PHP) on Fedora 22

Fedora 22 has been released just a few days ago and you can now install LAMP on it. LAMP is a suite of tools needed to build your web server with support for relational database such as MariaDb with the new package manager (DNF) in Fedora 22, there is a slight difference from the usual steps you have to perform the install.

The LAMP abbreviations is taken from the first letter of each package that it has – Linux, Apache, MariaDB and PHP . Since you already have Fedora installed, the Linux part is complete, else you can follow the following guides to install Fedora 22.

  1. Fedora 22 Server Installation Guide
  2. Fedora 22 Workstation Installation Guide

Once Fedora 22 has been installed, you will need to do a full system update by issuing the following command:

# dnf update
Update Fedora 22

Update Fedora 22

Now we are ready to continue. I will separate the installation process in 3 different steps to make the whole process easier for you.

Step 1: Setup Apache Web Server

1. Apache web server powers millions of websites across the web. It is very flexible in terms of customization and its security can be greatly improved with modules such as mod_security and mod_evasive.

To install Apache in Fedora 22 you can simply run the following command as root:

# dnf install httpd
Install Apache on Fedora 22

Install Apache Web Server

2. Once the install is complete you can power on Apache by issuing the following command:

# systemctl start httpd 
Start Apache Web Server

Start Apache Web Server

3. To verify that Apache is working properly open your server’s IP address in a web browser. You can find your IP address with command such as:

# ifconfig | grep inet
Check IP Address

Check IP Address

4. Once you know the IP address, you can enter your IP address in the browser you should see the default Apache page:

Note: In case you are not able to reach the page, it could be that the firewall is blocking connection on port 80. You can allow connections on the default Apache ports (80 and 443) by using:

# firewall-cmd --permanent –add-service=http
# firewall-cmd --permanent –add-service=https
Open Apache Ports on Firewall

Open Apache Ports on Firewall

Fedora 22 Apache Default Page

Fedora 22 Apache Default Page

5. To ensure that Apache will start upon sytem boot run the following command.

# systemctl enable httpd
Enable Apache at Boot

Enable Apache at Boot

Note: The default Apache directory root for your website files is /var/www/html/, make sure to place your files in there.

Step 2: Install MariaDB

6. MariaDB is an open source fork of the famous MySQL relational database. MariaDB has been forked by the MySQL creators due to concerns of Oracle acquisition. MariaDB is meant to remain free under the GNU GPL. It is slowly becoming the preferred option for a relational database engine.

To complete the install of MariaDB in Fedora 22 issue the following commands:

# dnf install mariadb-server 
Install MariaDB in Fedora 22

Install MariaDB Server

7. Once mariadb installation complete, you can start and enable MariaDB to auto start at system boot by issuing the following commands:

# systemctl start mariadb
# systemctl enable mariadb
Start Enable MariaDB Server

Start Enable MariaDB Server

8. By default the root user will not have a root password set, you need to run mysql_secure_installation command to set new root password and secure mysql installation as shown below.

# mysql_secure_installation 

Once executed, you will be asked to enter the MySQL root password – simply press enter as there is no password for that user. The rest of the options depend on your choice, you can find a sample output and configuration suggestions in below screenshot:

Secure MariaDB Installation

Step 3: Install PHP with Modules

9. PHP is a powerful programming language can be used for generating dynamic content on websites. It is one of the most frequently used programming languages for web.

The installation of PHP and its modules in Fedora 22 is simple and can be completed with these commands:

# dnf install php php-mysql php-gd php-mcrypt php-mbstring
Install PHP with Modules

Install PHP with Modules

10. Once the install is complete you can test PHP by creating a simple PHP file info.php under Apache root directory i.e. /var/www/html/ and then restart Apache service to verify the PHP info by navigating your browser to the address http://server_IP/info.php.

# echo "<?php phpinfo(); ?>" > /var/www/html/info.php
# systemctl restart httpd
Restart Apache Service

Restart Apache Service

Check PHP Info

Check PHP Info

Your LAMP stack setup is now complete and you have all the tools to start building your projects.

If you have any questions or ideas how to improve the setup of your LAMP stack please do not hesitate to submit a comment in the comment section below.

Best Affordable Linux and WordPress Services For Your Business
Outsource Your Linux and WordPress Project and Get it Promptly Completed Remotely and Delivered Online.

If You Appreciate What We Do Here On TecMint, You Should Consider:

  1. Stay Connected to: Twitter | Facebook | Google Plus
  2. Subscribe to our email updates: Sign Up Now
  3. Get your own self-hosted blog with a Free Domain at ($3.45/month).
  4. Become a Supporter - Make a contribution via PayPal
  5. Support us by purchasing our premium books in PDF format.
  6. Support us by taking our online Linux courses

We are thankful for your never ending support.

Marin Todorov

I am a bachelor in computer science and a Linux Foundation Certified System Administrator. Currently working as a Senior Technical support in the hosting industry. In my free time I like testing new software and inline skating.

Your name can also be listed here. Got a tip? Submit it here to become an TecMint author.

RedHat RHCE and RHCSA Certification Book
Linux Foundation LFCS and LFCE Certification Preparation Guide

You may also like...

10 Responses

  1. Tracy says:

    Exactly what I needed, thank you for the clear instructions. I’m new to Linux and had LAMP up and running the first time through.

  2. russa says:

    Awesome dude, love you for your great work!

  3. Teemu says:

    Hi, and thanks for clear instructions! I’m quite new to Linux and don’t know if this is new to anyone else, but found out that in my Fedora 22 installation I had to type #firewall-cmd –reload after opening firewall ports to get www-server working from outside localhost.

  4. Ben Shomer says:

    Thanks for an awesome, clear and precise manual.
    If it is for beginners as well (so it seems), an instruction to go ‘su’ is missing.
    Also, for convenience, I would recommend replacing ‘dnf’ with ‘dnf -y’ everywhere.


  5. Marin Todorov says:

    I thing you have another processes that is already “installing” something. You can find what the process is by opening a console and then running

    ps auxf | grep 13533

    This will show what is the process that is preventing the installation. You can wait for the process to finish or kill it if the process is not important.

  6. Trevor says:

    Never mind. The other process that was running and needed to be killed was PHPStorm. I should have figured that… Sorry!

  7. Trevor says:

    Thanks for these instructions! I followed the directions here and everything is working perfectly. However, I’ve had no luck figuring out how to install PHPMyAdmin in Fedora 22.

    When I type at CLI:

    ‘dnf install phpmyadmin -y’

    the system locates the various packages to be installed or upgraded, but then states

    ‘Downloading Packages:
    Waiting for process with pid 13533 to finish.’

    and basically times out from there.

    Any ideas? I feel like I am overlooking something.


    • Ben Shomer says:

      You simply has another dnf process running at the same time.
      You just need to wait some time for it to clear and run the command again.

Got something to say? Join the discussion.

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.