Symfony 5 Framework met Nginx op Debian 10 installeren

Symfony is een gratis, open-source en hoog-performant PHP raamwerk dat gebruikt kan worden om web applicaties, API’s, microservices en webdiensten te bouwen. Met Symfony kun je web-applicaties maken zonder eentonig en uitgebreid te hoeven coderen. Symfony wordt geleverd met een reeks hulpmiddelen die je helpen projecten te testen, te debuggen en te documenteren. Symfony gebruikt het Model-View-Controller ontwerppatroon en heeft als doel het maken en onderhouden van web-applicaties te versnellen.

In deze handleiding laten we je zien hoe je Symfony 5 met Nginx op Debian 10 kunt installeren.

Vereisten

  • Een server met Debian 10.
  • Een root wachtwoord is op je server ingesteld.

Aan de slag

Alvorens te beginnen is het aan te raden je server met de nieuwste versie te updaten met het volgende commando:

apt-get update -y
apt-get upgrade -y

Zodra je server bijgewerkt is, herstart je hem om de veranderingen door te voeren.

Installeer Nginx, MariaDB, en PHP

Eerst moet je Nginx, MariaDB, PHP en andere vereiste bibliotheken op je server installeren. Je kunt ze allemaal installeren met het volgende commando:

apt-get install nginx mariadb-server php php-fpm php-common php-mysql php-gmp php-curl php-intl php-mbstring php-xmlrpc php-gd php-bcmath php-soap php-ldap php-imap php-xml php-cli php-zip git unzip wget -y

Als alle pakketten geïnstalleerd zijn, start je de Nginx en MariaDB service en schakel je ze in om te starten bij het herstarten van het systeem met het volgende commando:

systemctl start nginx
systemctl start mariadb
systemctl enable nginx
systemctl enable mariadb

Als je klaar bent, kun je verder gaan met de volgende stap.

Installeer Symfony 5

Eerst moet je de Composer op je server installeren. Je kunt het Composer installatie script downloaden met het volgende commando:

wget https://getcomposer.org/installer

Voer vervolgens het installatieprogramma uit zoals hieronder getoond:

php installer

Als de Composer gedownload is, zou je de volgende uitvoer moeten zien:

All settings correct for using Composer
Downloading...

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

Verplaats de Composer vervolgens naar de map /usr/local/bin en maak hem uitvoerbaar:

mv composer.phar /usr/local/bin/composer
chmod +x /usr/local/bin/composer

Verander nu de directory in de /var/www/html en installeer Symfony 5 met het volgende commando:

cd /var/www/html
composer create-project symfony/skeleton symfony5

Geef vervolgens de juiste permissies aan de map symfony5 zoals hieronder:

chown -R www-data:www-data /var/www/html/symfony5
chmod -R 755 /var/www/html/symfony5

Configureer Nginx voor Symfony 5

Vervolgens moet je een Nginx virtual host configuratiebestand maken voor Symfony 5. Je kunt het maken met het volgende commando:

nano /etc/nginx/sites-available/symfony.conf

Voeg de volgende regels toe:

server {
   server_name your-server-ip;
   root /var/www/html/symfony5/public;
   location / {
       try_files $uri /index.php$is_args$args;
   }
   location ~ ^/index\.php(/|$) {
       fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
       fastcgi_split_path_info ^(.+\.php)(/.*)$;
       include fastcgi_params;
       fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
       fastcgi_param DOCUMENT_ROOT $realpath_root;
       internal;
   }
   location ~ \.php$ {
       return 404;
   }
   error_log /var/log/nginx/symfony_error.log;
   access_log /var/log/nginx/symfony_access.log;
}

Sla het bestand op en sluit het als je klaar bent. Schakel dan de Nginx virtuele host in met het volgende commando:

ln -s /etc/nginx/sites-available/symfony.conf /etc/nginx/sites-enabled/

Controleer vervolgens de Nginx op eventuele syntaxfouten met het volgende commando:

nginx -t

Je zou de volgende uitvoer moeten zien:

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

Herstart tenslotte de Nginx dienst om de veranderingen door te voeren:

systemctl restart nginx

Toegang tot Symfony5

Symfony4 is nu geïnstalleerd, je kunt het openen door de URL http://your-server-ip in je webbrowser te bezoeken. Je zou de Symfony 5 welkomstpagina moeten zien:

Symfony 4 op Debian

Gefeliciteerd! je hebt met succes Symfony5 op de Debian 10 server geïnstalleerd. Je kunt nu elke PHP toepassing hosten met Symfony 5.