歡迎您光臨本站 註冊首頁

LinuxAid 網站配置實例<三>

←手機掃碼閱讀     火星人 @ 2014-03-12 , reply:0
  5.2.安裝Web編程環境
安裝jdk1.2.2
# cd /usr/local/src
# tar zxvf jdk1_2_2-linux-i386.tar.gz --directory=/usr/local/servers/
# cp mm.mysql-2.0.2-bin.jar /usr/local/servers/jdk1.2.2/lib

修改/etc/profile
添加:
CLASSPATH="/usr/local/servers/jdk1.2.2/lib/tools.jar:/usr/
local/servers/jdk1.2.2/lib/rt.jar:/usr/local/servers
/jdk1.2.2/lib/mm.mysql-2.0.2-bin.jar:."
JAVA_HOME=/usr/local/servers/jdk1.2.2
export CLASSPATH JAVA_HOME

修改PATH變數,在最後添加 /usr/local/servers/jdk1.2.2/bin,以下是我的系統的PATH變數值:

PATH="$PATH:/usr/local/X11R6/bin:/usr/local/servers/jdk1.2.2/bin"

存檔退出,並註銷當前用戶重新登錄。
測試java是否安裝正確
使用vi 在/tmp創建一個名為 Test.java 的文件,內容為:

public class Test{
public static void main(String args[]){
System.out.println("Hello, World!");
}
}

使用以下的命令進行編譯和運行:

# cd /tmp
# javac Test.java
# java Test

如果程序顯示"Hello,World!"這行字元則說明jdk環境已經成功建立,如果出現其它的提示信息,請您仔細檢查安裝步驟是否正確。測試完畢之後,請使用以下的命令將測試數據刪除:
# rm /tmp/test.java
# rm /tmp/test.class

測試jdbc聯接是否正確
使用 vi 在/tmp創建一個名為testjdbc.java的文件,內容為:

