Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Laravel
Code

Membangun aplikasi Web PHP menggunakan Laravel Forge

by
Difficulty:BeginnerLength:LongLanguages:

Indonesian (Bahasa Indonesia) translation by Nur Fitrina (you can also view the original English article)

Pengembang senang mengotomatiskan sesuatu — untuk setiap proses antara pengembangan dan produksi, mereka tertarik untuk memiliki skrip yang membuat alur kerja mereka lebih mudah. Ini juga berlaku untuk penyebaran.

Proses mendorong versi final dan menerapkan aplikasi semudah menekan tombol Deploy sekarang, tetapi bukan itu yang sering terjadi. Kami akhirnya menginvestasikan waktu dan sumber daya kami dalam mengonfigurasi server, mengatur lingkungan, memindahkan file yang kami pikir tidak relevan untuk produksi, dan sebagainya.

Beberapa dari kita lebih suka mengirim file ke server secara manual menggunakan FTP atau memiliki kode didorong ke repo GitHub, sedangkan yang lain lebih suka alat penyebaran untuk membuat proses lebih mudah. Salah satu alat yang membuat penyebaran PHP mudah adalah Laravel Forge.

Jangan biarkan nama merek Laravel menyesatkan Anda. Selain Laravel, Anda bisa menggunakan layanan ini untuk meng-host WordPress, Symphony, Statamic, atau proyek web lainnya selama itu merupakan PHP. Secara pribadi, saya suka Laravel Forge karena kesederhanaan dan kemudahan dalam menggunakannya.

Dalam tutorial ini, saya akan membawa Anda melalui langkah-langkah untuk menghubungkan Laravel Forge dengan AWS dan mengeksplorasi apa yang ditawarkan.

Ikhtisar

Laravel Forge memungkinkan Anda memutar server cloud dan menangani proses penyebaran menggunakan Git dan beberapa penyedia server populer yang tersedia. Prosesnya dijelaskan di bawah ini:

Pertama, Anda perlu menghubungkan AWS atau penyedia cloud lainnya ke akun Forge Anda. Selanjutnya, tautkan kontrol sumber Anda seperti GitHub ke Forge. Sekarang Anda akan dapat membuat server. Instal repositori kontrol sumber Anda di server. Akhirnya, tekan tombol deploy. Cukup mudah kan?

Server yang disediakan Laravel Forge dikirim dengan tumpukan berikut:

  • Ubuntu 16.06
  • Nginx
  • PHP 7.2/7.1/7.0/5.6
  • MySQL/MariaDB/Postgres
  • Redis
  • Memcached

Setelah server dibuat, Anda dapat mengonfigurasi lebih lanjut.

Ketika Anda mendaftar, Anda dapat memilih di antara berbagai rencana yang mereka tawarkan. Saya memilih rencana dasar $ 12 / bulan; Namun, Anda akan mendapatkan percobaan gratis dengan akses ke semua yang ada dalam daftar selama lima hari.

Setelah Anda sudah log in, Anda akan melihat sesuatu seperti ini di bawah ini.

Screenshot of Laravel Forge main screen once youre logged in

Anda dapat memilih antara Digital Ocean, AWS, Linode, dan Vultr untuk penyedia layanan. Sebagai alternatif, Anda dapat menggunakan Forge dengan VPC kustom juga. Adapun untuk kontrol sumber, Forge mendukung GitHub, GitLab, dan Bitbucket. Dalam tutorial ini, saya akan membahas dasar-dasar konfigurasi AWS untuk bekerja dengan Forge dan GitHub untuk kontrol sumber. Setelah Anda selesai, Anda akan dapat membuat dan menyediakan sejumlah server.

Jika Anda menggunakan penyedia layanan lain dalam daftar, Anda dapat melewati langkah ini dan menyusulnya nanti, setelah kami mengkonfigurasi AWS dan Laravel Forge.

Menyiapkan Laravel Forge dan AWS

Untuk mengatur Forge dan AWS, berikut adalah langkah-langkah yang perlu Anda ikuti.

1. Log in ke Laravel Forge

Log in ke Laravel Forge dan memilih AWS sebagai penyedia layanan. Anda akan diminta untuk ID akses Key (kunci) dan rahasia akses Key (rahasia). Anda harus membuat pengguna IAM tertentu dengan kebijakan yang memberikan akses yang cukup ke Laravel Forge. IAM adalah cara pemetaan izin Amazon pada setiap pengguna sehingga Anda dapat mencabut akses jika ada yang salah.

