Các bạn chỉ mình cách tạo server để chạy web (PHP) trên mạng LAN với (Máy mình dùng Ubuntu 14.4)
Hỏi cách tạo server chạy web trên mạng LAN
Thì chỉ đơn giản là config cho server listen 0.0.0.0 host. Có nghĩa là mọi host thôi.
Không cần phải bind address (cái này chủ yếu làm security thôi). Giờ bạn cứ cài vào máy tính của bạn (LAMP + app), sau đó thì gõ kiểu như:
tên_máy -> nếu được cài vào root folder
tên_máy/app/ -> nếu được cài vào sub-folder
có thể thay tên máy bằng IP. Tuy nhiên, nếu dùng IP thì bạn chỉ chạy được 1 app dạng root folder mà thôi.
Xem thêm link sau nhé: http://howtoubuntu.org/how-to-install-lamp-on-ubuntu
Em thấy thì server mặc định sẽ chỉ listen ở 127.0.0.1 nên máy trong mạng nội bộ sẽ không truy cập được
http://httpd.apache.org/docs/current/bind.html
Mặc định là nghe tất cả trên các interface # nhau.
Listen 192.0.2.1:80 <- nghe trên Interface 192.0.2.1, cổng 80, không phải là nghe từ các IP client mà là IP của chính máy đó.
Tại sao phải nghe (bind) theo IP
- Vì 1 computer có nhiều card mạng, đồng thời 1 card mạng cũng có thể set rất nhiều IP khác nhau. Nếu set Apache nghe trên 1 interface như này (khác với Listen *:80), sẽ bảo mật hơn, nếu gói tin bị fake route thì sẽ không thể tới được.
- Bind vào 1 IP để nó routing cũng dễ hơn, ví dụ máy có 2 card mạng: 1 card set là 192.0.2.1, 1 card set là 203.162.23.23, khi mình bind với IP thì gói tin sẽ route vào card số 1 chứ không route vào card 2 nữa.
Còn nếu bạn bind Listen 127.0.0.1:80, tức là bind vào loop interface, nghĩa là chỉ khi nào bạn gõ 127.0.0.1/ten_app thì nó mới trả về response, còn không thì denied (tức là bạn cũng phải ngồi trên máy chủ đó ^^). Cái này cũng có thể áp dụng cho 1 trường hợp làm security, ví dụ app của bạn là webservice và webservice phục vụ cho 1 con app # cũng chạy trên máy đó. Giờ bạn khai báo virtual host và bind IP local vào webservice, khi đó, tất cả các request đến từ bên ngoài sẽ bị chặn lại, chỉ có app gọi trên localhost mới có response.
Thanks anh nhiều . Hóa ra đó giỡ vẫn chưa hiểu rõ cái này