Hướng dẫn tạo server tại nhà

Có website chỉ dành riêng cho các máy tính trong hệ thống mạng nội bộ truy cập để làm việc hoặc chỉ dùng để phổ biến thông tin nội bộ. Bài viết này sẽ hướng dẫn cách tạo server để truy cập trang web trong mạng nội bộ trong hệ thống mạng nội bộ sử dụng hệ điều hành WindowsXP. Hãy cùng tham khảo nhé

Web server là gì?

Trước khi tìm hiểu cách tạo server để truy cập trang web bạn cần biết web server là gì. Web server hay là máy chủ web, trong đó được kết nối mạng máy tính mở rộng. Máy chủ web được cài đặt các chương trình để phục vụ ứng dụng web, bao gồm dữ liệu và nắm quyền quản lý. Web server lấy thông tin requess từ trình duyệt web và gửi phần hồi tới máy khách thông qua HTTP hoặc giao thức khác.

Về mặt phần cứng

Web server lưu trữ các file thành phần tạo nên một website (ví dụ: HTML, images, CSS, và file javacript...) và truyền tải chúng tới người dùng cuối.

Web server được kết nối đến internet và truy cập thông qua một domain giống như mozilla.org.

Về mặt phần mềm

Web server kiểm soát người dùng web truy cập đến file host tại tối thiểu một HTTP server. Một HTTP server là một phần của phần mềm nó hiểu là URLs và HTTP. Bất cứ một trình duyệt nào cần một file host trên một web server, trình duyệt đó sẽ request file đó thông qua HTTP. Khi một yêu cầu được gửi đến địa chỉ web server đúng thì HTTP server gửi trở lại một yêu cầu thông qua HTTP.

Để công khai một trang web

Một web server tĩnh hay bao gồm một máy tính với một HTTP server. Đó được gọi đó là web server tĩnh vì web server gửi cái file không hề thay đổi của nó đến trình duyệt của người dùng.

Một web server động bao gồm một web server tĩnh cùng với các phần mềm mở rộng của chúng, nhìn chung nhất đó là các application server và databases. Đó được gọi là web động vì application server update các host file trước khi gửi nó về trình duyệt của người dùng thông qua HTTP server.

Cách tạo server để truy cập trang web trong mạng nội bộ

Thiết lập máy chủ (Server)

- Kết nối mạng các máy tính với nhau sau đó thiết lập IP cố định cho tất cả các máy. Chọn một máy trong hệ thống mạng để làm server và cài đặt chương trình WAMP5 trên máy đó.

Hướng dẫn tạo server tại nhà

- Bắt đầu cài đặt website đã có sẵn vào thư mục web gốc của WAMP5.

- Khởi động chương trình WAMP5, nhấn chuột chọn vào biểu tượng của WAMP5 nằm ở khay hệ thống và nhấn vào Put Online, sau khi được chọn sẽ chuyển thành Put Offline và lúc này sẽ có thông báo "... - Server Online".

- Xác định địa chỉ IP của máy chủ , bạn có thể nhấn nút phải chuột vào biểu tượng có hình 2 máy nối mạng nằm ở khay hệ thống , nhấn vào Status và chuyển qua Tab Support để xem để xem lại.

Thiết lập các máy trạm:

- Tại các máy trạm còn lại, truy cập vào thư mục WINDOWS -> system32 -> drivers -> etc và nhấp đúp chuột vào tập tin hosts.

Hướng dẫn tạo server tại nhà

- Xuất hiện của sổ chọn chương trình để mở, chọn notepad và nhấn Ok để mở.

- Đi đến dòng cuối cùng của tập tin và nhập địa chỉ IP của máy chủ vào, nhấn nút Tab trên bàn phím để cách khoảng và nhập tiếp tên miền của trang web. Sau khi nhập xong thì lưu và đóng tập tin hosts lại.

- Thay đổi tập tin hosts tương tự như trên với tất cả các máy còn lại.

- Ở các máy trạm, mở trình duyệt Web và nhập mywebdomain.com hoặc http://mywebdomain.com vào dòng tìm kiếm địa chỉ của trình duyệt, sau khi đã thực hiện đầy đủ các bước hướng dẫn trên thì lúc này giao diện của trang web sẽ xuất hiện trong cửa sổ của trình duyệt.

