- Pengantar
Apa itu File Server ?
File Server adalah server yang berfungsi untuk menyimpan, mengatur, dan membagikan file dalam sebuah jaringan komputer. Dengan file server, semua pengguna dalam jaringan dapat:
- Menyimpan file di satu tempat terpusat.
- Mengakses file secara bersama-sama.
- Mengatur hak akses (siapa yang boleh membaca, menulis, atau menghapus file).
Contoh nyata: Google Drive, Dropbox, atau server sekolah yang digunakan untuk penyimpanan data.
Fungsi utama File Server
- Penyimpanan Terpusat (Centralized Storage)
Semua data disimpan di server sehingga lebih mudah dikelola. - Berbagi File (File Sharing)
Banyak pengguna bisa mengakses file yang sama tanpa harus menyalin ke setiap komputer. - Keamanan Data
Dengan pengaturan hak akses, tidak semua orang bisa membuka/mengubah file. - Backup dan Recovery
File lebih aman karena bisa dibackup secara rutin di server. - Efisiensi Jaringan
Tidak perlu kirim file berulang-ulang melalui email atau flashdisk.
Komponen File Server
- Hardware: komputer/server dengan kapasitas penyimpanan besar (HDD/SSD), RAM cukup, dan koneksi jaringan stabil.
- Software: sistem operasi server (Linux/Debian, Windows Server).
- Protokol Jaringan:
- SMB (Server Message Block) → banyak dipakai di Windows/Linux (Samba).
- NFS (Network File System) → banyak dipakai di Linux/UNIX.
- FTP/SFTP → untuk transfer file melalui protokol standar internet.
Jenis File Server
- Windows File Server (menggunakan Windows Server).
- Linux File Server (menggunakan Samba atau NFS).
- FTP Server (menggunakan vsftpd, ProFTPd).
- Cloud File Server (Nextcloud, Owncloud, Google Drive).
- Instalasi & Konfigurasi File Server
Dalam panduan ini, kita akan menggunakan protocol SMB (Server Message Block) yang banyak dipakai di Windows/Linux (Samba). Kali ini kita akan berbagi folder dan file dengan ketentuan sebagai berikut:
- Folder share, semua pengguna di ijinkan untuk membaca, mengedit maupun menghapus file di dalamnya.
- Folder read, semua pengguna di jinkan hanya membaca saja.
- Folder private, hanya pengguna tertentu yang di ijinkan untuk mengaksesnya.
Langkah 1 – Instalasi Samba
Login sebagai user root dan lakukan update terlebih dahulu.
Install paket samba dengan perintah #apt install samba
root@ns100:~# apt install samba Reading package lists... Done Building dependency tree... Done Reading state information... Done The following additional packages will be installed: attr dirmngr gnupg gnupg-l10n gnupg-utils gpg gpg-agent gpg-wks-client gpg-wks-server gpgconf gpgsm ibverbs-providers libassuan0 libavahi-client3 libavahi-common-data libavahi-common3 libboost-iostreams1.74.0 libboost-thread1.74.0 libcephfs2 libcups2 libfmt9 libgfapi0 libgfrpc0 python3-requests-toolbelt python3-rfc3986 python3-rich python3-samba python3-sniffio python3-talloc python3-tdb python3-yaml python3.11 python3.11-minimal samba-ad-provision samba-common samba-common-bin samba-dsdb-modules samba-libs samba-vfs-modules tdb-tools Suggested packages: pinentry-gnome3 tor parcimonie xloadimage scdaemon cups-common gpm pinentry-doc python-cryptography-doc python3-cryptography-vectors python3-trio python3-aioquic python-markdown-doc python-pygments-doc ttf-bitstream-vera python3.11-venv python3.11-doc binutils binfmt-support ctdb ldb-tools ntp | chrony ufw winbind heimdal-clients The following NEW packages will be installed: attr dirmngr gnupg gnupg-l10n gnupg-utils gpg gpg-agent gpg-wks-client gpg-wks-server gpgconf gpgsm ibverbs-providers libassuan0 libavahi-client3 libavahi-common-data libavahi-common3 libboost-iostreams1.74.0 libboost-thread1.74.0 libcephfs2 libcups2 libfmt9 libgfapi0 libgfrpc0 python3-yaml samba samba-ad-provision samba-common samba-common-bin samba-dsdb-modules samba-libs samba-vfs-modules tdb-tools The following packages will be upgraded: libpython3.11-minimal libpython3.11-stdlib python3.11 python3.11-minimal 4 upgraded, 78 newly installed, 0 to remove and 44 not upgraded. Need to get 49.5 MB of archives. After this operation, 153 MB of additional disk space will be used. Do you want to continue? [Y/n] Y Get:77 https://deb.debian.org/debian bookworm/main amd64 python3-markdown all 3.4.1-2 [64.7 kB] Get:78 https://deb.debian.org/debian bookworm/main amd64 python3-requests-toolbelt all 0.10.1-1 [41.3 kB] Get:79 https://deb.debian.org/debian bookworm/main amd64 python3-yaml amd64 6.0-3+b2 [119 kB] Get:80 https://deb.debian.org/debian bookworm-updates/main amd64 samba-ad-provision all 2:4.17.12+dfsg-0+deb12u2 [416 kB] Get:81 https://deb.debian.org/debian bookworm-updates/main amd64 samba-dsdb-modules amd64 2:4.17.12+dfsg-0+deb12u2 [317 kB] Get:82 https://deb.debian.org/debian bookworm-updates/main amd64 samba-vfs-modules amd64 2:4.17.12+dfsg-0+deb12u2 [428 kB] Fetched 49.5 MB in 31s (1,572 kB/s) Extracting templates from packages: 100% Preconfiguring packages ... (Reading database ... 32296 files and directories currently installed.) Preparing to unpack .../00-python3.11_3.11.2-6+deb12u6_amd64.deb ... Unpacking python3.11 (3.11.2-6+deb12u6) over (3.11.2-6+deb12u5) ... Preparing to unpack .../01-libpython3.11-stdlib_3.11.2-6+deb12u6_amd64.deb ... Unpacking libpython3.11-stdlib:amd64 (3.11.2-6+deb12u6) over (3.11.2-6+deb12u5) ...Setting up libcephfs2 (16.2.15+ds-0+deb12u1) ... Setting up samba-common-bin (2:4.17.12+dfsg-0+deb12u2) ... Setting up samba (2:4.17.12+dfsg-0+deb12u2) ... Created symlink /etc/systemd/system/multi-user.target.wants/nmbd.service → /lib/systemd/system/nmbd.service. Created symlink /etc/systemd/system/multi-user.target.wants/samba-ad-dc.service → /lib/systemd/system/samba-ad-dc.service. Created symlink /etc/systemd/system/multi-user.target.wants/smbd.service → /lib/systemd/system/smbd.service. Processing triggers for systemd (252.36-1~deb12u1) ... Processing triggers for libc-bin (2.36-9+deb12u10) ... root@ns100:~#
Setelah samba terinstal maka layanan samba akan berjalan dan diaktifkan secara otomatis oleh sistem. Lakukan verifikasi layanan samba menggunakan perintah berikut.
root@ns100:~# systemctl is-enabled samba alias root@ns100:~# systemctl status samba Loaded: loaded (/lib/systemd/system/samba-ad-dc.service; enabled; preset: enabled) Active: inactive (dead) (Result: exec-condition) since Wed 2025-08-20 20:31:59 WIB; 1 day 10h ago Condition: start condition failed at Wed 2025-08-20 20:31:59 WIB; 1 day 10h ago Docs: man:samba(8) man:samba(7) man:smb.conf(5) Process: 2569 ExecCondition=/usr/share/samba/is-configured samba (code=exited, status=1/FAILURE) CPU: 23ms Aug 20 20:31:59 ns100.sekolah100.sch.id systemd[1]: Starting samba-ad-dc.service - Samba AD Daemon... Aug 20 20:31:59 ns100.sekolah100.sch.id systemd[1]: samba-ad-dc.service: Skipped due to 'exec-condition'. Aug 20 20:31:59 ns100.sekolah100.sch.id systemd[1]: Condition check resulted in samba-ad-dc.service - Samba AD Daemon being skipped.
Langkah 2 – Konfigurasi Samba file (smb.conf)
File konfigurasi utama samba terletak di /etc/samba/smb.conf. Kita akan mengedit file ini untuk melakukan pengaturan samba server. Cadangkan file konfigurasi asli sebelum mengeditnya
root@ns100:~# cp /etc/samba/smb.conf /etc/samba/smb.conf.asli
Buka file konfigurasi dengan editor teks nano
root@ns100:~# nano /etc/samba/smb.conf
Tambahkan sript berikut ini di bagian akhir file
[share]
path = /sev/share
browseable = yes
readonly = no
guest ok = yes
create mask = 0777
directory mask = 0777
[read]
path = /srv/read
browseable = yes
readonly = yes
guest ok = yes
create mask = 0755
directory mask = 0755
[private]
path = /srv/private
browseable = yes
readonly = no
valid users = smk
guest ok = yes
create mask = 0770
directory mask = 0770
Simpan perubahan dan keluar dari editor nano
Membuat user samba
root@ns100:~# useradd smk
root@ns100:~# smbpasswd -a smk
New SMB password: 123
Retype new SMB password: 123
Added user smk.
root@ns100:~#
Membuat folder share, read dan private serta mengubah permision-nya
root@ns100:~# mkdir /srv/share
root@ns100:~# mkdir /srv/read
root@ns100:~# mkdir /srv/private
root@ns100:~# chmod -R 777 /srv/share
root@ns100:~# chmod -R 755 /srv/read
root@ns100:~# chmod -R 770 /srv/private
root@ns100:~# chown -R smk:smk /srv/private
root@ns100:~# ls -l /srv/
total 16
drwxrwxr-x 3 nobody nogroup 4096 Aug 20 16:51 ftp
drwxrwx--- 2 smk smk 4096 Aug 22 07:45 private
drwxr-xr-x 2 root root 4096 Aug 22 07:45 read
drwxrwxrwx 2 root root 4096 Aug 22 07:45 share
root@ns100:~#
Restart Layanan samba dan Cek status nya
root@ns100:~# /etc/init.d/smbd restart Restarting smbd (via systemctl): smbd.service. root@ns100:~# /etc/init.d/nmbd restart Restarting nmbd (via systemctl): nmbd.service. root@ns100:~# /etc/init.d/smbd status ● smbd.service - Samba SMB Daemon Loaded: loaded (/lib/systemd/system/smbd.service; enabled; preset: enabled) Active: active (running) since Fri 2025-08-22 07:57:25 WIB; 12s ago Docs: man:smbd(8) man:samba(7) man:smb.conf(5) Process: 2836 ExecCondition=/usr/share/samba/is-configured smb (code=exited, status=0/SUCCESS) Process: 2838 ExecStartPre=/usr/share/samba/update-apparmor-samba-profile (code=exited, status=0/SUCCESS) Main PID: 2847 (smbd) Status: "smbd: ready to serve connections..." Tasks: 3 (limit: 1301) Memory: 5.4M CPU: 123ms CGroup: /system.slice/smbd.service ├─2847 /usr/sbin/smbd --foreground --no-process-group ├─2849 /usr/sbin/smbd --foreground --no-process-group └─2850 /usr/sbin/smbd --foreground --no-process-group Aug 22 07:57:25 ns100.sekolah100.sch.id systemd[1]: Starting smbd.service - Samba SMB Daemon... Aug 22 07:57:25 ns100.sekolah100.sch.id systemd[1]: Started smbd.service - Samba SMB Daemon.
Langkah 3 – Pengujian
Pengujian Samba Server di kilen Windows
Bersihkan terlebih dahulu network drive, barangkali sebelumnya client sudah terhubung ke NFS lain, gunakan perintah DOS yaitu CMD kemudian ketik net use * /DELETE

- Buka jendela Run, Tekan tombol (Windows+R) ketik \\IP_Server\
- Klik tombol OK

Muncul jendela network folder dari samba server yang telah kita buat sebelumnya

- Klik folder private
- Masukan user smk
- Password 123
- Klik tombol OK

Membuat folder baru di direktori private

Membuat file baru di direktori private

Langkah terakhir kita dapat logout atau mengakhiri koneksi dengan samba server dengan menggunakan perintah net use
