AS4U4+apahce2.2.4+php5.2.1+gd+mysql5.0.22+openssl0.9.8e&支持JAVA編譯過程

火星人 @ 2014-03-05 , reply:0


AS4U4+apahce2.2.4+php5.2.1+gd+mysql5.0.22+openssl0.9.8e&支持JAVA編譯過程

AS4U4+apahce2.2.4+php5.2.1+gd2.0.33+mysql5.0.22+openssl0.9.8e&支持JAVA完全源碼編譯全過程
準備工作:
apache 2.2.4       下載  http://apache.oregonstate.edu/httpd/httpd-2.2.4.tar.gz

mysql 5.0.22       下載
http://download.mysql.cn/download.php?artID=5544&goto=L2RkP2dvdG89aHR0cDovL2Rvd25sb2FkLm15c3FsLmNuL2Rvd25sb2FkX2ZpbGUvZ3ovNS4wL215c3FsLTUuMC4yMi50YXIuZ3o

php 5.2.1         下載  http://cn.php.net/get/php-5.2.1.tar.gz/from/this/mirror

gd           下載   http://www.boutell.com/gd/http/gd-2.0.33.tar.gz

zlib         下載   http://www.zlib.net/zlib-1.2.3.tar.gz (使用GD功能所需要的軟體包)

libpng-config   下載   ftp://ftp.simplesystems.org/pub/ ... .2.10-config.tar.gz( (使用GD功能所需要的軟體包)

jpeg-6b     下載   ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v6b.tar.gz (使用GD功能所需要的軟體包)

freetype2     下載  http://umn.dl.sourceforge.net/so ... etype-2.1.10.tar.gz (使用GD功能所需要的軟體包)

openssl     下載   http://www.openssl.org/source/openssl-0.9.8e.tar.gz

libxml2       下載   http://ftp.gnome.org/pub/GNOME/s ... bxml2-2.6.19.tar.gz

xpm         下載   ftp://193.40.58.68/pub/linux/horde/RPMS/i386/xpm-3.4k-2.i386.rpm

Libxslt           下載   http://ftp.gnome.org/pub/GNOME/s ... bxslt-1.1.20.tar.gz

zend optimizer 下載   https://www.zend.com/free_download/optimizer

jdk 下載 http://java.sun.com/javase/downloads/index.jsp

php-java-bridge 下載 http://downloads.sourceforge.net/php-java-bridge/php-java-bridge_4.0.1.tar.gz?modtime=1171220181&big_mirror=0

開始:
一、     安裝OpenSSL
1.解壓源碼包
tar zxvf openssl-0.9.8e.tar.gz
2.配置編譯參數
cd openssl-0.9.8e
./config --prefix=/usr/local/openssl
3.編譯並安裝
make
make install
4.修改(此步驟非常重要,至少對於現有的軟體版本)
vi /etc/ld.so.conf 添加一行/usr/local/ssl/lib/
/sbin/ldconfig

二、     安裝Mysql
1.解壓源碼包
tar –xzvf mysql-5.0.22.tar.gz
cd mysql-5.0.22
2.
mysql安裝_編譯、安裝
創建mysql用戶
groupadd mysql
useradd -g mysql -c 'mysql account' mysql
為了防止使用舊的配置信息或目標文件,在重新運行configure前運行這些命令:
rm config.cache
make clean
針對Intel CPU的優化
CFLAGS="-O6 -mpentiumpro -fomit-frame-pointer" CXX=gcc CXXFLAGS="-O6 -mpentiumpro -fomit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti"
./configure --prefix=/usr/local/mysql --enable-assembler --with-mysqld-ldflags=-all-static --with-client-ldflags=-all-static --disable-shared --with-charset=gbk --with-extra-charsets=none --with-raid
(CFLAGS:C編輯器的參數
CXX:C++編輯器的命令
CXXFLAGS:C++編輯器的參數
MySql安裝目錄:prefix
--enable-assembler:使用彙編程序
--with-mysqld-ldflags=-all-static:mysql伺服器使用靜態編譯
--with-client-ldflags=-all-static:mysql客戶端使用靜態編譯
--disable-shared:不使用共享編譯
--with-charset=gbk:使用gbk作為系統默認字符集
--with-extra-charsets=none:不使用擴展字符集)
make
make install
安裝mysql測試資料庫
cd $mysql_install_dir/bin
./mysql_install_db
設置mysql全局變數
cd $mysql_source_dir/support-files
cp my-huge.cnf /etc/my.cnf
改變mysql安裝目錄的許可權
cd $mysql_install_di
cd ..
chown -R mysql.mysql $mysql_install_dir
將mysql的bin目錄加入/etc/profile的PATH環境變數
手動啟動mysql serve
cd $mysql_install_dir/bin
su -
./safe_mysqld &
/usr/local/mysql/bin/mysqladmin -u root password 'new-password'
/usr/local/mysql/bin/mysqladmin -u root -h ws10.citiz.net password 'new-password'
修改mysql默認用戶許可權
cd $mysql_install_dir/bin
./mysql -u root -p
use mysql;
delete from user where host='localhost.localdomain';
delete from user where host='';
update user set password=password('xxxxxxxxx') where host='localhost' and user='root';
commit;
flush privileges;
quit;
關閉mysql伺服器
cd $mysql_install_dir/bin
./mysqladmin -u root -pxxxxxxxxx shutdown


