GNU/Linux >> Belajar Linux >  >> Cent OS

Cara Instal Laravel PHP Framework dengan Nginx di CentOS 8

Pengantar

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

Fitur utamanya termasuk mesin perutean cepat dan sederhana, wadah injeksi ketergantungan yang kuat, beberapa back-end untuk penyimpanan sesi dan cache, database ORM (Pemetaan Objek-relasional) yang ekspresif dan intuitif, pemrosesan pekerjaan latar belakang yang kuat, dan penyiaran acara waktu-nyata.

Selain itu, ia menggunakan alat seperti Composer – manajer paket PHP untuk mengelola dependensi dan Artisan – antarmuka baris perintah untuk membangun dan mengelola aplikasi web.

Anda akan mempelajari cara menginstal versi terbaru framework web Laravel PHP pada distribusi Linux CentOS 8.

Instal LEMP Stack

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 install nginx php php-fpm php-common php-xml php-mbstring php-json php-zip mariadb-server php-mysqlnd

2. Saat LEMP instalasi selesai, Anda harus memulai PHP-PFM , Nginx dan MariaDB layanan menggunakan perintah systemctl berikut.

# systemctl start php-fpm nginx mariadb
# systemctl enable php-fpm nginx mariadb
# systemctl status php-fpm nginx mariadb

3. Anda perlu mengamankan dan memperkuat MariaDB mesin database menggunakan skrip keamanan seperti yang ditunjukkan.

# mysql_secure_installation

Jawab pertanyaan berikut untuk mengamankan instalasi server.

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. Jika Anda memiliki firewall layanan berjalan, Anda perlu membuka HTTP dan HTTPS layanan di firewall untuk mengaktifkan permintaan klien ke server web Nginx.

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

5. Terakhir, Anda dapat mengonfirmasi bahwa LEMP . Anda stack sedang berjalan menggunakan browser di alamat IP sistem Anda.

http://server-IP

Mengonfigurasi dan Mengamankan PHP-FPM dan Nginx

1. Untuk memproses permintaan dari Nginx server web, PHP-FPM dapat mendengarkan pada soket Unix atau soket TCP dan ini didefinisikan oleh mendengarkan parameter di /etc/php-fpm.d/www.conf file konfigurasi.

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

Secara default, dikonfigurasi untuk mendengarkan pada soket Unix seperti yang ditunjukkan pada tangkapan layar berikut. Nilai di sini akan ditentukan di file blok server Nginx nanti.

2. Jika menggunakan soket Unix, Anda juga harus mengatur kepemilikan dan izin yang benar seperti yang ditunjukkan pada tangkapan layar. Batalkan komentar pada parameter berikut dan tetapkan nilainya ke pengguna dan grup agar cocok dengan pengguna dan grup Nginx sedang berjalan sebagai.

listen.owner = nginx
listen.group = nginx
listen.mode = 066

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

# vim /etc/php.ini

Cari baris “date.timezone” dan batalkan komentarnya, lalu atur nilainya seperti yang ditunjukkan pada tangkapan layar (gunakan nilai yang berlaku untuk wilayah/benua dan negara Anda).

 date.timezone = Africa/Cairo

4. Untuk mengurangi risiko Nginx meneruskan permintaan dari pengguna jahat yang menggunakan ekstensi lain untuk mengeksekusi kode PHP ke PHP-FPM, batalkan komentar pada parameter berikut dan setel nilainya ke 0 .

cgi.fix_pathinfo=0

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

security.limit_extensions = .php .php3 .php4 .php5 .php7

Instal Composer dan Laravel PHP Framework

1. Selanjutnya, instal Komposer paket dengan menjalankan perintah berikut. Perintah pertama mengunduh penginstal, lalu menjalankannya menggunakan 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 ~]$

Kemudian jalankan perintah ini :

mv composer.phar /usr/local/bin/composer
chmod +x /usr/local/bin/composer

2. Sekarang Komposer diinstal, gunakan untuk menginstal file dan dependensi Laravel sebagai berikut. Ganti newunixcop.com dengan nama direktori tempat file Laravel akan disimpan, path absolut (atau path root di file konfigurasi Nginx) adalah /var/www/html/newunixcop.com .

# cd /var/www/html/
# composer create-project --prefer-dist laravel/laravel newunixcop.com

3. Selama proses instalasi, .env file lingkungan telah dibuat dan aplikasi yang diperlukan juga dibuat, jadi Anda tidak perlu membuatnya secara manual seperti sebelumnya. Untuk mengonfirmasi ini, jalankan daftar panjang direktori root laravel menggunakan perintah ls.

# ls -la newunixcop.com/

4. Anda perlu mengonfigurasi kepemilikan dan izin yang benar di penyimpanan dan bootstrap/cache direktori yang dapat ditulis oleh server web Nginx.

[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. Jika SELinux diaktifkan di server Anda, Anda juga harus memperbarui konteks keamanan penyimpanan dan bootstrap/cache direktori.

jalankan perintah ini :

[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]# 

Konfigurasi Blok Server Nginx Untuk Laravel

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

# vim /etc/nginx/conf.d/newunixcop.com.conf

Salin dan tempel konfigurasi berikut di file. Catat root dan fastcgi_pass parameter.

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. Simpan file dan periksa apakah Nginx sintaks konfigurasi benar dengan menjalankan.

[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. Kemudian mulai ulang PHP-FPM dan Nginx layanan agar perubahan terbaru diterapkan.

# systemctl restart php-fpm
# systemctl restart Nginx

Mengakses Situs Web Laravel dari Peramban Web

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

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

[root@unixcop ~]# echo "192.168.122.60  newunixcop.com" | sudo tee -a /etc/hosts
192.168.122.60  newunixcop.com
[root@unixcop ~]# 

5. Buka browser web di komputer lokal dan gunakan alamat berikut untuk bernavigasi.

http://newunixcop.com

Kesimpulan

Anda telah berhasil menerapkan Laravel di CentOS 8 . Sekarang Anda dapat mulai mengembangkan situs web atau aplikasi web Anda menggunakan Laravel . Untuk informasi lebih lanjut, lihat panduan Memulai Laravel.


Cent OS
  1. Cara Menginstal WordPress dengan Nginx di CentOS 7

  2. Cara Instal phpMyAdmin dengan Nginx di CentOS 7

  3. Cara Menginstal Phorum dengan Nginx di CentOS 7

  1. Cara Menginstal Nextcloud dengan Nginx dan PHP 7.3 di CentOS 8

  2. Cara Menginstal SuiteCRM dengan Nginx di CentOS 7

  3. Cara Menginstal MediaWiki dengan Nginx di CentOS 7

  1. Cara Menginstal Laravel 5.x dengan Nginx dan PHP-FPM 7.1 di CentOS 7

  2. Cara Instal Pimcore dengan Nginx di CentOS 7

  3. Cara Menginstal Laravel 5 PHP Framework dengan Nginx di Ubuntu 16.04 LTS