Chinaunix首页 | 论坛 | 博客
  • 博客访问: 119306
  • 博文数量: 12
  • 博客积分: 1495
  • 博客等级: 上尉
  • 技术积分: 232
  • 用 户 组: 普通用户
  • 注册时间: 2007-08-23 09:22
文章分类

全部博文(12)

文章存档

2011年(1)

2008年(11)

我的朋友

分类: LINUX

2008-04-28 10:06:20

一、系统环境介绍
[root@108test php]# uname -a
Linux 108test 2.6.9-34.ELsmp #1 SMP Fri Feb 24 16:54:53 EST 2006 i686 i686 i386 GNU/Linux
 
[root@108test php]# rpm -qa | grep openssl
openssl-devel-0.9.7a-43.8
xmlsec1-openssl-1.2.6-3
openssl096b-0.9.6b-22.42
openssl-0.9.7a-43.8
 
二、apache安装
1. tar zxvf httpd-2.0.63.tar.gz
2. httpd-2.0.63
3. ./configure --prefix=/usr/local/apache2 --disable-userdir --disable-actions --disable-imap --disable-asis --disable-status --disable-autoindex --disable-cgi --enable-ssl  --enable-so
4. make
5. make install
6. 注释配置文件httpd.conf中以下各行:
UserDir public_html
IndexOptions FancyIndexing VersionSort
AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
AddIconByType (TXT,/icons/text.gif) text/*
AddIconByType (IMG,/icons/image2.gif) image/*
AddIconByType (SND,/icons/sound2.gif) audio/*
AddIconByType (VID,/icons/movie.gif) video/*
AddIcon /icons/binary.gif .bin .exe
AddIcon /icons/binhex.gif .hqx
AddIcon /icons/tar.gif .tar
AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
AddIcon /icons/a.gif .ps .ai .eps
AddIcon /icons/layout.gif .html .shtml .htm .pdf
AddIcon /icons/text.gif .txt
AddIcon /icons/c.gif .c
AddIcon /icons/p.gif .pl .py
AddIcon /icons/f.gif .for
AddIcon /icons/dvi.gif .dvi
AddIcon /icons/uuencoded.gif .uu
AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
AddIcon /icons/tex.gif .tex
AddIcon /icons/bomb.gif core
AddIcon /icons/back.gif ..
AddIcon /icons/hand.right.gif README
AddIcon /icons/folder.gif ^^DIRECTORY^^
AddIcon /icons/blank.gif ^^BLANKICON^^
DefaultIcon /icons/unknown.gif
ReadmeName README.html
HeaderName HEADER.html
IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
 
三、php安装
1. tar zxvf php-5.2.5.tar.gz
2. cd php-5.2.5
3. ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql/ --with-apxs2=/usr/local/apache2/bin/apxs --enable-sockets --with-zlib --with-openssl
4. make
5. make install
6. cp php.ini-dist /usr/local/php/lib/php.ini
7. 编辑apache配置文件httpd.conf,在文件中增加以下三行:
LoadModule php5_module        modules/libphp5.so
 
AddType application/x-httpd-php .php .phtml
AddType application/x-httpd-php-source .phps
 
四、安装libssh2
1. tar zxvf libssh2-0.18.tar.gz
2. cd libssh2-0.18
3. ./configure
4. make all install
 
五、编译生成ssh2.so
1. tar zxvf ssh2-0.10.tgz
2. cd ssh2-0.10
3. /usr/local/php/bin/phpize
4. ./configure --with-ssh2 --with-php-config=/usr/local/php/bin/php-config
5. vi ssh2.c
将这一行  #if LIBSSH2_APINO < 200412301450
改为      #if LIBSSH2_VERSION_NUM < 0x001000
6. make
 
六、将ssh2.so增加到php扩展模块
1. mkdir /usr/local/php/lib/extensions
2. cd ssh2-0.10 (进入ssh2的原安装包目录)
3. cp modules/ssh2.so /usr/local/php/lib/extensions/
4. 编辑php.ini
vi /usr/local/php/lib/php.ini
 
extension_dir = "/usr/local/php/lib/extensions"
extension=ssh2.so
 
启动apache测试:/usr/local/apache2/bin/apachectl start
 
七、常见问题
1、找不到ssh2 等各个函数,比如error:Call to undefined function ssh2_connect()
原因:没有正确指定php.ini中extension_dir的值
解决方案:一定要正确指定extension_dir =

2、调用ssh2_auth_pubkey_file函数无法通过验证
可能的原因:ssh2_auth_pubkey_file函数中参数pubkeyfile和privkeyfile 文件的权限跟apache配置的用户和组不一致
解决方案:使用ssh2_auth_pubkey_file时,一定要注意函数中参数pubkeyfile和privkeyfile 文件的权限,其权限一定要和apache配置的用户和组一致,否则无法通过验证!
注:key文件生成命令  ssh-keygen -t dsa
参考过的网站

 
《 完 :) 》
阅读(1743) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2008-05-15 22:53:46

恩 加油