转自:http://blog.sina.com.cn/s/blog_6fb822fa0100o5v5.html
假设的虚拟主机:
1。提供ftp空间用于放数据
2。提供二级域名用于客户的顶级域名的指向
3。提供apache中的php等支持
4。提供如mysql数据库
环境:目前我有固定IP,域名。
[root@mail etc]# pwd
/var/named/chroot/etc
less named.conf有如下部分
zone "vm.xxx.com.tw" {
$ttl 38400
vm.xxx.com.tw.
因为我想提供我的域名二级域名给虚拟主机的使用者使用在vm.xxx.com.tw下。
如果使用者有自己的IP他可以将www的记录指向如下
其中2010.vm.xxx.com.tw为拥有的一个二级域名,2010就是客户的代号
也是虚拟机建立后自动产生的
如
zone "2010.vm.xxx.com.tw" {
$ttl 38400
@
@
2010.vm.xxx.com.tw.
www.2010.vm.xxx.com.tw.
ftp.2010.vm.xxx.com.tw.
m.2010.vm.xxx.com.tw.
localhost.2010.vm.xxx.com.tw.
webmail.2010.vm.xxx.com.tw.
admin.2010.vm.xxx.com.tw.
mail.2010.vm.xxx.com.tw.
2010.vm.xxx.com.tw.
2010.vm.xxx.com.tw.
这些解析,请虚拟机的用户将自己的域名解析指到如上左边的即可。
[root@mail 2010]# pwd
/home/2010
[root@mail 2010]# ls
awstats
cgi-bin
[root@mail 2010]# cat public_html/phpinfo.php
<?PHP
phpinfo();
>
<VirtualHost *:80>
SuexecUserGroup "#528" "#502"
ServerName 2010.vm.xxx.com.tw
ServerAlias www.2010.vm.xxx.com.tw
ServerAlias webmail.2010.vm.xxx.com.tw
ServerAlias admin.2010.vm.xxx.com.tw
DocumentRoot /home/2010/public_html
ErrorLog /var/log/virtualmin/2010.vm.xxx.com.tw_error_log
CustomLog /var/log/virtualmin/2010.vm.xxx.com.tw_access_log combined
ScriptAlias /cgi-bin/ /home/2010/cgi-bin/
ScriptAlias /awstats/ /home/2010/cgi-bin/
DirectoryIndex index.html index.htm index.php index.php4 index.php5
<Directory /home/2010/public_html>
Options -Indexes +IncludesNOEXEC +FollowSymLinks +ExecCGI
allow from all
AllowOverride All
AddHandler fcgid-script .php
AddHandler fcgid-script .php5
FCGIWrapper /home/2010/fcgi-bin/php5.fcgi .php
FCGIWrapper /home/2010/fcgi-bin/php5.fcgi .php5
</Directory>
<Directory /home/2010/cgi-bin>
allow from all
</Directory>
RewriteEngine on
RewriteCond %{HTTP_HOST} =webmail.2010.vm.xxx.com.tw
RewriteRule ^(.*) https://2010.vm.xxx.com.tw:20000/ [R]
RewriteCond %{HTTP_HOST} =admin.2010.vm.excell.com.tw
RewriteRule ^(.*) https://2010.vm.xxx.com.tw:10000/ [R]
RemoveHandler .php
RemoveHandler .php5
IPCCommTimeout 31
<Files awstats.pl>
AuthName "2010.vm.xxx.com.tw statistics"
AuthType Basic
AuthUserFile /home/2010/.awstats-htpasswd
require valid-user
</Files>
</VirtualHost>
http://2010.vm.xxx.com.tw/phpinfo.php
网页即可。
http://2010.vm.excell.com.tw/cgi-bin/awstats.pl
可以看到详细的访问记录
用2010用户登录可以进行本虚拟机下的mysql等
用其它用户登录也可进行收发邮件。
当然也可以利用服务器上安装的openwebmail或其他的webmail来让其他用户进行收发。
网上别人申请都是及时生效,而且一个用户可能会有多个虚拟主机。
那么是如何实现的呢,不可能每一个用户都用手工实现吧
我们可以这样
1。安装webmin
2。安装Virtualmin
- 管理員用戶 - 該虛擬服務器的管理員用戶和用戶組都將被刪除。
- 用戶主目錄 - 該虛擬服務器的用戶主目錄,包含所有網站和其他文件,都將被刪除。
- BIND DNS域 - 域中的所有DNS記錄和BIND選項都將被刪除。
- 域郵件 - 郵件服務器不再接收來自這個域的郵件。
- Apache網站 - 虛擬主機中的所有Apache指令都將被刪除。
- MySQL數據庫 - 所有MySQL數據庫,表格,MySQL賬號都將被刪除。
- Webmin賬號 - 該虛擬服務器的Webmin用戶都將被刪除。
- AWstats reporting - Scheduled AWstats reporting will be disabled, and its configuration deleted
- SQLite Databases - All SQLite databases owned by this virtual server will be deleted.
- Mail aliases - 4 mail aliases will be deleted.
当我要删除虚拟机时候的提示,说明我提供了如上的功能。
可是当我删除时webmin反应异常,我将webmin进程关掉再service webmin start就好了
如果要对外应用我们可以简化
Apache網站
MySQL數據庫
ProFTPd服務器
Webmin賬號
新增虚拟机为以下域名为假设
域名 | |
描述 | |
管理員密碼 | |
服務器配置模板 | |
Account plan | |
管理員用戶名 |
正在創建管理員用戶組sex ..
.. 已完成
正在創建管理員用戶sex ..
.. 已完成
Creating aliases for administration user ..
.. 已完成
Adding administration user to groups ..
.. 已完成
正在創建主目錄 ..
.. 已完成
Creating mailbox for administration user ..
.. 已完成
正在添加新的虛擬網站 ..
.. 已完成
正在將Apache用戶apache添加到服務器組 ..
.. 已完成
Performing other Apache configuration ..
.. 已完成
正在創建MySQL賬號..
.. 已完成
正在創建MySQL數據庫sex ..
.. 已完成
正在創建Webmin用戶..
.. 已完成
正在應用web服務器配置 ..
.. 已完成
正在重新載入Webmin ..
.. 已完成
正在保存服務器詳細信息..
.. 已完成
域名 | sex.cn |
管理員用戶名 | sex |
管理員用戶組 | sex |
創建于 | 19/十二月/2010 11:35由 root 創建 |
用戶主目錄 | /home/sex |
我用
http://2010.vm.xxx.com.tw:10000 我用sex用户登录,
尽然可以对
Configure Website
还有Document root的目录自行指定,以及index文件的指定,
看来Configure Website权限要拿掉
PHP 5 Configuration
也要拿掉
还可以自行增加FTP Users用户
以及Scheduled Cron Jobs
这些权限太大,我们需要再简化
进行修改等权限过大
所以默认我将webmin拿掉
而且ssh的权限也要拿掉
可以通过webmin对用户的权限进行处理
必须要告诉用户其ftp后网页只能传到public_html
而且其他目录不要删除,以免出错。
1.
点击"创建新用户"
2 添加网站
点击后系统会列出现有的所有虚拟主机,此时我们需要点击"添加虚拟主机"(如下图)
增加新的绑定域名
首先重新进入"Apache 服务器"管理,选中刚才添加的虚拟主机,点击刚才添加的虚拟主机前边的地球图标(如下图)
不管是添加虚拟主机还是新增绑定域名,保存后并不会立即生效,必须点击右上方的"保存修改"后方可生效(如下图)
3、新加MySql数据库
在"创建数据库权限"表单中
上传后,将您的域名解析到IP,一个完整的Linux下的网站空间即手工建立成功。
还是用virtualmin后快很多。