三、     安裝Apache2
1.     解壓源碼包
tar zxvf httpd-2.2.4.tar.gz
2.     配置編譯參數
cd httpd-2.2.4
./configure --prefix=/usr/local/apache2 --enable-so --enable-ssl --with-ssl=/usr/local/ssl --enable-rewrite --enable-deflate --enable-cache --enable-mem-cache --enable-file-cache --enable-disk-cache --enable-mods-shared=most (--with-apr=/home/roger/httpd-2.2.4/srclib/apr --with-apr-util=./srclib/apr-util/)執行配置(./configure)時報錯:「cannot use an external APR with the bundled APR-util」,加入括弧中的配置文件。
3.     編譯並安裝
make
make install
4.     按實際情況修改apache 配置文件
找到 #ServerName www.example.com:80 在其下設置 ServerName 如下
ServerName www.mysite.com
基中 www.mysite.com 為你網站名,也可用IP代替
找到 DocumentRoot "/usr/local/apache/htdocs"
設置你的 WEB 伺服器的根目錄 如
DocumentRoot "/myweb"
找到 DirectoryIndex index.html index.html.var 改為
DirectoryIndex index.html index.php index.htm
找到 ForceLanguagePriority Prefer Fallback 在其下加上
改完后保存(vi 的用法請查 Linux vi 命令)
用下面命令啟動WEB伺服器
# /usr/local/apache2/bin/apachectl start
查看自己的站點是否正常 http://www.mysite.com 也可用IP
用 # /usr/local/apache2/bin/apachectl stop 可停止服務


四、     安裝GD庫(zlib,libpng,jpeg,freetype2,gd2,Curl,libxml2,libxslt)
安裝XPM支持
rpm -ivh xpm-3.4k-2.i386.rpm
1)     安裝zlib
1.解壓源碼包
tar zxvf zlib-1.2.3.tar.gz
2.配置編譯參數
cd zlib-1.2.3
./configure --prefix=/usr/local/zlib
3.編譯並安裝
make
make install
2)     安裝libpng
1.解壓源碼包
tar zxvf libpng-1.2.10-config.tar.gz
2.配置編譯參數
cd libpng-1.2.10
./configure --prefix=/usr/local/libpng2
3.編譯並安裝
make
make install
3)     安裝jpeg
1.解壓源碼包
tar zxvf jpegsrc.v6b.tar.gz
2.配置編譯參數
cd jpeg-6b
mkdir /usr/local/jpeg6
mkdir /usr/local/jpeg6/include
mkdir /usr/local/jpeg6/lib
mkdir /usr/local/jpeg6/bin
mkdir /usr/local/jpeg6/man/
mkdir /usr/local/jpeg6/man/man1/
./configure --prefix=/usr/local/jpeg6 -enable-shared
3.編譯並安裝
make install-lib
make install
4)     安裝freetype2
1.解壓源碼包
tar zxvf freetype-2.1.10.tar.gz
2.配置編譯參數
cd freetype-2.1.10
./configure --prefix=/usr/local/freetype2
3.編譯並安裝
make
make install
5)     安裝gd2
1.解壓源碼包
tar zxvf gd-2.0.33.tar.gz
2.配置編譯參數
cd gd-2.0.33
./configure --prefix=/usr/local/gd2/ --with-zlib=/usr/local/zlib/ --with-png=/usr/local/libpng2/ --with-jpeg=/usr/local/jpeg6/ --with-freetype=/usr/local/freetype2/
(請指定及格插件的安裝路徑,否則安裝php的時候可能出錯!)
3.編譯並安裝
CPPFLAGS = -I/usr/local/freetype2/include/freetype2 -I/usr/local/freetype2/include -I/usr/local/freetype2//include -I/usr/local/jpeg6//include -I/usr/local/libpng2//include
make
make install
6)     安裝libxml2(因php5.02要求libxml2的版本是 libxml2.5.10 or greater required.)
1.解壓源碼包
tar zxvf libxml2-2.6.27.tar.gz
2.配置編譯參數
cd libxml2-2.6.27
./configure --prefix=/usr/local/libxml2
3.編譯並安裝
make
make install
7)     安裝libxslt
1.解壓源碼包
tar zxvf libxslt-1.1.20.tar.gz
2.配置編譯參數
cd libxslt-1.1.20
./configure --prefix=/usr/local/libxslt --with-libxml-prefix=/usr/local/libxml2
3.編譯並安裝
make
make install


