vps只有1个固定IP, 架设多个网站, 每个网站对应不同的域名
发表于 : 2010-01-04 18:27
1. 先把各个域名的解析记录指向到vps的IP, 主要是A记录。
2. 我们先来创建一个新网站的目录
SSH登录到VPS
修改密码:
sudo passwd joomlagnu
在/home/joomlagnu/下建立网站目录public_html
链接网站目录到数据库
也可以用新用户登录到VPS(服务器),运行命令 mkdir public_html 创建public_html目录
2. 配置apache2, 指向域名对应的网站目录, 在修改任何程序之前, 都不要忘记先备份需要修改的文件。
ls查看里面有default和default-ssl两个配置文件, 我们主要是对default进行配置, 在网络上很多教程说把所有的网站的配置都放在default这个文档好管理, 我觉得这样反而难管理, 应该每个网站一个配置文件还要明了。
复制default并重命名网站的名字
我打算把新建的网站放在/home/joomlagnu/public_html/目录下, 那么我们修改配置文件joomlagnu的内容如下(域名,域名的别名)
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName joomlagnu.com
ServerAlias http://www.joomlagnu.com
DocumentRoot /home/joomlagnu/public_html
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /home/joomlagnu/public_html/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
配置完了之后启用网站
如果你是把配置文件全部放在default这个已经存在的配置文件, 那么sudo a2ensite joomlagnu这个命令是不用执行的, 因为在sites-enabled已经存在, 也就是已经启用了。如果是每个网站一个配置文件, 那么这个命令是一定要执行的。
重新启动apache2
用ftp传一个文件index.html(文件内容it works!)到/home/joomlagnu/public_html/下测, 在浏览器里输入域名www.joomlagnu.com检验一下, OK! 成功。
总结一下步骤:
ssh上vps
sudo adduser joomlagnu
sudo passwd joomlagnu
退出exit, 换新建的帐号登录ssh, 不然要涉及到新建的public_html的归属问题
cd /home/joomlagnu/
mkdir public_html
退出exit, 换root帐号上ssh, 把新建的网站目录public_html关联到数据库
sudo chown -R www-data:www-data /home/joomlagnu/public_html
cd /etc/apache2/sites-available/
ls
sudo cp defaullt joomlagnu
sudo vi joomlagnu
修改配置文件,添加域名, 别称, 并指向/home/joomlagnu/public_html
sudo a2ensite joomlagnu
sudo /etc/init.d/apache2 reload
输入网站地址访问测试 http://joomlagnu.com; http://www.joomlagnu.com
成功。
然后再设置vsftpd设置, 规定用户只能在自己的目录之下就OK了。
2. 我们先来创建一个新网站的目录
SSH登录到VPS
代码: 全选
sudo adduser joomlagnu #这个命令会在/home/下建立一个新的目录joomlagnu, 这种方法创建的用户是一般用户, 没有root权限, 要创建有root权限的用户要归属分组:sudo useradd -g root joomlagnu
sudo passwd joomlagnu
在/home/joomlagnu/下建立网站目录public_html
代码: 全选
sudo mkdir /home/joomlagnu/public_html
代码: 全选
sudo chown -R www-data:www-data /home/joomlagnu/public_html
2. 配置apache2, 指向域名对应的网站目录, 在修改任何程序之前, 都不要忘记先备份需要修改的文件。
代码: 全选
cd /etc/apache2/sites-available/
复制default并重命名网站的名字
代码: 全选
sudo cp default default_backup #备份default文件
代码: 全选
sudo cp default joomlagnu #joomlagnu是新建的网站
代码: 全选
sudo vi joomlagnu #这是修改配置文件
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName joomlagnu.com
ServerAlias http://www.joomlagnu.com
DocumentRoot /home/joomlagnu/public_html
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /home/joomlagnu/public_html/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
配置完了之后启用网站
代码: 全选
sudo a2ensite joomlagnu #这个命令的作用是在sites-enable下生成一个软链接文件joomlagnu, 也就是启用了这个网站了。
重新启动apache2
代码: 全选
sudo /etc/init.d/apache2 reload
总结一下步骤:
ssh上vps
sudo adduser joomlagnu
sudo passwd joomlagnu
退出exit, 换新建的帐号登录ssh, 不然要涉及到新建的public_html的归属问题
cd /home/joomlagnu/
mkdir public_html
退出exit, 换root帐号上ssh, 把新建的网站目录public_html关联到数据库
sudo chown -R www-data:www-data /home/joomlagnu/public_html
cd /etc/apache2/sites-available/
ls
sudo cp defaullt joomlagnu
sudo vi joomlagnu
修改配置文件,添加域名, 别称, 并指向/home/joomlagnu/public_html
sudo a2ensite joomlagnu
sudo /etc/init.d/apache2 reload
输入网站地址访问测试 http://joomlagnu.com; http://www.joomlagnu.com
成功。
然后再设置vsftpd设置, 规定用户只能在自己的目录之下就OK了。