Chinaunix首页 | 论坛 | 博客
  • 博客访问: 566810
  • 博文数量: 52
  • 博客积分: 2673
  • 博客等级: 少校
  • 技术积分: 1432
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-24 09:55
文章分类

全部博文(52)

文章存档

2011年(2)

2010年(20)

2009年(14)

2008年(16)

分类: LINUX

2008-03-04 12:12:01

linux下的Apache2 + mysql5 + php5 源码完整安装详解

 

原来出处找不到了,恰巧是您的大作请海涵:-)

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

 

主要软件包,

1. httpd-2.2.6.tar.gz

2. mysql-5.0.45-linux-i686-glibc23.tar.gz (这个版本是已编译好的压缩包,解压后稍做配置即可使用)

3. php-5.2.5.tar.gz

 

安装php所需的软件包(其中libxml2是安装php5必须的.

1. libxml2-(version).tar.gz --->

2. libxslt-(version).tar.gz --->

3. curl-(version).tar.gz   ---> http://curl.haxx.se/download

 

GD库所需要软件包(有人说PHP源码包里自带了GD2.0.28zlib,只要安装GD的三个支持包:jpg,pngfreetype,但是我们还是下载)

1. gd-(version).tar.gz     ---> or

2. freetype-(version).tar.gz --->

3. jpegsrc.v6b.tar.gz     --->

4. libpng-(version).tar.gz   --->

5. zlib-1.2.3.tar.gz       --->

 

把以上所有软件包下载到:/root/Software/目录下.

 

二:安装mysql

 

# tar -zvxf mysql-5.0.45-linux-i686-glibc23.tar.gz

# mkdir -p /usr/local/mysql

# cp -r mysql-5.0.45 /usr/local/mysql

# cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysql //开机启动mysql

# cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf

 

添加mysql用户及用户组

# groupadd mysql

# useradd -g mysql mysql

修改mysql目录权限

# chown -R root /usr/local/mysql

# chgrp -R mysql /usr/local/mysql

# chown -R mysql /usr/local/mysql/data

生成mysql系统数据库

# /usr/local/mysql/scripts/mysql_install_db --user=mysql& //启动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 /root/Software/

# tar -zvxf jpegsrc.v6b.tar.gz

# cd jpeg6

# ./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static

# make

# make install

 

b.libpng(支持PNG)

# cd /root/Software/

# tar -zvxf libpng-(version).tar.gz

# cd libpng-(version)

# ./configure --prefix=/usr/local/libpng

# make

#> make install

 

c.安装 freetype

# cd /root/Software/

# tar -zvxf freetype-(version).tar.gz

# cd freetype-(version)

# mkdir -p /usr/local/freetype

# ./configure --prefix=/usr/local/freetype

# make

# make install

 

d.安装zlib

# cd /root/Software/

# tar -zxvf zlib-1.2.3.tar.gz

# cd zlib.1.2.3

# mkdir /usr/local/zlib

# ./configure --prefix=/usr/local/zlib

# make

# make install

 

e.安装GD

# cd /root/Software/

# tar -zvxf gd-(version).tar.gz

# mkdir -p /usr/local/gd2

# cd gd-(version)

# ./configure --prefix=/usr/local/gd2 --with-jpeg=/usr/local/jpeg6 --with-zlib-dir=/usr/local/zlib --with-png=/usr/local/libpng --with-freetype=/usr/local/freetype

# make

# make install

 

e.安装Curl

# cd /root/Software/

# tar -zxf curl-(version).tar.gz

# mkdir -p /usr/local/curl

# ./configure --prefix=/usr/local/curl

# make

# make install

 

四:安装apache2

# cd /roo/Software/

# tar -zvxf httpd-2.2.6.tar.gz

# cd httpd-2.2.6

# mkdir -p /usr/local/apache2

# ./configure --prefix=/usr/local/apache --enable-modules=so --enable-rewrite

# make

# make install

# /usr/local/apache2/bin/apachectl -k start //启动apahce

用浏览器查看得到it works,说明apache已经配置成功了.

# /usr/local/apache2/bin/apachectl -k stop //停止apache

 

五:安装php5php5必须有libxml2支持!

a. 安装libxml2

# cd /root/Software/

# tar -zvxf libxml2-(version).tar.gz

# cd libxml2-(version)

# mkdir -p /usr/local/libxml2

# ./configure --prefix=/usr/local/libxml2

# make

# make install

 

b.安装 libxslt (可选安装,你可以不安装)

# cd /root/Software/

# tar -zvxf libxslt-(version).tar.gz

# mkdir -p /usr/local/libxslt

# cd libxslt-(version)

# ./configure --prefix=/usr/local/libxslt --with-libxml-prefix=/usr/local/libxml2

# make

# make install

 

c.安装php5

# cd /root/Software/

# tar -zvxf php-(version).tar.gz

# mkdir -p /usr/local/php5

# cd php-(version)

# ./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/apache2/bin/apxs \

>--with-gd=/usr/local/gd2 --with-jpeg-dir=/usr/local/jpeg6 \

>--with-zlib-dir=/usr/local/zlib \

>--with-png-dir=/usr/local/libpng \

>--with-freetype-dir=/usr/local/freetype -\

>--enable-trace-vars --with-mysql=/usr/local/mysql \

>--enable-mbstring=all --with-curl=/usr/local/curl --enable-mbregex \

>--with-config-file-path=/usr/local/php5 --enable-ftp \

>--enable-soap --with-xsl=/usr/local/libxslt

 

# make

# make install

# cp php.ini-dist /usr/local/php5/php.ini (别忘记了呵呵)

 

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

 

# cd /usr/local/apache2/conf

# vim httpd.conf

LoadModule php5_module modules/libphp5.so

添加AddType application/x-httpd-php .php

 

OK,基本的安装已经完成.

重新起动APACHE:

# /usr/local/apache2/bin/apachectl start

如果重新起动APACHE出现:

Syntax error on line 232 of /usr/local/apache2/conf/httpd.conf: Cannot load /usr/local/apache2/modules/libphp5.so into server:

/usr/local/apache2/modules/libphp4.so: cannot restore segment prot after reloc: Permission denied

那就要按照下面的方法解决:

 

1.chcon -t texrel_shlib_t /usr/local/apache2/modules/*.so

 

2.编辑/etc/selinux/config,找到这段:

# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

# enforcing - SELinux security policy is enforced.

# permissive - SELinux prints warnings instead of enforcing.

# disabled - SELinux is fully disabled.

SELINUX=enforcing

 

SELINUX=enforcing 注释掉:#SELINUX=enforcing ,然后新加一行为:

SELINUX=disabled

保存,关闭。

 

编辑/etc/sysconfig/selinux,找到:

# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

# enforcing - SELinux security policy is enforced.

# permissive - SELinux prints warnings instead of enforcing.

# disabled - SELinux is fully disabled.

SELINUX=enforcing

 

如果SELINUX已经是 SELINUX=disabled,那么就不用改了,否则就把SELINUX=enforcing 注释掉,新加一行:

SELINUX=disabled

保存,退出。

 

okweb环境apache2+mysql5+php5就介绍到这里。更详细的apache2的配置和mysql配置和php.ini的配置参考相应文档

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

boean2008-10-21 18:27:49

安装GD 出现错误 make[2]: *** [gd_png.lo] Error 1 make[2]: Leaving directory `/usr/local/file/gd-2.0.26gif' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/usr/local/file/gd-2.0.26gif' make: *** [all] Error 2 (如里这里有错误,请vi gd_png.c,找到“png.h”改成“/usr/local/libpng2/include/png.h”)

boean2008-10-21 18:27:49

安装GD 出现错误 make[2]: *** [gd_png.lo] Error 1 make[2]: Leaving directory `/usr/local/file/gd-2.0.26gif' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/usr/local/file/gd-2.0.26gif' make: *** [all] Error 2 (如里这里有错误,请vi gd_png.c,找到“png.h”改成“/usr/local/libpng2/include/png.h”)

boean2008-10-20 16:06:14

引用 jpeg-6b ./configure --enable-shared --enable-static 出错 ./libtool --mode=compile gcc -O2 -I. -c ./jcapimin.c make: ./libtool:命令未找到 make: *** [jcapimin.lo] 错误 127 首先看有没有安装libtool 及 libtool-ltdl-devel rpm -qa | grep libtool 然后进入jpeg-6b的源码目录,然后执行以下步骤,切记! cp /usr/share/libtool/config.sub . cp /usr/share/libtool/config.guess . 也就是把 libtool里面的两个配置文件拿来覆盖掉jpeg-6b目录下的对应文件 make clean 再重新configure 没有权限的时候先建立对应的文件夹,再次make install就行了

boean2008-10-20 16:06:14

引用 jpeg-6b ./configure --enable-shared --enable-static 出错 ./libtool --mode=compile gcc -O2 -I. -c ./jcapimin.c make: ./libtool:命令未找到 make: *** [jcapimin.lo] 错误 127 首先看有没有安装libtool 及 libtool-ltdl-devel rpm -qa | grep libtool 然后进入jpeg-6b的源码目录,然后执行以下步骤,切记! cp /usr/share/libtool/config.sub . cp /usr/share/libtool/config.guess . 也就是把 libtool里面的两个配置文件拿来覆盖掉jpeg-6b目录下的对应文件 make clean 再重新configure 没有权限的时候先建立对应的文件夹,再次make install就行了

boean2008-03-04 13:31:24

安裝jpeg-6b shell> wget [url]ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v6b.tar.gz[/url] tar zxvf jpegsrc.v6b.tar.gz cd jpeg-6b ./configure –-prefix=/usr/local/jpeg6 –enable-shared –enable-static make make install 如果你选择默认安装,可能很顺利,指定路径后,请先创建以下文件夹 错误提示:...... /usr/bin/install -c -m 644 jconfig.h /usr/local/jpeg6/include/jconfig.h /usr/bin/install: 无法创建一般文件‘/usr/local/jpeg6/include/jconfig.h’: 没有那个文件或目录 make: *** [install-headers] Error 1 # mkdir /usr/local/jpeg6 # mkdir /usr/local/jp