Firman

Satu-satunya cara untuk melakukan pekerjaan besar adalah mencintai apa yang kita kerjakan. jika kita belum menemukannya, teruslah mencari. seperti masalah hati

CARA INSTALL LARAVEL DAN PHP DI CENTOS 7

pada artikel kali ini saya membagikan pengalaman tentang "cara install laravel dan php di centos 7", beserta beberapa konfigurasi bagaimana cara agar vps kita terhubung dengan domain menggunakan cloudflare, yuk langsung saja.

Langkah awal kita melakukan penginstalan epel repository agar kita bisa memanfaatkan beberapa package yang masih satu keluarga dengan linux (RHEL, CentOS, Oracle Linux, Scientific Linux), jadi tidak terbatas CentOS saja.

yum -y install epel-release

Setelah melakukan penginstalan epel repository, langkah selanjutnya kita bisa melakukan beberapa penginstalan package yang kita butuh.

Cara menginstall nginx

Dalam artikel ini, kita akan menjalankan laravel di bawah LEMP Stack. Nginx adalah bagian server web dari tumpukan lemp dan dapat diinstall dari repository EPEL.

Install nginx menggunakan perintah yum

yum -y install nginx

ketika instalasi selesai, jalankan nginx dan atur nginx berjalan saat boot

systemctl start nginx

systemctl enable nginx

nginx berjalan di port 80, untuk memastikan nginx berjalan sesuai port maka kita perlu menginstall netstat berguna untuk melihat service yang berjalan di linux

install netstat dengan perintah berikut

yum -y install net-tools

setelah melakukan penginstalan netstat, kita langsung melakukan pengecekan dengan perintah berikut

netstat –plntu

berikut result dari perintah diatas, kita bisa lihat di gambar bawah ini bahwa nginx berjalan dengan port 80

Selanjutnya kita akan menginstall firewalld, berguna untuk mengatur keamanan dalam server.

Install firewall dengan perintah berikut

Yum –y install firewalld

Setelah melakukan penginstalan firewalld, kita diwajibkan menjalankan service firewalld, berikut gambarnya

Selanjutnya kita menambahkan firewall untuk port 80 (www) dan port 443 (https), dengan perintah berikut

sudo firewall-cmd --permanent --zone=public --add-service=http

sudo firewall-cmd --permanent --zone=public --add-service=https

sudo firewall-cmd –-reload

berikut hasil gambarnya 

Berikut tampilan di browser ketika selesai melakukan penginstalan nginx

Gambar diatas membuktikan bahwa nginx berjalan dengan baik, langkah selanjutnya kita akan melakukan pengaturan DNS agar VPS yang kita gunakan dapat diakses menggunakan Domain.

Disini saya sudah membeli domain bernama cariteknisi.com, langkah selanjutnya kita melakukan login di cloudflare (diwajibkan melakukan pendaftaran di cloudflare.com terlebih dahulu), jika berhasil login

Kita menambahkan site baru, dengan cara berikut

1.     Klik gambar + Add A Site

2.     Silahkan isi nama domain yang di siapkan

3.     Klik next untuk langkah berikutnya

4.     Selanjutnya kita di wajibkan memilih layanan yang akan kita gunakan di cloudflare, disini kita bisa pakai yang free aja perbulan

5.     Setelah memilih plan, kita di wajibkan memilih Confirm plan, sebagai konfirmasi bahwa kita menyetujui layanan yang akan kita gunakan.

6.     Setelah melakukan confirm, gambar berikut mewajibkan kita untuk merubah nameserver tempat beli domain ( Digambar menampilkan from nameserver dari cloudflare menandakan bahwa domain pernah di daftarkan di cloudflare ) ke nameserver cloudflare 

7.     Selanjutnya kita ubah name server domain ke name server cloudflare. Dengan cara pilih domain dan langsung masuk ke name server, lalu name server cloudflare lalu masukkan seperti di bawah.