Lưu ý:

Tên miền là tên tùy ý chọn nhưng không nên đặt tên miền cho trang web trùng với bất cứ tên miền nào đã có, nếu đặt trùng tên thì sẽ không truy cập được vào trang web có tên đó.

Nếu muốn truy cập trang web từ máy chủ bằng tên miền đã đặt như trên thì phải sửa lại tập tin hosts trên máy này giống như khi làm trên các máy trạm.

Các liên kết trong trang web và các đường dẫn đến các tập tin, hình ảnh,... đều nên sử dụng địa chỉ tương đối nếu không có thể sẽ bị lỗi khi nhấn vào liên kết hoặc không hiển thị được các hình ảnh.

Nếu trên máy chủ có cài đặt chương trình FireWall thì phải tắt chương trình này đi hoặc thiết lập thông số để cho phép các máy trạm truy cập vào được.

Kết luận

Thông qua những thông tin mà bài viết trên đây cung cấp, hy vọng giúp bạn có thể thực hiện được cách tạo server để truy cập trang web trong mạng nội bộ. Mọi thắc mắc vui lòng liên hệ hotline: 19001903 Chúc các bạn thành công.

Đối với các bạn web dev thì server hay VPS đã là khái niệm không còn xa lạ nữa, thế nhưng đã bao giờ bạn nghĩ đến việc dựng một server riêng tại nhà để test code hay vọc vạch chưa? Trong bài viết này mình sẽ hướng dẫn chi tiết nhất cách để Dựng server riêng tại nhà dùng làm VPS cá nhân.

Hướng dẫn tạo server tại nhà
Hướng dẫn tự dụng server riêng tại nhà

Yêu cầu trước khi thực hiện

  • Về kiến thức: Không cần phải biết nhiều cái năng cao nhưng về cơ bản là phải có
    • Về domain, hosting
    • Biết đôi chút về modem đang xài ở nhà.
    • Sử dụng hệ điều hành linux
    • Cách thức kết nối SSH
    • Biết sử dụng dịch vụ của Cloudflare.com
    • Biết tạo USB boot.
    • Một chút tiếng Anh càng tốt.
  • Về vật chất ????: Không có thì không được nhé, không xịn thì cùi cùi cũng được
    • 1 cái USB tối thiểu 4GB để làm USB cài đặt HĐH (có thể không cần, nếu dùng máy ảo)
    • 1 cái máy tính, laptop gì cũng được miễn là có khả năng kết nối mạng. Dùng làm server.

Tại đây mình sẽ hướng dẫn các bạn chi tiết nhất để tự xây dựng server riêng “tại gia” từ việc cài hệ điều hành, cài panel quản trị, NAT port cho server (cho phép truy cập server từ xa), làm sao để tự cập nhật IP động cho tên miền.

Mình xin nói thêm về IP động của modem, có nghĩa là mỗi lần nhà bạn cúp điện modem mất nguồn hay bị đứt cáp quang lúc modem kết nối lại sẽ được cấp một IP mới. Như vậy domain bạn đang trỏ về IP sẽ không còn vào được nữa, thay vì làm thủ công phải truy cập trang quản lí và trỏ IP mới thì mình sẽ hướng dẫn bạn làm tự động.

Nếu có đầu tư các bạn có thể tham khảo dịch vụ IP tĩnh của các nhà mạng với giá khoảng 200k/tháng. Dùng cái này thì bỏ được bước cuối 😀

Chuẩn bị các file cần thiết

Hệ điều hành: Bạn có thể sử dụng CentOS, Ubuntu Server, Fedora,…. tuy nhiên trong bài này mình sẽ cài Ubuntu Server.

  • Ubuntu Server 16.04 LTS: https://releases.ubuntu.com/16.04
  • Ubuntu Server 18.04 LTS: https://releases.ubuntu.com/18.04
  • Ubuntu Server 20.04 LTS: https://releases.ubuntu.com/20.04
  • CentOS 7, 8: https://www.centos.org/download
  • Fedora Server: https://getfedora.org/en/server/download

Công cụ tạo USB boot: https://rufus.ie (mình hay dùng thằng này do nó đơn giản dễ dùng)

