我已经通过系统安装正常安装了 Ubuntu Server 11.04,其中安装了 LAMP、SAMBA 和 SSH。但我在设置虚拟主机和使系统足够安全以将服务器暴露给网络方面遇到了一些麻烦。
我有点关注本教程迄今为止。
我有 3 个站点,/etc/apache2/sites-available
除了站点名称不同之外,其他都看起来像这样:
<VirtualHost example.com>
ServerAdmin webmaster@localhost
ServerAlias www.edunder.se
DocumentRoot /var/www/sites/example
CustomLog /var/log/apache2/www.example.com-access.log combined
</VirtualHost>
我已经使用命令启用了它们a2ensite
,因此我有符号链接/etc/apache2/sites-enabled
。
我的/etc/hosts
文件有以下几行:
127.0.0.1 localhost
127.0.1.1 Ubuntu.lan Ubuntu
127.0.0.1 localhost.localdomain localhost example.com www.example.com
127.0.0.1 localhost.localdomain localhost example2.com www.example2.com
127.0.0.1 localhost.localdomain localhost example3.com www.example3.com
我只能通过浏览器访问其中一个(我有山猫安装在服务器上用于测试目的)所以我想我还没有正确设置它们:)
我应该如何进行安全且正确的设置?我也使用 MySQL,我认为如何设置 Ubuntu 服务器以便(安全地)通过互联网访问?足以安全地设置 SSH。请帮助我更好地理解 Apache 配置,因为我刚开始设置自己的服务器(我之前只运行过 XAMPP),请就我应该如何设置防火墙提供建议 :D
答案1
您需要告诉 Apache 它应该使用基于名称的虚拟主机,而不是基于 IP。因此将以下内容附加到您的 /etc/apache2/apache2.conf 以定义:
NameVirtualHost ip.address:port
每个虚拟主机应该定义一个端口:
<VirtualHost example.com:80>
答案2
我认为,如果您希望其他计算机能够连接,您还需要添加您的公共 IP。目前,/etc/hosts 中只提到了您的环回。它们还应该包括其他 IP。