Làm cách nào để tạo các trang web trong thư mục chính của tôi và để máy chủ web phục vụ chúng trong trình duyệt web của tôi?


9

Gần đây tôi đã cài đặt trình duyệt web Apache trong Debian Squeeze (sử dụng lệnh taskselvà chọn [ ] Web server). Bây giờ tôi nhận được nó để bắt đầu thông qua sudo /etc/init.d/apache2 startvà sau đó tôi vào trình duyệt của mình và nhập vào http://localhostvà trang " Nó hoạt động! " Hiển thị cho biết tôi đã cài đặt và khởi động máy chủ web thành công.

Bây giờ tôi biết rằng tệp HTML cho trang " Nó hoạt động! " /var/wwwVà tôi được tin rằng nếu tôi tạo các trang mới, tôi cần phải nhét chúng vào thư mục này. Tạo các trang sẽ dễ dàng nhưng để làm như vậy, tôi cần phải ra sudolệnh mỗi lần tôi tạo / chỉnh sửa một tệp trong /var/wwwthư mục.

Tôi muốn biết làm thế nào tôi có thể tạo một thư mục trong HOME của tôi, ví dụ như ~/html/test/index.htmltrang đó có hiển thị khi tôi nhập địa chỉ http://localhost/html/testtrong địa chỉ trình duyệt của mình không?

Câu trả lời:


6

Như Ulrich đã nói, bạn có thể làm điều này bằng cách kích hoạt userdirmô-đun.

Trên Debian, điều này có thể được thực hiện bằng cách sử dụng a2enmodtiện ích, cho phép hoặc vô hiệu hóa các mô-đun Apache. Xem man a2enmod.

Trong trường hợp này, bạn chỉ cần chạy

sudo a2enmod userdir

và sau đó khởi động lại máy chủ Apache để thay đổi có hiệu lực. Lưu ý rằng mô-đun userdir nằm trong cơ sở Apache, vì vậy bạn không phải cài đặt thêm bất cứ thứ gì. Để tham khảo cấu hình userdir là trong /etc/apache2/mods-available/userdir.conf.

Tất cả a2enmodđang làm ở đây là tạo ra một liên kết tượng trưng từ /etc/apache2/mods-enabledthư mục đến các tập tin /etc/apache2/mods-available/{userdir.conf/userdir.load}. Bạn cũng có thể làm điều này bằng tay. I E

faheem@orwell:/etc/apache2/mods-enabled$ ls -la userdir.*
lrwxrwxrwx 1 root root 30 Feb  6 03:11 userdir.conf -> ../mods-available/userdir.conf
lrwxrwxrwx 1 root root 30 Feb  6 03:11 userdir.load -> ../mods-available/userdir.load

Sau đó đặt bất kỳ nội dung web nào bạn muốn cung cấp theo ~/public_html, và sau đó nó sẽ được truy cập từ đó http://servername/~username.


1
Mặc dù Ulrich trả lời khá giống như thế này, tôi đánh dấu đây là câu trả lời vì nó chi tiết hơn.
Eric

6

Có lẽ bạn đang tìm kiếm mod_userdir : "Mô-đun này cho phép các thư mục dành riêng cho người dùng được truy cập bằng cú pháp http://example.com/~user/ ."

Đừng sợ làm phiền với cấu hình, chỉ cần sao lưu các tệp cấu hình và đảm bảo tường lửa của bạn chặn apache của bạn với thế giới bên ngoài.


1
Cảm ơn @Ulrich Schwarz, tôi nghĩ đây là thứ tôi cần. Vì vậy, làm thế nào để tôi thiết lập điều này? Tôi chưa quen lắm với Apache (chỉ cài đặt nó bây giờ) và tôi không biết cách tiến hành với đề xuất của bạn.
Eric

2

Cá nhân tôi đã sử dụng các liên kết tượng trưng , tùy thuộc vào dự án hoặc có liên kết bên trong /var/www/hoặc /var/wwwchính nó là liên kết đến một trong các thư mục trong thư mục nhà của tôi (ví dụ ~/projects/www:). Bằng cách đó tôi có thể thoát khỏi nhân vật "~". Đôi khi nó cũng hữu ích đối với tôi, khi tôi muốn hiển thị thứ gì đó cho một số người xem khác (thông qua một cái gì đó như http://253.153.87.231/page.html:) và một người không quen thuộc với bàn phím, vì vậy anh ta không thể tìm thấy biểu tượng "~" từ bàn phím (- giống như tìm kiếm khóa có nhãn "bất kỳ") .

Faheem và Ulrich có thể cung cấp cho bạn câu trả lời tốt nhất và phổ biến nhất được đề xuất dù sao đi nữa (ít nhất, khi có liên quan đến an ninh).


Đây là những gì tôi muốn làm, nó có hoạt động tốt không? Bạn có thể đưa ra cú pháp để tạo các liên kết đó?
Menasheh

0

Bây giờ bạn có thể làm điều này bằng cách thay đổi root web, nhưng bạn thực sự không muốn, và đây là lý do:

Nếu kẻ tấn công tìm thấy lỗ hổng trong Apache hoặc trong mã của bạn, anh ta có thể có quyền truy cập vào thư mục gốc của Web. Đó là nơi tất cả các công cụ của bạn là ...

Web root thường được bảo vệ, với các điều khiển để ngăn chặn những kẻ tấn công thoát ra. Nhà của bạn, có thể không được bảo đảm tốt.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.