Step by step yang dilakukan pada tutorial ini juga works untuk Linux versi desktop, karena disini saya memberikan cara membaca installasi docker dari official sites nya dan tidak seperti artikel pada yang ada di Medium, dan lainnya.
Untuk installasinya cukup ikuti step by step dari Docker Docs, trust me hanya cukup copy dan paste setiap step nya, dan itu pun hanya 2 step di satu menu dan 1 step lagi di menu lainnya. Berikut adalah cara yang saya lakukan ketika punya server baru dan melakukan installasi Docker.
Pertama masuk ke server, cukup jalankan ini di terminal / command line
# Snippet
ssh <user>:<ip-public>
# Contoh
ssh supanadit@123.123.123.123
# Atau jika sudah di integrasikan dengan domain tinggal
ssh john@example.com
Kedua, setelah masuk ke server dengan SSH, kalian bisa lihat gambar dibawah ini yang saya dapat dari dokumentasi Docker, ada Point 1 dan 2 yang berisi perintah shell dan hanya jalankan kedua point tersebut. Tolong perhatikan menu samping di kanan, saya sedang pada tab Ubuntu. Jika kalian menggunakan OS lain tinggal pilih dokumentasi untuk OS tersebut.
Lah step 3 gimana ? Itu skip aja, karna salah…. dokumentasi Docker berasumsi bahwa kalian sedang menggunakan user root.
Setelah itu ada dua pilihan yang harus dilakukan, yaitu tutup terminal kalian dan login lagi ke server, atau restart saja server nya.
Gimana cara restart server nya
Tinggal jalankan perintah dibawah ini
sudo shutdown -r now
# Atau
sudo reboot
Jika sudah selesai, maka kalian bisa coba dengan jalankan perintah docker ps -a jika tidak ada error, artinya docker sudah terinstall dengan baik di server kalian.
Singkat, padat, see you in the next article… Btw, jika ada kendala boleh di tulis di kolom komentar, saya akan dengan senang hati membantu, semakin banyak masalah yang saya dapat, semakin besar pengalaman yang saya dapat pula 😁.
Artikel kali ini kita membahas bagaimana seseorang bisa miliki server dan mengelola nya, saya tidak akan terlalu teknis membahas terkait server, karna akan membuat orang bingung dan kebanyakan salah paham.
Secara sederhana, server adalah komputer yang dirancang khusus untuk menjalankan program-program dan menyediakan layanan kepada pengguna secara simultan ( terjadi atau berlaku pada waktu yg bersamaan; serentak ).
Kata khusus ini bukan berati komputer tersebut memang harus berbentuk server seperti pada umum nya orang ketahui, contoh nya kebanyakan orang membayangkan server seperti gambar dibawah ini.
Pada kenyataan nya, PC / Laptop pribadi juga bisa dijadikan server, karna mampu menjalankan program dan orang lain dapat mengakses program yang dijalankan, entah itu secara offline atau online.
Namun umum nya kita memiliki keinginan bahwa server yang kita buat itu bisa menjalankan program yang kita miliki / beli lalu dapat di akses oleh orang lain. Dan untuk mencapai keinginan tersebut, selain server yang kalian harus miliki adalah jaringan internet yang memiliki IP Publik dan domain, agar orang tidak perlu menghafal alamat IP publik kalian.
Dalam artikel ini, saya tidak akan menjelaskan bagaimana menjadikan PC / Laptop kalian menjadi server, melainkan menyewa server dan mengelola nya. Secara teori ketika kalian menyewa, secara tidak langsung kalian juga memiliki nya, namun hanya selama kalian membayar nya.
Purchasing the Server
Pertama kalian harus membeli server / menyewa server, dan ini banyak jenis nya, seperti Shared Hosting, VPS, Cloud VPS, Cloud Hosting dan lainnya. Saya akan berikan gambaran sederhana dengan analogi.
Shared Hosting
Anda menyewa kamar di sebuah asrama (kos-kosan). Anda berbagi dapur, kamar mandi, dan fasilitas lainnya dengan banyak penghuni. Murah, tapi sumber daya terbatas dan performa bisa terganggu oleh penghuni lain
VPS
Anda menyewa sebuah apartemen di gedung apartemen yang besar. Anda memiliki dapur, kamar mandi, dan ruang tamu sendiri yang terisolasi dari tetangga. Meskipun berbagi bangunan fisik yang sama, Anda memiliki sumber daya CPU, RAM, dan storage yang dialokasikan khusus untuk Anda. Anda memiliki “kunci” (root access) untuk mengelola apartemen Anda sendiri.
Cloud Hosting
Anda menyewa apartemen di sebuah kompleks apartemen yang sangat modern. Kompleks ini memiliki banyak gedung yang saling terhubung. Jika apartemen Anda tiba-tiba butuh ruang lebih, Anda bisa langsung “meminjam” ruang dari gedung lain di kompleks yang sama tanpa perlu pindah. Ini sangat fleksibel, dapat menyesuaikan kebutuhan Anda secara dinamis.
Cloud VPS
Ini adalah gabungan dari konsep VPS dan Cloud Hosting. Anda menyewa apartemen di kompleks apartemen modern yang sangat besar (seperti Cloud Hosting), dan apartemen Anda juga terisolasi dengan sumber daya khusus seperti VPS. Bedanya, “apartemen” Anda ini tidak terikat pada satu gedung fisik saja, melainkan didistribusikan di seluruh kompleks. Jika satu gedung rusak, “apartemen” Anda bisa langsung berpindah ke gedung lain tanpa Anda sadari.
Dedicated Server
Anda membeli atau menyewa sebuah rumah pribadi (bukan apartemen). Seluruh rumah, tanah, dan fasilitasnya adalah milik Anda sepenuhnya. Tidak ada tetangga yang berbagi sumber daya fisik dengan Anda. Anda memiliki kontrol penuh atas segala sesuatu di rumah tersebut, mulai dari pondasi hingga atap.
Secara kesimpulan, jika kalian melihat gambar yang ada pada awal artikel, itu termasuk Dedicated Server, dan untuk memiliki nya kalian membutuhkan biaya lumayan tinggi, waktu, tenaga dan keahlian setingkat professional. Selain itu PC / Laptop kalian juga bisa di kategorikan sebagai Dedicated Server.
Namun untuk artikel ini mari kita masuk ke VPS / Cloud VPS saja, walaupun secara penjelasan diatas sedikit berbeda tapi dari perspektif kita yang membeli, sama saja.
Kalian akan diberikan pilihan Memory, Storage dan CPU, dengan rentang harga yang berbeda-beda. Selain itu juga kalian diberikan IP Publik, tanpa harus memikirkan bagaimana mengelola jaringan. Berikut adalah gambaran server yang saya sewa di IDCloudHost.
Jika kalian perhatikan, bahwa saya memilik IP publik 27.112.78.120. ( Lah itu informasi bisa diketahui dan di hack… ), yups betul…. tolong hack saya 🙏😁.
Gambar diatas adalah hasil dari membuat instance baru dengan menekan tombol New, lalu kalian akan diberikan opsi seperti gambar dibawah ini.
Berdasarkan gambar di atas, kalian akan diberikan pilihan untuk memilih sistem operasi, lokasi server, spesifikasi, username, password, resource name dan total harga.
Untuk bagian SSH dan VPC Network bisa di abaikan saja, kemungkinan jika akun baru kalian harus membuat VPC Network, dan itu bisa pakai konfigurasi default, tinggal next–next saja hingga selesai.
Setelah semua diatas selesai, hingga memiliki IP publik maka server kalian sudah bisa diakses lalu mulai konfigurasi reverse proxy dan membeli domain.
FAQ
Bagaimana cara akses server nya ?
Untuk yang menggunakan Linux, entah itu Fedora, Ubuntu, CentOS, Rocky Linux, dll kalian bisa mengakses nya dengan perintah ssh di terminal atau command line, seperti dibawah ini
ssh dadang@234.34.22.12
Kalian tidak bisa mengakses SSH server pribadi saya dengan IP yang sudah terekspos diatas… Hah.. kenapa bisa gitu ? 😁 Rahasia…. Cari tahu sendiri…
Dimana akses tampilan nya ?
Untuk server berbasis Linux tidak ada tampilan nya, jadi keahlian di terminal sangat di perlukan.
Bagaimana deploy aplikasi frontend atau backend seperti Java, Angular, NodeJS, PHP, dan lainnya ?
Cara yang paling mudah adalah kalian coba sendiri menggunakan Ubuntu OS di laptop / pc kalian masing-masing, lalu cari tahu bagaimana menjalankan program backend / frontend tersebut di Ubuntu OS, setelah kalian tau bagaimana cara nya, dan step by step nya, maka cara yang kalian pelajari berlaku di server yang kalian sewa. Hanya saja di local mungkin kalian jalankan dengan http://localhost:3000.
Maka jika kalian sudah punya server, kalian bisa jalankan di server dan akses http://<ip-publik-server-kalian>:<port-aplikasi>
Question: Tapi ketika kita tutup terminal nya, kok aplikasinya mati ? ya kalian bisa pelajari gimana caranya aplikasi bisa berjalan secara background.
Bagaimana server nya bisa di akses melalui Domain ?
Domain sendiri harus di beli terlebih dahulu, setelah itu kalian arahkan domain nya ke IP publik server kalian, lalu install reverse proxy, seperti NGINX, Caddy, Traefik, dll.
Kebanyakan artikel dan tutorial diluar sana cukup membingungkan banyak orang yang baru masuk di dunia IT, bahkan untuk professional engineer yang fokus di bidang nya masing-masing seperti backend atau frontend yang ingin memiliki domain dan server nya sendiri namun bingung harus mulai dari mana.
Pertama, yang harus di pahami sebelum masuk ke ranah Domain dan Server, kalian harus sedikit paham tentang dasar jaringan, dan perlu kalian pahami bahwa Domain dalam konteks IT adalah alamat lengkap dari sebuah situs entah itu offline atau online, contoh nya artikel yang sedang kalian baca ini memiliki domain dengan nama supanadit.web.id. Lalu bagaimana dengan akhiran pada Domain seperti .web.id ? ini bukan domain melainkan TLD. Banyak orang salah paham, dan berpikir bahwa .com, .net, .co.id, .id, dll adalah domain, padahal itu adalah TLD.
Kebanyakan dari kalian juga mungkin bertanya-tanya, kenapa Domain itu berbayar… sebenarnya GRATIS, lalu kenapa ada beberapa penyedia layanan Domain ? Ini karena dibalik Domain, ada server dan jaringan yang harus di rawat begitupun dengan tenaga ahli nya, selain itu juga ada birokrasi agar semuanya bisa terkoneksi satu sama lain dan di atur oleh ICANN.
Untuk kalian publish aplikasi yang paling penting adalah Server dan untuk kasus ini setiap aplikasi pasti kebutuhan server nya beda-beda khusus nya pada sistem operasi yang digunakan. Server tidak selalu Linux, juga tidak selalu Windows Server, bahkan Windows biasa pun atau Mac Book bisa dijadikan server. Namun untuk pembahasan ini akan di jelaskan pada artikel yang berbeda.
Secara teori kalian bisa membuat TLD sendiri secara sederhana, contoh nya .ganteng yang kalian buat mandiri di Laptop / PC masing-masing. Dan ini pun pembahasan nya terlalu jauh, mari kita lanjut ke pembahasan utama.
Purchasing the domain
Hal yang pertama kali ketika ingin membuat situs atau aplikasi yang bisa di akses oleh banyak orang, kalian pasti akan mencari alamat yang cocok sesuai keinginan kalian, yang biasanya kalian cari di penyedia layanan domain, seperti Hostinger, IDCloudHost, Namecheap, GoDaddy, dan masih banyak lagi. Dibawah ini adalah dua gambar yang mana saya membeli domain di beda provider, pertama di Hostinger dan yang kedua di IDCloudHost. ( Contoh nya ini sudah di beli )
Introducing DNS Manager
Setelah kalian membeli dan memiliki Domain, kalian akan diberikan panel oleh penyedia domain untuk mengelola domain tersebut, masing-masing penyedia layanan memiliki panel yang berbeda-beda dan halaman yang berbeda, namun secara fungsi tetap sama. Bahkan jika kalian tidak ingin menggunakan panel bawaan penyedia layanan domain, bisa menggunakan panel pihak ketiga dan akan dibahas di lain waktu.
Balik ke pembahasan, untuk mengelola Domain, mari kita masuk ke panel nya. Untuk di IDCloudHost, di sini saya akan menggunakan domain gusrandi.my.id yaitu domain milik adik yang saya kelola, dan di IDCloudHost tampilan nya seperti ini.
Seperti yang dijelaskan sebelumnya, bahwa setiap penyedia layanan memiliki tampilan dan menu nya berbeda, tapi kurang lebih akan mirip-mirip, contoh nya untuk supanadit.web.id yang saya beli di IDCloudHost tapi panel nya saya kelola di Google Cloud Platform seperti gambar dibawah ini.
Managing DNS
Disini kita langsung saja integrasikan DNS nya dengan server yang kita miliki, sebagai contoh saya punya server dengan IP 27.112.78.120, dimana WordPress milik adik saya pun ada di server yang sama dengan yang saya gunakan.
Apakah bisa banyak DNS tapi server nya satu ?
Tentu bisa, tinggal di mainkan saja di bagian reverse proxy dan dns management nya.
Apakah bisa server nya banyak tapi DNS nya satu ? ( Kebalikan nya )
Ini juga jelas bisa, tinggal di mainkan di bagian panel nya saja.
Sebagai contoh gambar dibawah ini adalah konfigurasi yang saya terapkan.
Berdasarkan gambar diatas, saya sudah memberikan beberapa tanda panah beserta nomor nya.
No.1 = Adalah nama domain, tanda @ memberikan isyarat bahwa row tersebut adalah main domain, artinya gusrandi.my.id. Jika kalian ganti tanpa @, misalnya menjadi hello, maka nanti akan menjadi subdomain seperti ini hello.gusrandi.my.id
No.2 = Adalah tipe domain, jenis A adalah akses ke server dengan jaringan IPV4, umum nya IP publik yang digunakan jenis A, atau jika kalian punya IPV6, bisa menggunakan AAAA. Untuk konfigurasi email bisa menggunakan MX, dan masih banyak lagi seperti CNAME, NS, PTR, TXT, SRV.
No.3 = Adalah nilai berdasarkan tipe nya, untuk A bisa di isi IP address IPV4 dan AAAA bisa di isi IP Address IPV6 server kalian.
Saya contohkan membuat sub domain baru seperti gambar dibawah ini dengan tipe A.
Dan hasil pada panel nya akan bertambah seperti ini gambar dibawah ini.
Setelah itu kalian harus menunggu sekitar 1 – 30 menit, tergantung kecepatan penyedia layanan internet dan layanan domain menerima perubahan itu secara serentak. Jika sudah menunggu sekian lama nya, kalian bisa test dengan perintah sederhana di CMD / Terminal menggunakan program ping seperti gambar dibawah ini.
Setelah hasil nya keluar seperti gambar diatas, IP kalian akan muncul disamping DNS dan artinya konfigurasi sudah berhasil, selanjutnya adalah persiapan server dan reverse proxy juga deploy aplikasi kalian. Tapi jika IP kalian belum keluar, maka tunggu lagi dan coba ping kembali beberapa menit / jam kemudian. Harap bersabar…
Kali ini saya akan membahas bagaimana caranya menjalankan projek PHP menggunakan XAMPP, yang mana artikel ini adalah lanjutan dari articel sebelumnya yaitu Cara Install XAMPP di Windows.
Dan tanpa basa-basi kita langsung saja masuk ke pembahasan utama dengan membuka control panel XAMPP seperti gambar dibawah ini.
XAMPP Control Panel
Dan jalankan Apache sebagai web server sekaligus PHP yang sudah termasuk didalam nya.
XAMPP Control Panel – Start Apache
Setelah itu kalian bisa membuka browser favorit kalian seperti Firefox, Chrome, atau Edge, lalu masukan link http://localhost pada address browser kalian seperti gambar dibawah ini, yang mana akan tampil halaman utama XAMPP.
XAMPP Welcome Site
Hal tersebut bisa tampil karena default nya Apache yang ada pada XAMPP, akan mengarahkan http://localhost ke direktori C:\Xampp\htdocs\dashboard\index.html
Dan untuk memulai projek PHP, kalian bisa membuat direktori sendiri di C:\Xampp\htdocs, sebagai contoh saya akan membuat direktori bernama supanadit seperti gambar dibawah ini
XAMPP Htdocs Folder
Dan jika kalian masuk kedalam direktori tersebut, maka akan kosong seperti ini
XAMPP My Project Directory
Dan dari sini kalian sudah bisa membuka projek kalian di browser dengan URL http://localhost/<nama-projek> atau untuk contoh disini adalah http://localhost/supanadit yang mana supanadit sendiri adalah nama dari direktori yang kalian buat, dan jika kalian akses dari browser, maka akan tampil seperti gambar dibawah ini, dimana secara tampilan masih kosong.
Setelah itu kalian bisa membuat satu file index.php pada direktori tersebut seperti gambar dibawah ini.
Index.php
Lalu kalian bisa meng-edit file tersebut menggunakan text editor, dan untuk text editor favorit saya adalah Visual Studio Code, maka dari itu saya akan menggunakan nya untuk meng-edit file tersebut dan mengisinya dengan kode yang sederhana seperti gambar dibawah ini.
Hello World Basic PHP code
Setelah itu jika kalian kembali ke browser dan akses URL http://localhost/supanadit maka kalian akan melihat halaman seperti gambar dibawah ini.
Hello World Page
Dan seperti itu lah bagaimana menjalankan projek PHP pada XAMPP, namun masih ada beberapa cara untuk menjalankan projek PHP pada XAMPP, khusus nya yang menggunakan framework Laravel, Codeigniter, dll. yang mana setiap framework terkadang punya cara konfigurasi yang berbeda untuk di implementasi menggunakan web server.
Selanjutnya kalian bisa belajar tentang dasar-dasar PHP yang akan hadir di situs blog ini.
XAMPP adalah tools yang digunakan untuk mengembangkan aplikasi berbasis web menggunakan bahasa pemrograman PHP teknisnya, namun pada dasar nya tidak hanya khusus untuk PHP, bisa juga digunakan untuk prototyping database karna sudah include dengan MySQL, atau membuat static website menggunakan HTML dan CSS lalu di reverse proxy secara lokal.
Untuk detail informasinya apa saja yang bisa dilakukan XAMPP akan di bahas di artikel lainnya, untuk saat ini mari kita langsung saja mulai dengan tujuan utama dari artikel ini, yaitu bagaimana proses installasi XAMPP di Windows.
Langkah pertama adalah dengan mengunduh XAMPP dari situs official nya, yaitu di https://www.apachefriends.org/download.html.
Download Page
Kalian bisa mendownload nya seperti gambar di atas, dan untuk pemula disarankan menggunakan versi terbaru saja. Setelah itu jalankan setup yang baru saja di download.
XAMPP Setup Downloaded
Lalu akan tampil halaman setup pertama seperti ini
XAMPP Setup Wirzard Welcome
Lalu kalian dapat memilih apa saja yang akan kalian install dan secara default akan ter-centang seluruh nya, dan untuk pemula lebih baik ikuti saja saran yang diberikan dari XAMPP sendiri, dan klik next.
XAMPP Components Selection
Setelah itu kalian akan diberikan pilihan lokasi dimana XAMPP akan di install, secara default akan di arahkan ke C:\xampp namun karna saya sendiri adalah tipikal yang senang segala nya rapih, maka saya ganti menjadi C:\Xampp dimana huruf X nya menjadi kapital seperti gambar dibawah ini, dan setelah itu klik next lagi.
XAMPP Directory Install
Setelah itu kalian akan diberikan pilihan untuk bahasa, yang mana hanya ada 2 bahasa, yaitu English dan Deutch, dan saran saya jika kalian tidak bisa bahasa belanda, cukup gunakan bahasa Ingris, dan klik next.
XAMPP Language Selection
Setelah itu anda akan di berikan konfirmasi apakah kalian sudah siap untuk melakukan tahap instalasi, dan jika sudah maka langsung saja next.
XAMPP Confirmation
Setelah itu proses instalasi akan berjalan dan kalian hanya perlu menunggu nya hingga selesai, dimana estimasi nya hanya 5 – 10 menit saja untuk SSD, untuk yang menggunakan HDD mungkin bisa lebih lama lagi.
XAMPP Installation Progress
Dan jika proses nya sudah selesai maka akan tampil halaman seperti dibawah ini, yang mana kalian bisa langsung saja klik finish.
XAMPP Finish Wizard
Setelah itu maka akan tampil halaman control panel dari XAMPP yang kurang lebih akan seperti gambar dibawah ini.
XAMPP Control Panel
Setelah tampil control panel tersebut, maka bisa dikatakan artikel ini sudah selesai, untuk step selanjutnya, kalian akan diberikan langkah-langkah dasar untuk menjalankan projek PHP menggunakan XAMPP.