五.安裝JDK
1.複製文件
cp jdk-6-linux-i586.bin /usr/loca
chmod +x /usr/local/ jdk-6-linux-i586.bin
2.安裝JDK
./ jdk-6-linux-i586.bin
ln –s jdk1.6.0 java
3.設置環境變數:
vi /etc/profile
export JAVA_HOME=/usr/local/java
export CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/dt.jar:.
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:/usr/local/php/bin/
export LD_LIBRARY_PATH=/usr/local/java/jre/lib/i386:/usr/local/java/jre/lib/i386/server
若要立即生效,在shell下邊依次執行一下export JAVA_HOME,輸入java -version能看到版本信息,即安裝jdk成功了。(我安裝AS4U4的時候系統自帶了一個JAVA,我是把/usr/bin/java刪除了,/usr/bin/java也是一個鏈接,鏈接到/etc/alternatives/java。)
六.安裝PHP5
1.解壓源碼包
tar zxvf php-5.2.1.tar.gz
2.配置編譯參數
cd php-5.2.1
./configure --prefix=/usr/local/php  --with-mysql=/usr/local/mysql/ --with-apxs2=/usr/local/apache2/bin/apxs --with-openssl-dir=/usr/local/openssl  --with-expat-dir=/usr/lib  --enable-xslt --with-gd=/usr/local/gd2/ --with-jpeg-dir=/usr/local/jpeg6/ --with-zlib-dir=/usr/local/zlib/ --with-png-dir=/usr/local/libpng2/ --with-freetype-dir=/usr/local/freetype2/  --with-mime-magic --with-png --with-xml --with-iconv --enable-gd-native-ttf --enable-ftp --enable-embed --enable-fastcgi --enable-calendar --enable-magic-quotes --enable-track-vars --enable-sockets --enable-soap --enable-pcntl --enable-mbstring=all --enable-mbregex --with-java=/usr/local/java --with-libxml-dir=/usr/local/libxml2 --with-xsl=/usr/local/libxslt/
3.編譯並安裝
make
make install
4. 複製PHP.INI文件到正確位置
在PHP目錄下運行
#cp php.ini-dist /usr/local/lib/
5.配置 httpd.conf 讓apache支持PHP
# vi /usr/local/apache2/conf/httpd.conf
添加下面的內容:
在LoadModule處添加:
LoadModule php5_module /usr/local/php/lib/libphp5.so
找到 AddType application/x-gzip .gz .tgz 在其下添加如下內容
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

重啟apache
# /usr/local/apache/bin/apachectl restart
在你Web目錄里建一內容為 <? phpinfo(); ?> PHP文件, 輸入URL地址查看PHP配置是否正確



本文是本人通過網上相關資料整理,然後自己編譯安裝整理出來的。有問題大家可以交流,有錯誤的地方也請大家原諒,並能夠指出。tangweij@126.com
謝謝!

[ 本帖最後由 tangweij 於 2007-4-9 10:12 編輯 ]
《解決方案》

七.安裝php-java-bridge-4.0.1
1. 1.解壓源碼包
tar zxvf php-java-bridge-4.0.1.tar.gz
2.配置編譯參數
cd php-java-bridge-4.0.1
phpize
./configure --with-java=$JAVA_HOME --disable-servlet
3.編譯並安裝
make
make install
編輯php.ini文件
增加

