2012年10月25日 星期四

安裝 Apache2 + MySQL + Tomcat5 + PHP5

我在這裡先把重要的設定檔給儲存下來,免得當掉以後又得從新再找一次。
  • 我希望能夠掌握安裝的系統設定狀況,因此採用比較複雜的下載原始套件,並手動安裝。如果這不是你需要的,你不必在往下閱讀了巷。 Debian 的基本系統少了一些套件,如果我印象沒錯,只需要再安裝 openssl, libssl-dev, libxml2, and libxml2-dev。
  • install MySQL
  • install Apache2: (2.0.55 was installed)
    • ./configure --enable-so --enable-ssl --enable-rewrite
    • 你上一次使用 configure 的指令可以在 config.status 內看到
    • 將下列資訊加到 httpd.conf 的後面
      #
      # 所有自己加上的設定從這裡開始
      #
      # 以下加的副檔名處理規則是給 PHP 用的
      #
      AddType application/x-httpd-php .php .phtml
      AddType application/x-httpd-php-source .phps
      
      #
      # 加入其他模組的設定,下例中包含加入 mod_jk 和 mod_ssl
      #
      
      # mod_jk 設定檔
      Include /usr/local/tomcat/conf/mod_jk.conf
      
      # mod_ssl 設定檔
      
          Include /usr/local/apache2/conf/ssl.conf
      
      
      # 指向 Squirrel Mail 的安裝路徑
      # 也就是 Squirrel Mail 安裝於 /usr/local/squirrelmail-1.4.5,而不需要
      # 安裝於 apache 的 htdocs 目錄內;但是在使用上,卻像是安裝於
      # htdocs 目錄內的 webmail 目錄。
      Alias /webmail /usr/local/squirrelmail-1.4.5
      
    • conf/ssl.conf 檔案: 需要更改的部份為新增 VirtualHost 的定義。另外,非常重要的,你必須把 <IfDefine HAS_SLL> or <IfDefine SSL> 的 tags 刪除掉,這個部份當初耗掉我不少時間。另外,你需要利用 OpenSSH 的工具來為 web server 產生 key 和 certificate。
      ##
      ## SSL Virtual Host Context
      ##
      
      
      #   General setup for the virtual host
      DocumentRoot /usr/local/apache2/htdocs
      ServerName xml.nchu.edu.tw
      ServerAdmin jllu@nchu.edu.tw
      ErrorLog /usr/local/apache2/logs/error_log
      TransferLog /usr/local/apache2/logs/access_log
      
  • install PHP: (5.0.4 was installed)
    • go ftp://ftp.cac.washington.edu/imap/ and download c-client.tar.Z. Unpack it and install with "make ldb" for Debian. Then, follow instructions to copy all *.h, *.c, and *.a to /usr/local/imap-2004g.
    • ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --with-openssl --with-imap=/usr/local/imap-2004g
    • 如果不清楚的話,請參考 Apache 2.0 on Unix systems.
    • 必要的話,可以修改 php.ini,它位於 /usr/local/lib。依照中文化的要求,將 default_charset 設為 "big5"。
  • install Tomcat5: (5.5.9 was installed)
    • 請先依照A Tutorial on Installing and Using Jakarta Tomcat 5.5 for Servlet and JSP Development 來安裝 Tomcat5.
    • install mod_jk (注意,mod_jk2 已經不被 support 了),你需要將 mod_jk.so 安裝到 /usr/local/apache2/modules 內,並設計好 mod_jk.conf 和 workers.properties 兩個檔案。
    • mod_jk 的產生方式為:./configure --with-apxs=/usr/local/apache2/bin/apxs --with-java-home=/usr/jdk --with-java-platform=2 --enable-jni
    • mod_jk.conf 檔案
      # Load mod_jk module
      LoadModule    jk_module  modules/mod_jk.so
      # Declare the module for  (remove this line on Apache 2.0.x)
      #AddModule     mod_jk.c
      # Where to find workers.properties
      JkWorkersFile /usr/local/tomcat/conf/workers.properties
      # Where to put jk logs
      JkLogFile     /usr/local/apache2/logs/mod_jk.log
      # Set the jk log level [debug/error/info]
      JkLogLevel    info
      # Select the log format
      JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
      # JkOptions indicate to send SSL KEY SIZE,
      JkOptions     +ForwardKeySize +ForwardURICompat -ForwardDirectories
      # JkRequestLogFormat set the request format
      JkRequestLogFormat     "%w %V %T"
      # 如果 URL 的最後包含 servlet/ 再加上任何名稱,就把處理工作交給名為 ajp13
      # 的 worker 來處理,而 Apache 就不再處理了
      JkMount  /*/servlet/* ajp13
      
      # 如果 URL 的最後包含 .jsp,就把處理工作交給名為 ajp13
      # 的 worker 來處理,而 Apache 就不再處理了
      JkMount  /*.jsp ajp13
      
    • workers.properties 檔案
      workers.tomcat_home=/usr/local/tomcat
      workers.java_home=/usr/jdk
      ps=/
      worker.list=ajp13
      worker.ajp13.port=8009
      worker.ajp13.host=localhost
      worker.ajp13.type=ajp13
      #
      # Specifies the load balance factor when used with
      # a load balancing worker.
      # Note:
      #  ----> lbfactor must be > 0
      #  ----> Low lbfactor means less work done by the worker.
      worker.ajp13.lbfactor=50
      
      #
      # Specify the size of the open connection cache.
      worker.ajp13.cachesize=10
      worker.ajp13.cache_timeout=600
      worker.ajp13.socket_keepalive=1
      worker.ajp13.recycle_timeout=300
      # Additional class path components.
      worker.ajp13.class_path=$(workers.tomcat_home)$(ps)common$(ps)lib$(ps)servlet-ap
      i.jar
      

沒有留言:

張貼留言