2. Membuat user baru di IAM

Sign in ke konsol AWS dan membuat pengguna IAM baru.

Create an IAM user on AWS with programmatic access

Memberikan pengguna nama yang mudah diingat dan periksa kotak yang menyatakan akses pragmatis.

3. Pilih kebijakan yang tepat

Tetapkan izin yang benar untuk pengguna IAM large-forge. Buat grup pengguna baru karena grup pengguna ideal untuk mengelola perizinan. Sekarang pertanyaan alaminya adalah, "Kebijakan apa yang harus diakses oleh pengguna palsuan?" Meskipun Anda dapat memberikannya dengan AdministratorAccess, Anda tidak seharusnya.

Create a user group with the right permissions

Jika Anda memerlukan Forge untuk membuat dan menyediakan server atas nama Anda, Anda akan perlu untuk menambahkan dua kebijakan:

  1. AmazonEC2FullAccess
  2. AmazonVPCFullAccess

4. Simpan kredensial dan mengkonfirmasi

Konfirmasi IAM account dan, pada halaman berikutnya, Anda akan menemukan tombol akses dan kode rahasia.

Newly generated Access key and secret

Pergilah ke halaman Laravel Forge dan tempelkan di sana. Itu dia.

5. Menautkan akun GitHub anda ke Forge

Menghubungkan akun GitHub Bitbucket Forge jika Anda belum melakukannya sudah. Forge akan menambah kunci publik ke account Anda ketika Anda membuat server. Jika Anda perlu menambahkan penyedia layanan baru dan / atau memperbarui kontrol sumber, Anda memiliki opsi tersebut di dalam profil Anda.

Membuat Server Baru

Pergi ke Halaman Membuat Server untuk menambhakan server baru.

Laravel Forges interface for adding a new server

Pilih t2.micro dengan RAM 1GB jika Anda menggunakan AWS free tier. Adapun pengaturan lainnya, saya akan pergi dengan default. Ini termasuk MySQL untuk database dan versi PHP 7.2. Anda bisa mengkustomisasi nama database nanti. Untuk menjaga hal-hal sederhana, saya telah memutuskan untuk tidak menggunakan penyeimbang beban. Jika Anda bertanya-tanya tentang resep pasca produksi, saya telah membahasnya menjelang akhir tutorial ini.

Mungkin sampai lima menit untuk server yang akan dibuat. Anda akan diberi mandat untuk akses sudo. Menyimpannya di tempat yang aman sehingga Anda dapat menggunakannya di masa depan. Untuk melihat hal-hal yang bekerja seperti yang diharapkan, pergi ke alamat IP server dan seharusnya anda melihat output dari phpinfo() di layar anda.

Antarmuka management server

Antarmuka yang Anda lihat setelah membuat server adalah dasbor manajemen server.

Server management dashboard

Anda dapat melakukan banyak hal di sini, seperti:

  • Management situs
  • Menambahakan SSH keys
  • Mengkonfigurasikan database
  • Mengatur Pembaharuan PHP
  • Menjadwalkan tugas
  • Memulai daemon
  • Memanagement jaringan dan menkonfigurasikan firewall
  • Memonitor aplikasi menggunakan Blackfire atau Papertail
  • Mengkonfigurasikan meta setting

Sangat banyak fitur yang dibundel di sana. Saya telah membahas yang penting dalam tutorial ini. Mari mulai dengan manajemen situs. Sesuai dengan Forge docs:

Situs mewakili setiap "domain" di server Anda. Situs "default" disertakan dengan setiap server yang baru disiapkan; Namun, Anda harus menghapusnya dan membuat situs baru dengan nama domain yang valid saat Anda siap meluncurkan situs produksi Anda.

Seperti yang anda bisa lihat, Forge telah menyiapkan situs default untuk kita. Anda dapat membuat sejumlah situs dan mengarahkan mereka ke subdomain Anda. Untuk tujuan tutorial ini, saya akan tetap pada situs default. Direktori web diatur ke / publik secara default. Ini adalah bagaimana seharusnya dikonfigurasi untuk Laravel dan sebagian besar aplikasi web lainnya.