8.     Setelah nameserver dari cloudflare di masukkan, kita langsung kllik tombol update

9.     Dan langkah terakhir kita klik confirm di cloudflare

Sampai disini kita telah menghubungkan nameserver cloudflare dengan nameserver tempat domain kita beli, langkah selanjutnya kita mendaftarkan alamat IP dan beberapa subdomain yang akan kita gunakan untuk handle beberapa project yang akan kita simpan di vps dan melakukan pointing IP ke domain.

Berikut langkah untuk melakukan pendaftaran alamat ip

-       Langkah pertama kita siapkan terlebih dahulu sub domain yang akan kita gunakan, berikut list sub domain yang akan sy pakai

o  Test1.cariteknisi.com

o  Test2.cariteknisi.com

o  Test3.cartiteknisi.com

-       Selanjutnya kita daftarkan subdomain tersebut ke menu DNS di cloudflare, dan kita tinggal input alamat ip public ( Biasa nya jika kita membeli VPS sudah dapat IP Public dari penyedia VPS) dari vps kita dan sub domain yang akan kita pakai

-       Selanjutnya kita melakukan uji ping agar kita bisa mengetahui bahwa subdomain yang kita daftarkan telah di arahkan ke ip public vps kita, dengan cara berikut:

Atau dengan cara mengakses subdomain di browser kita, seperti gambar berikut

Sampai disini kita telah menghubungkan alamat ip dan sub domain menggunakan layanan cloudflare, langkah berikutnya kita melakukan konfigurasi host di vps kita, berikut langkahnya

-       Buka file hosts dengan perintah nano /etc/hosts, seperti di gambar

-       Tekan enter, dan akan terbuka konfigurasi hosts default seperti di gambar

-       Langkah berikutnya tambahkan beberapa subdomain beserta ip vps kita, seperti di gambar berikut

-       Setelah kita tambahkan kita simpan dengan menekan di keyboard ctrl + x, lalu tekan y seperti di gambar berikut

-       Setelah kita menyimpan konfigurasi hosts, alangkah baiknya kita melakukan tes ping seperti di gambar dibawah agar kita bisa yakin bahwa subdomain yang kita gunakan sudah terarah ke ip yang telah kita daftarkan di file host.

Kenapa kita perlu mendaftarkan beberapa sub domain di file hosts, agar saat kita melakukan konfigurasi NginX nya bisa langsung di arahkan ke sub domain yang telah kita siapkan, langkah selanjutnya kita akan mempersiapkan paket-paket yang akan digunakan dalam keperluan instalasi laravel.

berikut paket yang perlu di install dalam vps kita untuk mendukung laravel jalan di vps kita

Langkah awal kita menambahan repository webstatic pada centos seperti gambar di bawah

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

Setelah itu kita melakukan instalasi beberapa paket php seperti gambar berikut

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

Setelah kita melakukan instalasi beberapa paket php, kita ubah beberapa file diantaranya sebagai berikut:

-       Pertama yang harus di edit yaitu file php.ini yang berada di lokasi direktori /etc/php.ini dengan perintah berikut nano /etc/php.ini,  kemudian kita cari kata ;cgi.fix_pathinfo=1 ubah seperti gambar berikut

Lalu kita simpan dengan cara, tekan di keyboard ctrl+x dan akan menampilkan gambar seperti di bawah 

Lalu tekan Y di keyboard, maka akan tampil seperti di gambar di bawah dan tekan enter di keyboard untuk selesai

-       Kedua yang harus di edit yaitu file www.conf yang berada pada direktori /etc/php-fpm.d dengan perintah berikut nano /etc/php-fpm.d/www.conf, kemudian kita cari kata seperti di gambar

Dan kita ubah seperti di gambar berikut

Dan kita ubah juga baris dibawah

Menjadi seperti di gambar

Terakhir yang perlu kita ubah di file www.conf adalah kata seperti di gambar

Ubah menjadi seperti berikut

