Efficient Steps To Install Laravel on Rocky Linux 8

In this guide, we intend to teach you How To Install Laravel on Rocky Linux 8. Also, you will learn to Secure Laravel on Rocky Linux 8.

Laravel is an open-source PHP framework, which is robust and easy to understand. It follows a model-view-controller design pattern. Laravel reuses the existing components of different frameworks which helps in creating a web application. The web application thus designed is more structured and pragmatic.

Steps To Install Laravel on Rocky Linux 8

To Install Laravel on Rocky Linux 8, you need some requirements.

Requirements

First, you must log in to your server as a non-root user with sudo privileges and set up a basic firewall. To do this, you can follow our guide on Initial Server Setup with Rocky Linux 8.

Then, you should have a LEMP stack installed on your server. To do this, you can follow this guide on How To Install LEMP Stack on Rocky Linux 8.

Also, you need a domain name that is pointed to your server’s IP address.

Now follow the steps below to Install Laravel on Rocky Linux 8.

Install PHP Extensions on Rocky Linux 8

First, you need to install some PHP extensions and required packages on your server with the command below:

sudo dnf install php-common php-xml php-mbstring php-json php-zip curl unzip -y

Edit php-fpm Configuration File

At this point, you need to make some configuration changes to the php-fpm file on Rocky Linux 8. To do this, open the file with your favorite text editor, here we use vi:

sudo vi /etc/php-fpm.d/www.conf

Find the lines below and uncomment them by removing the “;” from the beginning of the line and changing them to the Nginx:

listen.owner = nginx
listen.group = nginx

When you are done, save and close the file.

Edit php.ini Configuration File

At this point, you need to edit the PHP configuration file:

sudo vi /etc/php.ini

And change the following lines. Set your time zone, and uncomment them by removing the “;” from the beginning of the line:

date.timezone = America/New_York
cgi.fix_pathinfo=1

When you are done, save and close the file.

Install Composer on Rocky Linux 8

In this guide, you will install Laravel by using the composer. So you need to install Composer on Rocky Linux 8 with the command below:

sudo curl -sS https://getcomposer.org/installer | php

When your installation is completed, you will get the following output:

Output
All settings correct for using Composer
Downloading...

Composer (version 2.4.4) successfully installed to: /root/composer.phar
Use it: php composer.phar

Now you need to move the Composer binary to the system path:

sudo mv composer.phar /usr/local/bin/composer

Then, set the correct permissions for it:

sudo chmod +x /usr/local/bin/composer

Verify your Composer installation on Rocky Linux 8 by checking its version:

composer --version
Output
Composer version 2.4.4 2022-10-27 14:39:29

Install Laravel on Rocky Linux 8

At this point, you can start to install Laravel on your server.

First, switch to the Nginx web root directory:

sudo cd /var/www/html/

Then, install Laravel by using the Composer on Rocky Linux 8:

sudo composer create-project --prefer-dist laravel/laravel laravel

When your installation is completed, you will get the following output:

Output
   INFO  Application key set successfully.

Then, use the following commands to set the correct permissions and ownership to Laravel on Rocky Linux 8:

# sudo chown -R nginx:nginx /var/www/html/laravel/
# sudo chown -R nginx:nginx /var/www/html/laravel/storage/
# sudo chown -R nginx:nginx /var/www/html/laravel/bootstrap/cache/
# sudo chmod -R 0777 /var/www/html/laravel/storage/
# sudo chmod -R 0775 /var/www/html/laravel/bootstrap/cache/

Create an Nginx Configuration file for Laravel on Rocky Linux 8

At this point, you need to create an Nginx configuration file for Laravel, here we use vi:

sudo vi /etc/nginx/conf.d/laravel.conf

Add the following content to the file, remember to replace the domain name with your own:

server {
       listen 80;
       server_name domain-name;
       root        /var/www/html/laravel/public;
       index       index.php;
       charset utf-8;
       gzip on;
	gzip_types text/css application/javascript text/javascript application/x-javascript  image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon;
        location / {
        	try_files $uri $uri/ /index.php?$query_string;
        }

        location ~ \.php {
                include fastcgi.conf;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/run/php-fpm/www.sock;
        }
        location ~ /\.ht {
                deny all;
        }
}

When you are done, save and close the file.

Then, verify Laravel for any configuration error on Rocky Linux 8:

nginx -t
Output
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

To apply the changes, restart Nginx and PHP-FPM:

# sudo systemctl restart php-fpm
# sudo systemctl restart nginx

Configure Firewall

Next, you need to allow ports 80 and 443 through the firewall. To do this, run the commands below:

# sudo firewall-cmd --zone=public --permanent --add-service=http
# sudo firewall-cmd --zone=public --permanent --add-service=https

Reload the firewall, to apply the new rules:

sudo firewall-cmd --reload

Access Laravel Web Interface

At this point, you can access your Laravel through the web interface by typing your domain name or server’s IP address:

http://domain-name

Secure Laravel with Let’s Encrypt on Rocky Linux 8

It is recommended to enable SSL on the Laravel website to secure the connection. Let’s Encrypt provides a free SSL to obtain, renew, and manage SSL/TLS certificates for your domain.

First, install the Certbot client on Rocky Linux 8 with the following commands:

sudo dnf install epel-release -y
sudo dnf install certbot -y

Then, run the following command to download Let’s Encrypt SSL for your Laravel domain:

sudo certbot --nginx -d domain-name

You will be asked to provide your valid email and accept the terms of service.

Next, select whether or not to redirect HTTP traffic to HTTPS. Type 2 and hit enter to start the process.

When the certificate has been installed, you should see the following output:

At this point, your Laravel website is secured with Let’s Encrypt SSL on Rocky Linux 8.

You can now access it securely using the URL below:

https://domain-name

Conclusion

At this point, you learn to Install, Configure, and Secure Laravel on Rocky Linux 8. Hope you enjoy it.

You may like these articles:

Install and Configure Laravel on Ubuntu 22.04

How To Set up Laravel on Debian 11

Newsletter Updates

Enter your email address below and subscribe to our newsletter

Leave a Reply

Stay informed and not overwhelmed, subscribe now!