apache+mysql4+php

season0891發表於2009-08-17
本文轉自 :http://blog.chinaunix.net/u1/37422/showart_386260.html
apache+mysql+php
軟體
apache: http-2.2.4.tar.gz
  cronolog-1.6.2.tar.gz
  
mysql:  mysql-5.0.33        
php:  php-5.2.3.tar.bz2
  ZendOptimizer-3.0.1-linux-glibc21-i386.tar.gz
  freetype-2.1.10.tar.gz 
  jpegsrc.v6b.tar.gz    
  zlib-1.2.3.tar.gz
  gd-2.0.33.tar.gz       
  libpng-1.2.8-config.tar.gz 
安裝:
1 mysql
 tar -zxvf  mysql-5.0.33.tar.gz
 cd mysql-5.0.33
 ./configure --prefix=/usr/local/mysql
  --with-extra-charsets=complex #Use charsets in addition to default (none, complex,all, or a list selected from the above sets)
                --enable-thread-safe-client    #Compile the client with threads. 如果沒有這個引數,編譯php的時候會報"Cannot find libmysqlclient_r under”之類的錯誤。
  --enable-local-infile  # Enable LOAD DATA LOCAL INFILE (default: disabled)
  --enable-assembler \  # Use assembler versions of some string functions if available.
                --disable-shared  #
  --with-client-ldflags=-all-static
  --with-mysqld-ldflags=-all-static # 在5.0.XX版本中不用這個引數
                --with-embedded-server
  --with-innodb
  --with-extra-charsets=gbk,gb2312,big5
 make
 make install
 #mysql 安裝完畢
 除錯:
 #建立mysql使用者、組
 groupadd -g 27 mysql
        useradd -d /usr/local/mysql/ -s /sbin/nologin -g mysql -u 27 mysql
 #初始化資料庫
 /usr/local/mysql/bin/mysql_install_db
 #更改資料庫儲存資料夾的所有者及所有組
 cd /usr/local/mysql
 chown -R mysql:mysql var/
 #更改資料庫root使用者密碼
 /usr/local/mysql/bin/mysql -uroot
 >grant all on *.* to identified by 'password';
 >flush privileges;
2.apache
 tar -zxvf httpd-2.2.4
 cd httpd-2.2.4
 ./configure --prefix=/usr/local/apache
      --enable-so   #啟用動態連結模組,DSO(dynamic shared object)
      --enable-rewrite  #啟用rewrite規則
      --enable-deflate  #編碼壓縮轉換功能
      --with-mpm=worker  #該引數是配置apache以何種模式編譯 MPM={beos|worker|prefork|mpmt_os2|perchild|leader|threadpool}
 make
 make install
 #apache 安裝完畢
 
 #安裝安裝cronolog
 #自主控制apache訪問日誌及其他日誌
 ./configure --prefix=/usr/local/cronolog
 make
 make install
 除錯:
 #建立apache使用者‘組
 groupadd  -g 48 apache
 useradd -u 48 -g apache -d /usr/local/apache -s /sbin/nologin apache
 #更改apache目錄所屬組和使用者
 cd /usr/local/
 chown apache:apache apache
 #配置cronolog
 修改httpd.conf配置檔案
 CustomLog"|/usr/local/cronolog/sbin/cronolog /opt/logs/access_log.%Y-%m-%d" combined
 #apache虛擬機器配置舉例
 
 ServerAdmin
 DocumentRoot /opt/webroot
 ServerName
 ErrorLog /opt/logs/
 CustomLog "|/usr/local/cronolog/sbin/cronolog /opt/logs/%Y-%m-%d" combined
 

安裝php
 #安裝php前需要將php所需要的一些庫的安裝包提前安裝完畢
 
 #安裝freetype--字元庫集
 tar -zxvf freetype-2.1.10.tar.gz
 cd freetype-2.1.10
 ./configure  #如果沒有指定路徑,預設安裝到/usr/local/下面
 make
 make install #在這一步可以看到安裝目的路徑
 
 #安裝zlib---zlib 1.2.3 is a general purpose data compression library
 ./configure
 make
 make install
 #安裝libpng ---安裝之前要確定zlib已經安裝,否則編譯過程中會報錯
 tar -zxvf libpng-1.2.8-config.tar.gz
 cd libpng-1.2.8-config
 ./configure
 make   # (若是提示找不到zlib庫檔案或者標頭檔案,多半是makefile檔案裡zlib的預設路徑有誤。可編輯makefile檔案,找到zlib項並重新指 定路徑到/usr/local/zlib/lib和/usr/local/zlib/include)。
 make install 
 #安裝jpegsrc ---圖片庫
 tar -zxvf jpegsrc.v6b.tar.gz
 cd jpeg-6b
 ./configure --enable-shared --enable-static
 make
 make install  #注:因為jpeg不能自動建立目錄,需要手動建立所需目錄。
 make install-lib #mkdir -pv /usr/local/jpeg6/{,bin,lib,include,man/man1,man1}
 
 #安裝gd庫
 tar -zxvf gd-2.0.33.tar.gz
 cd gd-2.0.33
 ./configure
 make
 make install
 cp gd.h  /usr/local/lib/  #如果沒有copy這一步,安裝php時會報錯:
      #configure: error: Unable to find gd.h anywhere under /usr/local/lib
 #安裝php
 tar -jxvf php-5.2.3.tar.bz2
 cd php-5.2.3
 ./configure --prefix=/usr/local/php
                --with-apxs2=/usr/local/apache/bin/apxs
  --with-mysql=/usr/local/mysql
                --with-gettext
  --enable-mbstring
  --with-gd=/usr/local/lib
                --enable-gd-native-ttf
  --with-ttf=/usr/lib
  --with-tiff-dir=/usr/lib
                --with-jpeg-dir=/usr/local/lib
  --with-png-dir=/usr/lib
  --with-xml
                --with-gdbm-dir=/usr/lib
  --enable-wddx
  --with-freetype-dir=/usr/lib
                --with-zlib
  --with-iconv
  --enable-sockets
 make
 make install
 
 # 安裝Zend Optimizer: Zend Optimizer(以下簡稱ZO)用最佳化程式碼的方法來提高PHP 4.0應用程式的執行速度。實現的原理是對那些在被最終執行之前由執行編譯器(Run-Time Compiler)產生的程式碼進行最佳化。一般情況下,執行使用ZO的PHP程式比不使用的要快40%到100%
 tar -zxvf ZendOptimizer-3.0.1-linux-glibc21-i386.tar.gz
 cd ZendOptimizer-3.0.1-linux-glibc21-i386
 sh install.sh
測試:
 編輯apache配置檔案httpd.conf
  
 # vi /etc/httpd/httpd.conf
 要改的有如下幾處:
 找到LoadModule php5_module modules/libphp5.so
 前面的#號去掉(預設已去掉註釋)
 #AddType application/x-gzip .gz .tgz
 下加二行
 AddType application/x-httpd-php .php
 AddType application/x-httpd-php-source .phps
 還有找到DirectoryIndex index.html 
 加上 index.php 讓它把index.php做為預設頁
 
 測試PHP
  
 # vi /usr/local/apache/htdocs/index.php(其中/usr/local/apache/htdocs為網頁主目錄)
 新增:
 
 phpinfo();
 ?>
  
 重新啟動apache伺服器
 # /usr/local/apache/bin/apachectl restart
 瀏覽器裡測試一下
注意: 在配置完整個架構後,將服務所需要的埠在防火牆出開啟。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/90618/viewspace-612504/,如需轉載,請註明出處,否則將追究法律責任。