# Utilisasi Laptop Rusak Jadi Server

Liburan semester 4, aku *decluttering* banyak barang di rumah. Perlahan-lahan jadi minimalis, membuang barang-barang yang udah lama nggak pernah dipake, membersihkan tempatnya, sampai akhirnya menemukan laptop ini yang sudah nggak dipake sekitar 3 tahun. Saat itu terpikir cara untuk pake laptop ini, dengan dipasang linux aja, kemudian terpikir untuk bikin jaringan sederhana di rumah dan laptop ini sebagai servernya.

Laptop ini yang rusak layar dan keyboardnya. Jikalaupun dijual juga sayang, karena banyak kenangan dan jasanya 😚, salah satunya laptop ini bikin aku seneng *ngoprek-ngoprek* waktu masih SMP.

## Fitur Server Impian

### Berbagi Koneksi Internet

* Berbagi koneksi internet, karena biasanya aku *share* internet pake hotspot dari *smartphone*. Hotspot itu bikin *smartphone* aku panas dan baterainya cepat habis, mungkin ini bisa jadi solusi yang efektif.
    

### Web Server

* Pas ada proyek IT atau yang berhubungan dengan hal itu, server ini bisa buat tempat untuk hosting website sendiri.
    

### DNS Server

* Buar bisa buka reddit sama netflix yang diblock sama ISP. *hehe*.
    
* Setelah host website di *local network* , website tersebut dapat diatur menggunakan domain tertentu agar tidak perlu menghafalkan alamat IPnya pas ingin akses.
    
* Mengembangkan aplikasi android lebih gampang untuk dijadikan *host* API untuk *development*. Karena nggak perlu mengubah file `/etc/hosts` di device android untuk resolve domain lokal.
    

### Cloud Server

* Google Drive x Google Photos / iCloud x iCloud Photos Replacement. Jadi data-data pribadi menjadi lebih aman dan gratis.
    

### Print Server

* Misal ingin *ngeprint*, dapat dilakukan di mana saja asalkan terhubung dengan jaringan rumah. Nggak perlu colok-colok USB printer lagi.
    

### Deployment Sandbox

* Akan berguna kalo nanti diinstal kubernetes cluster dan docker di servernya, untuk belajar DevOps.
    

Banyak kan kegunaannya! Kembali ke topik awal, jadi laptop ini akan digunakan untuk *home server* yang fiturnya sudah kusebutkan tadi.

## Perlengkapan dan Bahan

### PC sebagai server

Untuk PC aku pake laptopku yang rusak tadi. Speknya biasa saja, tapi sudah lumayan juga jaman dulu. Ini speknya :

> Core i3 Sandy Bridge 2.2 Ghz dual core, RAM 4GB, HDD 1TB.
> 
> Server ini bisa diganti pakai Raspberry PI, atau Desktop PC. Terserah ya.

Sebenernya ingin menggunakan Raspberry PI, karena bentuknya kecil dan hemat daya karena pas dihitung-hitung, konsumsi listriknya jika menggunakan Raspberry PI akan 4 kali lebih efisien (15watt) daripada menggunakan laptop (65watt). Tapi kalau menggunakan Raspberry PI, jangan diinstall kubernetes cluster ya, masih belum tau apakah dia mampu atau tidak. 😆

### Router

Untuk router, aku menggunakan router yang terinstall routerOS yang paling murah yaitu MikroTik HAP Lite 2 karena kebutuhannya menurutku yang sangat ringan, jadi tidak perlu yang banyak fitur.

### Koneksi Internet

Cukup menggunakan modem 3g lama yang menganggur dari sewaktu SMP. Kenapa pake 3g ?? Ya, karena 3g dari ISP ini sudah lumayan kencang. Tapi nanti akan *diupgrade* menggunakan modem 4g atau menggunakan internet kabel yaa. Yang penting tujuan-tujuan itu bisa tercapai terlebih dahulu. ISP yang digunakan bebas ya jika menggunakan modem, tapi aku menggunakan Telkomsel By.U.

### Kabel LAN

Yang terpenting juga, kabel LAN nya jangan lupa! Pakai Cat 5 / Cat 5e terserah. Tapi jika kecepatan internet yang dimiliki di atas 100Mbps, maka membutuhkan kabel LAN bertipe Cat 5e atau 6. Untuk gawai yang tidak memiliki port ethernet, beli USB to Ethernet converter juga ya.

### Printer

