Úvod
Laravel je open source, dobře známý a moderní webový rámec založený na PHP s výraznou, elegantní a snadno srozumitelnou syntaxí, která usnadňuje vytváření velkých a robustních webových aplikací.
Mezi jeho klíčové vlastnosti patří jednoduchý, rychlý routovací engine, výkonný kontejner pro vkládání závislostí, více back-endů pro ukládání relací a mezipaměti, expresivní a intuitivní databáze ORM (Object-relational Mapping), robustní zpracování úloh na pozadí a vysílání událostí v reálném čase.
Využívá také nástroje jako Composer – správce balíčků PHP pro správu závislostí a Artisan – rozhraní příkazového řádku pro vytváření a správu webových aplikací.
Dozvíte se, jak nainstalovat nejnovější verzi webového rámce Laravel PHP na distribuci CentOS 8 Linux.
Instalovat LEMP Stack
1. Chcete-li začít, aktualizujte balíčky systémového softwaru a nainstalujte LEMP zásobník (Linux , Nginx , MariaDB / MySQL a PHP ) pomocí následujících příkazů dnf.
# dnf update
# dnf install nginx php php-fpm php-common php-xml php-mbstring php-json php-zip mariadb-server php-mysqlnd
2. Když LEMP je instalace dokončena, musíte spustit PHP-PFM , Nginx a MariaDB služby pomocí následujících příkazů systemctl.
# systemctl start php-fpm nginx mariadb
# systemctl enable php-fpm nginx mariadb
# systemctl status php-fpm nginx mariadb
3. Musíte zabezpečit a zpevnit MariaDB databázový stroj pomocí bezpečnostního skriptu, jak je uvedeno.
# mysql_secure_installation
Chcete-li zabezpečit instalaci serveru, odpovězte na následující otázky.
Enter current password for root (enter for none): press Enter
Set root password? [Y/n]y
#set new root password Remove anonymous users? [Y/n] press y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] press y
Reload privilege tables now? [Y/n]
4. Pokud máte firewall spuštěná služba, musíte otevřít HTTP a HTTPS službu ve bráně firewall, abyste povolili požadavky klientů na webový server Nginx.
# firewall-cmd --zone=public --permanent --add-service=http
# firewall-cmd --zone=public --permanent --add-service=https
# firewall-cmd --reload
5. Nakonec můžete potvrdit, že vaše LEMP stack běží pomocí prohlížeče na IP adrese vašeho systému.
http://server-IP
Konfigurace a zabezpečení PHP-FPM a Nginx
1. Ke zpracování požadavků z Nginx webový server, PHP-FPM může naslouchat na soketu Unix nebo TCP soketu a to je definováno pomocí naslouchat parametr v /etc/php-fpm.d/www.conf konfigurační soubor.
# vi /etc/php-fpm.d/www.conf
Ve výchozím nastavení je nakonfigurován tak, aby poslouchal na soketu Unix, jak je znázorněno na následujícím snímku obrazovky. Hodnota zde bude specifikována v souboru bloku serveru Nginx později.
2. Pokud používáte soket Unix, měli byste u něj také nastavit správné vlastnictví a oprávnění, jak je znázorněno na snímku obrazovky. Odkomentujte následující parametry a nastavte jejich hodnoty na uživatele a skupinu tak, aby odpovídaly uživateli a skupině Nginx běží jako.
listen.owner = nginx
listen.group = nginx
listen.mode = 066
3. Dále také nastavte časové pásmo pro celý systém v /etc/php.ini konfigurační soubor.
# vim /etc/php.ini
Hledejte řádek „date.timezone“ a odkomentujte jej, poté nastavte jeho hodnotu, jak je znázorněno na snímku obrazovky (použijte hodnoty, které platí pro váš region/kontinent a zemi).
date.timezone = Africa/Cairo
4. Ke zmírnění rizika Nginx předávání požadavků od uživatelů se zlými úmysly, kteří ke spuštění kódu PHP používají jiná rozšíření, do PHP-FPM, zrušte komentář u následujícího parametru a nastavte jeho hodnotu na 0 .
cgi.fix_pathinfo=0
5. V souvislosti s předchozím bodem také odkomentujte následující parametr v /etc/php-fpm.d/www.conf soubor. Přečtěte si komentář pro další vysvětlení.
security.limit_extensions = .php .php3 .php4 .php5 .php7
Nainstalujte Composer a Laravel PHP Framework
1. Dále nainstalujte Skladatel balíček spuštěním následujících příkazů. První příkaz stáhne instalační program a poté jej spustí pomocí PHP.
[unixcop@unixcop ~]$ curl -sS https://getcomposer.org/installer | php
All settings correct for using Composer
Downloading…
Composer (version 2.1.5) successfully installed to: /home/unixcop/composer.phar
Use it: php composer.phar
[unixcop@unixcop ~]$
Poté spusťte tyto příkazy:
mv composer.phar /usr/local/bin/composer
chmod +x /usr/local/bin/composer
2. Teď ten Skladatel je nainstalován, použijte jej k instalaci souborů Laravel a závislostí následovně. Nahraďte newunixcop.com s názvem adresáře, kde budou soubory Laravel uloženy, absolutní cesta (nebo kořenová cesta v konfiguračním souboru Nginx) bude /var/www/html/newunixcop.com .
# cd /var/www/html/
# composer create-project --prefer-dist laravel/laravel newunixcop.com
3. Během procesu instalace se soubor .env prostředí byl vytvořen a požadovaná aplikace byla také vygenerována, takže je nemusíte vytvářet ručně jako dříve. Chcete-li to potvrdit, spusťte dlouhý výpis kořenového adresáře laravel pomocí příkazu ls.
# ls -la newunixcop.com/
4. Musíte nakonfigurovat správné vlastnictví a oprávnění k úložišti a bootstrap/cache do adresářů, do kterých může webový server Nginx zapisovat.
[root@unixcop html]# chown -R :nginx /var/www/html/newunixcop.com/storage/
[root@unixcop html]# chown -R :nginx /var/www/html/newunixcop.com/bootstrap/cache/
[root@unixcop html]# chown -R :nginx /var/www/html/newunixcop.com/storage/
[root@unixcop html]# chmod -R 0775 /var/www/html/newunixcop.com/bootstrap/cache/
5. Pokud SELinux povoleno na vašem serveru, měli byste také aktualizovat kontext zabezpečení úložiště a bootstrap/cache adresáře.
spusťte tento příkaz:
[root@unixcop html]# restorecon -Rv 'https://1118798822.rsc.cdn77.org/var/www/html/newunixcop.com'
Relabeled /var/www/html/newunixcop.com/storage/logs from unconfined_u:object_r:httpd_sys_content_t:s0 to unconfined_u:object_r:httpd_log_t:s0
Relabeled /var/www/html/newunixcop.com/storage/logs/.gitignore from unconfined_u:object_r:httpd_sys_content_t:s0 to unconfined_u:object_r:httpd_log_t:s0
[root@unixcop html]#
Nakonfigurujte blok serveru Nginx pro Laravel
1. Pro Nginx chcete-li začít poskytovat své webové stránky nebo aplikaci, musíte pro ně vytvořit blok serveru v .conf soubor pod /etc/nginx/conf.d/ adresář, jak je znázorněno.
# vim /etc/nginx/conf.d/newunixcop.com.conf
Zkopírujte a vložte následující konfiguraci do souboru. Poznamenejte si kořenový adresář a fastcgi_pass parametry.
server {
listen 80;
server_name newunixcop.com;
root /var/www/html/newunixcop.com/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;
}
}
2. Uložte soubor a zkontrolujte, zda Nginx konfigurační syntaxe je spuštěním správná.
[root@unixcop ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@unixcop ~]#
3. Poté restartujte PHP-FPM a Nginx služby, aby se poslední změny projevily.
# systemctl restart php-fpm
# systemctl restart Nginx
Přístup na web Laravel z webového prohlížeče
4. Pro přístup na webovou stránku Laravel na adrese newunixcop.com , což není plně kvalifikovaný název domény (FQDN) a není registrován (používá se pouze pro testovací účely), použijeme /etc/hosts soubor na vašem místním počítači vytvořit místní DNS.
Spuštěním následujícího příkazu přidejte IP adresu serveru a doménu do požadovaného souboru (nahraďte hodnotu podle vašeho nastavení).
[root@unixcop ~]# echo "192.168.122.60 newunixcop.com" | sudo tee -a /etc/hosts
192.168.122.60 newunixcop.com
[root@unixcop ~]#
5. Otevřete webový prohlížeč na místním počítači a použijte k navigaci následující adresu.
http://newunixcop.com
Závěr
Úspěšně jste nasadili Laravel na CentOS 8 . Nyní můžete začít vyvíjet svůj web nebo webovou aplikaci pomocí Laravel . Další informace naleznete v příručce Laravel Getting Started.