EN: Read in English
Dunia L4: Dapur Jauh
Misi capstone 7: Server dari kosong
Anda akan belajar: menyediakan server sebenar sendiri: pengguna, kunci, firewall, nginx, skrip dan timer.
Teks BM belum disemak oleh penutur asli.
Disemak dengan Linux (Debian 13) pada 1 Nov 2026
Masalahnya
Misi 7: buka dapur cawangan baharu, dari mesin kosong. Mula-mula, rancang binaannya. Susun kerja ikut tertib yang selamat.
Kerja pertama di atas. Susun ikut turutan. Guna anak panah, atau seret.
- Uji dari laptop anda
- Timer systemd untuk skrip itu
- Kemas kini pakej
- nginx dengan halaman anda sendiri
- Tambah pengguna anda sendiri dengan sudo
- Firewall: benarkan SSH dan web, kemudian hidupkan
- Skrip sandaran dalam mod ketat
- Log masuk dengan kunci SSH
Tengok
Server sebenar, risiko sebenar. Peraturan yang baik atau tidak?
Leret ke kanan untuk bagus, ke kiri untuk perlu baiki. Atau guna butang.
Guna VM atau playground pakai buang, jangan server kerja.
Tengok
Skrip sandaran anda. Baris mana yang buat ia berhenti pada masalah pertama?
#!/bin/bash
set -euo pipefail
src="$HOME/kedai/menu"
dest="$HOME/backups"
mkdir -p "$dest"
cp -r "$src" "$dest/menu-$(date +%F)"
echo "backup done"Pilih satu jawapan.
Tengok
Timer memulakan satu servis. Simpan ini sebagai /etc/systemd/system/kedai-backup.service, dengan pengguna anda sendiri. Tekan baris yang jalankan skrip.
Tekan baris yang jalankan skrip.
0 daripada 1 dijumpai
Cuba
Sekarang bina betul-betul. Tanda anda disimpan. Tukar aina dan SERVER-IP kepada milik anda.
Misi sebenar
sudo apt update && sudo apt upgrade -ysudo adduser aina && sudo usermod -aG sudo ainassh-copy-id aina@SERVER-IPsudo apt install -y ufw nginxsudo ufw allow OpenSSH && sudo ufw allow 'Nginx HTTP'sudo ufw enable && sudo ufw statusecho '<h1>Kedai Kancil, branch 2</h1>' | sudo tee /var/www/html/index.htmlmkdir -p ~/kedai/menu && echo 'nasi lemak 5' > ~/kedai/menu/today.txtchmod +x ~/backup.sh && ~/backup.shsudo systemctl daemon-reload && sudo systemctl enable --now kedai-backup.timersystemctl list-timers kedai-backup.timer
0 daripada 14 langkah siap · Tanda anda disimpan.
Semak
GitHub boleh lihat fail anda. Taip nama pengguna anda dan tekan Semak sekarang.
Semak di GitHub
- Repo server-from-scratch anda awamBelum disemak
- Ia ada backup.shBelum disemak
- Ia ada kedai-backup.serviceBelum disemak
- Ia ada kedai-backup.timerBelum disemak
Semak
Selebihnya hanya anda boleh lihat. Tanda yang benar.
Semakan sendiri
0 daripada 6 langkah siap · Tanda anda disimpan.
Anda berjaya!
Kini anda boleh sediakan server Linux kecil yang selamat dari mesin kosong.
Nak tahu lebih (pilihan)
Di mana cerita ini tak tepat: dapur cawangan sebenar ada pekerja yang terhidu asap. Server tak perasan apa-apa melainkan anda tambah semakan. Kursus Pemantauan & Observability tambah penggera asap. Nanti, kukuhkan SSH: matikan log masuk kata laluan, tetapi hanya selepas log masuk kunci berjaya.
English
Mission 7: open a new branch kitchen, from an empty machine. First, plan the build. Put the jobs in a safe order.
Real servers, real risks. Good rule or not?
Your backup script. Which line makes it stop at the first problem?
#!/bin/bash
set -euo pipefail
src="$HOME/kedai/menu"
dest="$HOME/backups"
mkdir -p "$dest"
cp -r "$src" "$dest/menu-$(date +%F)"
echo "backup done"
The timer starts a service. Save this as /etc/systemd/system/kedai-backup.service, with your own user. Tap the line that runs the script.
Now build it for real. Your ticks are saved. Replace aina and SERVER-IP with your own.
GitHub can see your files. Type your username and press Check now.
The rest only you can see. Tick what is true.
You can now set up a small, safe Linux server from an empty machine.
Anda dah siapkan ini. Latihan lagi pun bagus!
Dokumentasi rasmi: Debian Reference: system tips · Debian: ufw(8) · systemd.timer · nginx: beginner's guide
Anda dah belajar 25 minit. Rehat sekejap bantu otak anda.
Pecutan selesai! Fokus yang hebat. Regangkan badan seminit?