Wéi installéiere Laravel PHP Web Framework an CentOS


Laravel ass e gratis Open Source, mächtege PHP Kader mat enger expressiver an attraktiver Syntax. Et huet eng raffinéiert, einfach a liesbar Syntax fir modern, robust a mächteg Uwendungen aus dem Buedem z'entwéckelen. Zousätzlech bitt Laravel e puer Tools déi Dir braucht fir propper, modern an erhale PHP Code ze schreiwen.

  • Mächteg ORM (Object-Relational Mapping) fir mat Ärer Datebank ze schaffen.
  • Onkomplizéiert a séier Routing Mechanismus.
  • Mächteg Ofhängegkeet Injektiounscontainer.
  • Gitt eng vereenegt API iwwer verschidde Schlaangen-Backends abegraff Amazon SQS a Redis a vill méi, fir Sessiouns- a Cachespäicherung.
  • Ënnerstëtzt en einfachen Authentifikatiounsmechanismus.
  • Ënnerstëtzt Echtzäit Event Sendung.
  • Ënnerstëtzt och Datebank agnostesch Migratiounen a Schema Builder.
  • Ënnerstëtzt Hannergrondjobveraarbechtung a méi.

Äre System muss déi folgend Ufuerderunge erfëllen fir déi lescht Versioun vu Laravel auszeféieren:

  • PHP >= 7.1.3 mat OpenSSL, PDO, Mbstring, Tokenizer, XML, Ctype an JSON PHP Extensiounen.
  • Composer - en Applikatiounsniveau Package Manager fir de PHP.

  1. CentOS 7 mat LEMP Stack

An dësem Artikel wäerte mir erkläre wéi déi lescht Versioun vum Laravel 5.6 PHP Framework op CentOS, Red Hat, Fedora Systemer installéiert gëtt.

Schrëtt 1: Setup Yum Repositories

1. Als éischt musst Dir REMI an EPEL Repositories an Ärer Linux Verdeelung aktivéieren fir déi aktualiséiert Packagen (PHP, Nginx, MariaDB, etc.) mat de folgende Kommandoen ze hunn

------------- On CentOS/RHEL 7.x ------------- 
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

------------- On CentOS/RHEL 6.x -------------
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

Schrëtt 2: Installéiert Nginx, MySQL a PHP

2. Als nächst musse mir e schaffende LEMP Ëmfeld op Ärem System installéieren. Wann Dir schonn e funktionnéierende LEMP-Stack hutt, kënnt Dir dëse Schrëtt iwwersprangen, wann Dir se net installéiert mat de folgende Kommandoen.

# yum install nginx        [On CentOS/RHEL]

3. Wann nginx installéiert ass, start de Webserver an aktivéiert et fir beim Systemboot ze starten an dann de Status z'iwwerpréiwen mat de folgende Kommandoen.

------------- On CentOS/RHEL 7.x ------------- 
# systemctl start nginx
# systemctl enable nginx
# systemctl status nginx

------------- On CentOS/RHEL 6.x -------------
# service nginx start  
# chkconfig nginx on
# service nginx status

4. Fir Zougang zu nginx vum ëffentlechen Netz ze kréien, musst Dir e Port 80 op Ärem System Firewall opmaachen fir extern Ufroen ze kréien wéi gewisen.

------------- On CentOS/RHEL 7.x -------------
# firewall-cmd --permanent --add-port=80/tcp
# firewall-cmd --reload 

------------- On CentOS/RHEL 6.x -------------
# iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# service iptables restart
# yum install mariadb-server php-mysql
# systemctl start mariadb.service
# /usr/bin/mysql_secure_installation
# yum install yum-utils
# yum-config-manager --enable remi-php72
# yum install php php-fpm php-common php-xml php-mbstring php-json php-zip

5. Als nächst, start an aktivéiert PHP-FPM Service a kontrolléiert ob et op a lafen ass.

------------- On CentOS/RHEL 7.x ------------- 
# systemctl start php-fpm
# systemctl enable php-fpm
# systemctl status php-fpm

------------- On CentOS/RHEL 6.x -------------
# service php-fpm start  
# chkconfig php-fpm on
# service php-fpm status

Schrëtt 3: Installéiert Composer a Laravel PHP Framework

6. Installéiert elo Composer (Ofhängegkeetsmanager fir PHP) fir erfuerderlech Laravel Ofhängegkeeten z'installéieren mat de folgende Kommandoen.

# curl -sS https://getcomposer.org/installer | php
# mv composer.phar /usr/local/bin/composer
# chmod +x /usr/local/bin/composer