Jika Anda mengklik situs tertentu, Anda akan melihat antarmuka manajemen situs. Anda dapat mengelola, menyebarkan, dan mengonfigurasi situs individual dari sini.

Antarmuka Management Situs

Seperti inilah tampilan antarmuka.

You can add the Git repo from this screen

Anda dapat menginstal dari repositori Git atau menginstal WordPress. Untuk tujuan tutorial ini, saya telah membuat contoh aplikasi Hubungi kami yang dapat Anda masukkan ke akun Anda. Anda dapat menentukan nama proyek dan cabang. Setelah selesai, Anda harus memiliki kontrol untuk menerapkan aplikasi Anda.

Site management dashboard with deployment controls

Aku akan memberimu tur singkat pilihan yang tersedia.

Deploy Now dan Quick Deploy

Untuk menerapkan, Anda dapat menerapkan secara manual menggunakan tombol Deploy Now. Sebagai alternatif, Anda dapat mengaktifkan opsi Quick Deploy, yang secara otomatis menyebarkan proyek ketika Anda memasukkan kode ke cabang master dari repo GitHub yang dipilih.

Script Pengembangan

ia secara default menyebarkan skrip menarik kode dari repositori, menginstal dependensi, memulai server, dan menjalankan migrasi setiap kali aplikasi dikerahkan. Inilah skrip penerapan sebenarnya.

Jika Anda perlu men-tweaknya dan menambahkan sesuatu yang ekstra, Anda bisa melakukannya.

Deployment Trigger URL

Anda dapat menggunakan ini untuk mengintegrasikan aplikasi Anda ke layanan pihak ketiga atau membuat skrip penerapan khusus. Ketika URL menerima permintaan, skrip pemasangan dipicu.

Membaharui Repo dan Branch

Jika Anda perlu memperbarui cabang atau menginstal versi yang lebih baru dari proyek yang sama pada repositori yang berbeda, Anda dapat menggunakan opsi ini. Jika Anda memperbarui cabang, mungkin Anda juga harus memperbarui nama cabang di skrip penerapan.

Environtment

Forge secara otomatis menghasilkan file lingkungan untuk aplikasi. Beberapa rincian seperti kredensial database secara otomatis ditambahkan ke lingkungan. Namun, jika aplikasi menggunakan API, Anda dapat menempatkan kunci API dengan aman di lingkungan. Bahkan jika Anda menjalankan aplikasi web PHP generik, Anda dapat mengakses variabel ENV dengan menggunakan metode getenv ().

Antrian pekerja

Forge admin pekerja antrian menggunakan monitor proses yang disebut Supervisor Prosesnya terus berjalan secara permanen.Penanggung jawab berjalan dengan  perintah Artisan queue:work Anda dapat membuat beberapa antrian berdasarkan prioritas antrian atau klasifikasi lain yang menurut Anda berguna.

SSL

Mengamankan SSL untuk situs web adalah sesuatu yang mudah dan gratis di masa lalu. Forge memungkinkan Anda menginstal sertifikat yang ada atau Anda dapat memperoleh sertifikat gratis dari LetsEncrypt. Ini cepat dan mudah. Jika Anda memerlukan SSL untuk subdomain wildcard, Anda dapat menambahkan sertifikat Cloudflare gratis ke Forge.

Kembali ke antarmuka Manajemen Server, kami memiliki kunci SSH.

Menambahkan SSH Keys

Meskipun sebagian besar pilihan yang dapat dikonfigurasi tersedia di dasbor, jika Anda perlu terhubung ke server, Anda harus melakukannya dengan menggunakan SSH. SSH adalah cara yang lebih aman untuk masuk ke VPS dan memberikan perlindungan lebih dari pada password.

Untuk mengakses server via SSH, Kamu harus menggenerate a key pair jika belum melakukannya. Kunci publik akan dapat diakses oleh server, dan kunci privat akan berada di host Anda. Anda kemudian dapat menggunakan setup untuk terhubung ke instance server.

Adding SSH keys to Forge server

Catatan: Kunci SSH yang ditambahkan dari dasbor manajemen server akan spesifik untuk server tersebut. Jika Anda perlu secara otomatis menambahkan kunci ke semua server dari sini, Anda dapat menambahkannya dari pengaturan Profil Anda.

