Cara menginstal kerangka php laravel dengan nginx di centos 8

Cara menginstal kerangka php laravel dengan nginx di centos 8

Laravel adalah kerangka kerja web open-source, terkenal, dan berbasis PHP modern dengan sintaks yang ekspresif, elegan, dan mudah dipahami yang membuatnya mudah untuk membangun aplikasi web yang besar dan kuat.

Fitur utamanya termasuk mesin routing yang sederhana dan cepat, wadah injeksi ketergantungan yang kuat, beberapa back-end untuk penyimpanan sesi dan cache, orm basis data ekspresif dan intuitif (pemetaan objek-relasional), pemrosesan pekerjaan latar belakang yang kuat, dan penyiaran acara real-time.

Juga, menggunakan alat seperti Komposer - Manajer paket PHP untuk mengelola dependensi dan Tukang - Antarmuka baris perintah untuk membangun dan mengelola aplikasi web.

Di artikel ini, Anda akan belajar cara menginstal versi terbaru dari Laravel PHP kerangka kerja web di Centos 8 Distribusi Linux.

Persyaratan server

Itu Laravel Kerangka kerja memiliki persyaratan berikut:

  • Php> = 7.2.5 Dengan ekstensi PHP ini OpenSSL, PDO, MBSTRING, TOKENIZER, XML, CTYPE dan JSON.
  • Komposer - untuk menginstal dan mengelola dependensi.

Langkah 1: Memasang Tumpukan Lemp di Centos 8

1. Untuk memulai, perbarui paket perangkat lunak sistem dan instal Lemp tumpukan (Linux, Nginx, Mariadb / mysql, Dan Php) menggunakan perintah DNF berikut.

# DNF UPDATE # DNF Instal Nginx PHP PHP-FPM PHP-Common PHP-XML PHP-MBSTRING PHP-JSON PHP-ZIP MariaDB-Server-Server PHP-MYSQLND 

2. Ketika Lemp Instalasi selesai, Anda harus memulai Php-pfm, Nginx Dan Mariadb Layanan Menggunakan Perintah Systemctl berikut.

# Systemctl Mulai php-fpm nginx mariadb # systemctl Aktifkan php-fpm nginx mariadb # status systemctl php-fpm nginx mariadb 

3. Selanjutnya, Anda perlu mengamankan dan mengeras Mariadb mesin database menggunakan skrip keamanan seperti yang ditunjukkan.

# mysql_secure_installation 

Jawab pertanyaan berikut untuk mengamankan instalasi server.

Masukkan kata sandi saat ini untuk root (masukkan untuk tidak ada): Memasuki Atur kata sandi root? [Y/n] y #set Kata Sandi Root Baru Hapus Pengguna Anonim? [Y/n] y Larang login root dari jarak jauh? [Y/n] y Hapus database tes dan akses ke sana? [Y/n] y Muat ulang tabel hak istimewa sekarang? [Y/n] y

4. Jika Anda memiliki Firewalld Layanan berjalan, Anda perlu membuka Http Dan Https Layanan di firewall untuk memungkinkan permintaan klien ke server web nginx.

# firewall-cmd --zone = public --permanent --add-service = http # firewall-cmd --zone = public --permanent --add-service = https # firewall-cmd --eload 

5. Akhirnya, Anda dapat mengonfirmasi bahwa Lemp Stack sedang berjalan menggunakan browser di alamat IP sistem Anda.

http: // server-ip 
Periksa halaman web nginx

Langkah 2: Mengkonfigurasi dan Mengamankan PHP-FPM dan Nginx

6. Untuk memproses permintaan dari Nginx server web, Php-fpm dapat mendengarkan soket unix atau soket TCP dan ini ditentukan oleh mendengarkan parameter di /etc/php-fpm.d/www.conf file konfigurasi.

# vi /etc /php-fpm.d/www.conf 

Secara default, ini dikonfigurasi mendengarkan pada soket unix seperti yang ditunjukkan pada tangkapan layar berikut. Nilai di sini akan ditentukan dalam file blok server nginx nanti.

Atur soket mendengarkan php-fpm

7. Jika menggunakan soket UNIX, Anda juga harus mengatur kepemilikan dan izin yang benar seperti yang ditunjukkan dalam tangkapan layar. Unkomment parameter berikut dan atur nilainya ke pengguna dan grup agar sesuai dengan pengguna dan grup Nginx berjalan sebagai.

mendengarkan.pemilik = nginx dengarkan.grup = nginx dengarkan.Mode = 066 
Setel Dengarkan Kepemilikan Soket ke Nginx

8. Selanjutnya, atur juga zona waktu seluruh sistem di /etc/php.ini file konfigurasi.

# vi /etc /php.ini 

Cari garis ";tanggal.zona waktu" dan membatalkan komentar, kemudian menetapkan nilainya seperti yang ditunjukkan pada tangkapan layar (gunakan nilai yang berlaku untuk wilayah/benua dan negara Anda).

 tanggal.Timezone = Afrika/Kampala 
Atur zona waktu dalam php

9. Untuk mengurangi risiko Nginx Melewati permintaan dari pengguna berbahaya yang menggunakan ekstensi lain untuk menjalankan kode php ke php-fpm, melepaskan promosi parameter berikut dan mengatur nilainya ke 0.

CGI.fix_pathinfo = 1 
Amankan PHP dan Nginx

