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

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

Laravel adalah framework PHP open source yang mengikuti pola desain MVC (Model-View-Controller). Ini telah dibuat oleh Taylor Otwell pada tahun 2011 sebagai upaya untuk memberikan alternatif lanjutan untuk kerangka CodeIgniter (CI). Pada tahun 2011, proyek Laravel merilis versi 1 dan 2, tahun ini versi 5.4 telah dirilis dengan banyak peningkatan seperti dukungan Command-Line (CLI) bernama 'artisan', dukungan bawaan untuk lebih banyak tipe database dan perutean yang ditingkatkan.

Dalam tutorial ini, saya akan menunjukkan cara menginstal Laravel Web Framework dengan server web Nginx, PHP-FPM 7.1 dan MariaDB pada sistem CentOS 7. Saya akan menunjukkan langkah demi langkah cara menginstal dan mengonfigurasi Laravel di bawah tumpukan LEMP di server CentOS 7.

Tutorial ini juga tersedia untuk Laravel di Ubuntu.

Prasyarat:

  • Server CentOS 7.
  • Keistimewaan Root.

Langkah 1 - Instal Repositori EPEL

EPEL atau Paket Ekstra untuk Enterprise Linux adalah repositori paket tambahan yang menyediakan paket perangkat lunak berguna yang tidak termasuk dalam repositori resmi CentOS. Itu dapat diinstal pada distribusi Linux berbasis RPM seperti CentOS dan Fedora.

Dalam tutorial ini, kita memerlukan repositori EPEL untuk instalasi Nginx karena paket Nginx tidak ada di repositori CentOS resmi. Instal repositori EPEL dengan perintah yum di bawah ini.

yum -y install epel-release

Repositori EPEL telah diinstal.

Langkah 2 - Instal Nginx

Dalam tutorial ini, kita akan menjalankan Laravel di bawah LEMP Stack. Nginx adalah bagian server web dari tumpukan LEMP dan dapat diinstal dari repositori EPEL.

Instal Nginx 1.10 dari repositori EPEL dengan yum.

yum -y install nginx

Ketika instalasi selesai, mulai Nginx dan tambahkan untuk memulai saat boot.

systemctl start nginx
systemctl enable nginx

Nginx berjalan di port 80, periksa dengan perintah netstat di bawah.

netstat -plntu

Jika Anda mendapatkan 'Perintah tidak ditemukan' sebagai hasilnya, instal paket net-tools seperti yang ditunjukkan di bawah ini.

yum -y install net-tools

Langkah 3 - Instal dan Konfigurasi PHP-FPM 7.1

Laravel dapat diinstal pada server dengan versi PHP>=5.6.4. Dalam tutorial ini, kita akan menggunakan versi terbaru PHP 7.1 yang didukung oleh Laravel.

PHP 7.1 tidak ada di repositori dasar CentOS, kita perlu menginstalnya dari repositori pihak ketiga bernama 'webtatic'.

Instal repositori webtatic dengan perintah rpm ini.

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

Sekarang kita dapat menginstal PHP-FPM dengan semua ekstensi yang dibutuhkan oleh Laravel dengan satu perintah yum.

yum install -y php71w php71w-curl php71w-common php71w-cli php71w-mysql php71w-mbstring php71w-fpm php71w-xml php71w-pdo php71w-zip

PHP 7.1 telah diinstal pada sistem CentOS 7 kami.

Selanjutnya konfigurasikan PHP dengan mengedit file konfigurasi php.ini dengan vim.

vim /etc/php.ini

Batalkan komentar pada baris di bawah dan ubah nilainya menjadi 0.

cgi.fix_pathinfo=0

Simpan file dan keluar dari editor.

Sekarang edit file PHP-FPM www.conf.

vim /etc/php-fpm.d/www.conf

PHP-FPM akan berjalan di bawah pengguna dan grup 'nginx ', ubah nilai dari dua baris di bawah ini menjadi 'nginx '.

user = nginx
group = nginx

Alih-alih menggunakan port server, PHP-FPM akan berjalan di bawah file soket. Ubah nilai 'listen' menjadi path '/run/php-fpm/php-fpm.sock ' seperti yang ditunjukkan di bawah ini.

listen = /run/php-fpm/php-fpm.sock

Pemilik file soket akan menjadi pengguna 'nginx', dan mode izinnya adalah 660. Batalkan komentar dan ubah semua nilai seperti ini:

listen.owner = nginx
listen.group = nginx
listen.mode  = 0660

Untuk variabel lingkungan, batalkan komentar pada baris ini dan atur nilainya seperti yang ditunjukkan di bawah ini.

env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp

Simpan file dan keluar dari vim, lalu mulai PHP-FPM dan aktifkan untuk dijalankan saat boot.

systemctl start php-fpm
systemctl enable php-fpm

PHP-FPM berjalan di bawah file socket, periksa dengan perintah di bawah ini.

netstat -pl | grep php-fpm.sock

Instalasi dan konfigurasi PHP dan PHP-FPM 7.1 telah selesai.

Langkah 4 - Instal Server MariaDB

Anda dapat menggunakan MySQL atau PostgreSQL untuk proyek Laravel Anda. Saya akan menggunakan server database MariaDB untuk tutorial ini. Ini tersedia di repositori CentOS. Instal MariaDB-server dengan perintah yum di bawah ini.

yum -y install mariadb mariadb-server

Ketika instalasi selesai, mulai 'mariadb' dan aktifkan untuk memulai saat boot.

systemctl start mariadb
systemctl enable mariadb

MariaDB telah dimulai dan berjalan pada port 3306, periksa dengan perintah netstat.

netstat -plntu

