Debian merupakan salah satu distro Linux yang terkenal akan kestabilannya. Oleh karena itu, Debian banyak digunakan sebagai sistem operasi untuk server. Meskipun begitu, ternyata ada juga yang menggunakan Debian sebagai sistem operasi di komputernya untuk kegiatan sehari-hari. Saya adalah salah satunya. Saya merasa nyaman dengan kestabilan dan kehandalan Debian terutama untuk bekerja. Debian biasanya meluncurkan peningkatan versi setiap dua tahun dan ini merupakan salah satu hal yang membuat Debian stabil. Dengan ini, penggunanya menghemat banyak waktu dengan tidak perlu memperbarui sistem operasi terlalu sering sehingga bisa fokus pada kenyamanan ketika menggunakan Debian.
Dengan kestabilan dan keandalan Debian, ada beberapa hal yang membuat orang menghindari menggunakan Debian. Salah satunya adalah Debian memiliki ukuran yang kecil karena hanya terdiri dari paket-paket yang penting saja dan ini membuat pengguna awam kebingungan tentang apa yang harus mereka lakukan setelah memasang Debian. Pada kesempatan kali ini, saya akan membagikan catatan saya tentang menyiapkan lingkungan pengembangan web pada Debian 12.
Peralatan dasar sistem
Debian 12 tidak menyertakan Git dan cURL ketika kita memasangnya. Selain itu, jika kita tidak memberi tanda centang pada pilihan Perkakas standar sistem pada proses pemasangan ketika disajikan pilihan pemasangan lingkungan destop, kita juga perlu memasang bash-completion
agar bisa melengkapi otomatis dengan menekan tombol tab
ketika mengetik perintah di terminal.
sudo apt install git curl bash-completion
PHP dan Composer
Sebagai pengembang aplikasi web, salah satu bahasa pemrograman yang saya gunakan adalah PHP. Berikut adalah paket yang sering saya pasang untuk mengerjakan proyek pengembangan aplikasi web dengan PHP.
sudo apt install php8.2-cli \
php8.2-curl \
php8.2-fpm \
php8.2-gd \
php8.2-imagick \
php8.2-mbstring \
php8.2-mcrypt \
php8.2-mysql \
php8.2-pgsql \
php8.2-sqlite3 \
php8.2-xml \
php8.2-zip \
composer
Membuat alias untuk shell dari aplikasi yang dipasang lewat Composer
Beberapa kerangka kerja PHP, seperti Laravel, menyediakan pembangun kerangka proyek yang dapat dipasang melalui Composer. Berikut adalah cara memasang baris perintah pemasang Laravel melalui Composer seperti yang disebutkan pada halaman dokumentasi Laravel.
composer global require laravel/installer
Setelah memasangnya, kita tidak dapat langsung menggunakannya sebelum kita menambahkan jalur perintah yang dapat dilaksanakan ke dalam jalur PATH
sistem.
echo 'export PATH="$PATH:$HOME/.config/composer/vendor/bin"' >> ~/.bashrc
## atau jika menggunakan zsh
echo 'export PATH="$HOME/.config/composer/vendor/bin:$PATH"' >> ~/.zshrc
Perintah tersebut cukup dijalankan sekali saja. Jika suatu saat kita memasang paket baris perintah lainnya melalui Composer, perintah tersebut akan dapat langsung dijalankan.
Mulai ulang terminal atau buat sesi baru di tab untuk dapat menjalankan perintah atau jalankan perintah berikut agar dapat langsung digunakan tanpa perlu membuat sesi baru di terminal.
source ~/.bash_profile
## atau jika menggunakan zsh
source ~/.zshrc
Peralatan JavaScript
Node
Selain PHP, salah satu bahasa pemrograman yang saya gunakan adalah JavaScript. Semua aplikasi web yang dibangun menggunakan teknologi JavaScript menggunakan Node.js sebagai pelaksananya. Saya biasa menggunakan nvm
(Node Version Manager) untuk memasang Node.js agar saya dapat dengan leluasa memasang versi yang diinginkan serta memilih versi yang sedang aktif.
Berikut adalah perintah untuk memasang (dan memperbarui) nvm
.
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
# atau
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
Setelah nvm
terpasang, mulai ulang terminal atau buat sesi baru di tab untuk dapat menjalankannya. Jalankan perintah berikut untuk memasang Node versi LTS sekaligus pengelola paket npm
:
nvm install --lts --latest-npm
Ketika versi baru dari Node.js telah terbit, kita dapat memperbarui versi Node dan npm
sekaligus dengan menjalankan perintah berikut:
nvm install --reinstall-packages-from=default --latest-npm 'lts/*'
Bun
Bun merupakan peralatan JavaScript yang bekerja dengan cepat, bahkan lebih cepat dibandingkan dengan npm
. Karena merupakan peralatan yang baru, mungkin Anda akan jarang menemukannya di proyek yang sudah ada. Kebanyakan proyek masih menggunakan Node.js dan npm
karena sudah mencukupi kebutuhan mereka. Jika Anda tertarik untuk mencobanya, silakan pasang Bun dengan menjalankan baris perintah berikut.
curl -fsSL https://bun.sh/install | bash
PostgreSQL
Aplikasi web kita memerlukan basis data untuk menyimpan data dan salah satu basis data sumber terbuka, handal, dan gratis yang terkenal adalah PostgreSQL. Paket PostgreSQL sudah tersedia dalam repositori Debian sehingga kita dapat langsung memasangnya dengan perintah berikut:
sudo apt install postgresql-15 postgresql-contrib
Setelah itu, kita dapat mengakses basis data melalui terminal dengan perintah berikut:
sudo -u postgres psql
Membuat pengguna
Pengguna yang disediakan secara bawaan oleh PostgreSQL adalah postgres
dan pengguna ini memiliki kewenangan yang paling tinggi. Untuk meningkatkan keamanan, terutama jika kita memasangnya di server, kita dapat membuat pengguna baru dengan akses yang diperlukan saja.
# buat pengguna dan atur kata sandi
CREATE USER fulan with CREATEDB CREATEROLE;
ALTER USER fulan with PASSWORD 'p4ssw0rd';
# lihat daftar pengguna
\du
Membuat basis data
Setelah membuat pengguna, kita dapat membuat basis data dan mengaitkannya dengan pengguna yang baru saja kita buat.
CREATE DATABASE barang OWNER fulan;
# lihat daftar basis data
\l
Mengakses basis data dengan pengguna baru
Setelah kita membuat pengguna dan mengaitkannya dengan basis data, baru kita dapat mengaksesnya dengan perintah berikut:
psql -U fulan -d barang -W
Docker
Pengembangan aplikasi modern telah mulai terbiasa dengan konsep containerization dan produk yang terkenal dan banyak dipakai adalah Docker. Konsep ini akan mengurung aplikasi ke dalam sebuah tempat penampung yang disebut dengan image yang dapat dijalankan. Dengan begini, aplikasi dapat berjalan mandiri dan tidak mengganggu sistem yang lainnya. Konsep ini banyak diterapkan pada arsitektur aplikasi yang rumit. Dan tentu saja, tidak ada salahnya untuk menerapkannya pada aplikasi dengan arsitektur yang sederhana. Cukup jalankan sebuah baris perintah dan aplikasi kita akan berjalan dengan mulus dan siap digunakan. Ini akan mengurangi waktu peluncuran secara drastis dan mempercepat proses pengembangan atau pengujian.
Docker menyediakan dua cara untuk memasang Docker, yaitu dengan Docker Desktop dan Docker Engine. Docker Desktop cocok untuk pengguna awam atau baru mencoba Docker serta untuk Anda yang lebih suka menggunakan antarmuka daripada baris perintah. Docker Engine menyediakan baris perintah yang dapat kita gunakan untuk menggunakan dan mengelola Docker.
Dalam artikel ini, kita akan memasang Docker Engine alih-alih Docker Desktop. Langkah-langkah berikut juga dapat Anda gunakan untuk memasang Docker Engine di server VPS Debian Anda.
Mari kita mulai memasang Docker Engine dengan langkah-langkah berikut.
# memastikan kebutuhan sudah dipenuhi
sudo apt update
sudo apt install ca-certificates curl
# menambahkan kunci GPG resmi Docker:
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# menambahkan ke repositori:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
# pasang Docker
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Demi alasan keamanan, Docker di Linux memerlukan wewenang sebagai root
. Jika kita memasang Docker di komputer pribadi, menjalankan Docker tanpa wewenang root
dapat dikatakan aman dan akan mempermudah kita dalam menggunakan Docker.
Berikut adalah langkah-langkah untuk menjalankan Docker tanpa wewenang root
.
# pastikan grup docker sudah ada
# beberapa distro Linux seperti Debian sudah menyediakan grup ini ketika memasang
sudo groupadd docker
# tambahkan pengguna ke grup docker
sudo usermod -aG docker $USER
Keluar dari sesi atau muat ulang komputer jika Anda menggunakan LVM untuk menerapkan perubahan. Selanjutnya, coba jalankan perintah berikut:
docker run hello-world
Jika perintah tersebut tidak menghasilkan galat, maka kita sudah siap menggunakan Docker.
Penyunting kode atau IDE
Zed
Beberapa waktu yang lalu saya mencoba Zed untuk mengembangkan aplikasi. Zed adalah penyunting kode yang ringan, cepat, dan terpadu dengan AI. Zed tersedia di berbagai platform dan juga leluasa untuk diubahsuai agar sesuai dengan alur kerja kita. Berikut adalah langkah-langkah untuk memasang Zed di Debian.
# pasang rsync agar Zed bisa melakukan pembaruan otomatis
# https://github.com/zed-industries/zed/issues/19347
sudo apt install rsync
# pasang Zed
curl -f https://zed.dev/install.sh | sh
Setelah Zed terpasang, Anda mungkin ingin mencontek pengaturan Zed saya untuk membuat tampilan Zed menjadi lebih bersih dan bebas gangguan atau memasang tema Alabaster Dark agar nyaman digunakan ketika bekerja di malam hari.
VSCodium
Jika proyek Anda memerlukan EditorConfig untuk menerapkan gaya penulisan kode yang seragam, Anda mungkin tidak ingin menggunakan Zed karena Zed hingga saat ini belum mendukung EditorConfig. Oleh karena itu, saya sarankan gunakan VSCodium, VS Code yang 100% gratis dan sumber terbuka.
# tambahkan kunci GPG:
wget -qO - https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg \
| gpg --dearmor \
| sudo dd of=/usr/share/keyrings/vscodium-archive-keyring.gpg
# tambahkan ke repositori
echo 'deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/vscodium-archive-keyring.gpg] https://download.vscodium.com/debs vscodium main' \
| sudo tee /etc/apt/sources.list.d/vscodium.list
# perbarui repositori dan pasang VSCodium
sudo apt update && sudo apt install codium
Setelah memasang VSCodium, silakan contek pengaturan VS Code dan pengaturan EditorConfig untuk pengembangan web saya. Selain itu, saya sarankan untuk memasang pengaya untuk VS Codium berikut:
Pengaya | Kegunaan |
---|---|
EditorConfig for VS Code | Mendukung penerapan gaya penulisan menggunakan EditorConfig |
ESLint dan Prettier | Menandai kesalahan dan merapikan kode |
StandardJS - JavaScript Standard Style | Jika Anda akan menerapkan gaya penulisan JavaScript Standard Style, cukup pasang ekstensi ini alih-alih memasang ESLint dan Prettier. Sayangnya, saya menemukan kendala ketika menggunakan pengaya ini untuk proyek yang menggunakan Vue |
Vue - Official | Penyorotan sintaks dan merapikan kode. Pastikan Anda memilih versi stabil yang terbaru. |
Phpstorm
Jika Anda memiliki dana untuk berlangganan IDE, saya sarankan untuk berlangganan PhpStorm dari JetBrains. Berikut adalah keuntungan dari berlangganan PhpStorm yang saya rasakan.
- Menulis kode dengan nyaman, bebas gangguan, dan produktif.
- Bisa ekspor hasil query basis data ke format Excel.
- Harga berlangganan semakin murah setelah tahun kedua dan ketiga.
Berdasarkan pengalaman saya, pemasangan PhpStorm yang paling mudah adalah melalui Snap.
# pasang Snap
sudo apt install snapd
sudo snap install phpstorm --classic
Beberapa orang mungkin akan menghindari menggunakan Snap untuk memasang aplikasi karena berbagai hal, beberapa di antaranya adalah waktu mulai yang lebih lambat, penggunaan RAM yang lebih banyak, hingga tampilan antarmuka yang tidak selaras dengan lingkungan destop.
Jika Anda tidak ingin menggunakan Snap untuk memasang PhpStorm, Anda juga dapat memasangnya dengan mengekstrak langsung dari berkas .tar.gz
yang telah diunduh ke direktori /home
kemudian menjalankan peluncur aplikasi Phpstorm.sh
.
Peramban web
Sebagai pengembang web, saya memiliki lebih dari satu peramban web dengan mesin yang berbeda. Ini berguna untuk menguji apakah aplikasi dapat berjalan dengan baik di berbagai peramban yang digunakan oleh pengguna aplikasi.
Tiga mesin yang digunakan oleh peramban web yang banyak digunakan adalah Blink, Gecko, dan WebKit.
Mesin | Peramban web |
---|---|
Blink | Chromium dan semua turunannya (Google Chrome, Microsoft Edge, Brave, Vivaldi, dsb) |
Gecko | Digunakan oleh Firefox dan turunannya (Librewolf, Floorp, Zen Browser) |
WebKit | Safari, GNOME Web, Orion, dan semua peramban web di iOS/iPadOS |
Joplin
Joplin adalah aplikasi untuk menulis catatan di berbagai platform. Bagi saya, Joplin adalah aplikasi yang pas untuk menulis catatan sebagai pengembang aplikasi. Berikut alasannya:
- Baris kode tidak dilipat sesuai lebar perangkat. Ini akan membuat membaca kode menjadi lebih mudah terutama di layar ponsel atau tablet.
- Gratis dan bisa diselaraskan di semua perangkat dengan berbagai cara.
- Ubahsuai tampilan.
- Tidak mengunci pengguna. Kita bisa ekspor ke berbagai jenis berkas.
Karena saya sangat suka menggunakan Joplin, saya membuat tema Alabaster (terang) dan Alabaster Dark untuk Joplin. Silakan dicoba! 😉
Penutup
Kita telah memasang berbagai peralatan untuk mengembangkan aplikasi mulai dari paket dasar untuk sistem, PHP, Node beserta pengelola paketnya, penyunting kode, peramban web hingga aplikasi untuk menulis catatan. Sekarang, kita sudah siap untuk membuat aplikasi web yang keren!
Daftar Pustaka
- How to Install PostgreSQL on Debian 12 - Vultr
- How to Install PostgreSQL and pgAdmin Tool on Debian 12 - How to Forge
- Add Laravel Composer to path on Bash - Brave Answer
- Install Docker Engine on Debian | Docker Docs
- Linux post-installation steps for Docker Engine | Docker Docs
- Auto-update fails without rsync · Issue #19347 · zed-industries/zed | GitHub
- EditorConfig · Issue #8534 · zed-industries/zed | GitHub
- VS Code vs VS Codium: What's the Difference? | It's FOSS