java.java_home="/usr/local/java"
java.java="/usr/local/java/jre/bin/java"
java.log_file="/var/log/php-java-bridge.log"
java.classpath="/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/JavaBridge.jar"
java.libpath="/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613"
extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613"
extension = java.so
cp php.ini /usr/local/php/lib
驗證:
重啟Apache
用命令行方式檢測 echo '<?php phpinfo() ?>' | php | fgrep java ,應該返回字樣有「java status => running」
通過Web方式查看phpinfo() ,存在Java小節。
在訪問目錄下創建java.php文件
<?php
// get instance of Java class java.lang.System in PHP
$system = new Java('java.lang.System');
// demonstrate property access
echo 'Java version=' . $system->getProperty('java.version') . '<br />';
echo 'Java vendor=' . $system->getProperty('java.vendor') . '<br />';
echo 'OS=' . $system->getProperty('os.name') . ' ' .
             $system->getProperty('os.version') . ' on ' .
             $system->getProperty('os.arch') . ' <br />';
// java.util.Date example
$formatter = new Java('java.text.SimpleDateFormat',
                     "EEEE, MMMM dd, yyyy 'at' h:mm:ss a zzzz");
echo $formatter->format(new Java('java.util.Date'));
?>
通過Web訪問,能正確顯示Java版本、操作系統、系統時間等信息,說明執行成功。
八.使 SSL 工作
手工簽署證書
#cd /usr/local/apache/conf
#openssl genrsa -des3 -passout pass:asecretpassword -out server.key.org 1024
#openssl req -new -passin pass:asecretpassword -passout pass:asecretpassword -key server.key.org -out server.csr -days 3650
Country Name (2 letter code) :CN  #<--## 國家代碼
State or Province Name (full name) :LN  #<--## 省或州 Locality (eg, city) []:SY  #<--## 城市
Organization Name (eg, company) :micronsky.net  #<--## 組織名稱
Organizational Unit Name (eg, section) []:root  #<--## 部門
Common Name (eg, YOUR name) []:keelort  #<--## 名字
Email Address []:keelort@gmail.com  #<--## 電子郵 r b>Pleaens;enter the following ''''extra'''' attributes
to be sent with your certificate request
A challenge password []:  #<--## 直接回車就可以
An optional company name []:  #<--## 直接回車就可以
#openssl req -x509 -passin pass:asecretpassword -passout pass:asecretpassword -key server.key.org -in server.csr -out server.crt -days 3650
#openssl rsa -passin pass:asecretpassword -in server.key.org -out server.key
# vi /usr/local/apache2/conf/httpd.conf
將Include conf/extra/httpd-ssl.conf前面的「#」去掉
重啟Apache
/usr/local/apachectl restart
然後訪問:https://ip 是否可以訪問

九.安裝ZendOptimizer-2.6.2加速PHP
    1.解壓源碼包
    php5.1.2隻能裝ZendOptimizer-2.6.2以上版本.
    tar zxvf ZendOptimizer-2.6.2-linux-glibc21-i386.tar.gz
    2.開始安裝
    cd ZendOptimizer-2.6.2-linux-glibc21-i386
#./install.sh
一路默認下去應該就好了.

再看看測試頁,

找找是不是這樣的?

This program makes use of the Zend Scripting Language Engine: Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies with Zend Extension Manager v1.0.9, Copyright (c) 2003-2006, by Zend Technologies with Zend Optimizer v2.6.2, Copyright (c) 1998-2006, by Zend Technologies


本文是本人通過網上相關資料整理,然後自己編譯安裝整理出來的。有問題大家可以交流,有錯誤的地方也請大家原諒,並能夠指出。tangweij@126.com
謝謝!
《解決方案》

回復 #1 tangweij 的帖子

好貼,正好要學習到:P
《解決方案》

回頭有空學習一下!:lol:
《解決方案》

不錯,不錯。收藏了ing!!!
《解決方案》

不錯,,,學習當中
《解決方案》

《解決方案》

原帖由 eDonkey 於 2007-4-9 01:22 發表於 7樓  
暈..在這裡COPY點,那裡COPY點吧..怎麼看看關,apache2.0.55...

無語.轉貼也要自已檢查下,不要誤人子弟啊.

謝謝兄弟給我指出的問題。但是這裡的東西我的確是自己編譯安裝過的。
不管怎樣給指出錯誤還是謝謝你!
《解決方案》

非常的好

不過好多問題值的好好研究啊...




[火星人 via ] AS4U4+apahce2.2.4+php5.2.1+gd+mysql5.0.22+openssl0.9.8e&支持JAVA編譯過程已經有153次圍觀

http://www.coctec.com/docs/service/show-post-39527.html