一,需要安装的包:
1,安装pam_auth.so:sudo apt-get install php5-auth-pam
2,安装xsl.so:sudo apt-get install php5-xsl
3,安装imap.so:sudo apt-get install php5-imap
4,安装ncurses.so:sudo apt-get install libncurses5-dev
ncurses是字符终端下屏幕控制的基本库。可能很多新开发的程序都不使用了,不过如果要编译一些老程序,还经常遇得到。5,安装php5-gmp包:apt-get install php5-gmp
在volumes_editpartitions.html里有个函数gmp_intval(),需要此包。
6,安装mdadm: apt-get install mdadm
7,安装iscsi:apt-get install iscsitarget
注意:安装完成后服务并没有启动,需要修改文件:/etc/default/iscsitarget 里的 ISCSITARGET_ENABLE=FALSE 改为 ISCSITARGET_ENABLE=TRUE。
8,安装open-iscsi:apt-get install open-iscsi
二,需要修改的配置文件
1,将openfiler文件夹拷贝到/opt文件夹下
2,将 sysconfig拷到/etc下(否则System项会报错!!)
3,修改apache下配置文件(httpd.conf):
修改/etc/apache2/apache2.conf: ServerRoot “/opt/openfiler/etc/httpd”
添加/etc/apache2/apache2.conf: AddHandler php5-script .php .html .css
AddType text/html .php修改/etc/apache2/sites-available/default: DocumentRoot /opt/openfiler/var/www/htdocs
4,修改php.ini(使其能通过$username这种方式接受参数):
修改/etc/php5/apache2/php.ini: register_globals = On //使其能通过$username这种方式接受参数
修改/etc/php5/apache2/php.ini: include_path = “.:/opt/openfiler/var/www/includes:/usr/lib/php” //修改php include_path的默认路径
三,修改源代码,跳过验证模块PAM
修改auth.inc文件
function check_authenticated($username, $password) { /*if (pam_auth($username, $password)) { if ($username == "openfiler") { $GLOBALS["authenticated"] = 1; $GLOBALS["authuser"] = $username; } else { $GLOBALS["authenticated"] = 0; $GLOBALS["userauthenticated"] = 1; $GLOBALS["authuser"] = $username; } setcookie("usercookie", $username, 0, "/", "", 1); setcookie("passcookie", $password, 0, "/", "", 1); return true; } else { $GLOBALS["authenticated"] = 0; $GLOBALS["authuser"] = ""; setcookie("usercookie", $username, 0, "/", "", 1); setcookie("passcookie", "", 0, "/", "", 1); return false; }*/ $GLOBALS["authenticated"] = 1; $GLOBALS["authuser"] = $username; setcookie("usercookie", $username, 0, "/", "", 1); setcookie("passcookie", $password, 0, "/", "", 1); return true; }
修改authenticated.inc代码
文件开头添加 $GLOBALS[“authenticated”] = 1; 代码
四,ubuntu下安装parted 1.6版本
ubuntu10.04下的parted是2.2版本的,由于openfiler里需要1.6.22版本的parted,所以我需要降低版本(由于2.2版本没有parted-fdisk命令)。
1,先删除parted2.2版本:apt-get remove parted
2,首先我在网上下载了一个1.6.22的版本ftp://ftp.pbone.net/mirror/ftp.turbolinux.com/pub/TurboLinux/stable/untested/Server/7/i586/parted-1.6.22-1.i586.rpm
此文件是rpm的在redhat下可以安装,而ubuntu下要把rpm转换成deb形式的文件,需要的工具是alien。
alien安装方法与转换步骤:
sudo apt-get install alien #alien默认没有安装,所以首先要安装它
sudo alien parted-1.6.22-1.i586.rpm #将rpm转换位deb,完成后会生成一个同名的parted-1.6.22-1.i386.deb
sudo dpkg -i parted-1.6.22-1.i386.deb #安装
在此强烈推荐一篇文章,非常好:http://blog.csdn.net/wangxiaoqin00007/article/details/7205191(在ubuntu上软件安装的几种格式dev,rpm,bin,tar.gz)只是要注意:在ubuntu下安装rpm要用alien命令转换成deb文件。
3,安装完毕后,输入parted报错:
bash: /sbin/parted No such file or directory 应该是找不到parted命令,我在/sbin查找下确实没有找到,于是我sudo whereis parted 找到parted在/usr/sbin下。那怎么去/sbin下找去了,怎么不在/usr/sbin下找呢,我分析是不是环境变量的原因,于是我查询了下环境变量path,它包含/usr/sbin目录。不知道为什么找不到,还期待高手给予指点,谢谢!!
我想了一个折中的办法,做一个软连接连接到/usr/sbin下面:
ln -s /usr/sbin/parted /sbin/parted
成功了!再次执行parted错误发生了变化,说是需要的libreadline.so.4文件找不到,我用搜索了下发现有libreadline.so.6文件,看来还是版本的问题,怎么办,上哪找libreadline.so.4去?找了半天还是没有找到,却找到一篇文章,意思还是用上面折中的办法,于是我还是这样做:
ln -s /lib/libreadline.so.6 /lib/libreadline.so.4
可是,我help一下仍然没有parted-fdisk命令,可是这个版本和openfiler下的parted一样一样的呀,不知道为什么,期待高手指点!!
下面用了个折中的办法解决了问题。
4,将原openfiler服务器里的parted和partprobe拷贝到/usr/sbin下,替换掉原先的文件
运行parted,又缺少了libreadline.so.5文件,将原openfiler服务器里的libreadline.so.5.0拷到/lib文件夹下(libreadline.so.5考不了,因为他是软连接文件),再次做一个软连接:ln -s /lib/libreadline.so.5.0 /lib/libreadline.so.5
5,修改list-disks.pl文件权限:chmod -R 755 /opt/openfiler/sbin/list-disks.pl (让此文件有执行的权限)
5,测试运行:export LANG=C; /usr/bin/sudo /opt/openfiler/sbin/list-disks.pl 输出信息为成功!
五,解决popen调用.pl文件不出信息的问题
$disksp = popen(“export LANG=C; /usr/bin/sudo /opt/openfiler/sbin/list-disks.pl”, “r”);没有返回信息,在命令行下执行export LANG=C; /usr/bin/sudo /opt/openfiler/sbin/list-disks.pl是没有问题,后来发现是/usr/bin/sudo问题,php执行不了sudo这个命令,因为执行sudo时是需要输入密码的,所以要关闭执行sudo时输入密码这个步骤,方法是:
# visudo
在最后一行加入www-data ALL=(ALL) NOPASSWD:ALL (www-data是php在linux下的默认用户)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/82062.html