import java.sql.*;
public class testjdbc{
public static void main(String args[]){
try
{
Class.forName("org.gjt.mm.mysql.Driver");
System.out.println("OK! JDBC Driver For MySQL Loaded.");
try
{
Connection con=DriverManager.getConnection("jdbc:mysql://localhost/test?user=root&password=&useUnicode=true&characterEncoding=ISO8859_1");
System.out.println("OK!Connect to MySQL DBMS.");
}
catch(SQLException e)
{
System.out.println("Error! Error Code:#1. Can't make connection
to Mysql Server.
"+e.getMessage());
}
}
catch (java.lang.ClassNotFoundException e)
{
System.out.println("Error! Error Code #2. Can't Load jdbc Driver.
"+e.getMessage());
}
}
}

按照前面的步驟啟動MySQL資料庫伺服器,然後使用以下的命令編譯與運行testjdbc:
# cd /tmp
# javac testjdbc.java
# java testjdbc

查看輸出的結果,如果是連續兩個OK則說明JDBC安裝的正確的。如果出現錯誤則根據以下的信息進行查錯。

Error Code=#1 MySQL沒有啟動或者是用戶名/密碼錯誤
Error Code=#2 MySQL的JDBC驅動程序沒有正確的安裝或者是MySQL的許可權設置處沒有允許指定用戶登錄,仔細對照JAVA安裝那一節重新檢查JDBC驅動安裝是否正確,同時檢查MySQL的許可權控制是否允許用戶在本地登錄。

至此,JAVA的運行環境及JDBC for MySQL的驅動程序都已經正確的安裝完成,下一步我們將開始安裝JSP的解釋器Resin。

安裝JSP解釋器Resin
# cd /usr/local/servers/resin1.1.3
# ./configure --with-java-home=/usr/local/servers/jdk1.2.2
# --with-apxs=/usr/local/servers/apache/bin/apxs
# make
# make install
測試Resin安裝結果
1、啟動Resin

# cd /usr/local/servers/resin1.1.3/bin
# ./srun.sh start

如果顯示的結果只有"start resin"同時使用 ps ax | grep "java" 可以得到類似於以下的結果則說明Resin已經在後台運行。

16842 pts/0 S 0:00 sh -c /usr/local/servers/jdk1.2.2/bin/java -Dresin.

如果出現其它的提示信息則可能是您的安裝過程有誤,請仔細檢查。
2、查看Resin的運行狀態
修改/usr/local/servers/apache/conf/httpd.conf,將其中的:

#<Location /caucho-status>
#SetHandler Caucho-status
#</Location>

前的#號全部去掉。並用 /etc/rc.d/init.d/httpd restart 重新啟動 Apache。使用Netscape或者是Ie打開http://202.99.11.120/caucho-status,當頁面完全打開后,查看頂端表格中的Host項應該為綠色的 localhost:6802,否則請檢查您的Resin是否有啟動,以及安裝過程是否正確。
3、測試Resin是否正常運行
在瀏覽器中打入http://202.99.11.120/servlet/Env ,如果您的配置正確的話,應該可以看到關於伺服器與客戶端的環境變數。如果沒有正確的顯示出來,請檢查您的JAVA、Rsein安裝是否正確。

設置相關的參數
通過前面的工作,我們已經建立起一個非常基本的JSP/Servlet解釋環境,但在實際應用時還需要進行一些參數的定製。下面我們就要開始修改Resin的參數使其可以根據我們的實際要求進行工作。
在進行設置前,建議您先給resin.conf做個備份,免得在修改出錯之後無法正常的使用時沒有辦法恢復。使用vi修改/usr/local/servers/resin1.1.3/conf/resin.conf。
1、修改預設文檔根目錄
搜索<app-dir>doc</app-dir>將其中的doc修改 Apache的配置文件 httpd.conf 中的DocumentRoot 參數指定的路徑。預設的情況下應該是 /usr/local/servers/apache/htdocs,則修改後的結果應該是:

<app-dir>/usr/local/servers/apache/htdocs</app-dir>

2、刪除測試用參數
resin.conf包含一些測試時使用的參數,在實際應用中我們並不需要這些參數,所以要將其刪掉。
將從:

<!--
- The following entries configuration the examples. You may safely
- delete anything from here down.
-->

起至

</host>
</http-server>
</caucho.com>

之間的參數全部刪,要注意,</host>起是不可以刪除的哦。刪完無關的參數之後,在

</host>
</http-server>
</caucho.com>

前添加一行:

</web-app>

則修改之後的resin.conf應該為(為減少篇幅,我們將註釋部分去掉了,主要內容應該是一樣的):

<caucho.com>
<java compiler='internal' args=""/>
<dbpool.sql id="test"
driver="org.gjt.mm.mysql.Driver"
url="jdbc:mysql://localhost:3306/test"
user=""
password=""
max-connections=20/>
<jsp precompile='true' static-encoding='true'/>
<http-server>
<app-dir>/usr/local/servers/apache/htdocs</app-dir>
<httpd-port>8080</httpd-port>
<srun host='localhost' port='6802'/>
<caucho-status>true</caucho-status>
<class-update-interval id='2'/>
<thread-min>5</thread-min>
<thread-max>20</thread-max>
<thread-keepalive id=10/>
<cache dir='cache' size='1024' entries='1024'/>
<host id=''>
<error-log id='log/error.log'/>
<web-app id='/'>
<classpath id='WEB-INF/classes'
source='WEB-INF/classes'
compile='true'/>
<cache-mapping url-pattern='/' expires='2s'/>
<welcome-file-list>index.xtp, index.jsp, index.html</welcome-file-list>
<servlet-mapping url-pattern='/servlet/*' servlet-name='invoker'/>
<servlet-mapping url-pattern='*.xtp'
servlet-name='com.caucho.jsp.XtpServlet'/>
<servlet-mapping url-pattern='*.jsp'
servlet-name='com.caucho.jsp.JspServlet'/>
<session-config>
<session-max>4096</session-max>
<session-timeout>30</session-timeout>
<enable-cookies>true</enable-cookies>
<enable-url-rewriting>true</enable-url-rewriting>
<cookie-version>0</cookie-version>
</session-config>
</web-app>
</host>
</http-server>
</caucho.com>

修改完成之後存檔退出,使用以下的命令啟動Resin,同時重新啟動Apache。

# /usr/local/servers/resin1.1.3/bin/srun.sh start
# /etc/rc.d/init.d/httpd restart

這裡要注意一點,必須啟動Resin之後才可以重啟Apache。如果啟動Resin的過程中出現錯誤,請檢查您修改resin.conf的過程是否正確。
重新啟動完兩個服務之後,我們再使用瀏覽器查看:http://202.99.11.120/caucho-status 其內容應該已經發生了改變。如果跟第一次測試時比較起來沒有任何的改動,請檢查您的修改過程是否正確。

測試Resin
通過前的步驟,我們已經成功的將Resin與Apache融合在一起,下面我們要對Resin進行一次完整的測試。測試的內容包括:JSP解釋、Servlet解釋、JDBC聯接。
1、測試JSP解釋器
使用vi在/usr/local/servers/apache/htdocs/創建一個名為test.jsp的文件,其內容包括:

<%
out.println("<H1>Hello, World!</H1>");
%>

存檔之後,使用瀏覽器查看 http://202.99.11.120/test.jsp 如果正確的話,可以看到"Hello, World!"字樣。否則,請檢查:Resin是否運行、Resin的參數修改是否正確、JAVA環境安裝是否正確、Apche是否運行正常。
2、測試servlet解釋器
使用以下的命令將Env.java 複製到Servlet目錄:

# cp /usr/local/servers/resin1.1.3/doc/WEB-INF/classes/Env.java
# /usr/local/servers/apache/htdocs/WEB-INF/classes

然後使用瀏覽器查看 http://202.99.11.120/servlet/Env 如果正確的話,可以看到伺服器端和客戶端的環境參數。否則,請檢查:Resin是否運行、Resin的參數修改是否正確、JAVA環境安裝是否正確、Apache是否運行正常。
3、測試JSP與MySQL的JDBC聯接
使用vi在/usr/local/servers/apache/htdocs/創建一個名為testjdbc.jsp的文件,其內容包括:

<%@ page import="java.sql.*" %>
<%
try
{
Class.forName("org.gjt.mm.mysql.Driver.<br>");
out.println("OK! JDBC Driver For MySQL Loaded.");
try
{
Connection con=DriverManager.getConnection("jdbc:mysql://localhost/test?user=root&password=&useUnicode=true&characterEncoding=ISO8859_1");
out.println("OK!Connect to MySQL DBMS.");
}
catch(SQLException e)
{
out.println("Error! Error Code:#1. Can't make connection to Mysql
Server.
"+e.getMessage());
}
}
catch (java.lang.ClassNotFoundException e)
{
out.println("Error! Error Code #2. Can't Load jdbc Driver.
"+e.getMessage());
}
%>

使用瀏覽器查看 http://202.99.11.120/testjdbc.jsp 應該得到以下的結果:

OK!JDBC Driver For MySQL Loaded.
OK! Connect to MySQL DBMS.

如果出現錯誤,則請您檢查:Resin是否運行、Resin的參數修改是否正確、JAVA環境安裝是否正確、Apache是否運行正常。MySQL的許可權設置是否允許root以無口令方式登錄。
最後經過前面的步驟,我們已經成功的建立起了JSP/Servlet的編程環境。並且通過mm.mysql與MySQL成功的聯接起來。

5.3.安裝PHP編程環境
下載軟體包
從http://www.php.net 下載tar zxvf php-4.0.2.tar.gz。
下載的軟體包放置於/usr/local/src。
解壓縮軟體包
# cd /usr/local/src
# tar zxvf php-4.0.2.tar.gz
編譯並安裝PHP
# cd /usr/local/src/php-4.0.2
# ./configure --with-mysql=/usr/local/servers/mysql
--with-apxs=/usr/local/servers/apache/bin/apxs
--enable-track-vars
--enable-sockets
--enable-ftp
# make
# make install
更新動態鏈接表
因為php的解釋模塊需要使用到MySQL的動態鏈接庫,而我們又將MySQL安裝在非標準的目錄下,我們就需要使用ldconfig配置工具配置動態鏈接庫表,方法如下:
使用vi打開/etc/ld.so.conf,在其中添加一行:

/usr/local/servers/mysql/lib/mysql

然後在命令行執行此命令:

# ldconfig
修改Apache配置
使用vi打開httpd.conf搜索:

AddType application/x-httpd-php

將:

#AddType application/x-httpd-php .php
#AddType application/x-httpd-php-source .phps

前的#號去掉,同時如果您想Apache對PHP3也進行解釋,可以添加一行:

AddType application/x-httpd-php .php3

則修改之後的httpd.conf部分為:

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
AddType application/x-httpd-php .php3

重新啟動Apache以使修改生效

# /etc/rc.d/init.d/httpd restart
測試PHP
1、一般測試
使用vi在/usr/local/servers/apache/htdocs創建一個名為test.php的文件,內容包括:

<?
phpinfo();
?>

使用瀏覽器查看http://202.99.11.120/test.php,如果操作正確的話可以看到PHP運行的環境參數。如果出現錯誤,則請檢查:Apache是否運行、參數修改是否正確。
2、數據聯接測試
使用vi在/usr/local/servers/apache/htdocs創建一個名為testdb.php的文件,內容包括:

<?
$connect=@mysql_connect('localhost','root','') or die ("Error! Unable connect to database
server.");
echo "$connect<br>";
?>

如果顯示的結果是:
1
則說明與MySQL連接是正確的,如果出現:
Error! Unable connect to database server.
則有可以是以下的情況:
MySQL沒有啟動
連接時所使用的用戶名和密碼錯誤
3、通過以上的操作PHP已經基本完成。




[火星人 ] LinuxAid 網站配置實例<三>已經有375次圍觀

http://coctec.com/docs/linux/show-post-69796.html