Untuk menggenerate a key pair, jalankan perintah berikut ini.

Anda akan ditanya beberapa pertanyaan seperti file di mana Anda ingin menyimpan kunci dan frasa sandi untuk keamanan tambahan. Selanjutnya, tambahkan kunci SSH ke ssh-agent.

Salin kunci publik dan menambahkannya ke daftar Forge's kunci SSH.

Mengkonfigurasikan PHP dan MySQl

Kamu bisa menggunakan antarmuka untuk mengkonfigurasikan PHP dan MySQL. untuk database, option yang dapat digunakan meliputi:

  • Membuat Database baru
  • Menambahkan user baru
  • Memperbaharui akses user di database
  • Perbarui pengetahuan Forge tentang kata sandi.

Pastikan anda mengisi data baru di .env file anda.

Anda dapat mengkonfigurasi pengaturan PHP berikut: 

  • Melakukan Uppgrade ke versi PHP terakhir
  • Mengubah ukuran file upload
  • Mengoptimalkan OPCache untuk produksi sehingga kode PHP dikompilasi akan disimpan dalam memori.

Pengaturan Penting Lainya

Di sini saya sudah tercantum beberapa pengaturan lain yang tersedia.

Menjadwalkan Tugas

Anda dapat menggunakan Penjadwal Forge's untuk menjadwalkan tugas-tugas yang berulang atau menjalankan cron pekerjaan. Jika Anda perlu untuk mengirimkan email secara berkala, membersihkan sesuatu, atau menjalankan script, Anda dapat menggunakan Penjadwal tugas. Tugas dibuat secara default yang menjalankan composer self-update setiap malam. Anda bisa mencoba penjadwalan yang baru dengan frekuensi pilihan Anda.

Memulai Daemon

Daemon adalah program komputer yang menjalankan proses latar belakang. Laravel Forge memungkinkan Anda memulai daemon dan menggunakan Supervisor untuk memastikan bahwa daemon tetap berjalan. Jika daemon crash untuk beberapa alasan, pengawas akan restart script secara otomatis.

Pemantauan aplikasi

Laravel Forge memiliki built-in mendukung untuk alat-alat yang memantau aplikasi Anda untuk ukuran kinerja dengan mengumpulkan data tentang sumber daya memori, waktu CPU dan operasi I/O. Alat yang tersedia adalah Blackfire.io dan Papertrail. Untuk memulai profil aplikasi Anda, Anda hanya perlu mengambil mandat yang tepat dari situs web pihak ketiga dan hanya itu.

Mengkonfigurasi jaringan Server dan Firewall

Jika Anda perlu memperbarui pengaturan firewall, Anda tidak perlu pergi ke konsol AWS untuk membuat itu terjadi. Anda dapat membuat aturan-aturan firewall yang baru dari dashboard. Jika Anda memiliki server lain yang ditetapkan menggunakan penyedia dan wilayah yang sama, Anda dapat mengatur jaringan server sehingga mereka dapat berkomunikasi tanpa rasa sakit.

Kesimpulan

Laravel Forge adalah alat yang luar biasa yang membuat penggunaan sepotong kue. Ini memiliki banyak fitur dan mudah-ke-menggunakan UI yang memungkinkan Anda membuat dan menyediakan server dan menyebarkan aplikasi tanpa kerumitan. Sekali Anda telah mengkonfigurasi penyedia layanan, kemungkinan tinggi bahwa Anda tidak perlu akses konsol AWS untuk mengelola server lagi.

Dalam tutorial ini, saya telah membahas dasar-dasar untuk mengkonfigurasi AWS dengan Laravel Forge dan langkah-langkah untuk penyediaan server dan menyebarkan aplikasi. Saya juga telah membahas hampir semua fitur yang tersedia di antarmuka Forge.

Bagi Anda yang baik hanya akan mulai dengan Laravel atau mencari untuk memperluas pengetahuan Anda, situs, atau aplikasi dengan ekstensi, kami memiliki berbagai hal yang Anda dapat belajar di Envato Market.

Apakah Anda memiliki pengalaman untuk berbagi dengan penggelaran aplikasi PHP yang menggunakan Laravel Forge atau alat penyebaran populer lainnya? Marilah kita tahu di komentar.

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.