Một ngày cuối năm nọ mình được 1 ông em làm bên ngân hàng chia sẻ cho cái server thải của bên đó, và mình quyết định tìm hiểu cách để cài đặt nó thành một con server, cho anh em dev vào đó cho đỡ phải thuê VPS, tháng mất ngót nghét 300k tiền thuê, tiện trải nghiệm việc cài cắm một con máy từ local để làm web server xem nó thế nào? Không nhiều dòng nữa, vào việc thôi.
Chuẩn bị
- 01 cái máy tính, gì cũng được.
- 01 cái usb để cài đặt hệ điều hành.
- Mạng internet
- User và pass cài đặt của cái modem wifi của nhà bạn
Cài đặt
1. Tạo usb cài đặt hệ điều hành cho máy tính, mình thích dùng Ubuntu vì nó giống với các server mình đang dùng cho khách hàng cũng như cho vps dev lúc trước.
Đầu tiên tải hệ điều hành Ubuntu Server tại đây sau khi tải xong về hãy tải phần mềm rufus cho Windows còn hệ điều hành khác thì các bạn cứ Google cho chắc ăn nhé, mình dùng MacOs ( cái usb thì ông em làm sẵn cho rồi )
2. Khởi động máy tính có cắm USB mà bạn đã làm, cài đặt server hệ điều hành cho nó phần cài đặt này các bạn tìm Google nhé, mình không muốn vứt thêm rác lên Internet, đã có người hướng dẫn rồi, mình cũng theo tip mà làm và thành công thì ngồi đây chia sẻ với các bạn link tip ở đây: https://vietnix.vn/bien-may-tinh-thanh-vps-server/
Chọn bước nào phù hợp nhé, ví dụ kết nối máy tính qua dây thì bỏ qua bước setup wifi
3. Cài đặt địa chỉ IP tĩnh cho máy tính, bước này là cần thiết, thậm chí bỏ qua cũng không sao, nhưng nhỡ đâu mỗi lần khởi động lại IP của máy tính bị thay đổi thì lại phải setup lại mệt lắm nên setup ip tĩnh cho nó, một lần rồi thôi, cái này theo tip dưới này nhé, theo tip dưới này đảm bảo thành công 100%
4. Sau khi cài đặt ip tĩnh cho máy tính rồi bạn cần mở port cho cái modem để người ta truy cập từ internet vào, cái này search theo tips của các cụ làm Camera mà làm easy thôi, cụ thể bạn cần đăng ký tài khoản bên trang no-ip.com để add vào phần Dymamic DNS trong cái modem của nhà bạn. Theo mình hiểu thì cái modem nhà mình được cấp địa chỉ IP động ( tức là nó sẽ thay đổi trong tương lai, bao nhiêu lâu thì mình ko rõ ) để tự động cập nhật cái IP này lên 1 domain cụ thể thì mình đăng ký tài khoản ở trang no-ip.com kia nó tự làm việc này cho mình. Tìm xem phần Dynamic DNS ở đâu trong cái modem mà setup nhé.
Tiếp theo bạn phải chọn port forward cho nó hiểu là cái domain này sẽ trỏ tới cụ thể 1 máy tính nào trong mạng LAN của nhà bạn, thì bạn tìm trong phần Firewall Setup của cái modem có phần NAT ( chú ý tắt hết firewall đi nhé, tắt Firewall, SPI, Firewall IPV6)
Để setup phần NAT này thì cũng search Google nhé vì các ông làm camera cũng setup vậy à, chú ý có cái port 80 sẽ không setup được vì nó trùng với port setup của modem, lúc này vào trong phần Maintenance để setup cái http port HTTP web port sang port khác ví dụ 8080 chẳng hạn.
Ok cũng sắp xong rồi còn một bước nữa là cài đặt cái tool của no-ip về để cho thằng này nó nhận máy tính của bạn để nó nhận cấu hình kết nối domain nhé http://www.noip.com/download chọn linux nhé hoặc xem hướng dẫn của nó cho thằng Ubuntu ở đây
Ok xong rồi đấy giờ xem nó work thế nào thôi.
Lỗi hay gặp phải
Trong quá trình setup mình gặp các lỗi nhỏ nhỏ mà nó không theo đúng cái tips hướng dẫn như sau:
systemctl enable noip2.service
mình chạy câu lệnh này không được dẫn đến phải search xem nó ở đâu vì sao lại bịmake not found
vàmissing gcc
cái này thì cứ cài về thôi dùngapt
mà cài đặt- Tắt máy đi xong server ngỏm luôn, là do mình chưa setup ip tĩnh cho con máy chủ, quay lại bước cài đặt máy chủ.
- Lỗi dịch vụ noip2.service không tồn tại xử lý theo cái này
Sử dụng
Mình cài đặt Webserver cho nó dùng EasyEngine như một con server bình thường, có thể tham khảo bài viết Cài đặt web server cho WordPress với một câu lệnh
Tóm tắt
Các bước cần hoàn thiện ( bỏ qua bước chuẩn bị máy tính và usb dây mạng linh tinh )
- Cài hệ điều hành Ubuntu Server
- Cài đặt Dynamic DNS cho modem ( phần dùng tài khoản no-ip.com )
- Cài đặt NAT > Port Forwarding
- Cài đặt Tool cho máy tính để map với domain
- Cài đặt Web Server và hưởng thụ
Update
Bữa nọ mình có setup server cùng ông em nọ, nhưng không thành công do việc NAT niếc khó khăn quá, nên mình quyết định tìm xem có phương án nào khả thi và dễ chịu hơn mà không phải chỉnh sửa thông tin của Modem không? thì thật bất ngờ là có các bạn ạ, chỉ là mình không chịu tìm hiểu cứ lao đầu vào các bước trên 🙂
Bí mật là Cloudflare có cho chúng ta free việc tạo một Tunel để kết nối trực tiếp giữa máy tính của mình, thậm chí là máy tính cá nhân ra ngoài internet với domain riêng của các bạn.Các bạn tìm hiểu thêm ở đây nhé: https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/
Nôm na là bạn chỉ cần có localhost chạy được rồi cài cái này vào thì nó sẽ chạy như một cái server thực thụ ấy, khỏi phải nghĩ tới việc chạy hay cài thêm cái gì nữa. Nếu ko làm được thì nhắn mình nhé mình sẽ lên bài khác.