Chinaunix首页 | 论坛 | 博客
  • 博客访问: 289525
  • 博文数量: 176
  • 博客积分: 2516
  • 博客等级: 少校
  • 技术积分: 1350
  • 用 户 组: 普通用户
  • 注册时间: 2009-05-01 11:18
文章分类
文章存档

2011年(1)

2010年(18)

2009年(157)

我的朋友

分类:

2009-05-30 09:28:04

linux下的apache2 + mysql5 + php5 + gd2 源码完整安装详解(原创)

呵呵  好久没有来论坛发帖子了  。。 (*^__^*) 嘻嘻……  有点对不起猪猪哦 。 以上的文章是我在工作中配置的一台linux 环境
其中是在网上收集的资料  里面的写的很详细 。 包括出现错误的解决办法。   算是一个原创的吧  。 好了 开始喽


========================================================================================================= 1.安装mysql

shell> groupadd -g 500 mysql
shell> useradd -u500 -gmysql -M mysql
shell> tar -xzf mysql.**.tar.gz
shell> cd mysql.**
shell> ./configure --prefix=/usr/local/mysql --localstatedir=/usr/local/mysql/data --with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock
shell> make
shell> make install
shell> cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysql //开机启动mysql
shell> cp support-files/my-medium.cnf /etc/my.cnf
shell> cd /usr/local/mysql
shell> bin/mysql_install_db --user=mysql
shell> chown -R root .
shell> chown -R mysql var
shell> chgrp -R mysql .
shell> bin/mysqld_safe --user=mysql &

注意直接执行后会出现下面错误:
Starting mysqld daemon with databases from /usr/local/mysql/data STOPPING server from pid file /usr/local/mysql/data/localhost.localdomain.pid 070514 19:15:13 mysqld ended
需执行 shell> chown -R mysql.mysql data

修改root密码:
use mysql
update user set Password=password("123456") where User="root";
delete from user where User="";

2.apache安装
shell> tar -xzf httpd-2.2.4.tar.gz
shell> cd httpd-2.2.4
shell> ./configure --prefix=/usr/local/apache2 --enable-rewrite=shared --enable-speling=shared --enable-module=so
shell> make
shell> make install

3.iconv安装
shell> ./configure --prefix=/usr/local/iconv
shell> make
shell> make install

4.gd部分安装
zlib包
shell> ./configure --prefix=/usr/local/zlib
shell> make check
shell> make install

libpng包(支持PNG)
shell> ./configure --prefix=/usr/local/libpng
shell> make
shell> make install

jpeg-6b包(支持jpg格式)
shell> ./configure --prefix=/usr/local/jpeg-6b --enable-share --enable-static
shell> make test
shell> make
shell> make install
shell> make install-lib
注:1:在configure的时候会出现/usr/local/jpeg-6b/bin/djpeg 没有这个目录 我们手工的添加就可以了 mkdir –p /usr/local/jpeg-6a/bin/djpeg
2 : configure的时候也出现
/usr/local/jpeg-6b/man/man1/cjpeg.1   同样 我们 手工的建立一个 touch /usr/local/jpeg-6a/man/man1/cjpeg.1

freetype包(字体支持)
shell> ./configure --prefix=/usr/local/freetype
shell> make
shell> make install

最后安装gd包
shell> ./configure --prefix=/usr/local/gd2 --with-jpeg=/usr/local/jpeg-6b --with-zlib-dir=/usr/local/zlib --with-png=/usr/local/libpng --with-freetype=/usr/local/freetype
shell> make
shell> make install

make时会出现
make[2]: *** [gd_png.lo] Error 1
make[2]: Leaving directory `/tmp/gd-2.0.26gif'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/gd-2.0.26gif'
make: *** [all] Error 2
需要复制/usr/local/libpng/include/目录下的cp /usr/local/libpng/include/pngconf.h /home/jong/tmp/gd-2.0.34
cp /usr/local/libpng/include/png.h /home/jong/tmp/gd-2.0.34
当make 时出现
configure.ac:64: error: possibly undefined macro: AM_ICONV
将第二张盘 中的 gettext 文件安装上去
Rpm –ihv  gettext-0.14.1-13.i386.rpm  就可以解决这个问题。


5.安装php

shell> ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apxs --with-gd=/usr/local/gd2 --with-jpeg-dir=/usr/local/jpeg-6b --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 -with-iconv=/usr/local/iconv --enable-mbstring=all --with-curl --enable-track-vars --with-DBA --enable-mbstr-enc-trans --enable-mbregex --with-config-file-path=/usr/local/php --with-xml --with-gettext
shell> make
shell> make install
shell> cp php.ini-dist /usr/local/php/php.ini
在make 的时候会出现 “configure: error: libjpeg.(a|so) not found”
在系统的盘的第二张光盘里面 rpm –ihv libjpeg-devel-6b-33.i386.rpm 把这个包安装上去就可以解决这个问题。

编辑apache配置档
shell> cd /usr/local/apache2/conf
shell> vi httpd.conf
在LoadModule php4_module modules/libphp5.so
添加AddType application/x-httpd-php .php

OK,基本的安装已经完成,如果重新起动APACHE出现:/usr/local/apache2/bin/apachectl start Syntax error on line 232 of /usr/local/apache2/conf/httpd.conf: Cannot load /usr/local/apache2/modules/libphp4.so into server: /usr/local/apache2/modules/libphp4.so: cannot restore segment prot after reloc: Permission denied
那就要按照下面的方法解决:

编辑/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
阅读(1016) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~