Linode apache2 设置虚拟目录 支持多域名

// June 18th, 2009 // Funny, Linode, Ubuntu

VPS 如果不弄个虚拟目录来支持多域名那么真的是浪费,可怜的Linode.com 相对VPS 现在大部分的Share Hosting 都是支持多域名的, 其实想要自己的VPS支持多域名是非常简单的。 在架设了Apache2后 做一些虚拟目录设置就可以了。

最初呢最好是建立自己的一个用户名,用来管理大部分的文件,也方便以后设置FTP ,等等。

mkdir -p /home/demo/public_html/demo.com/{public,private,log,backup}

用来在demo用户目录中创建一个叫demo.com 域名的目录,直接用域名名字来作为目录名方便管理。

sudo vim /etc/apache2/sites-available/demo.com

创建一个以域名名字为文件名的子网站配置文件, 也是为了方便管理。 可选用自己喜欢的编辑器,这里用了vim。

配置文件的大概内容是:

# domain: demo.com
# public: /home/demo/public_html/demo.com/
 
<VirtualHost *:80>
 
  # Admin email, Server Name (domain name) and any aliases
  ServerAdmin webmas...@demo.com
  ServerName  demo.com
  ServerAlias www.demo.com
 
  # Index file and Document Root (where the public files are located)
  DirectoryIndex index.php
  DocumentRoot /home/demo/public_html/demo.com/public
 
  # Custom log file locations
  LogLevel warn
  ErrorLog  /home/demo/public_html/demo.com/log/error.log
  CustomLog /home/demo/public_html/demo.com/log/access.log combined
 
  ErrorDocument 404 /errors/404.html
  ErrorDocument 403 /errors/403.html
 
        <Directory /home/demo/public_html/demo.com/public/>
                Options Indexes FollowSymLinks
                AllowOverride All
        </Directory>
</VirtualHost>

这个是最基本的配置, 可以根据自己的需要修改, 如果以后需要配置其他服务 同样需要在这边修改。

sudo a2ensite demo.com

demo.com 其实就是配置文件的名字。 在安装了apache2 后就可以直接用 a2ensite 命令。

sudo /etc/init.d/apache2 reload

如果显示无错误的话就可以执行apache reload了。
在demo.com 域名指定了 A 记录到 Linode VPS的 公网IP以后就可以直接访问域名来访问虚拟目录了。 DNS继续可能需要一段时间, 所以在修改A 记录以后可以在本地的host 先指定IP来测试页面。 AllowOverride 这个设置可以让虚拟目录支持.htaccess 的URL重写记录。

1 Comment

  • At 2009.06.25 03:11, AnnaHopn said:

    Everything dynamic and very positively! :)
    Thanks
    AnnaHopn

    (Required)
    (Required, will not be published)