Setelah itu tekan ctrx+x pada keyboard, dan akan muncul seperti gambar di bawah

Lalu tekan y pada keyboard, dan akan muncul seperti di bawah dan tekan enter pada keyboard maka file www.conf akan tersimpan

Langkah selanjutnya kita jalankan service php-fpm dengan cara sesuai gambar berikut

Langkah berikutnya kita melakukan pengecekan, apakah service php-fpm berjalan sesuai dengan listen socket yang telah kita atur di file www.conf tadi, dengan cara seperti digambar

Pada gambar di atas kita bisa tau bahwa service php-fpm sudah jalan sesuai dengan listen yang telah kita atur di file www.conf.

Langkah selanjutnya kita install MariaDB Server sebagai engine database yang kita akan gunakan pada laravel, berikut langkah untuk penginstalannya

Tunggu sampai penginstalan selesai, jika pada gambar saat penginstalan menampilkan seperti gambar di bawah, berarti proses penginstalan telah berhasil

Langkah selanjutnya kita menjalankan service mariadb agar kita bisa menggunakannya dengan cara seperti di gambar

Langkah berikutnya kita melakukan pengecekan apakah service mariadb telah jalan sesuai dengan port dan listen yang telah di atur, dengan cara berikut

Dapat kita lihat pada gambar di atas bahwa mariadb berjalan pada port default yaitu 3306 telah berhasil di jalankan.

langkah selanjutnya kita mengatur password root pada mariadb dengan cara seperti di gambar

Setelah kita melakukan konfigurasi password, selanjutnya kita akan melakukan penginstalan composer, dengan cara seperti di gambar

Langkah selanjutnya kita melakukan pengecekan apakah composer berhasil terinstal dengan cara, seperti di gambar

Langkah selanjutnya kita buat folder  www pada direktori /var dengan cara seperti di gambar

Langkah selanjutnya kita berpindah direktori ke /var/www, dimana semua file project website kita simpan dalam folder tersebut, cara pindah dengan ceara seperti digambar

Sekarang kita berada pada direktori /var/www/ dan kita akan mencoba melakukan penginstalan 3 project laravel secara berurutan, kenapa 3 project ? karena tadi kita akan menggunakan 3 subdomain dan 3 project dalam vps kita.

Langkah-langkahnya seperti di gambar

-       Project test 1

Jika pada saat melakukan penginstalan terdapat error seperti di gambar dibawah

maka yang harus dilakukan sebagai berikut

Setelah melakukan perintah di atas, langkah selanjutnya kita melakukan penghapusan folder beserta file yang sempat tadi terbuat, saat melakukan penginstalan, cara menghapusnya seperti di gambar

Langkah berikutnya kita kembali melakukan penginstalan, seperti gambar berikut

Tunggu setelah proses selesai, dan menampilkan gambar seperti di bawah

Lakukan instalasi project berikutnya seperti di gambar

Tunggu hingga semua proses penginstalan selesai, sehingga isi direktori /var/www, seperti digambar

Selanjutnya kita buat 3 konfigurasi nginx, untuk 3 project website yang telah kita buat pada direktori /etc/nginx/conf.d/, seperti gambar berikut

Lalu isi dengan konfigurasi berikut

server {
       listen 80;
       #letak file log
       access_log /var/log/nginx/laravel-access.log;
       error_log /var/log/nginx/laravel-error.log;
       #letak file direktori project
       root /var/www/test1/public; #direktory project test1
       #tipe file yang diperbolehkan terbaca oleh nginx 
       index index.php index.html index.htm;
       #pengaturan nama domain atau subdomain
       server_name test1.cariteknisi.com; #subdomain project test1
       #pengaturan url yang di perbolehkan
       location / {
               try_files $uri $uri/ /index.php?$query_string;
       }
       #konfigurasi php-fpm beserta listen yang telah kita buat
       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;
       }
}

Jangan lupa buat 3 file conf, seperti gambar dibawah untuk mengatur ke 3 project web yang akan kita jalankan

