歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> 關於Unix >> Apache的靜態/動態編譯在WEB環境的應用

Apache的靜態/動態編譯在WEB環境的應用

日期:2017/3/6 15:49:14   编辑:關於Unix
系統和所需軟件: Redhat9.0 apache:1.3.27 和 2.0.46 php: 4.3.2 mysql:4.0.13 1。首先來安裝mysql,這不是我們的重點,所以關於mysql的安裝配置我就很快過去了 tar zvxf mysql-4.0.13.tar.gz cd mysql-4.0.13 ./configure --prefix=/usr/local/mysql --sy
  系統和所需軟件:
  Redhat9.0
  apache:1.3.27 和 2.0.46
  php: 4.3.2
  mysql:4.0.13
  
  1。首先來安裝mysql,這不是我們的重點,所以關於mysql的安裝配置我就很快過去了
  
  tar zvxf mysql-4.0.13.tar.gz
  cd mysql-4.0.13
  ./configure --prefix=/usr/local/mysql --sysconfdir=/etc --localstatedir=/var/lib/mysql &&
  make &&
  make install
  
  安裝完成!
  
  然後初始化數據庫
  
  /usr/local/mysql/bin/mysql_install_db
  
  設置權限:
  
  chown -R root /usr/local/mysql
  
  復制配置文件;
  
  cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf
  
  啟動mysql:
  
  /use/local/mysql/bin/mysqld_safe --user=root &
  
  修改密碼:初始的root密碼是空的
  
  /usr/local/mysql/bin/mysqladmin -u root -p password 1234
  enter password:
  
  把密碼修改為1234,由於初始密碼為空,所以enter password直接回車就行
  
  測試一下新的密碼:
  
  mysql -u root -p mysql
  enter password:1234
  
  如果順利的話就能進入mysql。
  
  好了mysql就講這麼多,有什麼問題也不要問我,我對mysql不是很熟悉。
  
  好了下面是我們的重頭戲,我將分別通過靜態和動態DSO編譯apache+php
  
  至於什麼是靜態,什麼是DSO動態我這裡就不多講了,本人個人傾向大家用DSO動態編譯。
  
  首先是apache1.3.29+php4.3.4+mysql4.0.13的靜態編譯
  
  apache第一次編譯,並不要安裝,因為php的編譯需要apache至少已經編譯過一次
  tar zvxf apache_1.3.27.tar.gz
  cd apache_1.3.27
  ./configure --prefix=/usr/local/apache
  
  編譯php
  
  tar zvxf php4.3.4.tar.gz
  cd php4.3.4
  ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql \
  --with-apache=../apache_1.3.27 &&
  make &&
  make install
  
  第二次編譯安裝apache:
  cd ../apache_1.3.29
  ./configure --prefi=/usr/local/apache \
  --activate-module=src/modules/php4/libphp4.a &&
  make &&
  make install
  
  cp ../php4.3.4/php.ini.dist /usr/local/php/lib/php.ini
  
  修改/usr/local/apache/conf/httpd.conf
  
  查找
  
  在此范圍添加
  
  AddType application/x-httpd-php .php
  AddType application/x-httpd-php-source .phps
  
  注意:apache和php的源碼包在同一個目錄,--with-apache=../apache_1.3.27是指向源碼解壓的目錄
  
  ok!靜態編譯完成,大家只要啟動一下服務器
  /usr/local/apache/bin/apachectl start
  
  然後些個php測試頁info.php:內容如下
  
  <?php
  phpinfo();
  ?>
  正常的話,應該能看到php的信息了,恭喜你靜態編譯成功!!!
  
  我們再來講講DSO動態編譯的方法:
  
  首先編譯安裝apache
  
  tar zvxf apache_1.3.29
  cd apache_1.3.29
  ./configure --prefix=/usr/local/apache --enable-module=so \
  --enable-module=rewrite --enable-shared=max &&
  make &&
  make install
  
  so模塊用來提供DSO支持的apachehe核心模塊,rewrite是地址重寫的模塊,如果不需要可以不編譯enable-shared=max是指除了so以外的所有標准模塊都編譯成DSO模塊。
  
  然後編譯php
  
  tar zvxf php4.3.4.tar.gz
  cd php4.3.2
  ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql \
  --with-apxs=/usr/local/apache/bin/apxs &&
  make &&
  make install
  
  然後修改httpd.conf,方法同靜態編譯的方法
  
  OK,DSO動態編譯就完成了,大家應該看出明堂來了吧,中間有什麼區別應該看的很清楚了吧!!!
  
  接下來我們講apache2.0.46+php4.3.2的編譯方法,我這裡只講DSO動態編譯,靜態編譯實在沒有時間測試了.
  
  一樣現編譯安裝apache
  
  tar zvxf httpd-2.0.46.tar.gz
  
  cd httpd-2.0.46
  
  ./configure --prefix=/usr/local/apache2 --enable-so \
  --enable-mods-shared=most &&
  make &&
  make install
  
  
  大家注意了--enable-so相當與1.3.27的--enable-module=so,而--enable-mods-shared=most又等同與以前的
  --enable-shared=max 這些區別大家要注意了,否則編譯錯了不要找我
  
  然後還是編譯PHP
  
  tar zvxf php4.3.2.tar.gz
  
  ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql \
  --with-apxs2=/usr/local/apache2/bin/apxs &&
  make &&
  make install
  
  注意這裡是apxs2!!!
  
  修改httpd.conf與1.3.27也有所不同,大家尋找Add Type application/x-tar .tgz 在下面添加
  
  AddType application/x-httpd-php .php
  AddType application/x-httpd-php-source .phps
  
  另外要顯示中文的話,
  
  修改:
  
  AddDefaultCharset gb2312
  
  啟動一下apache
  
  /usr/local/apache2/bin/apachectl start
  
  用那個info.php測試一下

Copyright © Linux教程網 All Rights Reserved