10. Sehubungan dengan poin sebelumnya, juga tidak mengkomentasikan parameter berikut di /etc/php-fpm.d/www.conf mengajukan. Baca komentar untuk penjelasan lebih lanjut.

keamanan.limit_extensions = .php .php3 .php4 .php5 .php7 
Batasi eksekusi ekstensi PHP

Langkah 3: Menginstal Composer dan Laravel PHP Framework

11. Selanjutnya, instal Komposer paket dengan menjalankan perintah berikut. Perintah pertama mengunduh penginstal, lalu menjalankannya menggunakan PHP.

# curl -ss https: // getComposer.org/installer | PHP # MV Composer.phar/usr/lokal/bin/komposer # chmod +x/usr/lokal/bin/komposer 
Instal Composer di Centos 8

12. Sekarang itu Komposer diinstal, gunakan untuk menginstal file Laravel dan dependensi sebagai berikut. Mengganti Situsku.com Dengan nama direktori di mana file Laravel akan disimpan, jalur absolut (atau jalur root dalam file konfigurasi nginx) /var/www/html/mysite.com.

# CD/var/www/html/ # composer create-project --prefer-Dist Laravel/Laravel MySite.com 
Pasang Laravel di Centos 8

Jika semuanya berjalan dengan baik selama proses, aplikasi harus diinstal dengan sukses dan kunci harus dihasilkan seperti yang ditunjukkan pada tangkapan layar berikut.

Instalasi Laravel selesai

13. Selama proses pemasangan, .Env File lingkungan dibuat dan aplikasi yang diperlukan juga dihasilkan, jadi Anda tidak perlu membuatnya secara manual seperti sebelumnya. Untuk mengkonfirmasi ini, jalankan daftar panjang direktori root Laravel menggunakan perintah LS.

# ls -la mysite.com/ 
Daftar file Laravel

14. Selanjutnya, Anda perlu mengonfigurasi kepemilikan dan izin yang benar pada penyimpanan dan Bootstrap/cache direktori dapat ditulis oleh server web nginx.

# chown -r: nginx/var/www/html/mysite.com/penyimpanan/ # chown -r: nginx/var/www/html/mysite.com/bootstrap/cache/ # chmod -r 0777/var/www/html/mysite.com/penyimpanan/ # chmod -r 0775/var/www/html/mysite.com/bootstrap/cache/ 

15. Jika Selinux Diaktifkan di server Anda, Anda juga harus memperbarui konteks keamanan dari penyimpanan Dan Bootstrap/cache direktori.

# Semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/mysite.com/penyimpanan (/.*)?' # semanage fcontext -a -t httpd_sys_rw_content_t'/var/www/html/mysite.com/bootstrap/cache (/.*)?' # restorecon -rv'/var/www/html/mysite.com ' 

Langkah 4: Konfigurasikan blok server nginx untuk Laravel

16. Untuk Nginx Untuk mulai melayani situs web atau aplikasi Anda, Anda perlu membuat blok server untuk itu di a .conf file di bawah /etc/nginx/conf.D/ direktori seperti yang ditunjukkan.

# vi/etc/nginx/conf.D/MySite.com.conf 

Salin dan tempel konfigurasi berikut dalam file. Perhatikan root dan fastcgi_pass parameter.

server dengarkan 80; server_name mysite.com; root/var/www/html/mysite.com/publik; Indeks Indeks.PHP; Charset UTF-8; gzip on; GZIP_Types Teks/Aplikasi CSS/Teks JavaScript/Aplikasi JavaScript/Gambar X-JavaScript/SVG+XML Teks/Teks biasa/Teks XSD/Teks XSL/Gambar XML/X-ICON; Lokasi / TRY_FILES $ URI $ URI / / INDEX.php?$ query_string;  Lokasi ~ \.php termasuk fastcgi.conf; fastcgi_split_path_info ^(.+\.PHP) (/.+) $; fastcgi_pass unix:/run/php-fpm/www.kaus kaki;  Lokasi ~ /\.ht tolak semua;  

17. Simpan file dan periksa apakah Nginx Sintaks konfigurasi benar dengan berjalan.

# nginx -t 
Periksa konfigurasi nginx

18. Lalu restart Php-fpm Dan Nginx Layanan untuk perubahan terbaru mulai berlaku.

# Systemctl restart php-fpm # systemctl restart nginx 

Langkah 5: Mengakses situs web Laravel dari browser web

19. Untuk mengakses situs web Laravel di Situsku.com, yang bukan nama domain yang sepenuhnya memenuhi syarat (FQDN) dan tidak terdaftar (hanya digunakan untuk tujuan pengujian), kami akan menggunakan /etc/host File di mesin lokal Anda untuk membuat DNS lokal.

Jalankan perintah berikut untuk menambahkan alamat dan domain IP server di file yang diperlukan (ganti nilai sesuai dengan pengaturan Anda).

# ip add #get server jarak jauh ip $ echo "10.42.0.21 Mysite.com "| sudo tee -a /etc /hosts 
Tambahkan entri DNS dalam file lokal

20. Selanjutnya, buka browser web di mesin lokal dan gunakan alamat berikut untuk menavigasi.

http: // mysite.com 
Akses Web Laraval

Anda telah berhasil digunakan Laravel pada Centos 8. Anda sekarang dapat mulai mengembangkan situs web atau aplikasi web Anda menggunakan Laravel. Untuk informasi lebih lanjut, lihat panduan Laravel Memulai.