Laravel is an open-source PHP web framework with expressive and elegant syntax. It is robust, easy to understand, and follows a model-view-controller design pattern. Laravel provides a set of tools and resources to build modern PHP applications. If you are looking for an open-source framework to create extensible PHP-based websites and web applications at scale, then Laravel is the best option for you.
In this post, we will show you how to install Laravel on Fedora Linux.
In This Article
Step 1 – Install LEMP Server
First, install the Nginx and MariaDB server using the following command.
dnf install nginx mariadb-server
Next, add the PHP Remi repository with the following command.
dnf install -y http://rpms.remirepo.net/fedora/remi-release-34.rpm dnf module install php:remi-8.1
Then, install PHP with additional PHP extensions using the following command.
dnf install php php-cli php-common php-fpm php-spl php-hash php-ctype php-json php-mbstring php-gd php-curl php-mysqli php-xml php-gmp php-xmlrpc php-bcmath php-soap php-ldap unzip -y
Once all the packages are installed, start and enable Nginx, MariaDB, and PHP-FPM services.
systemctl start php-fpm nginx mariadb systemctl enable php-fpm nginx mariadb
Next, edit the PHP-FPM configuration file.
nano /etc/php-fpm.d/www.conf
Change the following lines.
listen.owner = nginx listen.group = nginx
Then, edit the PHP configuration file.
nano /etc/php.ini
Change the following values.
date.timezone = UTC cgi.fix_pathinfo=1
Save and close the file, then restart the PHP-FPM service to reload the changes.
systemctl restart php-fpm
Step 2 – Install Laravel
Before starting, you will need to install PHP Composer on your server. You can install it with the following command.
wget https://getcomposer.org/installer -O composer-installer.php php composer-installer.php --filename=composer --install-dir=/usr/local/bin
Next, change the directory to the Apache root and create a Laravel project with the following command.
cd /var/www/html composer create-project --prefer-dist laravel/laravel laravelsite
Once the Laravel is installed, you will see the following output.
> @php artisan vendor:publish --tag=laravel-assets --ansi --force INFO No publishable resources for tag [laravel-assets]. No security vulnerability advisories found > @php artisan key:generate --ansi INFO Application key set successfully.
Next, set proper permissions and ownership to the Laravel directory.
chown -R nginx:nginx /var/www/html/laravelsite/storage/ chown -R nginx:nginx /var/www/html/laravelsite/bootstrap/cache/ chmod -R 0777 /var/www/html/laravelsite/storage/ chmod -R 0775 /var/www/html/laravelsite/bootstrap/cache/
Step 3 – Configure Nginx for Laravel
Next, create an Nginx virtual host configuration file to host Laravel on the Internet.
nano /etc/nginx/conf.d/laravel.conf
Add the following lines:
server { listen 80; server_name laravel.yourdomain.com; root /var/www/html/laravelsite/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; } }
Save and close the file, then edit the Nginx main configuration file.
nano /etc/nginx/nginx.conf
Add the following lines after the line http {:
server_names_hash_bucket_size 64;
Save the file, then verify the Nginx configuration for any syntax error.
nginx -t
You should get the following output:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Finally, restart the Nginx and PHP-FPM services to apply the changes.
systemctl restart php-fpm systemctl restart nginx
Step 4 – Access Laravel Site
Now, Laravel is installed with Nginx on your server. You can now access it using the URL http://laravel.yourdomain.com. You will see the Laravel page on the following screen.
Conclusion
Congratulations! You have successfully installed the Laravel framework on Fedora Linux. You can now start developing your PHP-based web application using the Laravel framework. You can now deploy the Laravel application on dedicated server hosting from Atlantic.Net!