Panel cho VPS: Các bạn có thể sử dụng các Panel trả phí để được hỗ trợ tốt hơn và bảo mật cao hơn. Tuy nhiên, cái này mình tạo để vọc vạch nên sử dụng hang “chùa” là được rồi.

Trong bài này mình sẽ sử dụng Cyberpanel: https://cyberpanel.net

Các panel miễn phí khác: https://www.aapanel.com, https://www.webmin.com, http://www.sentora.org

Cài đặt hệ điều hành Ubuntu Server

Mình bỏ qua bước tạo USB boot do cái này chắc hẳn ai cũng từng làm rồi 😀

Đầu tiên, khởi động máy và boot vào usb bạn đã tạo. Chọn ngôn ngữ English > Enter.

Hướng dẫn tạo server tại nhà
Chọn ngôn ngữ

Lúc này bạn chờ một lát sẽ có thêm của sổ chọn ngôn ngữ, cái này chọn tiếp English rồi Enter. Enter thêm lần nữa đến bước Network connections…

Tại đây bạn nên cắm dây mạng hoặc kết nối Wifi trước để nó nhận được IP từ modem luôn, khỏi phải cấu hình thủ công.

Hướng dẫn tạo server tại nhà
Đã nhận IP

Tiếp theo, Config proxy, Config Ubuntu Archive server…. Enter để qua bước. Qua Guided Storage config cứ để mặc định nếu bạn có 1 ổ cứng trong máy, nếu có nhiều hơn thì chỉ việc chọn cái bạn cần cài HĐH.

Hướng dẫn tạo server tại nhà
Chọn ổ cứng lưu HĐH

Đến bước xác nhận chọn Done.

Kế đến là nhập các thông tin cho server.

  • Your name: Nhập tên tùy ý, không nhập ký tự đặt biệt
  • Your server’s name: Nhập tên server viết liền không dấu
  • Pick a username: Tên đăng nhập quản trị server, viết liền không dấu, không nhập chữ admin
  • Password: Mật khẩu đăng nhập server, nhập xong nhớ nhé.
    Hướng dẫn tạo server tại nhà
    Nhập thông tin cho server

Phần SSH Setup các bạn nhớ tick vào cài đặt (dùng dấu cách trên bàn phím) rồi tiếp tục nhé.

Hướng dẫn tạo server tại nhà
Cài đặt SSH

Qua phần Feature server snap các bạn không cần quan tâm, chọn Done để bắt đầu cài đặt Ubuntu Server vào máy.

Quá trình cài đặt này diễn ra khoảng 15 phút hơn, sau khi cài đặt thành công chọn Reboot Now để khởi động lại máy (nhớ rút USB ra).

Hướng dẫn tạo server tại nhà
Cài đặt hoàn tất

Cài đặt Cyber Panel lên server

Ở bước này các bạn có thể sử dụng màn hình và bàn phím đang gắn vào máy server để gõ hoặc bỏ qua một bên và SSH vào server để tiện copy – paste nhé.

IP của server nằm ở bước đầu tiên trong quá trình cài đặt HĐH đó, nếu quên thì vào modem xem lại mục DHCP Info hoặc cài thêm net-tools vào bằng lệnh

sudo apt net-tools

Gõ lệnh này để xem IP card mạng đang dùng

ifconfig

Hướng dẫn tạo server tại nhà
IP của Server

Nếu báo lỗi thì cài thêm net-tools bằng lệnh:

ifconfig

0 sau đó gõ lại nhé.

Trong bài này mình sẽ SSH vào server để cài đặt, các bạn có thể sử dụng Putty để SSH hoặc bất kỳ công cụ nào bạn biết.

Sau khi SSH vào rồi, bạn gõ lệnh sudo để cấp quyền root cài đặt Cyber Panel.

sudo su -

Dán lệnh cài đặt Cyber Panel vào