Ini tidak esensial, jika tidak ingin menggunakan Printer Server. Disini aku mempunyai printer, tapi kondisinya rusak, belum tau apakah akan diperbaiki atau beli baru :weary:. Fitur ini akan ditunda dulu entah sampapi kapan.

## Total Pengeluaran

| # | Item | Harga | Jumlah | Total |
| --- | --- | --- | --- | --- |
| 1 | Laptop | Rp. 0 | 1 | Rp. 0 |
| 2 | Router Mikrotik RB941D | Rp. 304.000 | 1 | Rp. 304.000 |
| 3 | Modem 3G Huawei E173 | Rp. 0 | 1 | Rp. 0 |
| 4 | Lan Straight Cat 5e 1.5m | Rp. 4000 | 2 | Rp. 8.000 |
| 5 | USB to LAN Converter | Rp. 22.000 | 1 | Rp. 22.000 |
|  | **Grand Total** |  |  | **Rp. 342.000** |

*Totalnya cuman Rp. 342.000 kalau mau memanfaatkan barang bekas sepertiku haha.*

## Topologi

Sebelum eksekusi, baiknya direncanakan dulu apakah idenya *feasible* dan memungkinkan untuk direalisasikan. Topologi yang akan aku pakai adalah seperti ini.

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1708873528025/5b883ad7-027d-4aac-9899-8dc4aa85eb1d.jpeg align="center")

> Jadi akan dibuat seperti ini, karena koneksi menggunakan modem, maka server akan digunakan sebagai gateway karena dial-up modem dilakukan di server.
> 
> Kemudian, koneksi internet dari server akan diteruskan ke router dan dibagikan ke host-host yang lain menggunakan wireless ataupun ethernet

## Perangkat Lunak

1. OS Server menggunakan [Ubuntu Server 18.04 LTS](https://ubuntu.com/download/server)
    
2. Perlindungan firewall menggunakan [`ufw`](https://help.ubuntu.com/community/UFW)
    
3. Dial-up Modem menggunakan [`wvdial`](https://github.com/wlach/wvdial)
    
4. Masquerading untuk berbagi koneksi internet ke port ethernet menggunakan [`iptables`](https://help.ubuntu.com/community/IptablesHowTo)
    
5. DNS Server menggunakan [`dnscrypt-proxy`](https://github.com/DNSCrypt/dnscrypt-proxy)
    
6. Web Server menggunakan [`nginx`](https://nginx.org)
    
7. Cloud Server menggunakan [Nextcloud](https://nextcloud.com)
    
8. Containerization menggunakan [Docker](https://docker.com)
    
9. OS Router menggunakan [MikroTIK](https://mikrotik.com/)
    
10. [Winbox](https://mikrotik.com/download/archive) untuk konfigurasi MikroTIK
    
11. Untuk melakukan dial-up modem di background dan juga secara otomatis dapat menggunakan [Supervisor](https://supervisord.org)
    

## Ilustrasi

Sejauh pemakaian 2 minggu, beberapa permasalahan yang sering aku alami:

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1708873535652/9b5e4d6c-6bf0-452f-b4a9-0a4d661e0ea2.jpeg align="center")

1. Koneksi akan tidak bisa digunakan jika salah satu client melakukan download, terlebih jika server sedang update. *Jadi client yang lain nggak kebagian bandwidth dan malah terkesan tidak mendapat koneksi internet*. Masih belum dapat disimpulkan apakah karena modemnya atau ada konfigurasi yang masih belum pas.
    

**UPDATE**

1. Jadi, sekarang aku pake internet provider, karena habis banyak di kuota hehe.
    
2. Sekarang pakai raspberrypi, karena laptop itu benar-benar **sudah mati total** karena iseng pakai DVD ROMnya (tidak tahu hubungan antara DVD ROM dan mati-totalnya). Sekarang jadi benar-benar hemat listrik.
    
3. Karena mikrotiknya ada issue, jadi sekarang ganti pakai router 5Ghz punya xiaomi.
    
4. Karena pake internet provider, aku cuman bisa akses reddit aja, karena netflixnya diblok biar nggak bisa akses hostnya.
    

Intinya, mulai seadanya dulu tidak ada masalah, terus di-*upgrade* pelan-pelan. Tidak semuanya langsung bagus, semuanya perlu proses. Cukup di sini ceritaku. Jadi tunggu ceritaku selanjutnya ya~~ 🙈
