Instalasi Laravel + PostgreSQL dengan Nginx di CentOS 7
https://www.priawadi.com/2020/11/instalasi-laravel-postgresql-nginx-centos.html
- Aplikasi menggunakan Framework Laravel
- Database yang digunakan adalah PostgreSQL
- Menggunakan GitLab sebagai Source Control
- Web Server yang digunakan adalah Nginx
- PHP yang digunakan minimal versi 7.1
Daftar Isi:
- Setup Repositori Yum
- Install Nginx dan PHP
- Install Git, Composer dan Nano
- Konfigurasi Laravel
- Konfigurasi Nginx
Step 1. Setup Yum-Repositories
Langkah pertama yang harus dilakukan adalah mengaktifkan REMI dan EPEL repositories di Linux Distribution supaya mendapatkan update packages terbaru.
sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm | |
sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm |
Step 2. Install Nginx & PHP
Selanjutnya install Nginx dengan Command berikut:
sudo yum install nginx |
Apabila Nginx sudah selesai ter-install, selanjutnya jalankan web server dan buat menjadi enable supaya berjalan pada saat system boot:
sudo systemctl start nginx | |
sudo systemctl enable nginx | |
sudo systemctl status nginx |
Supaya kita dapat mengakses nginx dari jaringan public, kita perlu membuka port 80 dari system firewall supaya dapat menerima rikues dari luar.
sudo firewall-cmd --permanent --add-port=80/tcp | |
sudo firewall-cmd –reload |
Langkah selanjutnya adalah install PHP v71:
sudo yum install yum-utils | |
sudo yum-config-manager --enable remi-php71 | |
sudo yum install php php-fpm php-common php-xml php-mbstring php-json php-zip php-pgsql |
Setelah itu, aktifkan service PHP-FPM dan check apakah service-nya sudah berjalan atau tidak:
sudo systemctl start php-fpm | |
sudo systemctl enable php-fpm | |
sudo systemctl status php-fpm |
Step 3. Install Git, Nano & Composer
Install Git, Nano, dan Driver PostgreSql dengan command dibawah:
sudo yum install git nano |
Kemudian Install Composer (dependency manager untuk PHP) untuk meng-install dependencies yang diperlukan oleh aplikasi Laravel yang sudah dibuat:
sudo curl -sS https://getcomposer.org/installer | php | |
sudo mv composer.phar /usr/local/bin/composer | |
sudo chmod +x /usr/local/bin/composer |
Setelah Git dan Composer selesai di install, selanjutnya clone aplikasi dari GIT dan arahkan ke folder yang kita inginkan:
cd /usr/share/nginx/html | |
sudo git clone http://github.com/priawadi/project-laravel-postgresql.git laravel |
Selanjutnya install semua dependencies menggunakan Composer:
sudo composer install |
Step 4. Konfigurasi Laravel
Langkah selanjutnya adalah konfigurasi file .env Laravel. Karena default-nya sudah ada file .env.sample, maka yang perlu kita lakukan adalah copy file tersebut dan ubah namanya menjadi .env
cd laravel | |
sudo cp .env.sample .env | |
sudo nano .env |
Ubah dan sesuaikan konfigurasi .env seperti dibawah:
DB_HOST=localhost | |
DB_PORT=5432 | |
DB_DATABASE=project-laravel | |
DB_USERNAME=postgres | |
DB_PASSWORD=priawadi |
Setelah selesai, generate key Laravel dengan command:
sudo php artisan key:generate |
Ubah permission untuk directory storage dan bootstrap/cache aplikasi Laravel:
sudo chgrp -R nginx storage bootstrap/cache | |
sudo chmod -R ug+rwx storage bootstrap/cache |
Step 5. Konfigurasi Nginx Server
Langkah selanjutnya adalah konfigurasi Nginx Server untuk mengakses aplikasi yang sudah kita buat. Yang kita lakukan adalah cukup mengedit file konfigurasi default nginx, dan mengubahnya sesuai keperluan:
Keterangan:
root: Ubah ke folder public aplikasi
fastcgi_pass: Ada 2 kondisi (Apabila di dalam folder /var/run/php-fpm/ ada file phpfpm.sock maka yang digunakan adalah fastcgi_pass unix:/var/run/php-fpm/phpfpm.sock. Apabila di dalam folder tersebut hanya ada file php-fpm.pid maka kita bisa menggunakan fastcgi_pass 127.0.0.1:9000)
server { | |
listen 80 default_server; | |
server_name _; | |
root /usr/share/nginx/html/laravel/public; | |
index index.php; | |
# Load configuration files for the default server block. | |
include /etc/nginx/default.d/*.conf; | |
location / { | |
try_files $uri $uri/ /index.php?$query_string; | |
} | |
location ~ \.php { | |
include fastcgi.conf; | |
fastcgi_split_path_info ^(.+\.php)(/.+)$; | |
fastcgi_pass 127.0.0.1:9000; | |
} | |
location ~ /\.ht { | |
deny all; | |
} | |
} |
Kemudian Restart Nginx dan PHP-FPM dengan menggunakan command:
sudo systemctl restart nginx php-fpm |
SELESAI. Sekarang tinggal cek apakah aplikasi sudah dapat diakses dengan mengetikkan IP Server di browser.
Tidak ada komentar:
Posting Komentar