FTP Server (Cara 2)

From AbahDoku Wiki
Revision as of 09:36, 20 May 2025 by Akhyar (talk | contribs) (Created page with "= FTP Server (Cara 2) = Cara 2 ini masih menggunakan proftpd namun menggunakan Dockerfile. Buat Folder ftp-server, kemudian buat Dockerfile di dalam folder tersebut. Pada cara 2 ini proses Deploy FTP-Server tidak melibatkan apache karena pada dasarnya proftpd tidak memerlukan apache. Adapun isi Dockerfile yang penulis buat adalah : FROM debian:bullseye RUN apt-get update && \ apt-get install -y proftpd-basic nano && \ apt-get clean RUN useradd -d /home/f...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

FTP Server (Cara 2)[edit]

Cara 2 ini masih menggunakan proftpd namun menggunakan Dockerfile. Buat Folder ftp-server, kemudian buat Dockerfile di dalam folder tersebut. Pada cara 2 ini proses Deploy FTP-Server tidak melibatkan apache karena pada dasarnya proftpd tidak memerlukan apache. Adapun isi Dockerfile yang penulis buat adalah :

FROM debian:bullseye

RUN apt-get update && \
    apt-get install -y proftpd-basic nano && \
    apt-get clean

RUN useradd -d /home/ftpbele -s /usr/sbin/nologin ftpbele && \
    echo "ftpbele:abahkuka" | chpasswd && \
    mkdir -p /home/ftpbele && \
    chown -R ftpbele:ftpbele /home/ftpbele && \
    chmod -R 755 /home/ftpbele

COPY proftpd.conf /etc/proftpd/proftpd.conf

# Tetap expose port internal (FTP) dan passive ports
EXPOSE 21 10090-10100

CMD ["/usr/sbin/proftpd", "-n"] 

Kemudian buat file proftpd.conf dan simpan di folder yang sama dengan file Dockerfile.

ServerName                      "ProFTPD Docker Server"
ServerType                      standalone
DefaultServer                   on
Port                            21
Umask                           022
MaxInstances                    30

User                            nobody
Group                           nogroup

DefaultRoot                     ~
RequireValidShell               off
PassivePorts                    10090 10100
MasqueradeAddress               10.8.80.3  # <- ganti dengan IP host Docker Anda

<Global>
  AllowOverwrite                yes
</Global>

Struktur folder ftp-server yang di buat adalah seperti berikut ini :

ftp-server/
├── Dockerfile
└── proftpd.conf

Jalankan perintah build dari dalam folder ftp-server:

docker build -t ftpbele-server .

Saat saya membuild ftp-server menggunakan cara 2, karena port 21 sudah saya gunakan pada cara1 , jadi ingin menggunakan port 2112 yang di arahkan ke port 21 container ftp-server, maka Docker run yang di jalankan adalah sebagai berkut :

docker run -dit \
  --name ftpbele-container \
  -p 2112:21 \                     # Host 2112 ➜ Container 21
  -p 10090-10100:10090-10100 \     # Passive ports
  ftpbele-server

Setelah proses di atas berhasil, lakukan Test koneksi menggunakan FTP-Client dengan kredensial sebagai berikut :

user = ftpbele
password = abahkuka
ip ftp-server = 10.8.80.3
port  = 2112

Semoga berhasil.

Integrasi FTP Server ke Google Drive[edit]