Author: MDZ(梅拯拯) Date: 2007-04-25
以前我安装 Apache+PHP+MySQL 都是来源于 Linux 软件库,安装起来非常方便:
$ sudo apt-get install apache2 mysql-server-5.0 php5 php5-common
等等,就可以使用了,根本不需要配置什么东西。不过现在遇到了 MagickWand,想轻松点都不行了。算了,自己重新安装配置 Apache + PHP 吧。
首先按照 http://www.supsite.net 上的一篇“Linux 下安装最新 Apache2.0.52 + PHP5 + GD2 + MySQL 等”文章所指示的下载下列软件包:
1. httpd-2.0.59.tar.bz2 (httpd-2.2.4.tar.bz2 应该也可以吧,我不敢下,因为在 Windows 下它与 PHP5 配合有问题)
2. php-5.2.1.tar.bz2
3. MySQL (我懒得下载和编译了,它又是那么庞大~~)
4. freetype-2.3.4.tar.gz (FreeType2 字体支持)
5. gd-2.0.34.tar.bz2 (GD2 库,不支持 gif。我用不到 gif,有需要的朋友可以下载非官方的支持 gif 的 gd2 库)
6. jpegsrc.v6b.tar.gz (JPEG 图像支持)
7. libpng-1.2.16.tar.gz (PNG 图像支持)
8. libxml2-2.6.28.tar.gz (XML 支持)
9. zlib-1.2.3.tar.gz (Zlib 库,许多东东都用得到它)
10. ImageMagick-6.3.3-10.tar.bz2 (ImageMagick,MagickWand 需要)
11. MagickWandForPHP-1.0.4.tar.bz2 (MagickWand 本身)
12. ZendOptimizer-3.2.6-linux-glibc21-i386.tar.gz (PHP 加速器,可要可不要)
另外要保证 gcc、lex/flex、yacc/bison 安装好并正常运行,编译过程中用得到它们。Linux 下一般安装的是 flex 和 bison,因为它们是自由的。
==========================
第一步、安装 MySQL
MySQL 相对独立,没有像 Apache 和 PHP 关联度那么密切,所以先安装它,在 Ubuntu 下很简单:
$ sudo apt-get install mysql-server-5.0
[Update]
再加入下句,否则配置 PHP 的过程中会提示找不到该有的 MySQL 头文件:
$ sudo apt-get install libmysqlclient15-dev
[/Update]
就可以安装上去了。在终端中可以使用
$ mysql -u root
测试是否能进入 MySQL 的交互式终端:"mysql>",可以的话,说明已经安装好并运行了。
启动和停止 MySQL 服务器可以使用下面的命令:
$ sudo /etc/init.d/mysql start # 启动 mysql
$ sudo /etc/init.d/mysql stop # 停止 mysql
$ sudo /etc/init.d/mysql restart # 重启 mysql
注意,Ubuntu 的 apt 源中的 MySQL 安装不是常规的,它把文件拆放在不同的目录下面。/usr/lib/mysql 目录下存放着 MySQL 的模块文件,我们待会儿用得着。
[Update]
MySQL 的手动安装(参考:http://www.itlearner.com/article/2006/3540.shtml):
1. 下载自带 glibc23 库的版本,如 mysql-standard-5.0.27-linux-i686-glibc23.tar.gz
2. 直接解压到 /usr/local/mysql
3. 使用以下命令建立“mysql”用户和组:
$ sudo groupadd mysql
$ sudo useradd mysql -g mysql
4. 进入 MySQL 目录:
$ cd /usr/local/mysql
5. 设置权限:
$ sudo chown -R root . # 设定root能访问/usr/local/mysql
$ sudo chown -R mysql data # 设定mysql用户能访问/usr/local/mysql/data ,里面存的是mysql的数据库文件
$ sudo chown -R mysql data/. # 设定mysql用户能访问/usr/local/mysql/data下的所有文件
$ sudo chown -R mysql data/mysql/. # 设定mysql用户能访问/usr/local/mysql/data/mysql下的所有文件
$ sudo chgrp -R mysql . # 设定mysql组能够访问/usr/local/mysql
6. 运行mysql:
$ sudo /usr/local/mysql/bin/mysqld_safe --user=mysql &
[/Update]
==========================
第二步、安装杂项软件和库文件
1. libxml
$ tar -zxvf libxml2-2.6.28.tar.gz
$ cd libxml2-2.6.28
$ sudo ./configure
$ sudo make
$ sudo make install
2. zlib
$ tar -zxvf zlib-1.2.3.tar.gz
$ cd zlib-1.2.3
$ sudo ./configure --prefix=/usr/local/zlib2
$ sudo make
$ sudo make install
3. jpeg
$ tar -zxvf jpegsrc.v6b.tar.gz
$ cd jpeg-6b
$ sudo ./configure --prefix=/usr/local/jpeg6
$ sudo make
建立相关目录,再安装:
$ sudo mkdir /usr/local/jpeg6
$ sudo mkdir /usr/local/jpeg6/include
$ sudo mkdir /usr/local/jpeg6/lib
$ sudo make install-lib
$ sudo make install
[Update]
如果还有错误提示,则再建立一下目录:
$ sudo /usr/local/jpeg6/bin
$ sudo /usr/local/jpeg6/man
$ sudo /usr/local/jpeg6/man1
[/Update]
4. libpng
$ tar -zxvf libpng-1.2.16.tar.gz
$ cd libpng-1.2.16
$ sudo ./configure --prefix=/usr/local/libpng2
$ sudo make
$ sudo make install
5. freetype
$ tar -zxvf freetype-2.3.4.tar.gz
$ cd freetype-2.3.4
$ sudo ./configure --prefix=/usr/local/freetype2
$ sudo make
$ sudo make install
6. gd-lib
$ tar -jxvf gd-2.0.34.tar.bz2
$ cd gd-2.0.34
$ sudo ./configure --prefix=/usr/local/gd2 --with-zlib=/usr/local/zlib2/ --with-png=/usr/local/libpng2/ --with-jpeg=/usr/local/jpeg6/ --with-freetype=/usr/local/freetype2
$ sudo make
$ sudo make install
==========================
第三步、安装 Apache
$ tar -jxvf httpd-2.0.59.tar.bz2
$ cd httpd-2.0.59
$ sudo ./configure --prefix=/usr/local/apache2 --enable-module=so
$ sudo make
$ sudo make install
==========================
第四步、第一次编译安装 PHP,释放出软件 phpize
$ tar -jxvf php-5.2.1.tar.bz2
$ cd php-5.2.1
$ sudo ./configure
$ sudo make
[Update]
$ sudo make install (之前落掉这一句了,抱歉)
$ sudo make clean (这句比较关键,不然再次编译后启动 Apache 时会说找不到 php5 模块)
[/Update]
==========================
第五步、安装 ImageMagick 和 MagickWand
1. 先安装 ImageMagick,参考文章“安装 ImageMagick 小记”:
$ tar -jxvf ImageMagick-6.3.3-10.tar.bz2
$ cd ImageMagick-6.3.3-10
$ sudo ./configure --enable-shared --enable-lzw --with-modules --prefix=/usr/local/ImageMagick
$ sudo make
$ sudo make install
其中 --enable-lzw 是打开 lzw 压缩开关
2. 安装 MagickWand for PHP
$ tar -jxvf MagickWandForPHP-1.0.4.tar.bz2
$ cp -r MagickWandForPHP-1.0.4 {PHP_SRC_DIR}/ext/magickwand
这里 {PHP_SRC_DIR} 指的是你存放 php 源代码的目录。
$ cd {PHP_SRC_DIR}/ext/magickwand/
$ phpize
==========================
第六步、重新编译安装 PHP,加入 magickwand 模块、联接 Apache、MySQL 等
$ cd {PHP_SRC_DIR}
$ rm -rf ./configure # 删除 configure 配置文件,也可以改名以防万一
$ ./buildconf --force # 重新生成 configure 配置文件,现在文件中已经有 magickwand 的“指标”了
重新配置 php:
$ sudo ./configure \
--prefix=/usr/local/php \ # 安装路径
--with-apxs2=/usr/local/apache2/bin/apxs \ # 指定 Apache
--with-jpeg-dir=/usr/local/jpeg6/ \ # JPEG 支持
--with-png-dir=/usr/local/libpng2/ \ # PNG 支持
--with-gd=/usr/local/gd2/ \ # GD 库支持
--with-freetype-dir=/usr/local/freetype2/ \ # FreeType2 字体支持
--enable-trace-vars \
--with-zlib-dir=/usr/local/zlib2/ \ # Zlib 库支持
--with-mysql=/usr/lib/mysql \ # MySQL 支持
--with-magickwand=/usr/local/ImageMagick # MagickWand 支持
编译和安装:
$ sudo make
$ sudo make install
拷贝配置文件:
$ sudo cp php.ini-dist /usr/local/php/lib/php.ini
==========================
第七步、配置服务器,使它能够解析运行 PHP 文件
$ sudo zile /usr/local/apache2/conf/httpd.conf # 我比较喜欢 zile 编辑器,可以选用其它的。
按照以下提示的修改:
1. 在
#AddType application/x-tar .tgz
下面加一行
AddType application/x-httpd-php .php
2. 如果看见
# LoadModule php5_module modules/libphp5.so
则去掉 “#” 号。如果没 “#” 号,那再好不过了。
3. 找到
DirectoryIndex index.html index.html.var
行,在后面添加 “index.php”,表示服务器按次序把上面的列表作为默认页
4. 找到
# don't use Group #-1 on these systems!
把它下面的用户名和组改为
User apache
Group apache
5. 找到
# ServerName
把 “#”去掉,后面的 IP 改成自己的 IP
6. 找到
DocumentRoot "/usr/local/apache2/htdocs"
把路径改为自己存放网页文件的路径
保存 httpd.conf 文件。
启动或停止 apache 可以参考下列命令:
$ sudo /usr/local/apache2/bin/apachectl start # 运行 apache
$ sudo /usr/local/apache2/bin/apachectl stop # 停止 apache
$ sudo /usr/local/apache2/bin/apachectl restart # 重启 apache
[Update]
如果运行上述的命令出现“httpd: bad user name apache”错误的话,表示系统中无 “apache”组和 “apache”用户名。用下列语句添加:
$ groupadd apache (添加“apache”组)
$ useradd apache -g apache (添加“apache”组下的用户“apache”)
[/Update]
==========================
现在启动 Apache 和 MySQL 服务器应该可以解析运行 PHP 和让 PHP 联接 MySQL 数据库了。并且拥有了使用 GD2 和 MagickWand 的权利!
最后,可以使用 ZendOptimizer 加速 PHP 速度,安装有提示的,不说了!
Enjoy PHPing!
No comments:
Post a Comment