Symfony je bezplatný, open-source a vysoce výkonný rámec PHP, který lze použít k vytváření webových aplikací, rozhraní API, mikroslužeb a webových služeb. Symfony umožňuje vytvářet webové aplikace bez monotónního a rozsáhlého kódování. Symfony přichází se sadou nástrojů, které vám pomohou testovat, ladit a dokumentovat projekty. Symfony používá návrhový vzor Model-View-Controller a jeho cílem je urychlit vytváření a údržbu webových aplikací.
V tomto tutoriálu vám ukážeme, jak nainstalovat Symfony 5 s Nginx na Debian 10.
Předpoklady
- Server se systémem Debian 10.
- Na vašem serveru je nakonfigurováno heslo uživatele root.
Začínáme
Před spuštěním se doporučuje aktualizovat server na nejnovější verzi pomocí následujícího příkazu:
apt-get update -y
apt-get upgrade -y
Jakmile je váš server aktualizován, restartujte jej, aby se změny implementovaly.
Instalovat Nginx, MariaDB a PHP
Nejprve budete muset na svůj server nainstalovat Nginx, MariaDB, PHP a další požadované knihovny. Všechny je můžete nainstalovat pomocí následujícího příkazu:
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
Jakmile jsou všechny balíčky nainstalovány, spusťte službu Nginx a MariaDB a povolte jim spuštění při restartu systému pomocí následujícího příkazu:
systemctl start nginx
systemctl start mariadb
systemctl enable nginx
systemctl enable mariadb
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Instalovat Symfony 5
Nejprve budete muset nainstalovat Composer na váš server. Instalační skript Composer si můžete stáhnout pomocí následujícího příkazu:
wget https://getcomposer.org/installer
Dále spusťte instalační program, jak je znázorněno níže:
php installer
Po stažení aplikace Composer byste měli vidět následující výstup:
All settings correct for using Composer Downloading... Composer (version 1.9.1) successfully installed to: /root/composer.phar Use it: php composer.phar
Dále přesuňte Composer do adresáře /usr/local/bin a udělejte jej spustitelný:
mv composer.phar /usr/local/bin/composer
chmod +x /usr/local/bin/composer
Nyní změňte adresář na /var/www/html a nainstalujte Symfony 5 pomocí následujícího příkazu:
cd /var/www/html
composer create-project symfony/skeleton symfony5
Dále udělte správná oprávnění adresáři symfony5, jak je uvedeno níže:
chown -R www-data:www-data /var/www/html/symfony5
chmod -R 755 /var/www/html/symfony5
Konfigurace Nginx pro Symfony 5
Dále budete muset vytvořit konfigurační soubor virtuálního hostitele Nginx pro Symfony 5. Můžete jej vytvořit pomocí následujícího příkazu:
nano /etc/nginx/sites-available/symfony.conf
Přidejte následující řádky:
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;
}
Po dokončení uložte a zavřete soubor. Poté povolte virtuálního hostitele Nginx pomocí následujícího příkazu:
ln -s /etc/nginx/sites-available/symfony.conf /etc/nginx/sites-enabled/
Dále zkontrolujte Nginx, zda neobsahuje nějakou chybu syntaxe pomocí následujícího příkazu:
nginx -t
Měli byste vidět následující výstup:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Nakonec restartujte službu Nginx a implementujte změny:
systemctl restart nginx
Přístup k Symfony5
Symfony4 je nyní nainstalován, můžete k němu přistupovat z adresy URL http://ip-vaseho-serveru ve vašem webovém prohlížeči. Měli byste vidět uvítací stránku Symfony 5:

Gratulujeme! úspěšně jste nainstalovali Symfony5 na server Debian 10. Nyní můžete hostovat jakoukoli PHP aplikaci pomocí Symfony 5.