Halo sobat server, pada artikel ini akan menjelaskan cara memberikan akses baca dan tulis ke user Linux® untuk mengelola file web server, yang biasanya ada di direktori /var/www/
. Setelah sobat server terhubung ke server lewat SFTP (Secure File Transfer Protocol) sebagai pengguna server, sobat server bisa langsung meng-upload konten website ke folder situs, misalnya di /var/www/nama-folder-situs
.
Contoh di artikel ini menggunakan akun dengan nama “demo”. Jangan lupa ganti “demo” dengan nama akun yang sobat server inginkan.
Semua perintah ini butuh akses superuser (root), jadi diasumsikan sobat server menjalankannya dengan hak istimewa root atau menggunakan sudo
.
Cari Grup dan Lokasi Direktori
Sobat server perlu mengetahui grup yang digunakan oleh proses webserver serta lokasi root dokumen webserver tersebut. Informasi ini bisa ditemukan di file konfigurasi webserver (seperti httpd.conf
atau apache2.conf
jika sobat server menggunakan Apache®). Berikut adalah contoh nilai default untuk Apache di beberapa distribusi Linux:
- CentOS®, Fedora®, dan RHEL®
Di sistem berbasis Red Hat®, Apache berjalan di bawah grupapache
dengan root dokumen di/var/www/html
. - Ubuntu® dan Debian®
Di sistem berbasis Debian®, Apache menggunakan grupwww-data
dengan root dokumen di/var/www
.
Membuat atau Mengubah User
Sobat server bisa membuat user baru atau mengubah user yang sudah ada sesuai dengan kebutuhan.
Buat User Baru
Sobat server bisa membuat user baru dan memasukkannya ke grup yang sama dengan server web. Atur juga direktori home-nya ke root dokumen web.
Contoh perintah di CentOS, Fedora, atau RHEL:
$ sudo useradd -d /var/www/html -G apache demo
Sedangkan untuk Debian atau Ubuntu, gunakan perintah ini:
$ sudo useradd -d /var/www -G www-data demo
Setelah itu, jangan lupa atur password untuk user baru tersebut:
$ sudo passwd demo
Ubah User yang Sudah Ada
Jika sobat server ingin mengubah user yang sudah ada, cukup tambahkan user tersebut ke grup server web.
Untuk CentOS, Fedora, atau RHEL:
$ sudo usermod -a -G apache demo
Di Debian atau Ubuntu:
$ sudo usermod -a -G www-data demo
Jika sobat server ingin mengganti direktori home user agar menggunakan root dokumen web, jalankan perintah berikut:
- CentOS, Fedora, atau RHEL:bashCopy code
$ sudo usermod -d /var/www/html demo
- Ubuntu atau Debian:bashCopy code
$ sudo usermod -d /var/www demo
Ubah Izin Direktori Root
Supaya grup yang sama dengan webserver bisa mengelola file di root dokumen, sobat server perlu mengatur izin direktori.
Atur Grup
Di CentOS, Fedora, atau RHEL, jalankan perintah ini:
$ sudo chgrp -R apache /var/www/html
Sedangkan di Ubuntu atau Debian:
$ sudo chgrp -R www-data /var/www
Atur Izin
Berikan akses tulis pada grup untuk root dokumen, dan tambahkan izin setgid supaya file baru yang dibuat di direktori tersebut mewarisi ID grup dari direktori induknya.
- CentOS, Fedora, atau RHEL:bashCopy code
$ sudo chmod -R g+w /var/www/html $ sudo chmod g+s /var/www/html
- Ubuntu atau Debian:bashCopy code
$ sudo chmod -R g+w /var/www $ sudo chmod g+s /var/www
Hubungkan dan Uji
Setelah semuanya diatur, sobat server bisa mencoba koneksi ke server lewat SFTP dengan akun yang baru dibuat atau diubah. Cobalah upload file ke folder situs sobat server. Kalau masih muncul error “permission denied”, jalankan perintah ini di root dokumen untuk mengecek izin direktori:
bashCopy code$ ls -la
Dengan langkah-langkah di atas, sobat server seharusnya sudah bisa mengelola file website di server dengan lancar.