sh <(curl https://cyberpanel.net/install.sh || wget -O - https://cyberpanel.net/install.sh)

Đợi một lát, chọn số 1 để cài đặt.

Hướng dẫn tạo server tại nhà
Chọn 1: Install CyberPanel.

Tiếp đến, chọn 1 luôn nhé.

Hướng dẫn tạo server tại nhà
Chọn 1: Install Cyberpanel with OpenLightSpeed

Các bước tiếp theo bạn chọn theo mặc định

  • Install PowerDNS, Postfix, Pure-FTPd… chọn Y
  • Do you want to setup Remote MySQL… chọn N
  • Chọn phiên bản MySQL…. Enter để cài bản mới nhất
  • Please choose default admin password 1234567 …. Enter để cài mật khẩu mặt định (có thể đổi sau) hoặc nhập mật khẩu của bạn rồi Enter.
  • Install Memcached… chọn N (có thể cài sau)
  • Install Redis… chọn N như Memcached.
  • Install Watchdog… chọn Y theo mặc định.

Chờ quá trình cài đặt diễn ra và hoàn tất, bạn sẽ nhận được thông tin về panel như bên dưới, nếu không nhớ thì có thể copy và lưu lại đâu đó.

Hướng dẫn tạo server tại nhà
Thông tin đăng nhập CyberPanel

Ở chỗ visit: trong hình là IP của bạn ngoài môi trường internet, bây giờ bạn chưa nat port ra thì chưa vào được. Vì thế, bạn cần thay đổi IP thành IP cục bộ (IP nãy giờ SSH dô ấy).

Đến đây thì các bạn vào tạo website mới trước để tí trỏ IP về nhé.

NAT Port cho server

NAT Port hiểu nôm na là bạn sẽ mở các cổng trên server để bên ngoài có thể truy cập vào, đồng nghĩa với việc bạn trỏ domain về IP nhà bạn thì domain đó mới truy cập được.

NAT Port trên các modem: Cái này tham khảo thôi không phải modem nào cũng như nhau và để truy cập được các cài đặt này bạn cần biết tài khoản admin đăng nhập modem nữa nhé (không có thì xin nhà mạng).

  • VNPT: Advenced Feature > NAT > DMZ Host
  • Viettel: Advenced Setup > Application > DMZ Host
  • TP-Link: Forwaring > DMZ

Như dưới đây mình thực hiện Nat toàn bộ port trên IP của con server mới cài ra ngoài internet.

Hướng dẫn tạo server tại nhà
NAT port cho server tại nhà

Bước này chỉ đơn giản vậy thôi, đến đây thì bạn thử dùng 4G truy cập vào Cyber Panel thông qua IP Wan trong phần thông tin lúc cài đặt xem được chưa nhé, nếu được là bạn đã thành công.

Tự động cập nhật IP động cho tên miền

Như mình đã nói ở trên, mỗi khi IP modem nhà bạn thay đổi thì bạn cần phải vào cập nhật lại IP mới. Nếu bạn không có ở nhà thì cũng chẳng tài nào biết ai mới là bao nhiêu.

Vậy nên, cách sau đây sẽ giúp bạn tự động hóa việc cập nhật IP mới cho tên miền. Ở đây bạn chuyển tên miền về Cloudflare nhé.

[!] Update: Cách mới, do cách cũ source không còn tương thích nhiều

1. Lấy API Token cloudflare tại đây: https://dash.cloudflare.com/profile/api-tokens

Việc lấy token này sẽ sử dụng cho quá trình cập nhật ip của domain.

2. SSH vào server truy cập thư mục user

cd ~
git clone https://github.com/timothymiller/cloudflare-ddns.git
cd cloudflare-ddns
cp config-example.json config.json

3. Sử dụng nano sửa file config.js

nano config.js

Cấu trúc file config.js như sau

{  
  "cloudflare": [  
    {  
      "authentication": {  
        "api_token": "api_token bạn đã lấy ở 
# 1",  
        "api_key": {  
          "api_key": "api_key ko cần sửa",  
          "account_email": "your_email không cần sửa"  
        }  
      },  
      "zone_id": "tên miền bạn muốn cập nhật, vd: tienich.xyz",  
      "subdomains": [  
        {  
          "name": "",  
          "proxied": false  
        },  
        {  
          "name": "tên miền con, ví dụ: m.tienich.xyz, không có thì bỏ trống",  
          "proxied": false  
        }  
      ]  
    }  
  ],  
  "a": true,  
  "aaaa": true,  
  "purgeUnknownRecords": false,  
  "ttl": 300  
}

Giải thích một xíu

  • “api_token”: API token của cloudflare lấy ở bước 1, nếu dùng cái này thì để trống api_key
  • “zone_id”: nhập domain bạn muốn cập nhật
  • “subdomains”: không dùng thì để nguyên
  • “a”: true -> cập nhật ipv4
  • “aaaa”: true -> cập nhật ipv6

Chỉnh sửa xong thì Ctrl+S và Ctrl+X để thoát nano.

4. Chỉnh sửa cron job cho chạy tự động. Gõ lệnh sau:

crontab -e

Trong giao diện chỉnh sửa crontab, bạn thêm dòng này vào cuối và lưu lại. Dòng này mang ý nghĩa là sau 5 phút sẽ update IP một lần, các bạn có thể thay đổi theo ý thích nhé.

*/5 * * * * /home/your_username_here/cloudflare-ddns/start-sync.sh

* Cách cũ

Bước 1: SSH vào server nếu đã thoát. Gõ lần lượt các lện sau (Nguồn: https://github.com/LINKIWI/cloudflare-ddns-client)

git clone https://github.com/LINKIWI/cloudflare-ddns-client.git
cd cloudflare-ddns-client
sudo make install

Hướng dẫn tạo server tại nhà
Gõ lệnh cuối bị lỗi như thế này.

Nếu gõ lệnh cuối và gặp lỗi như hình thì các bạn gõ thêm lệnh này. Sau đó gõ lại lệnh cuối ở trên.

ifconfig

1

Bước 2: Lấy API Key của Cloudflare dùng cho việc cập nhật IP tại đây: https://dash.cloudflare.com/profile/api-tokens. Bước này nếu chưa rành thì các bạn tra Google thêm nhé, cũng đơn giản thôi.

Bước 3: Quay lại SSH gõ tiếp

ifconfig

2

Bước 4: Nhập các thông tin cho cấu hình cloudflare-ddns

  • Choose [T]oken or [K]ey: chọn chữ K rồi Enter.
  • Email: email đăng nhập cloudflare của bạn
  • API Key: dán API Key đã lấy từ bước 2 vào.
  • Comma-delimited domains: nhập domain cần cập nhật IP vào, nhiều domain thì cách nhau bằng dấu chấm phẩy (,)

Bước 5: Khi nhận được thông báo Configuration file written…. successfully. Gõ tiếp lệnh sau để cập nhật IP vào domain của bạn

ifconfig

3

Hướng dẫn tạo server tại nhà
Đã cập nhật IP cho DNS trên Cloudflare.

Bước 6: Thêm cron job tự động cập nhật IP, gõ lệnh sau

ifconfig

4

Trong giao diện chỉnh sửa crontab, bạn thêm dòng này vào cuối và lưu lại. Dòng này mang ý nghia là sau 5 phút sẽ update IP một lần, các bạn có thể thay đổi theo ý thích nhé.

ifconfig

5

Bước 7: Khởi động lại server.

Video hướng dẫn chi tiết

Mình cũng có làm một video về quá trình thực hiện các bước trên, do quá trình thu âm lỗi và mình lòng tiếng vào sau nên nghe không hay lắm. Các bạn thông cảm nhé!

Hướng dẫn tạo server tại nhà
Hướng dẫn tạo server tại nhà

Lời kết

Như vậy là mình đã hướng dẫn các bạn các bước chi tiết nhất để xây dựng một server riêng tại nhà phục vụ cho việc nghiêng cứu và vọc vạch rồi. Về thực tế bạn có thể dùng server này để chạy các web demo cho khác hàng hoặc “sịn” hơn là dùng để làm VPS chính cho các web của bạn cũng được. Tuy nhiên để web hoạt động suông sẽ thì bạn phải tính đến việc tích điện dự phòng cho server tránh trường hợp cúp điện nữa.

Trong bài này có nhiều phần và ở các phần bạn có thể vận dùng vào các như cầu khác ngoài thực tế chứ không chỉ để dựng server riêng đâu nha.

Cảm ơn các bạn đã quan tâm. Nếu có khó khăn gì hãy comment bên dưới để mình giúp đỡ nếu trong khả năng nhé. Chúc bạn thành công.