当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 11 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : Ubuntu Server 安装 IspCP Omega 虚拟主机管理平台系统
帖子发表于 : 2009-04-19 20:16 
头像

注册: 2006-03-10 11:10
帖子: 66
地址: 广东 深圳
送出感谢: 0 次
接收感谢: 0 次
IspCP Omega 简单介绍:
IspCP 是作为另一款开源虚拟主机管理系统 VHCS2 的替代产品,采用 Apache2+PHP5(fastcgi模式,支持每个虚机独立的php.ini)+MySQL5(提供内置的 phpmyadmin) 提供 Web 服务(也支持传统的 CGI),FTP 采用 Proftpd(也支持 webftp 功能),邮件是 postfix+courier+squirrermail,和 IspCP 管理平台(PHP 代码,支持管理员、代理商、虚拟主机用户三级用户,相互之间可以自由切换,自由增加子域名、FTP、MySQL、Mail 账号),另外对于每个虚拟主机都有独立的每天完整备份机制(可以用 FTP 下载)。

参考网站和官方文档:
http://isp-control.net/
http://www.isp-control.net/documentatio ... ion/ubuntu

实测环境:
Ubuntu Server 8.04.2 hardy
最好是使用全新安装的系统。

安装前的准备工作:
升级系统,直接以 root 身份来执行:
代码:
sudo -s
apt-get update && apt-get dist-upgrade

然后,清理一下系统:
代码:
apt-get remove ppp pppconfig pppoeconf ubuntu-standard
update-inetd --remove daytime
update-inetd --remove telnet
update-inetd --remove time
update-inetd --remove finger
update-inetd --remove talk
update-inetd --remove ntalk
update-inetd --remove ftp
update-inetd --remove discard
apt-get autoremove
dpkg -l | grep ^rc | awk '{print $2}' | xargs dpkg -P
aptitude purge ~ilinux-image-.*\(\!`uname -r`\)


安装 ispcp 需要的软件包
下载解压 ispcp:
代码:
cd /root
wget http://sourceforge.net/project/downloading.php?group_id=189485&filename=ispcp-omega-1.0.0.tar.bz2
tar xjf ispcp-omega-1.0.0.tar.bz2
cd ./ispcp-omega-1.0.0

在进行下一步之前确认下 ubuntu 的版本:
代码:
cat /etc/issue

根据版本选择具体的脚本,
8.04:
代码:
apt-get install $(cat ./docs/Ubuntu/ubuntu-packages-hardy)

8.10:
代码:
apt-get install $(cat ./docs/Ubuntu/ubuntu-packages-interpid)

建议系统已经安装相关软件包的,使用 apt-get remove 替换上面的代码先卸载,并清除配置文件。一定要先备份相关配置和数据。
对于 courier 的配置,选择“no”。
postfix 选择“Internet site”,然后填“root”。接下来的域是在安装系统时填写的,最好不要用未来准备使用的域名(否则收不到邮件,因为系统接管了,不能作为虚拟域)。最后选择“no”。
proftpd 选择“Standalone”即可。
rootkithunter 选择两个“Yes”。
这些配置不一定全会设置,看之前是否有安装过。

配置安装脚本
可选的操作,建议事先修改一下 ispcp.conf 文件。
代码:
nano ./configs/ubuntu/ispcp.conf

修改下面的设置:
代码:
DEFAULT_ADMIN_ADDRESS = larryli@test.com # 管理员邮箱
BASE_SERVER_IP = 0.0.0.0 # 监控所有 IP
BASE_SERVER_VHOST = admin.test.com # ispcp 的域名
PHP_FASTCGI = fastcgi # 使用 fastcgi 另一个不能用
AWSTATS_ACTIVE = yes # 开启 awstats 统计
BACKUP_HOUR = 5 # 自动备份的时间
BACKUP_MINUTE = 1
DATE_FORMAT = Y-m-d # 日期格式


安装 ispcp
代码:
make -f Makefile.ubuntu install

