Java+PHP+MySQL+PostgreSQL+Apache 完整安裝心得
這篇文章我已經發表很久了,還曾經被收錄到Linuxfab的精華區中,
我查了紀錄,每個月大約都還有50人次在查閱這篇文章,所以就將這篇文章移轉過來
(cont)
Source code 名稱 版本 下載位址
1. J2SDK
1.4.0 beta2 http://java.sun.com/j2se/1.4/
2. JSDK
2.0 http://java.sun.com/products/servlet/download.html
3. OpenSSL
0.9.6b http://www.openssl.org/source/
4. mm
1.1.3 http://www.engelschall.com/sw/mm/
5. mod_ssl
1.3.22 http://www.modssl.org/source/
6. mod_perl
1.26 http://perl.apache.org/dist/
7. Apche
1.3.22 http://www.apache.org/dist/
8. imap
2001a ftp://ftp.cac.washington.edu/imap/imap-2001a.RELEASE-CANDIDATE.2.tar.Z
9. MySQL
3.22.43 http://www.mysql.com/downloads/
10. PostgreSQL
7.1.3 ftp://ftp.postgresql.org/pub/
11. pdflib
4.0.1 http://www.pdflib.com/pdflib/download/index.html
12. freetype
2.0.5 http://prdownloads.sourceforge.net/freetype/
13. gd
2.0.1 http://www.boutell.com/gd/http/
14. curl
7.9 http://curl.haxx.se/download.html
15. zlib
1.1.3 http://www.gzip.org/zlib/
16. php
4.0.6 http://www.php.net/downloads.php
17. JAXP
1.0.1 http://java.sun.com/xml/archive.html
18. JSSE
1.0.2 http://java.sun.com/products/jsse/index-102.html
19. Tomcat
4.0 http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/v4.0/
20. Tomcat (src)
3.2.3(src) http://jakarta.apache.org/builds/jakarta-tomcat/release/v3.2.3/src/
21. Tomcat (bin)
3.2.3(bin) http://jakarta.apache.org/builds/jakarta-tomcat/release/v3.2.3/bin/
@@ 我把所有的source code 都放在 /usr/local/src 這個目錄下
@@ 我使用的 Linux 是 MDK8.1
@@ 安裝前請先更新 libc 到 5.0 的版本…不然在編mod_ssl時候會有問題
1. J2SDK 1.4.0 beta2 and JSDK2.0
1-1 cp j2sdk-1_4_0-beta2-linux-i386.bin /usr/local/
1-2 chmod 777 j2sdk-1_4_0-beta2-linux-i386.bin
1-3 ./j2sdk-1_4_0-beta2-linux-i386.bin
1-4 按空白鍵,最後輸入Yes
1-5 mv j2sdk-1_4_0/ j2sdk/
1-6 cp jsdk20-solaris2-sparc[1].tar.Z /usr/local
1-7 tar -zxvf jsdk20-solaris2-sparc[1].tar.Z
1-8 cd /root
1-9 vi .bashrc
1-10 加上這幾行
1-10-1 JAVA_HOME=/usr/local/j2sdk
1-10-2 PATH=$JAVA_HOME:$JAVA_HOME/bin
1-10-3 CLASSPATH=/usr/local/j2sdk/lib/tools.jar:/usr/local/JSDK2.0/lib/jsdk.jar:$HOME/java-class
1-10-4 export JAVA_HOME CLASSPATH
1-11 rm -rf j2sdk-1_4_0-beta2-linux-i386.bin –> 如果你要節省空間才需要作
1-12 rm -rf jsdk20-solaris2-sparc[1].tar.Z –> 如果你要節省空間才需要作
** 如果你想所有的使用者都可以使用java , 請繼續作下面部分 **
1-13 cd /etc
1-14 vi profile
1-15 add follow lines
1-15-1 JAVA_HOME=/usr/local/j2sdk
1-15-2 PATH=$JAVA_HOME:$JAVA_HOME/bin
1-15-3 CLASSPATH=/usr/local/j2sdk/lib/tools.jar:/usr/local/JSDK2.0/lib/jsdk.jar:$HOME/java-class
1-15-4 export JAVA_HOME CLASSPATH
** ps. 我設定 $HOME/java-class 讓所有使用者的java class都必須放在java-class這個資料夾才可以使用
1-16 test
1-16-1 which javait 會顯示 /usr/local/j2sdk/bin/java
1-16-2 Hello Java World
1-16-2-1 用 vi 或其他你習慣的編輯器編輯下面這段測試用程式碼
class HelloJavaWorld
{
public static void main(String[] args)
{
System.out.println(“Hello Java World!”);
}
}
1-16-2-2 javac HelloJavaWorld系統會產生一個叫 HelloJavaWorld.class 的檔案
1-16-2-3 java HelloJavaWorld當你看到 > Hello Java World! 就代表你之前的安裝都已經成功了
——————————————————————————–
2 OpenSSL
2-1 tar -zxvf openssl-0.9.6b.tar.gz
2-2 cd openssl-0.9.6b
2-3 ./config –prefix=/usr/local/openssl
2-4 make
2-5 make test2-6 make install
——————————————————————————–
3 mm
3-1 tar -zxvf mm-1.1.3.tar.gz
3-2 cd mm-1.1.3
3-3 ./configure –prefix=/usr/local/lib/mm
3-4 make
3-5 make test
3-6 make install
3-7 cd /etc
3-8 vi ld.so.conf and add /usr/local/lib/mm/lib
3-9 cd /sbin 3-10 ./ldconfing
——————————————————————————–
4 mod_ssl
4-1 tar -zxvf apache_1.3.22.tar.gz
4-2 tar -zxvf mod_ssl-2.8.5-1.3.22.tar.gz
4-3 cd mod_ssl-2.8.5-1.3.22
4-4 ./configure –with-apache=/usr/local/apache_1.3.22 –with-ssl=/usr/local/openssl –enable-shared=ssl –with-mm=/usr/local/lib/mm/lib
——————————————————————————–
5 mod_perl
5-1 tar -zxvf mod_perl-1.26.tar.gz
5-2 cd mod_perl-1.26
5-3 perl Makefile.PL EVERYTHING=1 APACHE_SRC=../apache_1.3.22/src USE_APACI=1 PREP_HTTPD=1 DO_HTTPD=1
5-4 make
5-5 make install
——————————————————————————–
6 Apache
6-1 cd apache-1.3.22
6-2 EAPI_MM=”/usr/local/lib/mm” SSL_BASE=”/usr/local/openssl” ./configure –prefix=/usr/local/apache
–enable-module=unique_id –enable-module=rewrite –enable-module=speling –enable-module=expires
–enable-module=info –enable-module=log_agent –enable-module=log_referer –enable-module=usertrack
–enable-module=proxy –enable-module=userdir –enable-module=so –enable-module=most –enable-shared=max
–enable-shared=ssl –enable-module=ssl –activate-module=src/modules/perl/libperl.a –enable-module=perl
6-3 make
6-4 make certificate TYPE=dummy –> 測試用途
make certificate TYPE=custom –> 正式用途,你必須回答許多問題
6-5 make install
6-6 /usr/local/apache/bin
6-7 ./apachect1 startssl –> start with ssl./apachect1 start –> start without ssl
6-8 開啟你的瀏覽器
6-9 http://localhost/ –> 不論你使用 apachectl start 或 apachectl startssl 啟動 apache 都可以看到這個網頁
6-10 https://localhost –> 只有使用 apachectl startssl 啟動 apache 才會看到這個頁面
6-11 測試cgi
6-12 cd ../
6-13 chmod +x cgi-bin/*
6-14 http://localhost/cgi-bin/testcgi
6-15 http://localhost/cgi-bin/printenv
——————————————————————————–
7 imap c-client
7-1 tar -zxvf imap-2001a.RELEASE-CANDIDATE.2.tar.Z
7-2 mv imap-2001a.RELEASE-CANDIDATE.2 imap
7-3 cd imap
7-4 make slx
——————————————————————————–
8 MySQL
8-1 tar -zxvf mysql-3.23.43.tar.gz
8-2 cd mysql-3.23.43
8-3 ./configure –prefix=/usr/local/mysql –with-charset=big5
8-4 make
8-5 make install
8-6 cd /etc
8-7 vi ld.so.conf 然後加上 /usr/local/mysql/lib/mysql
8-8 cd /sbin
8-9 ./ldconfig
8-10 adduser mysql
8-11 cd /etc
8-12 vi passwd
8-13 找出 /home/mysql 並且把他改成 /usr/local/mysql/lib/mysql
8-14 cd /usr/local/
8-15 chown -R mysql:mysql mysql/
8-16 cd mysql/bin
8-17 ./mysql_install_db
8-18 cd ../share/mysql
8-19 ./mysql.server start
8-20 測試 –> ps -ax 你會看到下面的資訊
2391 ? S 0:00 /usr/local/mysql/libexec/mysqld –basedir=/usr/local/
2393 ? S 0:00 /usr/local/mysql/libexec/mysqld –basedir=/usr/local/
2394 ? S 0:00 /usr/local/mysql/libexec/mysqld –basedir=/usr/local/
——————————————————————————–
9 PostgreSQL
9-1 tar -zxvf postgresql-7.1.3.tar.gz
9-2 cd postgresql-7.1.3
9-3 ./configure –prefix=/usr/local/pgsql –with-perl –with-odbc –enable-multibyte=MULE_INTERNAL
9-4 gmake
9-5 gmake install
9-6 adduser postgres
9-7 cd /etc
9-8 編輯 ld.so.conf 加入 /usr/local/pgsql/lib
9-9 cd /sbin
9-10 ./ldconfig
9-11 cd /etc
9-12 vi passwd
9-13 找出 /var/lib/pgsql 改成 /usr/local/pgsql
9-14 su – postgres
9-15 /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
9-16 /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data >logfile 2>&1 &
9-17 /usr/local/pgsql/bin/createdb test
9-18 /usr/local/pgsql/bin/psql test
9-19 測試 –>ps -ax你會看到下面的資訊
2597 ? S 0:00 /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/d
——————————————————————————–
10 pdflib
10-1 tar -zxvf pdflib-4.0.1.tar.gz
10-2 cd pdflib-4.0.1
10-3 ./configure –prefix=/usr/local/lib/pdf –enable-shared-pdflib –enable-cxx
10-4 make
10-5 make install
10-6 cd /etc
10-7 編輯 ld.so.conf
10-8 加入 /usr/local/lib/pdf/lib
10-9 cd /sbin
10-10 ./ldconfig
——————————————————————————–
11 freetype
11-1 tar -zxvf freetype-2.0.5.tar.gz
11-2 cd freetype-2.0.5
11-3 make setup CFG=”–prefix=/usr/local”
11-4 make
11-5 make install
——————————————————————————–
12 gd (我發現 GD-1.8.x 似乎不支援 TrueType version 2 , 所以我安裝 2.0.1)
12-1 tar -zxvf gd-2.0.1.tar.gz
12-2 cd gd-2.0.1
12-3 輸入 freetype-config –cflags 系統會告訴你的freetype lib 裝在哪裡,我的是裝在-I/usr/local/include/freetype2
@@ 如果你的系統找不到freetype-config這個指令你可以到 cd /usr/bin下執行 ./freetype-config –cflags
12-4 vi Makefile 找出 INCLUDEDIRS=-I. -I/usr/include/freetype2
把他改成 INCLUDEDIRS=-I. -I/usr/local/include/freetype2
@@ 後面那段必須輸入和你剛剛找到的路徑一樣
12-5 make
12-6 make install
12-7 make libgd.a
——————————————————————————–
13 curl1
13-1 tar -zxvf curl-7.9.tar.gz
13-2 cd curl-7.9
13-3 ./configure –prefix=/usr/local/lib
13-4 make
13-5 make install
——————————————————————————–
14 zlib
14-1 tar -zxvf zlib-1.1.3.tar.gz1
14-2 cd zlib-1.1.3
14-3 ./configure -s
14-4 make install
——————————————————————————–
15 php
15-1 tar -zxvf php-4.0.6.tar.gz
15-2 cd php-4.0.6
15-3 ./configure –prefix=/usr/local/php –with-apxs=/usr/local/apache/bin/apxs –with-mysql=/usr/local/mysql
–with-pgsql=/usr/local/pgsql –enable-track-vars –enable-trans-sid –enable-safe-mode –enable-versioning
–enable-ftp –disable-debug –with-ttf –with-xml –with-imap=../imap –with-pdflib=/usr/local
–with-openssl=/usr/local/openssl –with-mm=/usr/local/lib/mm –with-gd –enable-gd-native-tt –with-freetype-dir
–with-png-dir –with-jpeg-dir –with-zlib-dir –with-curl
15-4 make
15-5 make install
15-6 cp /usr/local/php-4.0.6/php.ini-dist /usr/local/lib/php.ini
15-7 cd /usr/local/apache/conf 我們需要編輯下面這幾行
15-7-1 找出這段
LoadModule ssl_module libexec/libssl.so
LoadModule php4_module libexec/libphp4.so
把他改成
LoadModule ssl_module libexec/libssl.so
LoadModule php4_module libexec/libphp4.so
15-7-2 找出這段
把他改成
15-7-3 找出這段
#AddType application/x-httpd-php .php
#AddType application/x-httpd-php-source .phps
把他改成
AddType application/x-httpd-php .php .php3 .phtml
AddType application/x-httpd-php-source .phps
15-8 restart apachecd ../bin./apachectl restart
15-9 edit a phpinfo pagecd ../htdocs編輯一個檔案 info.php 內容 –> < ?php phpinfo(); ?>
15-10 測試 http://localhost/info.php or https://localhost/info.php
如果你可以看到 php 的相關資訊 , 那你就完成了剛剛的東西了 ^_^
——————————————————————————–
@@ 下面我們要開始安裝 Tomcat 囉,我把相關的東西都準備安裝在/usr/local/jakarta 這個目錄底下所以我們要先做幾件事情
M1 cd /usr/local
M1-1 mkdir jakarta
M1-2 cd /root
M1-3 vi .bashrc
要加幾行東西喔…
1.JAKARTA_HOME=/usr/local/jakarta
2.TOMCAT_HOME=$JAKARTA_HOME/tomcat
3.export JAKARTA_HOME TOMCAT_HOME
@@ 所以現在我們的 /root/.bashrc 和 /etc/profile應該要有下面這些資訊(我有稍微整理過一下^_^)
JAVA_HOME=/usr/local/j2sdk
JAKARTA_HOME=/usr/local/jakarta
TOMCAT_HOME=$JAKARTA_HOME/tomcat
export JAVA_HOME JAKART_HOME TOMCAT_HOME
PATH=$JAVA_HOME:$JAVA_HOME/binCLASSPATH=$JAVA_HOME/lib/tools.jar:/usr/local/JSDK2.0/lib/jsdk.jar:$HOME/java-class
export PATH CLASSPATH
——————————————————————————–
16 JAXP : Java XML Parser Library
16-1 解開檔案
16-2 mv jaxp1.0.1 jaxp
16-3 cd /usr/local/jakarta/jaxp
16-4 cp *.jar $JAVA_HOME/jre/lib/ext
——————————————————————————–
17 JSSE : Secure Sockets Library
17-1 解開檔案
17-2 mv jsse1.0.2 jsse
17-3 cd jsse
17-4 cp *.jar $JAVA_HOME/jre/lib/ext
17-5 測試一下我們的 JAVA 的 SSL 是不是已經安裝完成
17-5-1 用你習慣的編輯器輸入以下程式碼…檔名叫做TestSSL.java
import javax.net.ssl.*;
public class TestSSL
{
public static void main(String [] arstring)
{
try
{
new java.net.URL(“https://” + arstring[0] + “/”).getContent();
}
catch (Exception exception)
{
exception.printStackTrace();
}
}
}
17-5-2 javac TestSSL.java
17-5-3 接著我們要執行剛剛的java囉…請輸入以下的指令
[root@demo jsse]# java -Djava.protocol.handler.pkgs=com.sun.net.ssl.internal.www.protocol TestSSL sourceforge.net
[root@demo jsse]# echo $?
0
[root@demo jsse]#
這樣就測試ok啦 ^^
——————————————————————————–
@@ 接下來的 Tomcat 你可以依自己的需要安裝3.2.3 或 3.3 或 4.0 的板本
18 Tomcat 4.0
18-1 tar -zxvf jakarta-tomcat-4.0.tar.gz
18-2 mv jakarta-tomcat-4.0 tomcat
18-3 cd tomcat/bin
18-4 /usr/local/apache/bin/apachectl stop –>如果你的apache原本就是為啟動的狀態,就不需執行此行
18-5 ./startup.sh
18-6 /usr/local/apache/bin/apachectl startssl
18-7 測試一下,用瀏覽器開啟下列網址
18-7-1 http://localhost/
18-7-2 https://localhost/
18-7-3 http://localhost:8080/
——————————————————————————–
19 Tomcat 3.2.3
19-1 tar -zxvf jakarta-tomcat-3.2.3-src.tar.gz
19-2 mv jakarta-tomcat-3.2.3-src src-tomcat
19-3 cd src-tomcat/src/native/apache1.3
19-4 vi Makefile.linux
19-4-1 找出 #JAVA_HOME 改成 JAVA_HOME=/usr/local/j2sdk
19-4-2 找出 APXS=/usr/sbin/apxs改成 APXS=/usr/local/apache/bin/apxs
19-5 make -f Makefile.linux all
19-6 cp mod_jk.so /usr/local/apache/libexec
19-7 tar -zxvf jakarta-tomcat-3.2.3.tar-gz
19-8 mv jakarta-tomcat-3.2.3 tomcat
19-9 cd /usr/local/apache/conf
19-9-1 vi httpd.conf
19-9-2 在檔案最後加上 Include /usr/local/jakarta/tomcat/conf/mod_jk.conf
19-10 測試
19-10-1 cd /usr/local/jakarta/tomcat/bin
19-10-2 /usr/local/apache/bin/apachectl stop –>如果你的apache原本就是為啟動的狀態,就不需執行此行
19-10-3 ./startup.sh
19-10-4 /usr/local/apache/bin/apachectl startssl
19-10-5 用瀏覽器開啟下列網址
19-10-5-1 http://localhost/
19-10-5-2 https://localhost/
19-10-5-3 http://localhost:8080/
——————————————————————————–
| 後記 |
這是我第一次寫心得分享,因為我對Linux並不是如此熟悉,因此這些東西總共花了我一個多星期.
過程中出現的錯誤訊息,在我的好朋友 darkhero [ [email protected] ] 的協助和我自己努力(^_^)下一一解決了,很謝謝他.
這篇心得分享算是第一步驟,因為現在我正在安裝 Cocoon 和了解 Tomcat 上如何整合 SSL
對於這篇文章如果有任何錯誤與指教請大家不吝指導,
也歡迎到我的網站上大家一起討論 祝大家都能順利安裝成功 ^_^