![如何在我的主目录中创建网页并让 Web 服务器在我的 Web 浏览器中提供这些网页?](https://linux22.com/image/20633/%E5%A6%82%E4%BD%95%E5%9C%A8%E6%88%91%E7%9A%84%E4%B8%BB%E7%9B%AE%E5%BD%95%E4%B8%AD%E5%88%9B%E5%BB%BA%E7%BD%91%E9%A1%B5%E5%B9%B6%E8%AE%A9%20Web%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%9C%A8%E6%88%91%E7%9A%84%20Web%20%E6%B5%8F%E8%A7%88%E5%99%A8%E4%B8%AD%E6%8F%90%E4%BE%9B%E8%BF%99%E4%BA%9B%E7%BD%91%E9%A1%B5%EF%BC%9F.png)
我最近在 Debian Squeeze 中安装了 Apache Web 浏览器(使用命令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
?
答案1
正如 Ulrich 所说,您可以通过启用该userdir
模块来做到这一点。
a2enmod
在 Debian 上,这可以通过使用启用或禁用 Apache 模块的实用程序来完成。看man a2enmod
。
在这种情况下,你只需要运行
sudo a2enmod userdir
然后重新启动Apache服务器以使更改生效。请注意,userdir 模块位于 Apache 基础中,因此您无需安装任何额外的东西。作为参考,userdir 配置位于/etc/apache2/mods-available/userdir.conf
.
这里所做的就是创建一个从目录到文件的a2enmod
符号链接。您也可以手动执行此操作。 IE/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
。
答案2
您可能正在寻找mod_用户目录:“该模块允许使用以下命令访问特定于用户的目录http://example.com/~user/句法。”
不要害怕摆弄配置,只需备份配置文件并确保您的防火墙阻止您的 apache 与外界连接。
答案3
我个人用过符号链接,具体取决于项目内部有链接/var/www/
还是/var/www
本身链接到我的主目录中的文件夹之一(例如:~/projects/www
)。这样我就可以去掉“~”字符。有时它对我也很有用,当我想向其他观看者展示一些东西(通过类似:)http://253.153.87.231/page.html
,而一个人对键盘不太熟悉,所以他无法从键盘上找到“〜”符号(-有点像寻找标有“任何”的钥匙)。
无论如何,Faheem 和 Ulrich 可能已经为您提供了最好和最常推荐的答案(至少在安全方面)。
答案4
现在您可以通过更改 Web 根目录来做到这一点,但您确实不想这样做,原因如下:
如果攻击者在 Apache 或您的代码中发现漏洞,他可能能够访问 Web 根目录。你所有的东西都在那里……
Web 根目录通常受到保护,并具有阻止攻击者爆发的控制措施。你的家可能没有那么安全。