PHP4+Apache2 + MySQL4 Server

来源:互联网 发布:韩子高网络剧百度云 编辑:程序博客网 时间:2024/05/01 18:15

用 apt-get 的前端程式 Synaptic 來安裝 PHP4+Apache2 + MySQL4 Server。

詳述如下:

請先把 /etc/apt/sources.list 內「unstable」套件的註解拿掉(啟用此分支)。
確認一: /etc/apt/apt.conf 裡是否設定成「testing」。
確認二: apachelibapache-mod-php4 是否已裝妥(預設是已經裝好了)
執行「apt-get update」後,再照下面步驟進行:
  1. PHP4+Apache2+MySQL 安裝

    1. 啟動 synaptic ,選出下列套件:
      Apache2 Server 部份
      apache2
      apache2-common
      apache2-mpm-prefork
      libapache2-mod-php4

      MySQL Server 部份
      mysql-client
      mysql-server 4.0 (不要選 4.1)
      mysql-common
      php4-mysql
      phpmyadmin
      PHP4 部份
      php4
      php4-cli
      php4-common
      php4-domxml
      php4-gd2
      php4-imagick
      php4-xslt
      php4-ldap(選用)
      libphp-adodb

      Turck-mmcache 部份
      turck-mmcache

      選擇過程中,若有詢問「是否要安裝相關套件 xxxx.xxx 」,請答「確定」。

    2. 點「Apply」,開始安裝
      請注意:
      • 過程中出現「Do you want me add it now[Y/n]時,一律「Y」。
        它會把一些 php 模組的設定值寫到 /etc/php4/apache/ 底下的 php.ini。也就是說, 使用者必須自己把這些自動寫好的設定值複製到 /etc/php4/apache2/php.ini。
      • 詢問「是否自動重新啟動 apache 及 apache2」時,請選「」。 我們等全部設定值都改完,再重新開機就好。


  2. 設定檔的位置

    套件名位置/檔名說明Apache2 Server  /etc/apache2/ apache2 設定檔目錄  /etc/apache2/apache2.conf apache2 主要設定檔  /etc/apache2/ports.conf apache2 對外通訊 port 的設定值  /etc/apache2/sites-available/default 網頁文件位置、虛擬主機設定PHP4 for apache 1.3  /etc/php4/apache/ PHP4 for Apache 1.3 設定檔位置  /etc/php4/apache/php.ini PHP4 for Apache 1.3 設定檔PHP4 for apache 2.0  /etc/php4/apache2/ PHP4 for Apache 2.x 設定檔位置  /etc/php4/apache2/php.ini PHP4 for Apache 2.x 設定檔MySQL 4.0.x  /etc/mysql/ MySQL 設定檔位置  /etc/mysql/my.cnf MySQL 設定檔

  3. 修改 /etc/php4/apache2/php.ini

    PHP4 一些模組預設是給 apache-1.3 用,所以當我們裝好這些套件時, 設定值只會被寫入 Apache-1.3 的 php.ini,導致 apache2 無法啟用這些 php4 模組, 因此,我們要從 Apache-1.3 用的 php.ini 複製一些設定值到 /etc/php4/apache2/php.ini

    步驟如下:
    1. 使 Apach2 下的 PHP4 啟用 mysql 及 gd 模組
      編輯 /etc/php4/apache2/php.ini
      找到 #extension=mysql.so
         #extension=gd.so

      去「#」成:extension=mysql.so
            extension=gd.so

    2. 啟動 truck-mmcache (PHP快取),使你的 Apache2 Server 效率加倍

      # 開啟 /etc/php4/apache/php.ini
      vi /etc/php4/apache/php.ini
      右鍵/複製下面這段文字:
      ;The lines below were added by the Turck-MMCache install script. ; turck-mmcache
      zend_extension="/usr/lib/php4/20020429/mmcache.so" ; turck-mmcache
      mmcache.shm_size="16" ; turck-mmcache
      mmcache.cache_dir="/var/cache/turck-mmcache" ; turck-mmcache
      mmcache.enable="1" ; turck-mmcache
      mmcache.optimizer="1" ; turck-mmcache
      mmcache.check_mtime="1" ; turck-mmcache
      mmcache.debug="0" ; turck-mmcache
      mmcache.filter="" ; turck-mmcache
      mmcache.shm_max="0" ; turck-mmcache
      mmcache.shm_ttl="0" ; turck-mmcache
      mmcache.shm_prune_period="0" ; turck-mmcache
      mmcache.shm_only="0" ; turck-mmcache
      mmcache.compress="1" ; turck-mmcache


      # 開啟 /etc/php4/apache2/php.ini
      vi /etc/php4/apache2/php.ini
      # 把剛複製好的文字「右鍵/貼上」至 apache2 的 php.ini


    3. 其他

      編輯 /etc/php4/apache2/php.ini,修改以下幾處

      memory_limit = 30M
      post_max_size = 28M    ( 它一定要比 upload_max_filesize 還大 )
      upload_max_filesize = 20M
      register_globals = Off (預設可能是 On)



      若設成 On ,用 PHP 接表單傳來的欄位時,可以直接把表單的欄位名,當成變數,例:「$欄位名」。
      設成 Off ,取用欄位時要:「$_POST[欄位名]」「$_GET[欄位名]」,看起來較麻煩,但可避免被人直接在網址列輸入欄位名, 就可輕易取得我們在 PHP 程式碼進一步處理後所呈現的資料。

      例:有一支接收來自「通過帳號密碼的表單」POST 出的「代號(userid)」後 , 會列出其個人基本資料。其程式名叫 person_data.php。

      在 「register_globals=On」的情況下:

      使用者不必通過帳號密碼的管理,直接在 person_data.php,輸入「代號」,就可以取得資料了。
      「http://example.com/person_data.php?userid=5566

    4. 註:
      簡易的文字編輯器可以選用「vi」、「leafpad」或「kedit」,依各自的喜好來決定。


  4. 編輯 /etc/default/apache2

    修改 => 「NO_START=0」
    使 apache2 得以啟用。

  5. 編輯 /etc/apache2/sites-available/default

    網頁預設位置: /var/www
    但,Debian Apache2 Server 會把首頁導到「 /var/www/apache2-default」這個目錄。 因此,我們要修改這個檔,取消此功能。

    # 編緝 /etc/apache2/sites-available/default

    找到: RedirectMatch ^/$ /apache2-default/
    加上「#」:#RedirectMatch ^/$ /apache2-default/ (變成註解)



  6. 修改 /etc/hosts 設定檔

    每次啟動 apache2 出現:
    「Starting web server Apache2.apache2: Could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName.」
    怎麼辦:
    主機名:yh
    主機位罝:203.68.102.230
    DN 名稱:yh.domo.tnc.edu.tw
    為例


    # 編緝 /etc/hosts

    第一行: 127.0.0.1 yh localhost yh.domo.tnc.edu.tw
    加一行:203.68.102.230 yh.domo.tnc.edu.tw

    改完,再重新啟動:「Starting web server Apache2.」,後面的字就不見蛋了。

  7. 啟動/關閉 MySQL 及 Apache Server

    啟動/關閉方法:
    MySQL ==> /etc/init.d/mysql start | stop | restart
    Apache ==> /etc/init.d/apache start | stop | restart
    Apache2 ==> /etc/init.d/apache2 start | stop | restart

    註:
     A. 請先把 apache 關閉,再啟動 apache2 Server。
     B. 要先成功啟動 MySQL ,才可以繼續啟動 Apache2 Server,否則 php4 會找不到 MySQL Server。
     C. Apache2 與 PHP4 是結合在一起的。所以啟動 Apache2 也連帶啟用 PHP4。


  8. 利用指令「rcconf」 設定開機時啟動 Apache2 + PHP4 + MySQL Server

    安裝至此已告一段落,準備驗收了。
    最後,我們利用「rcconf」這個指令,來選擇一開機便啟動這兩個 Server。

    # rcconf


    利用 「↑↓」鍵選擇,「Space」鍵選定。
    選擇完畢,按「Tab」鍵跳至「確定」,就OK了。

    註:
     A. 把「nis」的星星去掉。這套件,我們之前已移除了。  B. 重新開機吧!


  9. 測試你的 Apache2 Server PHP 訊息

    重新開機後,我們來寫第一支 PHP。
    建立 /var/www/phpinfo.php
    內容如下:  

    <?php
    phpinfo();
    ?>

    再利用瀏覽器網址列輸入:「http://localhost/phpinfo.php」,看看有沒有東西跑出來 ?
    再試試 MySQL ,請輸入網址:「http://localhost/phpmyadmin」,看看可否正常登入。

    剛裝好 MySQL ,登入請用「root」身份,沒有密碼。
    因此我們成功登入後,第一步請立即修改 root 密碼。