Setelah konfigurasi kita buat, langkah selanjutnya kita melakukan pengecekan konfigurasi apakah sudah benar dan tidak ada masalah saat pembuatan konfigurasi dengan cara seperti di gambar bawah

Jika gambar seperti diatas maka ke 3 konfigurasi yang telah kita buat tidak ada masalah, langkah selanjutnya kita melakukan restart dan cek status service nginx dengan seperti gambar berikut

Dan jangan lupa menginstall library zip dan unzip ya, seperti di gambar menampikan bahwa librarinya udah terinstall

Langkah selanjutnya, kita merubah permission user dan grub di folder test1, test2, test3 dengan cara seperti di bawah

Langkah selanjutnya kita melakukan penginstalan paket terakhir, seperti gambar 

Jika seperti gambar yang tampil berarti paket tersebut telah terinstall.

Langkah terakhir kita merubah semua tipe permission ke 3 folder project kita dengan menggunakan perintah berikut

-       Project web test1 

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

-       Project web test2

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

-       Project web test3 

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

setelah semua proses installasi selesai, waktunya kita membuka ke 3 subdomain yang telah kita pointing dari ip, dengan cara seperti di gambar

-       Project web

Langkah selanjutnya kita, menghubungkan mariadb dan project laravel yang telah kita buat, berikut langkah-langkahnya seperti di gambar

-       Langkah pembuatan database

Masukkan password database yang telah di buat kemudian tekan enter

-       Edit file .env pada laravel project, dengan cara seperti di gambar

Kemudian tekan enter, lalu sesuaikan konfigurasi database yang telah di buat seperti pada gambar

Lalu tekan ctrl+x pada keyboard nanti akan muncul gambar seperti di bawah

Lalu tekan Y pada keyboard nanti akan tampil gambar seperti di gambar

Lalu tekan enter pada keyboard

-       Setelah melakukan konfigurasi pada file .env, waktunya kita pindah direktori dengan cara seperti di gambar

Untuk mengecek posisi directory mana kita saat ini, bisa melihat gambar di bawah 

-       Langkah terakhir yang kita lakukan adalah menjalankan perintah seperti di gambar

Jika tampil seperti gambar diatas, hal yang harus di lakukan adalah membuat ulang database dengan cara seperti digambar

Setelah database baru di buat, saatnya kita melakukan edit file pada project laravel yang telah kita buat, dengan cara seperti di bawah

Jalankan perintah berikut lalu tekan enter pada keyboard

Lalu akan tampil seperti di bawah

Kemudian kita tambahkan beberapa karakter seperti pada gambar

Setelah kita tambahkan, langkah selanjutnya yang kita lakukan tekan ctrl+x pada keyboard, nanti akan tampil seperti di bawah

Kemudian tekan Y pada keyboard, lalu akan tampil gambar seperti di bawah lalu tekan enter pada keyboard dengan begitu file yang kita edit barusan akan tersimpan

Langkah terakhir menjalankan perintah php artisan migrate seperti di gambar

Di gambar menampilkan migration berhasil dilakukan, dengan artian project laravel yang kita buat berhasil konek dengan database mariadb.

Terima kasih telah membaca artikel ini, semoga bermanfaat untuk kita semua

UPLOAD ISO KE PROXMO VE

Proxmox VE mempunyai kemampuan membuat virtualisasi perangkat keras sehingga sistem operasi yang biasa kita instal ke server fisik bisa dilakukan instal ke virtual machine

Sal Firman

Pengenalan Jabber

Hai kaks pada tulisan kali ini, saya akan menceritakan sedikit teknologi lama yang masih banyak di gunakan orang untuk melakukan transaksi khusus nya di produk digital.

Sal Firman

Cara memberikan Remote Access Database PostgreSQL di Centos 7

Pada artikel kali ini, saya akan berbagi tips cara memberikan Remote Access Database PostgreSQL di Centos 7

Sal Firman
Mau kolaborasi ?