Chinaunix首页 | 论坛 | 博客
  • 博客访问: 600418
  • 博文数量: 129
  • 博客积分: 6240
  • 博客等级: 准将
  • 技术积分: 1765
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-18 15:42
文章分类

全部博文(129)

文章存档

2015年(1)

2012年(3)

2011年(6)

2010年(14)

2009年(105)

我的朋友

分类: 系统运维

2009-03-27 15:11:36

安装环境:
centos4.5_x86_32自定义安装
apache2.2.6+php5.2.5+mysql5.0.45.0+gd2+zend3.3配置,
安装GD库(让PHP支持GIF,PNG,JPEG)
其中安装中见到的问题见文章最后!
------------------------------------------------

一:准备软件包,存放/home/xiutuo/software/目录下。

主要软件包,
(这里没有选择mysql-standard-5.0.45.0-linux-i686.tar.gz,
呆会再说明原因。)
httpd-2.2.6.tar.gz
mysql-max-5.0.45.0-linux-i686-glibc23.tar.gz
php-5.2.5.tar.gz
ZendOptimizer-3.3.0-linux-glibc21-i386.tar.gz
安装php所需的软件包
(其中libxml2是安装php5必须的)
libxml2-2.6.24.tar.gz
libxslt-1.1.15.tar.gz
curl-7.15.0.tar.gz

GD库所需要软件包
(有人说PHP源码包里自带了GD2.0.28和zlib,
只要安装GD的三个支持包:jpg,png和freetype,但是我们还是下载)
gd-2.0.33.tar.gz
freetype-2.1.10.tar.gz
jpegsrc.v6b.tar.gz
libpng-1.2.8.tar.gz
zlib-1.2.3.tar.gz