复制所有的编译好的目录和文件进系统(在复制之前,建议备份,可以根据要复制的文件或目录来查看备份)
代码:
cp -Rv /tmp/ispcp/* /

等待脚本执行完成后,再运行安装脚本:
代码:
cd /var/www/ispcp/engine/setup

建议另外打开一个控制台运行下面的命令,以便安装脚本获取随机数:
代码:
perl -le '$_ = 1; (1 x $_) !~ /^(11+)\1+$/ && print while $_++';

如果,遇到脚本有卡死的现象,就只有在服务器上登录一个控制台,随便按几下键盘。之前我有在 putty 虚拟控制台上安装,总是在下面的一步过不去。。。
另外,安装时需要 mysql 的 root 密码。
代码:
./ispcp-setup

要填写的选项,上面基本已经设置过了。需要再次重申的就是,一定要用 fastcgi。密码的设置只需要记下 ispcp 管理员的那个。postfix 和 proftpd 的让脚本自动生成就不用管了。
安装完成后,可以先手工清除临时文件:
代码:
rm -fR /tmp/ispcp

重启系统:
代码:
shutdown -r now

然后,访问设置的 ispcp 域名。比如 http://admin.test.com
登录后访问 http://admin.test.com/admin/multilanguage.php 上传中文语言包(语言包 ispcp 有自带),然后在 http://admin.test.com/admin/settings.php 设置为默认语言。

双线主机的 IP 设置
ispcp 能管理服务器的多个 ip,但是国内的双线主机实际是要在两个 ip 上同时设置。
代码:
nano /etc/ispcp/ispcp.conf

修改内容:
代码:
BASE_SERVER_IP = 0.0.0.0

然后
代码:
nano /etc/apache2/sites-enabled/00_master.conf

修改
代码:
<VirtualHost 0.0.0.0:80>

重启 apache
代码:
/etc/init.d/apache2 restart

在 ispcp 的 ip 管理 http://admin.test.com/admin/ip_manage.php 删除原有的 ip,增加 0.0.0.0 这个 ip 即可。

模板修改
模板在 /var/www/ispcp/gui/themes/ 目录,貌似只支持 omega 这一个,直接修改它的文件好了。
建议修改 /var/www/ispcp/gui/domain_default_page/ 的默认虚拟主机页面和 /var/www/ispcp/gui/errordocs/ 的默认出错页面。
对于在线修改错误页面中文乱码的问题:
代码:
nano /var/www/ispcp/gui/client/error_edit.php

修改如下:
代码:
# 找到 $tpl->assign(array('ERROR' => htmlentities($error))); 修改为
$tpl->assign(array('ERROR' => htmlspecialchars($error)));

另外还有:
代码:
nano /var/www/ispcp/gui/include/ispcp-lib.php

修改:
代码:
# 修改 $_POST    = $purifier->purifyArray($_POST);
   if (isset($_POST['error']) && isset($_POST['uaction']) && $_POST['uaction'] === 'updt_error') $error = $_POST['error'];
   $_POST    = $purifier->purifyArray($_POST);
   if (isset($_POST['error']) && isset($_POST['uaction']) && $_POST['uaction'] === 'updt_error') $_POST['error'] = $error;


修改默认模板后邮件乱码的问题
这个没完全修改好,可能有些邮箱收到的邮件标题还是会有问题:
代码:
nano /var/www/ispcp/gui/include/admin-functions.php

内容如下:
代码:
# 找到 function encode($in_str, $charset = 'UTF-8') { 的 if ($out_str && $charset) { 行,增加
      if (function_exists('mb_strlen')) {
          $start = "=?" . $charset . "?B?";
          $end = "?=";
          $encoded = "";

          $mb_length = mb_strlen($out_str, $charset);
          // Each line must have length <= 75, including $start and $end
          $length = 75 - strlen($start) - strlen($end);
          // Average multi-byte ratio
          $ratio = $mb_length / strlen($out_str);
          // Base64 has a 4:3 ratio
          $offset = $avgLength = floor($length * $ratio * .75);

          for ($i = 0; $i < $mb_length; $i += $offset) {
               $lookBack = 0;

             do {
                 $offset = $avgLength - $lookBack;
                 $chunk = mb_substr($out_str, $i, $offset, $charset);
                 $chunk = base64_encode($chunk);
                 $lookBack++;
               }
               while (strlen($chunk) > $length);

               $encoded .= $chunk . "\r\n";
          }

          // Chomp the last linefeed
          return $start . substr($encoded, 0, -strlen("\r\n")) . $end;

      }


允许增加一个字母的子域名
很多时候用户希望域名越短越好,ispcp 则不允许。。。
代码:
nano /var/www/ispcp/gui/include/input-checks.php

在 chk_username 中,找到:
代码:
if (!preg_match("/^[A-Za-z0-9][A-Za-z0-9\.\-_]*[A-Za-z0-9]$/D", $username))

修改为:
代码:
if (!preg_match("/^[A-Za-z0-9][A-Za-z0-9\.\-_]*$/D", $username))

在 check_dn_token 中找到:
代码:
if (!preg_match("/^([A-Za-z0-9])([A-Za-z0-9\-]*)([A-Za-z0-9])$/D", $data))

修改为:
代码:
if (!preg_match("/^([A-Za-z0-9])([A-Za-z0-9\-]*)$/D", $data))


安装 Zend Optimizer
先下载好了,具体请访问 http://www.zend.com/
代码:
cd /tmp
tar zxvf ~/ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz
cd ZendOptimizer-3.3.3-linux-glibc23-i386/
./install.sh

安装时选择 php.ini 目录为 /etc/php5/cgi,不使用 Apache。
完成后,修改下面的文件:
代码:
nano /etc/ispcp/fcgi/parts/master/php5/php.ini
nano /etc/ispcp/fcgi/parts/php5/php.ini
nano /var/www/fcgi/master/php5/php.ini

内容均为在最后增加:
代码:
[Zend]
zend_extension_manager.optimizer=/usr/local/Zend/lib/Optimizer-3.3.3
zend_extension_manager.optimizer_ts=/usr/local/Zend/lib/Optimizer_TS-3.3.3
zend_optimizer.version=3.3.3
zend_extension=/usr/local/Zend/lib/ZendExtensionManager.so
zend_extension_ts=/usr/local/Zend/lib/ZendExtensionManager_TS.so

当然也可以把这个单独保存为 zend.ini 到 conf.d 目录。就像下面提到的方法。
上面的修改对于已存在的虚拟主机需要一一修改各自的 php.ini 才行。

安装 mcrypt 或其他 PHP 扩展
代码:
nano /etc/php5/conf.d/mcrypt.ini

内容为:
代码:
extension=mcrypt.so

然后,做一个软链接:
代码:
ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/cgi/conf.d/mcrypt.ini

上诉修改后都需要重启 apache。

对于 ispcp 的使用无需多言,很简单明了。
目前只是支持 php5 和 cgi,不过直接修改配置文件可以让虚拟主机支持 tomcat/jsp、python 等其他语言,只是没有管理平台可用。


最后由 larryli 编辑于 2009-07-27 19:12,总共编辑了 1 次

页首
 用户资料  
 
2 楼 
 文章标题 : Re: Ubuntu Server 安装 IspCP Omega 虚拟主机管理平台系统
帖子发表于 : 2009-04-19 23:46 
头像

注册: 2006-09-15 23:00
帖子: 9
送出感谢: 0 次
接收感谢: 0 次
PHP_FASTCGI = fastcgi # 使用 fastcgi 另一个不能用

这里我建议用fcgid而不是fastcgi fcgid是国人做的改良版本 国内外反应很好


页首
 用户资料  
 
3 楼 
 文章标题 : Re: Ubuntu Server 安装 IspCP Omega 虚拟主机管理平台系统
帖子发表于 : 2009-04-20 14:09 
头像

注册: 2006-03-10 11:10
帖子: 66
地址: 广东 深圳
送出感谢: 0 次
接收感谢: 0 次
xooass 写道:
PHP_FASTCGI = fastcgi # 使用 fastcgi 另一个不能用

这里我建议用fcgid而不是fastcgi fcgid是国人做的改良版本 国内外反应很好

http://isp-control.net/ispcp/ticket/1472
fcgid 的配置有问题。


页首
 用户资料  
 
4 楼 
 文章标题 : Re: Ubuntu Server 安装 IspCP Omega 虚拟主机管理平台系统
帖子发表于 : 2009-04-20 18:51 

注册: 2009-04-18 18:38
帖子: 1
送出感谢: 0 次
接收感谢: 0 次
感谢,我先做个记号,以后再看。


页首
 用户资料  
 
5 楼 
 文章标题 : Re: Ubuntu Server 安装 IspCP Omega 虚拟主机管理平台系统
帖子发表于 : 2009-04-29 16:28 

注册: 2006-11-19 21:42
帖子: 40
送出感谢: 0 次
接收感谢: 0 次
太好太强大了,顶起收藏


页首
 用户资料  
 
6 楼 
 文章标题 : Re: Ubuntu Server 安装 IspCP Omega 虚拟主机管理平台系统
帖子发表于 : 2009-07-12 12:17 

注册: 2009-01-23 1:15
帖子: 6
送出感谢: 0 次
接收感谢: 0 次
学习了..........


页首
 用户资料  
 
7 楼 
 文章标题 : Re: Ubuntu Server 安装 IspCP Omega 虚拟主机管理平台系统
帖子发表于 : 2009-07-12 21:51 

注册: 2009-01-23 1:15
帖子: 6
送出感谢: 0 次
接收感谢: 0 次
感谢楼主....


页首
 用户资料  
 
8 楼 
 文章标题 : Re: Ubuntu Server 安装 IspCP Omega 虚拟主机管理平台系统
帖子发表于 : 2009-07-14 0:41 

注册: 2007-03-11 13:02
帖子: 7
送出感谢: 0 次
接收感谢: 0 次
正在学习这些于电脑服务器对话:)


页首
 用户资料  
 
9 楼 
 文章标题 : Re: Ubuntu Server 安装 IspCP Omega 虚拟主机管理平台系统
帖子发表于 : 2009-07-14 0:58 
头像

注册: 2007-09-29 3:09
帖子: 5773
送出感谢: 0 次
接收感谢: 3
不错的文章


_________________
HUNT Unfortunately No Talent...


页首
 用户资料  
 
10 楼 
 文章标题 : Re: Ubuntu Server 安装 IspCP Omega 虚拟主机管理平台系统
帖子发表于 : 2009-07-24 16:55 

注册: 2009-05-05 22:34
帖子: 4
送出感谢: 0 次
接收感谢: 0 次
有成功的么?

我暂时没成功啊~哎!

成功的大虾探讨探讨。。。


页首
 用户资料  
 
11 楼 
 文章标题 : Re: Ubuntu Server 安装 IspCP Omega 虚拟主机管理平台系统
帖子发表于 : 2010-02-20 19:23 

注册: 2010-02-17 0:51
帖子: 1
送出感谢: 0 次
接收感谢: 0 次
:em11 各位大虾,俺是个骨灰级菜鸟的Ubuntu初学者,俺按照教程安装了不含服务的server9.10,然后按照教程安装了ispcp1.0.3,安装好以后,用另外一台PC登录ispcp管理、操作都很正常,但是当我重启了server后,发现无法再登录,经过很长时间等待,能看到ispcp的logo,页面原来登录的地方变成了提示500错误。 :em20

请问各位大虾:
1、是不是ispcp在重启后有某些服务没有跟着重启?
2、请知道的大虾指教一下,最好给出详细的解决方法命令行。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 11 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 4 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译