Як я можу створити веб-сторінки у своєму домашньому каталозі та чи веб-сервер обслуговуватиме їх у своєму веб-браузері?


9

Нещодавно я встановив веб-браузер Apache у своєму Debian Squeeze (за допомогою команд taskselта вибору [ ] Web server). Тепер я запускаю його, sudo /etc/init.d/apache2 startа потім переходжу до свого браузера і ввожу сторінку, http://localhostі на екрані з'являється сторінка " Це працює! ", Що вказує на те, що я встановив і запустив веб-сервер успішно.

Тепер я знаю, що HTML-файл для сторінки " Це працює! " Є, /var/wwwі мене припускають вважати, що якщо я створюю нові сторінки, мені потрібно вкласти їх у цей каталог. Створення сторінок було б простим, але при цьому мені потрібно видавати sudoкоманду щоразу, коли я створюю / редагую файл у /var/wwwкаталозі.

Мені хотілося б знати, як я можу створити каталог у своєму ГОЛОВНОМ, наприклад, ~/html/test/index.htmlі чи відображатиметься ця сторінка, коли я вводжу адресу http://localhost/html/testу своїй адресі браузера?

Відповіді:


6

Як сказав Ульріх, ви можете зробити це, включивши userdirмодуль.

У Debian це можна зробити за допомогою a2enmodутиліти, яка дозволяє або вимикає модулі Apache. Див man a2enmod.

У цьому випадку вам просто потрібно бігти

sudo a2enmod userdir

а потім перезапустіть сервер Apache, щоб зміни вступили в силу. Зауважте, що модуль userdir знаходиться в базовій версії Apache, тому не потрібно встановлювати нічого зайвого. Для довідки перебуває конфігурація userdir /etc/apache2/mods-available/userdir.conf.

Все a2enmodце робить тут створює символічне посилання з /etc/apache2/mods-enabledкаталогу з файлами /etc/apache2/mods-available/{userdir.conf/userdir.load}. Ви також можете це зробити вручну. Тобто

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

Потім помістіть усі веб-речі, які ви хочете зробити доступними ~/public_html, і тоді це має бути доступним http://servername/~username.


1
Хоча Ульріх відповідає майже так само, як це, я поставив це як відповідь, тому що він більш детальний.
Ерік

6

Ви, напевно, шукаєте mod_userdir : "Цей модуль дозволяє отримати доступ до конкретних каталогів, використовуючи синтаксис http://example.com/~user/ ."

Не бійтеся спіткнутися з конфігурацією, просто створіть резервні копії файлів конфігурацій і переконайтеся, що ваш брандмауер блокує ваш апарат у зовнішній світ.


1
Дякую @Ulrich Schwarz, я думаю, що це те, що мені потрібно. Отже, як я це налаштував? Я ще не дуже добре знайомий з Apache (встановлено лише зараз) і не знаю, як діяти з вашою пропозицією.
Ерік

2

Особисто я використовував символічні посилання , залежно від того, чи проект має посилання всередині, /var/www/або /var/wwwсам посилання на одну з папок у моєму домашньому каталозі (наприклад:~/projects/www :). Таким чином я можу позбутися характеру "~". Іноді це також корисно для мене, коли я хочу щось показати іншому глядачеві (через щось на зразок http://253.153.87.231/page.html:), і той не такий знайомий з клавіатурою, тому він просто не міг знайти символ "~" з клавіатури (- якось, як шукати ключ із написом "будь-який") .

Фахім і Ульріх, напевно, вважають вас найкращою і найчастіше рекомендованою відповіддю вже в будь-якому випадку (принаймні, якщо мова йде про безпеку).


Це те, що я хочу зробити, чи добре це працює? Чи можете ви надати синтаксис для створення цих посилань?
Менашех

0

Тепер ви можете це зробити, змінивши веб-корінь, але ви цього не хочете, і ось чому:

Якщо зловмисник виявить вразливість у Apache або у вашому коді, він може отримати доступ до веб-кореня. Там, де всі ваші речі ...

Веб-корінь, як правило, захищений, з контролем, щоб зупинити зловмисники. Ваш будинок, можливо, не дуже добре забезпечений.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.