Linux上全源码安装Apache、MySQL、PH
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/httpdS80httpdMySQL安装下载
#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=mysqlLibXML2安装(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
#makecleanZlib安装
下载
#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
#makecleanLibIconv安装
下载
#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
#makecleanPHP安装下载
#wgethttp://cn2.php.net/distributions/php-5.2.5.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.phpspkg-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
#makecleanSQLite安装
下载
#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
#makecleanOpenSSL安装(可选)下载
#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
# make cleanWSF安装- 安装
#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
# make clean - 默认情况下,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模块是否在列表中
- <span style="font-size: x-small;"><span style="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 = new WSMessage($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 = new WSPolicy(array (
- "security" => $sec_array
- ));
- $sec_token = new WSSecurityToken(array (
- "privateKey" => $my_key,
- "certificate" => $my_cert,
- "receiverCertificate" => $rec_cert
- ));
- $client = new WSClient(array (
- "useWSA" => TRUE,
- "policy" => $policy,
- "securityToken" => $sec_token
- ));
- $resMessage = $client->request($reqMessage);
- $xml = new SimpleXMLElement($resMessage->str);
- $name = $xml->return[0]->appName;
- $username = $xml->return[0]->isvPassPort;
- $description = $xml->return[0]->description;</span></span>