7. Wann Dir Composer installéiert hutt, kënnt Dir Laravel installéieren andeems Dir de Komponist Create-Projet Kommando leeft, wéi follegt.

# cd /var/www/html/
# sudo composer create-project --prefer-dist laravel/laravel testsite 

8. Elo wann Dir eng laang Oplëschtung vun Ärem Webdokumentroot maacht, sollt den Testsite Verzeechnes do existéieren, mat Äre Laravel Dateien.

$ ls -l /var/www/html/testsite

Schrëtt 4: Laravel Installatioun konfiguréieren

9. Setzt elo déi entspriechend Permissiounen am Testsite-Verzeichnis a Laravel-Dateien mat de folgende Kommandoen.

# chmod -R 775 /var/www/html/testsite
# chown -R apache.apache /var/www/html/testsite
# chmod -R 777 /var/www/html/testsite/storage/

10. Zousätzlech, wann Dir SELinux aktivéiert hutt, musst Dir de Sécherheetskontext vun de Späicher- a Bootstrap/Cache-Verzeichnungen aktualiséieren mat de folgende Kommandoen.

# semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/testsite/bootstrap/cache(/.*)?'
# semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/testsite/storage(/.*)?'
# restorecon -Rv '/usr/share/nginx/html/testapp'

11. Erstellt dann eng Ëmweltdatei fir Är Applikatioun, andeems Dir d'Proufdatei benotzt.

# cp .env.example .env

12. Als nächst benotzt Laravel en Applikatiounsschlëssel fir Benotzersessiounen an aner verschlësselte Donnéeën ze sécheren. Also musst Dir Ären Applikatiounsschlëssel op eng zoufälleg String generéieren an setzen mat de folgende Kommando.

# php artisan key:generate

Schrëtt 5: Nginx Server Block Fir Laravel konfiguréieren

13. An dësem Schrëtt musst Dir e Nginx Serverblock fir Testsite konfiguréieren, fir et vun engem Webbrowser ze kréien. Erstellt eng .conf Datei dofir ënner /etc/nginx/conf.d/ Verzeichnis wéi gewisen.

# vi /etc/nginx/conf.d/testsite.conf

A füügt déi folgend Konfiguratioun derbäi (benotzt Wäerter, déi op Är Ëmwelt applicabel sinn, an dësem Beispill ass eis Dummy-Domain testinglaravel.com). Notéiert datt d'Laravel Indexdatei an /var/www/html/testsite/public gespäichert ass, dëst wäert d'Wurzel vun Ärer Säit/Applikatioun sinn.

server {
	listen      80;
	server_name testinglaravel.com;
	root        /var/www/html/testsite/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:/var/run/php/php7.2-fpm.sock;
	}
	location ~ /\.ht {
		deny all;
	}
}

Späichert d'Datei a gitt eraus. Da restart Äre Webserver fir déi rezent Ännerungen a Kraaft trieden.

# systemctl restart nginx

Schrëtt 6: Zougang Laravel Websäit

14. Als nächst, wann Dir kee voll registréierten Domain Numm hutt, musst Dir d' /etc/hosts Datei benotzen fir e lokalen DNS fir Testzwecker ze kreéieren.

Füügt déi folgend Zeil an Ärer /etc/hosts Datei wéi ugewisen (benotzt Är System IP Adress an Domain anstatt 192.168.43.31 respektiv testinglaravel.com).

192.168.43.31  testinglaravel.com

15. Endlech Zougang zu Ärem Laravel Site vun engem Browser, mat der folgender URL.

http://testinglaravel.com
OR
http://your-ip-address

Wann Dir lokal entwéckelt, kënnt Dir de PHP gebauten Entwécklungsserver benotze fir Är Applikatioun oder Site ze déngen, wéi follegt. Dëse Kommando start en Entwécklungsserver op http://localhost:8000 oder http://127.0.0.1:8000. Op CentOS/REHL soll dësen Hafen an der Firewall opgemaach ginn fir datt Dir Är Applikatioun op dës Manéier déngt.

# php artisan serve

Vun dësem Punkt un sidd Dir prett fir ze goen, Dir kënnt ufänken Äre Site z'entwéckelen. Fir zousätzlech Konfiguratiounen wéi Cache, Datebank a Sessiounen, kënnt Dir op d'Laravel Homepage goen.

Laravel ass e PHP Kader mat enger expressiver a schéiner Syntax fir praktesch, modern Webentwécklung. Mir hoffen datt alles gutt gaang ass während der Installatioun, wann net, benotzt de Kommentarformular hei ënnen fir Är Ufroe mat eis ze deelen.