Selanjutnya, konfigurasikan kata sandi root untuk MariaDB dengan 'mylsq_secure_installation ' perintah di bawah.

mysql_secure_installation

Ketik kata sandi root mariadb Anda, hapus pengguna anonim, dll.

Set root password? [Y/n] Y
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Instalasi dan konfigurasi MariaDB telah selesai.

Langkah 5 - Instal PHP Composer

Komposer PHP adalah manajer paket untuk bahasa pemrograman PHP. Ini telah dibuat pada tahun 2011 dan terinspirasi oleh penginstal 'npm' Node.js dan 'bundler' Ruby. Instal composer dengan perintah curl.

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/bin --filename=composer

Saat penginstalan selesai, coba gunakan 'komposer ' dan Anda akan melihat hasilnya seperti di bawah ini.

composer

Komposer PHP diinstal pada CentOS 7.

Langkah 6 - Konfigurasikan Virtual Host Nginx untuk Laravel

Pada langkah ini, kita akan membuat konfigurasi virtual host nginx untuk proyek Laravel. Kita perlu menentukan direktori root web untuk instalasi Laravel ini, saya akan menggunakan '/var/www/laravel ' sebagai direktori root web.

Buat dengan perintah mkdir di bawah ini:

mkdir -p /var/www/laravel

Selanjutnya, masuk ke direktori nginx dan buat file konfigurasi virtual host baru laravel.conf di direktori conf.d.

cd /etc/nginx
vim conf.d/laravel.conf

Rekatkan konfigurasi di bawah ini ke dalam file:

server {
        listen 80;
        listen [::]:80 ipv6only=on;

    # Log files for Debugging
        access_log /var/log/nginx/laravel-access.log;
        error_log /var/log/nginx/laravel-error.log;

    # Webroot Directory for Laravel project
        root /var/www/laravel/public;
        index index.php index.html index.htm;

        # Your Domain Name
        server_name laravel.hakase-labs.co;

        location / {
                try_files $uri $uri/ /index.php?$query_string;
        }

    # PHP-FPM Configuration Nginx
        location ~ \.php$ {
                try_files $uri =404;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }
}

Simpan file dan keluar dari vim.

Uji konfigurasi nginx dan pastikan tidak ada kesalahan, lalu mulai ulang layanan nginx.

nginx -t
systemctl restart nginx

Konfigurasi virtual host nginx untuk Laravel telah selesai.

Langkah 7 - Instal Laravel

Sebelum menginstal Laravel, kita perlu menginstal unzip di server.

yum -y install unzip

Sekarang buka direktori root web laravel '/var/www/laravel'.

cd /var/www/laravel

Laravel menyediakan dua cara untuk instalasi framework di server. Kita dapat menginstal Laravel dengan installer laravel, dan kita dapat menginstalnya dengan komposer PHP. Dalam tutorial ini, saya akan menginstal Laravel dengan membuat proyek baru dengan perintah composer.

Jalankan perintah di bawah ini untuk menginstal Laravel.

composer create-project laravel/laravel .

Tunggu hingga instalasi Laravel selesai. Ini mungkin memakan waktu.

Setelah instalasi selesai, ubah pemilik direktori root web Laravel menjadi pengguna 'nginx', dan ubah izin direktori penyimpanan menjadi 755 dengan perintah di bawah ini.

chown -R nginx:root /var/www/laravel
chmod 755 /var/www/laravel/storage

Instalasi Laravel telah selesai.

Langkah 8 - Konfigurasi SELinux

Dalam tutorial ini, Laravel akan berjalan dalam mode SELinux 'Enforcing'. Untuk memeriksa status SELinux, jalankan perintah di bawah ini.

sestatus

Hasilnya adalah SELinux berjalan di 'Enforcing ' modus.

Selanjutnya, kita perlu menginstal alat manajemen SELinux untuk CentOS 7.

Instal 'policycoreutils-python' di server.

yum -y install policycoreutils-python

Sekarang kita perlu mengubah konteks direktori Laravel dan kemudian menerapkan perubahan dengan perintah restorecon. Jalankan perintah manajemen SELinux seperti yang ditunjukkan di bawah ini.

semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/laravel(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/laravel/public(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/laravel/storage(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/laravel/app(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/laravel/bootstrap(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/laravel/config(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/laravel/database(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/laravel/resources(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/laravel/routes(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/laravel/vendor(/.*)?'
semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/laravel/tests(/.*)?'
restorecon -Rv '/var/www/laravel/'

Konfigurasi SELinux untuk Laravel selesai.

Langkah 9 - Menguji Laravel

Buka browser web Anda dan ketik URL Laravel server Anda. Kami telah mendefinisikan nama domain untuk Laravel di file host virtual Nginx. Milik saya adalah laravel.hakase-labs.co .

Saat Anda mengunjungi nama domain, Anda akan melihat halaman beranda Laravel.

Instalasi Laravel dengan Nginx, PHP-FPM7, dan MariaDB di CentOS 7 telah berhasil.


Cent OS
  1. Cara Menginstal dan Mengkonfigurasi Nginx di CentOS 7

  2. Instal Magento di CentOS 7, dengan Nginx, PHP-FPM dan MariaDB

  3. Cara Menginstal Let's Encrypt di CentOS 8 Dengan Nginx

  1. Cara Instal phpMyAdmin dengan Nginx di CentOS 7

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

  3. Cara Menginstal ownCloud 9.1 dengan Nginx dan MariaDB di CentOS 7

  1. Cara Instal WordPress dengan HHVM dan Nginx di CentOS 7

  2. Cara Menginstal Nextcloud dengan Nginx dan PHP7-FPM di CentOS 7

  3. Cara Menginstal dan Mengonfigurasi Askbot dengan Nginx di CentOS 7