相关下载
(根据自己的linux版本下载相应的包,
查看操作系统版本:
# uname -r )



http://curl.haxx.se/download/curl-7.15.0.tar.gz






把以上所有软件包下载到:/home/xiutuo/software/目录下。

二:安装apache2。
# cd /home/xiutuo/software/
进入目录/home/xiutuo/software/
# tar -zvxf httpd-2.2.6.tar.gz
解压httpd-2.2.6.tar.gz
# cd httpd-2.2.6
进入httpd-2.2.0目录
# mkdir -p /usr/local/apache2
生成/usr/local/apache2目录
# ./configure --prefix=/usr/local/apache2
或者
测试用,编译所有模块
# ./configure --prefix=/usr/local/apache2 --enable-modules=so --enable-mods-shared=all
# make; make install
安装apache
# vi /usr/local/apache/conf/httpd.conf
#ServerName 在其下增加
ServerName
保存退出,现在就这么简单配置apache。

# /usr/local/apache/bin/apachectl -k start
启动apahce,
用浏览器查看,得到it works,说明apache已经配置成功了。
# /usr/local/apache/bin/apachectl -k stop
停止apache。

三:安装mysql
# cd /home/xiutuo/software/
# tar -zvxf mysql-max-5.0.45.0-linux-i686-glibc23.tar.gz
# mkdir -p /usr/local/mysql (省略也可)
# cp -r mysql-max-5.0.45.0-linux-i686-glibc23.tar.gz /usr/local/mysql
# cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf

添加mysql用户及用户组
# groupadd mysql
# useradd -g mysql mysql
修改mysql目录权限
# cd /usr/local/
# chown -R mysql:mysql mysql
# cd /usr/local/mysql
一定要在该路径下,否则不能生成数据库文件并出错!
用户属主和属组的改变非常重要,否则出错,请严格按照此步骤
#
生成mysql系统数据库
# scripts/mysql_install_db --user=mysql
# chown -R mysql:mysql data
启动mysql服务
# /usr/local/mysql/bin/mysqld_safe --user=mysql&
如出现 Starting mysqld daemon with databases from /usr/local/mysql/data
代表正常启动mysql服务了, 按Ctrl + C 跳出
修改 mysql 的 root 密码
# /usr/local/mysql/bin/mysqladmin -u root -p password "123456"

四:安装GD库(让PHP支持GIF,PNG,JPEG)
a.安装 jpeg6
建立目录:
# mkdir -p /usr/local/jpeg6
# mkdir -p /usr/local/jpeg6/bin
# mkdir -p /usr/local/jpeg6/lib
# mkdir -p /usr/local/jpeg6/include
# mkdir -p /usr/local/jpeg6/man
# mkdir -p /usr/local/jpeg6/man1
# mkdir -p /usr/local/jpeg6/man/man1

# cd /home/xiutuo/software/
# tar -zvxf jpegsrc.v6b.tar.gz
# cd jpeg-6b
# ./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static
# make; make install

b.:安装zlib
# cd /home/xiutuo/software/
# tar -zxvf zlib-1.2.3.tar.gz
# mkdir -p /usr/local/zlib
# cd zlib.1.2.3
# ./configure --prefix=/usr/local/zlib
# make;make install

c.安装 freetype
# cd /home/xiutuo/software/
# tar -zvxf freetype-2.1.10.tar.gz
# cd freetype-2.1.10
# mkdir -p /usr/local/freetype
# ./configure --prefix=/usr/local/freetype
# make;make install

d.安装libpng
# cd /home/xiutuo/software/
# mkdir -p /usr/local/png
# tar -zvxf libpng-1.2.8.tar.gz
# cd libpng-1.2.8
# vi ./scripts/makefile.linux
把prefix=/usr/local改为/usr/local/png
把ZLIBLIB=../zlib改为/usr/local/zlib
把ZLIBINC=../zlib改为/usr/local/zlib
# cp scripts/makefile.linux makefile
# make; make install

e.安装GD库
# cd /home/xiutuo/software/
# tar -zvxf gd-2.0.33.tar.gz
# mkdir -p /usr/local/gd2
# cd gd-2.0.33
# ./configure --prefix=/usr/local/gd2 --with-jpeg=/usr/local/jpeg6/
--with-png=/usr/local/png
--with-zlib=/usr/local/zlib
--with-freetype=/usr/local/freetype/
# make; make install

e.安装Curl库
# cd /home/xiutuo/software/
# tar -zvxf curl-7.15.0.tar.gz
# mkdir -p /usr/local/curl
# ./configure --prefix=/usr/local/curl
# make; make install

五:安装php5,php5必须有libxml2支持!
a.安装libxml2
# cd /home/xiutuo/software/
# tar -zxvf libxml2-2.6.24.tar.gz
# cd libxml2-2.6.24
# mkdir -p /usr/local/libxml2
# ./configure --prefix=/usr/local/libxml2
# make; make install

b.安装 libxslt(可选安装,你可以不安装)
# cd /home/xiutuo/software/
# tar -zxf libxslt-1.1.15.tar.gz
# mkdir -p /usr/local/libxslt
# cd libxslt-1.1.15
# ./configure --prefix=/usr/local/libxslt --with-libxml-prefix=/usr/local/libxml2
# make; make install

c.安装php5
# cd /home/xiutuo/software/
# tar -zvxf php-5.2.5.tar.gz
# mkdir -p /usr/local/php
# cd php-5.2.5
# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs
--with-config-file-path=/usr/local/php/lib
--with-mysql=/usr/local/mysql/
--with-curl=/usr/local/curl --enable-ftp
--with-libxml-dir=/usr/local/libxml2
--with-libexpat-dir=/usr/lib --enable-soap
--with-xsl=/usr/local/libxslt
--with-gd=/usr/local/gd2/
--with-jpeg-dir=/usr/local/jpeg6/
--with-zlib-dir=/usr/local/zlib/
--with-png-dir=/usr/local/png/
--with-freetype-dir=/usr/local/freetype/
# make
# make install
# cp php.ini-dist /usr/local/php/lib/php.ini (别忘记了呵呵)

其中./configure 后的
--prefix=/usr/local/php
--with-apxs2=/usr/local/apache2/bin/apxs
--with-config-file-path=/usr/local/php/lib
--with-mysql=/usr/local/mysql/
--with-libxml-dir=/usr/local/libxml2
是必要的选项
--with-config-file-path=/usr/local/php/lib
这个最好指定一下,不同版本的php,默认的php.ini
存放路径不一样,对php5.2.5来说默认存放路径:
/usr/local/php/lib
对于php4,应该是/usr/local/lib

--with-gd=/usr/local/gd2/
--with-jpeg-dir=/usr/local/jpeg6/
--with-png-dir=/usr/local/png
--with-zlib-dir=/usr/local/zlib
--with-freetype-dir=/usr/local/freetype
这是让PHP支持GD库的配置选项

--with-curl=/usr/local/curl 支持CURL库
--enable-ftp 打开FTP库函数支持

--enable-soap --with-xsl=/usr/local/libxslt
让PHP支持SOAP, 上面这些一般用得少, 可以去掉


六:重新配置apache2让他支持php。

配置 httpd.conf 让apache支持PHP
# vi /usr/local/apache/conf/httpd.conf
找到 AddType application/x-gzip .gz .tgz 在其下添加如下内容
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
看看有没有这句,没有请加上
LoadModule php5_module modules/libphp5.so
这个是文件路径,根据你的实际情况看是modules/libphp5.so
还是module/libphp5.so

七:安装Zend
# cd /home/xiutuo/software/
# tar -jxvf ZendOptimizer-3.3.0-linux-glibc21-i386.tar.gz
# cd ZendOptimizer-3.3.0-linux-glibc21-i386
# ./install.sh
输入php.ini路径/usr/local/php/lib
其他的默认,直接回车即可

八:启动apache,mysql
# /usr/local/apache/bin/apachectl restart
# /usr/local/mysql/support-files/mysql.server start
在htdocs目录里建一内容为 PHP文件, 输入URL地址查看PHP配置是否正确

ok,web环境apache2+mysql5+php5就介绍到这里。
更详细的apache2的配置和mysql配置和php.ini的配置参考相应文档。
--------------------------------------------------------
安装时候遇到的问题:


1.当你看到mysql有很多版本,如:
mysql-max-5.0.45.0-linux-i686-glibc23.tar.gz和
mysql-max-5.0.45.0-linux-i686.tar.gz
这俩个到底选哪个呢,请你使用如下命令来决定
# rpm -qa | grep glibc
glibc-headers-2.3.4-2.36
glibc-kernheaders-2.4-9.1.100.EL
glibc-2.3.4-2.36
glibc-common-2.3.4-2.36
glibc-devel-2.3.4-2.36

如果出现以上信息,请选择mysql-max-5.0.45.0-linux-i686-glibc23.tar.gz版本

2.在解压php-5.2.5.tar.bz时候,出现
time skew detected
请用touch -d 时间 文件
或者touch -m 时间 文件
或者touch *
来纠正某些文件比当前时间早的问题

3.在编译php的时候,configure时没有错误,但是make时出现:
bison -y /home/xiutuo/php-5.2.5/ext/pdo_sqlite/sqlite/src/parse.y
/home/xiutuo/php-5.2.5/ext/pdo_sqlite/sqlite/src/parse.y:21.1-13: invalid directive: `%token_prefix'
/home/xiutuo/php-5.2.5/ext/pdo_sqlite/sqlite/src/parse.y:21.15-17: syntax error, unexpected identifier
make: *** [/home/xiutuo/php-5.2.5/ext/pdo_sqlite/sqlite/src/parse.c] Error 1

确保bison软件包的安装,rpm -qa bison查询,如果没有,请安装。
rpm -ivh bison***.rpm

-------------------------------

附录

--------------
apache2.2.6虚拟目录设置:
# vi httpd.conf
之间,加入alias,
看起来类似:

    DirectoryIndex index.php index.html index.htm
     Alias /software /hdb7
    
      Options Indexes MultiViews
      AllowOverride None
      Order allow,deny
      Allow from all
     

更改默认web目录
DocumentRoot "/myoa/webroot"

   
    Options -Indexes FollowSymLinks
    #CharsetDefault gb2312

    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be "All", "None", or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    #
    AllowOverride None

    #
    # Controls who can get stuff from this server.
    #
    Order allow,deny
    Allow from all

阅读(1076) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~