Symfony is a free and open-source PHP web application framework for building web applications, APIs, microservices, and web services. It provides tools and features for building scalable PHP web applications with a robust caching system. It has comprehensive documentation and an active community, making it an excellent resource for developers looking to create high-quality PHP web applications.
This post will show you how to install the Symfony framework on Fedora Linux.
Step 1 – Install the LAMP Server
Symfony is based on PHP, so you will need to install the LAMP server on your server.
First, install the Apache and MariaDB server using the following command.
dnf install httpd mariadb-server -y
Next, add the PHP Remi repo to get the latest PHP version.
dnf install -y http://rpms.remirepo.net/fedora/remi-release-34.rpm dnf module install php:remi-8.1
Next, install PHP with other required PHP extensions using the following command.
dnf install php php-cli php-common php-spl php-fpm 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
Next, start and enable Apache, MariaDB, and PHP-FPM.
systemctl start httpd mariadb php-fpm systemctl enable httpd mariadb php-fpm
Step 2 – Install Symfony
First, install Composer 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, navigate to the Apache web root directory and install Symfony 6 with the following command.
cd /var/www/html composer create-project symfony/website-skeleton symfony6
Next, set proper permission and ownership to the Symfony directory.
chown -R apache:apache /var/www/html/symfony6 chmod -R 755 /var/www/html/symfony6
Now, change the directory to Symfony and start the Symfony server with the following command.
cd /var/www/html/symfony6 php -S 0.0.0.0:8000 -t public
You will see the following output.
[Thu Aug 17 00:17:19 2023] PHP 8.1.9 Development Server (http://0.0.0.0:8000) started
Now, open your web browser and access Symfony using the URL http://your-server-ip:8000. You will see the following screen.
Next, press CTRL+C to stop the Symfony server. We will configure Apache for Symfony.
Step 3 – Configure Apache for Symfony 6
Next, you must create an Apache virtual host configuration file for Symfony.
nano /etc/httpd/conf.d/symfony.conf
Add the following configuration:
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot "/var/www/html/symfony6/public" ServerName symfony.example.com <Directory /var/www/html/symfony6/public> AllowOverride All Order Allow,Deny Allow from All </Directory> ErrorLog "/var/log/httpd/example.com-error_log" CustomLog "/var/log/httpd/example.com-access_log" combined </VirtualHost>
Save and close the file when you are done.
Then, restart the Apache service to apply the changes.
systemctl restart httpd
Step 4 – Access Symfony Web Interface
Now, open your web browser and access the Symfony dashboard using the URL http://symfony.example.com.
Conclusion
In this post, we showed you how to install Symfony6 on Fedora Linux. You can build and deploy a scalable PHP application using the Symfony framework. You can now try Symfony on dedicated server hosting from Atlantic.Net!