{"id":3513,"date":"2022-08-01T07:38:38","date_gmt":"2022-08-01T00:38:38","guid":{"rendered":"https:\/\/www.dewacloud.com\/?p=3513"},"modified":"2022-11-14T13:38:15","modified_gmt":"2022-11-14T06:38:15","slug":"deploy-laravel-menggunakan-nginx-dengan-github-di-dewacloud","status":"publish","type":"post","link":"https:\/\/www.dewacloud.com\/blog\/deploy-laravel-menggunakan-nginx-dengan-github-di-dewacloud\/","title":{"rendered":"Deploy Laravel Menggunakan Nginx Dengan GitHub di Dewacloud"},"content":{"rendered":"<h2>Laravel<\/h2>\n<p>Laravel adalah salah satu <em>framework<\/em> yang dapat memaksimalkan penggunaan PHP dalam proses pengembangan aplikasi atau <em>website<\/em>.<\/p>\n<p>PHP adalah salah satu bahasa pemrograman yang dinamis, dengan adanya laravel, membuat PHP menjadi lebih sederhana, aman dan cepat. Karena itu, terdapat fitur seperti <em>Template Engine, Modularity <\/em>dan<em> Routing.<\/em><\/p>\n<p>Pada umumnya, Laravel adalah <em>backend<\/em>, namun tidak jarang juga Laravel dijadikan <em>full stack <\/em>oleh<em> developer.<\/em><\/p>\n<h2>Dewacloud<\/h2>\n<p>Dewacloud adalah layanan berbasis PaaS (<em>Platform as a Service<\/em>) dimana kamu dapat membuat, mengelola dan mendesain topologi dengan <em>one-click, <\/em>selain<em> easy-to-use<\/em>, tampilannya pun sudah <em>user-friendly<\/em>, sehingga dapat dengan mudah dipahami oleh <em>user<\/em>.<\/p>\n<p>Pada artikel ini, kami akan membahas mengenai cara deploy Laravel menggunakan Nginx dengan GitHub di Dewacloud.<\/p>\n<h2>Cara Deploy Laravel Menggunakan Nginx di Dewacloud<\/h2>\n<p>Untuk melakukan Deploy Laravel ini, kamu perlu memastikan sudah memiliki <em>account<\/em> di Dewacloud.<\/p>\n<h3>Step 1: Login Dewacloud Dashboard<\/h3>\n<p><img fetchpriority=\"high\" decoding=\"async\" class=\"aligncenter size-full wp-image-3518\" src=\"https:\/\/www.dewacloud.com\/wp-content\/uploads\/2022\/08\/login-dewacloud.png\" alt=\"login - deploy laravel menggunakan nginx\" width=\"570\" height=\"432\" \/><\/p>\n<p><em>Login<\/em> terlebih dahulu ke Dewacloud Dashboard dengan email dan password yang valid.<\/p>\n<h3>Step 2: Create New Environment<\/h3>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-3519\" src=\"https:\/\/www.dewacloud.com\/wp-content\/uploads\/2022\/08\/create-new-environment.png\" alt=\"create new environment - deploy laravel menggunakan nginx\" width=\"1225\" height=\"766\" \/><\/p>\n<p><em>Framework<\/em> Laravel menggunakan bahasa pemrograman PHP, sehingga kita perlu pilih PHP dan pilih web server, versi PHP serta SQL Driver yang akan digunakan, sesuaikan dengan <em>requirement<\/em> pada Laravel kamu.<\/p>\n<p>Di artikel ini, kami menggunakan Nginx sebagai <em>web server<\/em>, serta memilih versi 8 sebagai versi PHP dan SQL Driver menggunakan MariaDB. Aktifkan Public IPv4 supaya domain atau subdomain nya dapat di pointing ke IP Public Apps Server. Tentukan region environment kamu, serta Environment Name-nya.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-3520\" src=\"https:\/\/www.dewacloud.com\/wp-content\/uploads\/2022\/08\/task-active.png\" alt=\"task active - deploy laravel menggunakan nginx\" width=\"598\" height=\"103\" \/><\/p>\n<p>Untuk melihat proses yang sedang berjalan, kamu dapat <em>monitor<\/em> pada Active Task di pojok kiri bawah.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3521\" src=\"https:\/\/www.dewacloud.com\/wp-content\/uploads\/2022\/08\/php-myadmin.png\" alt=\"php myadmin - deploy laravel menggunakan nginx\" width=\"545\" height=\"621\" \/><\/p>\n<p>Setelah pembuatan Environment selesai, kamu akan menerima sejumlah informasi seperti <em>user<\/em> atau <em>access credentials<\/em> pada phpMyAdmin. Jika pada <em>mailbox<\/em> tidak ada, kamu bisa cek pada Spam\/Junk folder pada email kamu.<\/p>\n<h3>Step 3: Deploy From Git<\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3522\" src=\"https:\/\/www.dewacloud.com\/wp-content\/uploads\/2022\/08\/deploy-from-git.png\" alt=\"deploy from git - deploy laravel menggunakan nginx\" width=\"1032\" height=\"283\" \/><\/p>\n<p>Klik <strong>Deploy from Git \/ SVN<\/strong> pada Deployments Environment yang akan di Deploy Laravel nanti nya.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3523\" src=\"https:\/\/www.dewacloud.com\/wp-content\/uploads\/2022\/08\/add-new-repository.png\" alt=\"add new repository - deploy laravel menggunakan nginx\" width=\"544\" height=\"371\" \/><\/p>\n<p>Buat Repository baru untuk Laravel dengan klik <strong>Add New Repository<\/strong>.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3524\" src=\"https:\/\/www.dewacloud.com\/wp-content\/uploads\/2022\/08\/klik-add.png\" alt=\"klik add - deploy laravel menggunakan nginx\" width=\"565\" height=\"363\" \/><\/p>\n<p>Untuk nama Repository tidak dapat menggunakan <em>special character<\/em>, maksudnya adalah seperti penggunaan tanda baca maupun spasi.<\/p>\n<p>Masukkan URL dari source GitHub yang akan kamu gunakan, kemudian klik <strong>Add<\/strong>.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3525\" src=\"https:\/\/www.dewacloud.com\/wp-content\/uploads\/2022\/08\/pilih-path.png\" alt=\"pilih path - cara deploy laravel menggunakan nginx\" width=\"544\" height=\"433\" \/><\/p>\n<p>Pilih path sesuaikan dengan kebutuhan kamu ingin di deploy di directory yang mana, jika ingin di <em>standard document root<\/em> atau public_html (seperti di cPanel), maka biarkan secara default, yaitu ROOT.<\/p>\n<p>Terdapat <em>3 option<\/em>:<\/p>\n<ul>\n<li>Check and auto-deploy updates, artinya akan melakukan automatic deployment dari semua perubahan repository yang dilakukan sesuai dengan interval waktu yang ditentukan.<\/li>\n<li>Auto-resolve conflicts, artinya untuk mencegah terjadinya merge conflict, perintah git reset &#8211;hard akan dilakukan selama project update. Akibatnya, contradictory files akan ter-update sesuai dengan versi repository, dan membuang semua perubahan yang dilakukan secara local.<\/li>\n<li>Enable zero-downtime deployment, artinya deployment dilakukan tanpa ada nya kemungkinan down.<\/li>\n<\/ul>\n<p>Jika sudah, klik <strong>Deploy<\/strong>.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3526\" src=\"https:\/\/www.dewacloud.com\/wp-content\/uploads\/2022\/08\/active-task-2.png\" alt=\"active task - deploy laravel menggunakan nginx\" width=\"450\" height=\"74\" \/><\/p>\n<p>Akan terlihat proses nya pada Active Task, segala proses yang memungkinkan adanya Action yang dilakukan pada Environment, akan ter-logs pada Active Task.<\/p>\n<p>Lama atau tidaknya proses deployment tersebut, tergantung dari berapa size file yang di deploy, semakin besar size file, semakin memakan waktu juga untuk prosesnya.<\/p>\n<p>Kemudian cek file nya, apakah sudah ter-deploy atau belum dengan klik Config pada Application Server dan ke path var\/www\/webroot\/ROOT\/<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3527\" src=\"https:\/\/www.dewacloud.com\/wp-content\/uploads\/2022\/08\/klik-config.png\" alt=\"klik config - deploy laravel menggunakan nginx\" width=\"1919\" height=\"885\" \/><\/p>\n<h3>Step 4: Create Database &amp; User Database<\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3528\" src=\"https:\/\/www.dewacloud.com\/wp-content\/uploads\/2022\/08\/create-database.png\" alt=\"create database - deploy laravel menggunakan nginx\" width=\"1059\" height=\"536\" \/><\/p>\n<p>Buat database dan user database pada phpMyAdmin dengan login sesuai dengan informasi login yang kamu terima di email, setelah login klik menu Databases.<\/p>\n<p>Kami menggunakan laravel sebagai nama database dengan collation utf8mb4_unicode_ci, kemudian klik <strong>Create<\/strong>.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3529\" src=\"https:\/\/www.dewacloud.com\/wp-content\/uploads\/2022\/08\/klik-create.png\" alt=\"klik create - deploy laravel menggunakan nginx\" width=\"1012\" height=\"398\" \/><\/p>\n<p>Klik menu <strong>Privileges<\/strong>, dan klik <strong>Add user<\/strong> <strong>account<\/strong> di bawah.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3530\" src=\"https:\/\/www.dewacloud.com\/wp-content\/uploads\/2022\/08\/klik-add-user-account.png\" alt=\"klik add user account - deploy laravel menggunakan nginx\" width=\"1379\" height=\"876\" \/><\/p>\n<p>Masukkan Username dan Password sesuai dengan kebutuhan kamu, kami disini menggunakan laraveluser sebagai Username Database dan laravel123 sebagai passwordnya. Untuk Hostname, masukkan private IP dari Application Servers kamu, lalu klik Go di paling bawah.<\/p>\n<p>Karena ini adalah tutorial, sehingga password yang digunakan tidak strong, jika kamu membuat database seperti ini, disarankan menggunakan password yang strong seperti kombinasi antara huruf, angka dan simbol.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3531\" src=\"https:\/\/www.dewacloud.com\/wp-content\/uploads\/2022\/08\/edit-previliges.png\" alt=\"edit previliges - deploy laravel menggunakan nginx\" width=\"774\" height=\"618\" \/><\/p>\n<p>Pastikan ceklis semua pada <strong>Database-specific privileges<\/strong>, dan klik <strong>Go<\/strong> pada bagian bawah.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3533\" src=\"https:\/\/www.dewacloud.com\/wp-content\/uploads\/2022\/08\/klik-go.png\" alt=\"klik go - deploy laravel menggunakan nginx\" width=\"445\" height=\"123\" \/><\/p>\n<p>Lakukan restart nodes pada MySQL untuk apply perubahan atau penambahan yang kamu lakukan.<\/p>\n<h3>Step 5: Config<\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3534\" src=\"https:\/\/www.dewacloud.com\/wp-content\/uploads\/2022\/08\/config.png\" alt=\"config - deploy laravel menggunakan nginx\" width=\"1919\" height=\"886\" \/><\/p>\n<p>Open file .env.example, lalu copy semua isi filenya ke notepad komputer kamu<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3535\" src=\"https:\/\/www.dewacloud.com\/wp-content\/uploads\/2022\/08\/confiq-2.png\" alt=\"config - deploy laravel menggunakan nginx\" width=\"1917\" height=\"884\" \/><\/p>\n<p>Lalu buat file .env dan pastekan isi file yang sudah di copy ke notepad sebelumnya.<br \/>\nPerlu di ubah pada:<\/p>\n<pre>APP_URL=https:\/\/domainkamu.com\/\r\nDB_CONNECTION=mariadb\r\nDB_HOST=172.16.4.20\r\nDB_PORT=3306\r\nDB_DATABASE=laravel\r\nDB_USERNAME=laraveluser\r\nDB_PASSWORD=laravel123<\/pre>\n<p>Penjelasan<\/p>\n<ul>\n<li>APP_URL : Masukkan nama domain, SLB atau subdomain yang kamu gunakan.<\/li>\n<li>DB_CONNECTION : Masukkan driver SQL yang kamu gunakan.<\/li>\n<li>DB_HOST : Masukkan IP Private dari SQL Database.<\/li>\n<li>DB_PORT : Biarkan secara default, yaitu 3306.<\/li>\n<li>DB_DATABASE : Masukkan nama database yang sudah dibuat.<\/li>\n<li>DB_USERNAME : Masukkan user database yang sudah dibuat.<\/li>\n<li>DB_PASSWORD : Masukkan password pada user database yang sudah dibuat.<\/li>\n<\/ul>\n<p>Jika sudah klik <strong>Save<\/strong>.<\/p>\n<p>Edit Virtual Host<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3536\" src=\"https:\/\/www.dewacloud.com\/wp-content\/uploads\/2022\/08\/edit-virtual-host-.png\" alt=\"edit virtual host - deploy laravel menggunakan nginx\" width=\"1919\" height=\"885\" \/><\/p>\n<p>Tambahkan public, karena Laravel mengarahkan index nya di directory public.<\/p>\n<p>Install Composer<br \/>\nLakukan SSH Access ke container Application Server dan jalankan perintah di bawah ini.<\/p>\n<pre>$ cd \/var\/www\/webroot\/ROOT\/\r\n$ composer install<\/pre>\n<p>Hal tersebut berguna untuk menginstall dependencies yang diperlukan.<\/p>\n<p>Generate APP_Key<br \/>\nLakukan SSH Access ke container Application Server dan jalankan perintah berikut.<\/p>\n<pre>$ cd \/var\/www\/webroot\/ROOT\/\r\n$ php artisan key:generate\r\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3537\" src=\"https:\/\/www.dewacloud.com\/wp-content\/uploads\/2022\/08\/generate-app-key.png\" alt=\"generate app key - deploy laravel menggunakan nginx\" width=\"1918\" height=\"890\" \/><\/pre>\n<p>Maka akan terlihat APP_Key sudah berhasil ter-generate.<\/p>\n<p>Install SSL Let\u2019s Encrypt<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3538\" src=\"https:\/\/www.dewacloud.com\/wp-content\/uploads\/2022\/08\/install-ssl-lets-ecnrypt.png\" alt=\"install ssl lets encrypt - deploy laravel menggunakan nginx\" width=\"818\" height=\"619\" \/><\/p>\n<p>Install SSL pada Domain, Subdomain atau SLB yang digunakan agar lebih secure.<\/p>\n<h3>Step 6: Testing<\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-3539\" src=\"https:\/\/www.dewacloud.com\/wp-content\/uploads\/2022\/08\/testing.png\" alt=\"testing - deploy laravel menggunakan nginx\" width=\"1915\" height=\"1054\" \/><\/p>\n<p>Step terakhir adalah testing, yaitu melakukan akses melalui SLB, Domain atau Subdomain kamu.<\/p>\n<h2>Kesimpulan<\/h2>\n<p>Jika kamu mengikuti artikel ini dari awal sampai akhir, artinya kamu sudah berhasil melakukan Deploy Laravel Menggunakan Nginx Dengan GitHub di Dewacloud.<\/p>\n<p>Demikian artikel ini, jangan sungkan untuk meninggalkan ide-ide topik yang ingin Anda baca di blog ini. Semoga artikel ini membantu kamu, ya.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Laravel Laravel adalah salah satu framework yang dapat memaksimalkan penggunaan PHP dalam proses pengembangan aplikasi atau website. PHP adalah salah satu bahasa pemrograman yang dinamis, dengan adanya laravel, membuat PHP menjadi lebih sederhana, aman dan cepat. Karena itu, terdapat fitur seperti Template Engine, Modularity dan Routing. Pada umumnya, Laravel adalah backend, namun tidak jarang juga&hellip;&nbsp;<a href=\"https:\/\/www.dewacloud.com\/blog\/deploy-laravel-menggunakan-nginx-dengan-github-di-dewacloud\/\" rel=\"bookmark\"><span class=\"screen-reader-text\">Deploy Laravel Menggunakan Nginx Dengan GitHub di Dewacloud<\/span><\/a><\/p>\n","protected":false},"author":9,"featured_media":3881,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"off","neve_meta_content_width":70,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","footnotes":""},"categories":[10],"tags":[],"class_list":["post-3513","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-development"],"_links":{"self":[{"href":"https:\/\/www.dewacloud.com\/blog\/wp-json\/wp\/v2\/posts\/3513","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dewacloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dewacloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dewacloud.com\/blog\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dewacloud.com\/blog\/wp-json\/wp\/v2\/comments?post=3513"}],"version-history":[{"count":1,"href":"https:\/\/www.dewacloud.com\/blog\/wp-json\/wp\/v2\/posts\/3513\/revisions"}],"predecessor-version":[{"id":3781,"href":"https:\/\/www.dewacloud.com\/blog\/wp-json\/wp\/v2\/posts\/3513\/revisions\/3781"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dewacloud.com\/blog\/wp-json\/wp\/v2\/media\/3881"}],"wp:attachment":[{"href":"https:\/\/www.dewacloud.com\/blog\/wp-json\/wp\/v2\/media?parent=3513"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dewacloud.com\/blog\/wp-json\/wp\/v2\/categories?post=3513"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dewacloud.com\/blog\/wp-json\/wp\/v2\/tags?post=3513"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}