How to Install Apache, MariaDB, and PHP (LAMP) on Rocky Linux

Updated on July 25, 2024
How to Install Apache, MariaDB, and PHP (LAMP) on Rocky Linux header image

LAMP stack is a collection of open-source software installed together to enable a server to host and run modern web applications written in server-side languages like PHP. LAMP is an acronym for Linux, Apache, MySQL/MariaDB, and PHP that work together to serve dynamic web content hosted on a server.

In this article, you will install LAMP on a Rocky Linux server.

Prerequisites

1. Install Apache

To install Apache, update the system, then install the httpd package.

Update the server.

# dnf update

Install httpd.

# dnf install httpd -y

Now, start Apache web server referenced by httpd and enable runtime at system boot.

# systemctl start httpd
    
# systemctl enable httpd

Next, add new firewalld rules to allow http, https traffic, and open port 80 on your server.

# firewall-cmd --permanent --zone=public --add-service=http
    
# firewall-cmd --permanent --zone=public --add-service=https
    
# firewall-cmd --permanent --zone=public --add-port=80/tcp

Restart firewall for rules to take effect

# firewall-cmd --reload

Confirm the new firewall rules

# firewall-cmd --permanent --list-all

Output

[root@example ~]# firewall-cmd --list-all
public
  target: default
 icmp-block-inversion: no
  interfaces: 
  sources: 
  services: cockpit dhcpv6-client http https ssh
  ports: 8080/tcp 80/tcp
  protocols: 
  forward: no
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 

Test your Apache installation by visiting your Server IP address.

http://SERVER_IP_ADDRESS

Successful Apache Test Page

2. Install MariaDB

MariaDB is a substitute for MySQL with the same table types, schema, and usage commands. MariaDB is available in Rocky Linux sources by default, so you can install it with the following command.

# dnf install mariadb

Start MariaDB and enable it to run at system startup.

# systemctl start mysqld

# systemctl enable mysqld

Secure MariaDB and set a new root password for the database server.

# mysql_secure_installation

Now, run MariaDB and login as root with the set password.

# mysql -u root

Output:

MariaDB [(none)]> 

Exit the console.

MariaDB [(none)]> EXIT

3. Install PHP

Install PHP. You can change your intended version by specifying the version number after the php: module parameter. In this article, you will install PHP 7.4 as shown.

# dnf module install php:7.4

Module packages including php-cli, php-common,php-fpm,php-mbstring will be automatically installed during the process

Install other commonly required PHP extensions, php-mysqlnd creates a connection to the database server.

# dnf install php-mysqlnd php-gd php-intl

Test PHP functionality with Apache

First, open the default Apache welcome.conf file and comment out all lines in it using #.

# nano /etc/httpd/conf.d/welcome.conf

Next, create a simple test.php file at /var/www/html/.

# nano /var/www/html/test.php

Add the following lines of code.

<?php

phpinfo();

?>

Grant Apache ownership rights to the file.

# chown -R apache.apache /var/www/html

Allow execution of files by httpd in the /var/www/html/ directory with an SE Linux policy exception.

# chcon -R -t httpd_sys_content_t html/

In a web browser, visit your Server IP and load test.php.

http://SERVER_IP/test.php

PHP Functionality

Conclusion

In this article, you installed LAMP on a Rocky Linux server; once set, you can build dynamic websites or install a content management system (CMS) for production use.