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.