Jak mogę utworzyć strony internetowe w moim katalogu domowym i pozwolić serwerowi internetowemu obsługiwać je w przeglądarce?


9

Niedawno zainstalowałem przeglądarkę internetową Apache w moim Debian Squeeze (używając polecenia taskseli wybierając [ ] Web server). Teraz zaczynam od początku, sudo /etc/init.d/apache2 starta potem przechodzę do przeglądarki i wpisuję, http://localhosta strona „ To działa! ” Pokazuje, że pomyślnie zainstalowałem i uruchomiłem serwer WWW.

Teraz wiem, że plik HTML strony „ To działa! ” Jest już dostępny /var/wwwi jestem przekonany, że jeśli utworzę nowe strony, muszę je włożyć do tego katalogu. Tworzenie stron byłoby łatwe, ale robiąc to, muszę wydawać sudopolecenie za każdym razem, gdy tworzę / edytuję plik w /var/wwwkatalogu.

Chciałbym wiedzieć, jak mogę utworzyć katalog w moim DOMU ~/html/test/index.htmli np. Wyświetlać tę stronę po wpisaniu adresu http://localhost/html/testw adresie przeglądarki?

Odpowiedzi:


6

Jak powiedział Ulrich, możesz to zrobić, włączając userdirmoduł.

W Debianie można to zrobić za pomocą a2enmodnarzędzia, które włącza lub wyłącza moduły Apache. Zobaczyć man a2enmod.

W takim przypadku wystarczy uruchomić

sudo a2enmod userdir

a następnie zrestartuj serwer Apache, aby wprowadzić zmiany. Zauważ, że moduł userdir znajduje się w podstawowym Apache, więc nie musisz instalować niczego dodatkowego. Dla odniesienia znajduje się konfiguracja userdir /etc/apache2/mods-available/userdir.conf.

Wszystko, a2enmodco tutaj robimy, to utworzenie dowiązania symbolicznego z /etc/apache2/mods-enabledkatalogu do plików /etc/apache2/mods-available/{userdir.conf/userdir.load}. Możesz to również zrobić ręcznie. To znaczy

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

Następnie umieść pod wszystkimi materiałami sieciowymi, które chcesz udostępnić ~/public_html, a następnie powinny być dostępne http://servername/~username.


1
Chociaż Ulrich odpowiada prawie tak samo jak to, zaznaczyłem to jako odpowiedź, ponieważ jest bardziej szczegółowe.
Eric

6

Prawdopodobnie szukasz mod_userdir : „Ten moduł umożliwia dostęp do katalogów użytkownika za pomocą składni http://example.com/~user/ ”.

Nie bój się majstrować przy konfiguracji, po prostu wykonaj kopie zapasowe plików konfiguracyjnych i upewnij się, że zapora blokuje apache do świata zewnętrznego.


1
Dzięki @Ulrich Schwarz, myślę, że tego właśnie potrzebuję. Jak mam to skonfigurować? Nie jestem jeszcze zbyt dobrze zaznajomiony z Apache (dopiero teraz go zainstalowałem) i nie wiem, jak postępować zgodnie z twoją sugestią.
Eric

2

Osobiście użyłem dowiązań symbolicznych , w zależności od projektu, albo mieć link wewnątrz, /var/www/albo /var/wwwsam link do jednego z folderów w moim katalogu domowym (na przykład ~/projects/www:). W ten sposób mogę pozbyć się postaci „~”. Czasami jest to również przydatne dla mnie, gdy chcę pokazać coś innej przeglądarce (za pomocą czegoś takiego:) http://253.153.87.231/page.html, a ktoś nie zna się na klawiaturze, więc po prostu nie mógł znaleźć symbolu „~” na klawiaturze (- trochę jak szukanie klucza oznaczonego jako „dowolny”) .

Faheem i Ulrich zapewne zapewnią ci najlepszą i najczęściej zalecaną odpowiedź już w każdym razie (przynajmniej jeśli chodzi o bezpieczeństwo).


To właśnie chcę zrobić, czy to działa dobrze? Czy możesz podać składnię do tworzenia tych łączy?
Menasheh,

0

Teraz możesz to zrobić, zmieniając katalog główny, ale tak naprawdę nie chcesz, a oto dlaczego:

Jeśli atakujący znajdzie lukę w Apache lub w kodzie, może uzyskać dostęp do katalogu głównego. Gdzie są wszystkie twoje rzeczy ...

Katalog główny jest zwykle chroniony, a elementy sterujące powstrzymują atakujących. Twój dom, być może nie tak dobrze zabezpieczony.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.