Wyszukiwanie w witrynie

Jak zainstalować Laravel PHP Web Framework w CentOS


Laravel to darmowa, wydajna platforma PHP typu open source z wyrazistą i atrakcyjną składnią. Ma wyrafinowaną, prostą i czytelną składnię do tworzenia od podstaw nowoczesnych, solidnych i wydajnych aplikacji. Ponadto Laravel zapewnia kilka narzędzi potrzebnych do pisania czystego, nowoczesnego i łatwego w utrzymaniu kodu PHP.

Przeczytaj także: Jak zainstalować Laravel PHP Framework na Ubuntu

Kluczowe funkcje Laravela:

  • Potężny ORM (mapowanie obiektowo-relacyjne) do pracy z bazą danych.
  • Nieskomplikowany i szybki mechanizm routingu.
  • Potężny kontener do wstrzykiwania zależności.
  • Zapewnia ujednolicony interfejs API dla wielu backendów kolejek, w tym Amazon SQS i Redis i wielu innych, do przechowywania sesji i pamięci podręcznej.
  • Obsługuje prosty mechanizm uwierzytelniania.
  • Obsługuje transmisję wydarzeń w czasie rzeczywistym.
  • Obsługuje także migracje niezależne od bazy danych i narzędzie do tworzenia schematów.
  • Obsługuje przetwarzanie zadań w tle i nie tylko.

wymagania systemowe

Twój system musi spełniać następujące wymagania, aby móc uruchomić najnowszą wersję Laravel:

  • PHP >= 7.1.3 z rozszerzeniami OpenSSL, PDO, Mbstring, Tokenizer, XML, Ctype i JSON PHP.
  • Composer – menedżer pakietów na poziomie aplikacji dla PHP.

Środowisko testowe:

  1. CentOS 7 ze stosem LEMP

W tym artykule wyjaśnimy jak zainstalować najnowszą wersję Laravel 5.6 PHP Framework na systemach CentOS, Red Hat, Fedora.

Krok 1: Skonfiguruj repozytoria Yum

1. Przede wszystkim musisz włączyć repozytoria REMI i EPEL w swojej dystrybucji Linuksa, aby mieć zaktualizowane pakiety (PHP<, Nginx, MariaDB itp.) za pomocą następujących poleceń

------------- 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

Krok 2: Zainstaluj Nginx, MySQL i PHP

2. Następnie musimy zainstalować działające środowisko LEMP w Twoim systemie. Jeśli masz już działający stos LEMP, możesz pominąć ten krok, jeśli nie chcesz go zainstalować za pomocą poniższych poleceń.

Zainstaluj Nginxa

yum install nginx        [On CentOS/RHEL]

3. Po zainstalowaniu nginx uruchom serwer WWW i włącz go, aby uruchamiał się przy starcie systemu, a następnie sprawdź status za pomocą następujących poleceń.

------------- 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. Aby uzyskać dostęp do Nginx z sieci publicznej, musisz otworzyć port 80 w zaporze systemowej, aby odbierać żądania zewnętrzne, jak pokazano.

------------- 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

Zainstaluj MySQL-a

yum install mariadb-server php-mysql
systemctl start mariadb.service
/usr/bin/mysql_secure_installation

Zainstaluj PHP

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. Następnie uruchom i włącz usługę PHP-FPM i sprawdź, czy działa.

------------- 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

Krok 3: Zainstaluj Composer i Laravel PHP Framework

6. Teraz zainstaluj Composer (menedżer zależności dla PHP), aby zainstalować wymagane zależności Laravel za pomocą następujących poleceń.

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

7. Po zainstalowaniu Composer możesz zainstalować Laravel, uruchamiając polecenie composer create-project, ponieważ następuje.

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

8. Teraz, gdy tworzysz długą listę katalogu głównego swojego dokumentu internetowego, powinien tam istnieć katalog testsite zawierający pliki laravel.

ls -l /var/www/html/testsite

Krok 4: Skonfiguruj instalację Laravel

9. Teraz ustaw odpowiednie uprawnienia do katalogu testsite i plików laravel za pomocą poniższych poleceń.

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

10. Dodatkowo, jeśli masz włączony SELinux, musisz zaktualizować kontekst bezpieczeństwa katalogów przechowywania i bootstrap/cache za pomocą następujących poleceń.

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. Następnie utwórz plik środowiska dla swojej aplikacji, korzystając z dostarczonego przykładowego pliku.

cp .env.example .env

12. Następnie Laravel używa klucza aplikacji do zabezpieczania sesji użytkowników i innych zaszyfrowanych danych. Musisz więc wygenerować i ustawić klucz aplikacji na losowy ciąg znaków, używając następującego polecenia.

php artisan key:generate

Krok 5: Skonfiguruj blok serwera Nginx dla Laravel

13. W tym kroku musisz skonfigurować blok serwera Nginx dla strony testowej, aby uzyskać do niej dostęp z przeglądarki internetowej. Utwórz dla niego plik .conf w katalogu /etc/nginx/conf.d/, jak pokazano.

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

I dodaj do niego następującą konfigurację (użyj wartości odpowiednich dla Twojego środowiska, w tym przykładzie nasza fikcyjna domena to testinglaravel.com). Pamiętaj, że plik indeksu laravel jest przechowywany w /var/www/html/testsite/public, będzie to katalog główny Twojej witryny/aplikacji.

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;
	}
}

Zapisz plik i wyjdź. Następnie zrestartuj serwer WWW, aby ostatnie zmiany zaczęły obowiązywać.

systemctl restart nginx

Krok 6: Uzyskaj dostęp do witryny Laravel

14. Następnie, jeśli nie masz w pełni zarejestrowanej nazwy domeny, musisz użyć pliku /etc/hosts, aby utworzyć lokalny DNS do celów testowych.

Dodaj następujący wiersz do pliku /etc/hosts, jak pokazano na rysunku (użyj systemowego adresu IP i domeny zamiast 192.168.43.31 i testinglaravel.com odpowiednio).

192.168.43.31  testinglaravel.com

15. Na koniec uzyskaj dostęp do swojej witryny Laravel z przeglądarki, korzystając z następującego adresu URL.

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

Jeśli tworzysz lokalnie, możesz wykorzystać wbudowany serwer programistyczny PHP do obsługi aplikacji lub witryny w następujący sposób. To polecenie uruchomi serwer programistyczny pod adresem http://localhost:8000 lub http://127.0.0.1:8000. W CentOS/REHL ten port powinien zostać otwarty w zaporze, aby można było w ten sposób obsługiwać aplikację.

php artisan serve

Od tego momentu jesteś gotowy do pracy i możesz zacząć rozwijać swoją witrynę. Aby uzyskać dodatkowe konfiguracje, takie jak pamięć podręczna, baza danych i sesje, możesz przejść do strony głównej Laravel.

Laravel to framework PHP z wyrazistą i piękną składnią do praktycznego, nowoczesnego tworzenia stron internetowych. Mamy nadzieję, że podczas instalacji wszystko poszło dobrze. Jeśli nie, skorzystaj z poniższego formularza komentarza, aby podzielić się z nami swoimi pytaniami.