Linux上全源码安装Apache、MySQL、PHP、WSF安装(转载)
Linux上全源码安装Apache、MySQL、PHP、WSF安装
博客分类:PHP
PHPMySQLApacheLinuxSQLite
Linux上全源码安装Apache、MySQL、PHP、WSF安装(原创)
需要root权限
Apache安装
下载
#wgethttp://apache.mirror.phpchina.com/httpd/httpd-2.2.6.tar.gz
安装
#tarzxvfhttpd-2.2.6.tar.gz
#cdhttpd-2.2.6
#./configure--prefix=/usr/local/apache2--enable-so
#make
#makeinstall
#makeclean
系统启动时自动加载Apache
#cp/usr/local/apache2/bin/apachectl/etc/rc.d/init.d/httpd
#cd/etc/rc.d/rc3.d
#ln–s../init.d/httpdS80httpd
MySQL安装
下载
#wgethttp://mysql.ntu.edu.tw/Downloads/MySQL-5.0/mysql-5.0.45.tar.gz
安装
#tarzxvfmysql-5.0.45.tar.gz
#cdmysql-5.0.45
#./configure--prefix=/usr/local/mysql--enable-thread-safe-client--with-charset=utf8
#make
#makeinstall
#cpsupport-files/my-medium.cnf/etc/my.cnf
#makeclean
创建mysql用户
#groupaddmysql
#useradd-gmysqlmysql
设置目录访问权限
#cd/usr/local/mysql
#chown-Rmysql.
#chgrp-Rmysql.
#bin/mysql_install_db--user=mysql(初始化表)
#chown-Rroot.
#chown-Rmysqlvar
运行
#/usr/local/mysql/bin/mysqld_safe--user=mysql
LibXML2安装(Linux默认已经存在)
下载
#wgetftp://xmlsoft.org/libxml2/libxml2-2.6.30.tar.gz
安装
#tarzxvflibxml2-2.6.30.tar.gz
#cdlibxml2-2.6.30
#./configure--prefix=/usr/local/libxml2--exec-prefix=/usr
#make
#makeinstall
#makeclean
Zlib安装
下载
#wgethttp://www.zlib.net/zlib-1.2.3.tar.gz
安装
#tarzxvfzlib-1.2.3.tar.gz
#cdzlib-1.2.3
#./configure--prefix=/usr/local/zlib--exec-prefix=/usr
#make
#makeinstall
#makeclean
LibIconv安装
下载
#wgethttp://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.12.tar.gz
安装
#tarzxvflibiconv-1.12.tar.gz
#cdlibiconv-1.12
#./configure--prefix=/usr/local/libiconv
#make
#makeinstall
#makeclean
PHP安装
下载
#wgethttp://cn2.php.net/distributions/php-5.2.5.tar.gz
安装(先安装libiconv-1.14.tar.gz)
#tarzxvfphp-5.2.5.tar.gz
#cdphp-5.2.5
#./configure--prefix=/usr/local/php--with-apxs2=/usr/local/apache2/bin/apxs--with-mysql=/usr/local/mysql--with-zlib--with-iconv=/usr/local/libiconv--with-config-file-path=/home/admin/aep/forum/conf
#make
#makeinstall
#makeclean
#cpphp.ini-dist/home/admin/aep/forum/conf/php.ini
#vi/home/admin/aep/forum/conf/httpd.conf
任意位置添加如下内容
AddTypeapplication/x-httpd-php.php
AddTypeapplication/x-httpd-php-source.phps
pkg-config安装(如果低于0.20版本)
下载
#wgethttp://pkgconfig.freedesktop.org/releases/pkg-config-0.22.tar.gz
安装
#tarzxvfpkg-config-0.22.tar.gz
#cdpkg-config-0.22
#./configure--prefix=/usr
#make
#makeinstall
#makeclean
SQLite安装
下载
#wgethttp://www.sqlite.org/sqlite-3.5.3.tar.gz
安装
#tarzxvfsqlite-3.5.3.tar.gz
#cdsqlite-3.5.3
#./configure--prefix=/usr--disable-tcl
#make
#makeinstall
#makeclean
OpenSSL安装(可选)
下载
#wgethttp://www.openssl.org/source/openssl-0.9.8b.tar.gz
安装
#tarzxvfopenssl-0.9.8b.tar.gz
#cdopenssl-0.9.8b
#./config--prefix=/usr/--openssldir=/usr/local/openssl
#make
#makeinstall
#makeclean
WSF安装
下载
#wgethttp://dist.wso2.org/products/wsf/php/wso2-wsf-php-src-1.1.0.tar.gz
安装
#tarzxvfwso2-wsf-php-src-1.1.0.tar.gz
#cdwso2-wsf-php-src-1.1.0
#./configure--with-apache2=/usr/local/apache2/include--with-wsf--enable-savan=no--with-php-config=/usr/local/php/bin/php-config
#make
#makeinstall
#makeclean
默认情况下,WSF被安装在/wsf_c,wsf.so被编译到/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/
#vi/home/admin/aep/forum/conf/php.ini
找到extension_dir="./",改为extension_dir="/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"
在php.ini任意位置添加
[wsf]
wsf.home=/wsf_c
wsf.log_path=/wsf_c/logs
wsf.log_level=3
wsf.rm_db_dir=/wsf_c
extension=wsf.so
测试
重启Apache
#/usr/local/php/bin/php-m
看wsf模块是否在列表中
PHPws-security代码样例(WS安全带签名)
Python代码
<spanstyle="font-size:x-small;"><spanstyle="font-size:small;">$reqPayloadString=<<<XML
<xsd:getAppByAppId
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsd="http://subsc.api.core.aep.alisoft.com">
<xsd:param0>$appid</xsd:param0>
</xsd:getAppByAppId>
XML;
$my_cert=ws_get_cert_from_file("./keys/aepforum_cert.cert");
$my_key=ws_get_key_from_file("./keys/aepforum_key.pem");
$rec_cert=ws_get_cert_from_file("./keys/aep_cert.cert");
$reqMessage=newWSMessage($reqPayloadString,array(
"to"=>"http://api.alisoft.com:1688/webservice/AppWebService",
"action"=>"http://subsc.api.core.aep.alisoft.com/getAppByAppId"
));
$sec_array=array(
"sign"=>TRUE,
"securityTokenReference"=>"IssuerSerial",
"algorithmSuite"=>"Basic256Rsa15"
);
$policy=newWSPolicy(array(
"security"=>$sec_array
));
$sec_token=newWSSecurityToken(array(
"privateKey"=>$my_key,
"certificate"=>$my_cert,
"receiverCertificate"=>$rec_cert
));
$client=newWSClient(array(
"useWSA"=>TRUE,
"policy"=>$policy,
"securityToken"=>$sec_token
));
$resMessage=$client->request($reqMessage);
$xml=newSimpleXMLElement($resMessage->str);
$name=$xml->return[0]->appName;
$username=$xml->return[0]->isvPassPort;
$description=$xml->return[0]->description;</span></span>