webmin+virtualmin 提供虚拟主机


转自: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" {
        type master;
        file "/var/named/vm.xxx.com.tw.hosts";
        };

 cat vm.xxx.com.tw.hosts
$ttl 38400
vm.xxx.com.tw.       IN      SOA     mail.xxx.com.tw. peter.xxx.com.tw. (
                        1291911449
                        10800
                        3600
                        604800
                        38400 )
                        NS      mail.xxx.com.tw.

因为我想提供我的域名二级域名给虚拟主机的使用者使用在vm.xxx.com.tw下。

如果使用者有自己的IP他可以将www的记录指向如下

其中2010.vm.xxx.com.tw为拥有的一个二级域名,2010就是客户的代号

也是虚拟机建立后自动产生的

zone "2010.vm.xxx.com.tw" {
        type master;
        file "/var/named/2010.vm.xxx.com.tw.hosts";
        allow-transfer {
                127.0.0.1;
                localnets;
                };
        };

 

 cat 2010.vm.xxx.com.tw.hosts
$ttl 38400
      IN      SOA     mail.xxx.com.tw. root.mail.xxx.com.tw. (
                        1291920759
                        10800
                        3600
                        604800
                        38400 )
      IN      NS      mail.xxx.com.tw.
2010.vm.xxx.com.tw.  IN      A       61.221.104.171
www.2010.vm.xxx.com.tw     IN      A       61.221.10.171
ftp.2010.vm.xxx.com.tw     IN      A       61.221.10.171
m.2010.vm.xxx.com.tw.        IN      A       61.221.10.171
localhost.2010.vm.xxx.com.tw.        IN      A       127.0.0.1
webmail.2010.vm.xxx.com.tw.  IN      A       61.221.10.171
admin.2010.vm.xxx.com.tw.    IN      A       61.221.10.171
mail.2010.vm.xxx.com.tw.     IN      A       61.221.10.171
2010.vm.xxx.com.tw.  IN      MX      5 mail.2010.vm.xxx.com.tw.
2010.vm.xxx.com.tw.  IN      TXT     "v=spf1 a mx a:2010.vm.xxx.com.tw ip4                                         :192.168.1.53 ip4:61.221.10.171 ?all"

 

这些解析,请虚拟机的用户将自己的域名解析指到如上左边的即可。

[root@mail 2010]# pwd
/home/2010
[root@mail 2010]# ls
awstats  etc       homes  mail     public_html  webdisk
cgi-bin  fcgi-bin  logs   Maildir  tmp

[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

可以看到详细的访问记录

 

https://2010.vm.xxx.com.tw:10000/

用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  其中有cpu,内存,线程数量设置

     Use hostname supplied by browser

    还有Document root的目录自行指定,以及index文件的指定,

    看来Configure Website权限要拿掉

     

     


    PHP 5 Configuration    /home/sex/etc/php5/php.ini

    也要拿掉

     

    还可以自行增加FTP Users用户

    以及Scheduled Cron Jobs

    这些权限太大,我们需要再简化

     

     

    进行修改等权限过大

    所以默认我将webmin拿掉

    而且ssh的权限也要拿掉

     

    可以通过webmin对用户的权限进行处理

     

    必须要告诉用户其ftp后网页只能传到public_html

    而且其他目录不要删除,以免出错。

     

     

    1.

    点击"创建新用户"

     在"创建新用户"表单中,输入"用户名",口令那儿选择"明文口令"并输入密码即可,所有其它选项全部默认,并点新建即可.该用户名与密码即是FTP上传用户名与密码.(如下图)
    webmin+virtualmin <wbr>提供虚拟主机
    2 添加网站
      Linux下的网站服务是由Apache软件来提供的,所以我们需要在webmin中点击"服务器"-"Apache 服务器"(如下图)
    点击后系统会列出现有的所有虚拟主机,此时我们需要点击"添加虚拟主机"(如下图)

    webmin+virtualmin <wbr>提供虚拟主机





    webmin+virtualmin <wbr>提供虚拟主机

    增加新的绑定域名
      添加虚拟主机默认只能指定一个域名,若您一个网站有多个域名需要绑定时,需添加好网站后按以下步骤操作.
     首先重新进入"Apache 服务器"管理,选中刚才添加的虚拟主机,点击刚才添加的虚拟主机前边的地球图标(如下图)

    webmin+virtualmin <wbr>提供虚拟主机



    webmin+virtualmin <wbr>提供虚拟主机

     在"替代的虚拟服务器名"中将剩下的域名填写进去并点保存即可,每行一个.(如下图)
    webmin+virtualmin <wbr>提供虚拟主机


    不管是添加虚拟主机还是新增绑定域名,保存后并不会立即生效,必须点击右上方的"保存修改"后方可生效(如下图)
    webmin+virtualmin <wbr>提供虚拟主机

    3、新加MySql数据库
      一般PHP网站都会使用一到两个MySQL数据库,一个完整的可使用的数据库实际上由三部分组成:①数据库本身,②登录MySQL系统的用户,③用户与数据库之间的关系。


    webmin+virtualmin <wbr>提供虚拟主机

    webmin+virtualmin <wbr>提供虚拟主机

    webmin+virtualmin <wbr>提供虚拟主机

    webmin+virtualmin <wbr>提供虚拟主机

    webmin+virtualmin <wbr>提供虚拟主机

    webmin+virtualmin <wbr>提供虚拟主机

    webmin+virtualmin <wbr>提供虚拟主机
    在"创建数据库权限"表单中
       "数据库"选择(Selected)刚才新建的数据库名
       "用户名"指定为刚才新建的MySQL用户
       "主机"目前大多数只是localhost


    webmin+virtualmin <wbr>提供虚拟主机

    上传后,将您的域名解析到IP,一个完整的Linux下的网站空间即手工建立成功。

    还是用virtualmin后快很多。

    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值