linux 下 gd 安裝

bluefishyong發表於2007-03-31
linux 下 gd 安裝[@more@]pn安裝安裝Jpeg注意選共享庫 ./configure –enable-shared
php編譯引數:./configure --prefix=/home/bin/php --with-mysql --with-apxs2=/home/bin/httpd/bin/apxs --with-gd --with-zlib-dir --with-jpeg-dir --with-png-dir --with-ttf --enable-gd-native-ttf --enable-gd-jis-conv

參考:


apache1.3和apache2的靜態/動態編譯在apache+php+mysql+GD中的應用

版權宣告:可以任意轉載,轉載時請務必以超連結形式標明文章原始出處和作者資訊及本宣告

本文是在張微波的文章基礎上改進而來,原始文章請見:
http://www.5ilinux.com/blog/archives/000010.html

Fedora Core 3伺服器中的apache的靜態/動態編譯以及apache+php+mysql+gd的應用

我想大家有不少都成功實現apache+php+mysql+gd,網上的文章也有不少,但我發現不少文章都是抄來抄去,並且沒有說明白編譯的方式,有的索性apache1.3的編譯方法原封不動的搬過來套在apache2.0,顯然誤導一些菜鳥。

我今天就以apache+mysql+php說一下靜態編譯和DSO動態編譯的區別,我會分別拿apache1.3.27和apache2.0.46

說明,因為兩個版本的編譯命令是有所區別的。

系統和所需軟體:
Redhat9.0
apache:1.3.27 和 2.0.46
php: 4.3.2
mysql:4.0.13

gd-2.0.33.tar.gz
jpegsrc.v6b.tar.gz
libpng-1.2.7.tar.tar
zlib-1.2.2.tar.gz
freetype-2.1.9.tar.gz

首先來安裝mysql

先新增使用者:
groupadd mysql
useradd mysql

然後編譯mysql

tar zvxf mysql-4.0.13.tar.gz
cd mysql-4.0.13
./configure –prefix=/usr/local/mysql –with-zlib-dir=/usr –with-charset=gbk –sysconfdir=/etc –localstatedir=/var/mysql &&
make &&
make install

安裝完成!(注:–with-charset=gbk是使mysql支援中文查詢)

然後初始化資料庫:

/usr/local/mysql/bin/mysql_install_db

設定許可權:

chown -R root.mysql /usr/local/mysql
chown -R mysql.mysql /var/mysql

複製配置檔案:

cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf

複製啟動檔案:

cp /usr/local/mysql/share/mysql/mysql.server /usr/local/mysql/share/mysql/mysqld
chmod a+x /usr/local/mysql/share/mysql/mysqld

啟動mysql:

/usr/local/mysql/share/mysql/mysqld start

修改密碼:初始的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不是很熟悉。

然後安裝gd

最新的GD庫包括了對GIF的支援,所以不要打GIF補丁

 好多原始碼包可以在上面找到

安裝步驟:

先安裝zlib,freetype,libpng,jpeg,再裝GD

1.裝zlib

tar zxvf zlib-1.2.2.tar.gz
cd zlib-1.2.2
./configure
make
make install

2.安裝libpng

tar zxvf libpng-1.2.7.tar.tar
cd libpng-1.2.7
cd scripts/
mv makefile.linux ../makefile
cd ..
make
make install
注意,這裡的makefile不是用./configure生成,而是直接從scripts/裡拷一個

3.安裝freetype

tar zxvf freetype-2.1.9.tar.gz
cd freetype-2.1.9
./configure
make
make install

4.安裝Jpeg

tar zxvf jpegsrc.v6b.tar.gz
cd jpeg-6b/
./configure –enable-shared
make
make test
make install
注意,這裡configure一定要帶–enable-shared引數,不然,不會生成共享庫

5.安裝GD

tar zxvf gd-2.0.33.tar.gz
cd gd-2.0.33
./configure –with-png –with-freetype –with-jpeg
make install

好了下面是我們的重頭戲,我將分別透過靜態和動態DSO編譯apache+php

至於什麼是靜態,什麼是DSO動態我這裡就不多講了,本人個人傾向大家用DSO動態編譯。

首先是apache1.3.29+php4.3.4的靜態編譯

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 –enable-bcmath –with-zlib –with-gd –with-jpeg-dir –enable-gd-native-ttf –with-ttf –with-freetype-dir –enable-memory-limit –enable-zend-multibyte –disable-ipv6 –disable-path-info-check –with-iconv –with-pear –disable-debug &&
make &&
make install

第二次編譯安裝apache:
cd ../apache_1.3.29
./configure –prefi=/usr/local/apache –activate-module=src/modules/php4/libphp4.a –enable-module=rewrite &&
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:內容如下

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-apache=../apache_1.3.27 –enable-bcmath –with-zlib –with-gd –with-jpeg-dir –enable-gd-native-ttf –with-ttf –with-freetype-dir –enable-memory-limit –enable-zend-multibyte –disable-ipv6 –disable-path-info-check –with-iconv –with-pear –disable-debug –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 –with-apache2=../httpd-2.0.52 –with-mysql=/usr/local/mysql –enable-bcmath –with-zlib –with-gd –with-jpeg-dir –enable-gd-native-ttf –with-ttf –with-freetype-dir –enable-memory-limit –enable-zend-multibyte –disable-ipv6 –disable-path-info-check –with-iconv –with-pear –disable-debug –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測試一下,應該不會有多大問題哦!!!

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

相關文章