#5-File Server

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

  1. Hardware: komputer/server dengan kapasitas penyimpanan besar (HDD/SSD), RAM cukup, dan koneksi jaringan stabil.
  2. Software: sistem operasi server (Linux/Debian, Windows Server).
  3. 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

  1. Windows File Server (menggunakan Windows Server).
  2. Linux File Server (menggunakan Samba atau NFS).
  3. FTP Server (menggunakan vsftpd, ProFTPd).
  4. Cloud File Server (Nextcloud, Owncloud, Google Drive).

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:

  1. Folder share, semua pengguna di ijinkan untuk membaca, mengedit maupun menghapus file di dalamnya. 
  2. Folder read, semua pengguna di jinkan hanya membaca saja.
  3. 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

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

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

  1. Klik folder private
  2. Masukan user smk
  3. Password 123
  4. 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

Kantor

Jl. dr. Wahidin Sudiro Husodo No.22,
Klaten Utara, Klaten 57432,
Jawa Tengah, INDONESIA.
Telp. 0272-321266

Terbaru

Galeri

Copyright © 2025  – TJKT SMK NEGERI 1 KLATEN – HYD