Chinaunix首页 | 论坛 | 博客
  • 博客访问: 68824
  • 博文数量: 30
  • 博客积分: 1265
  • 博客等级: 中尉
  • 技术积分: 295
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-04 15:24
文章分类

全部博文(30)

文章存档

2011年(1)

2010年(14)

2009年(11)

2008年(4)

我的朋友

分类: LINUX

2008-12-04 20:51:52

   我的系统是redhat as5 建议大家完全安装,以免安装时缺少相关的编译器等等。
一、安装mysqlmysql-5.0.21.tar.gz  
# tar zxf mysql-5.0.21.tar.gz
# cd mysql-5.0.21
#./configure --prefix=/usr/local/mysql --sysconfdir=/etc --localstatedir=/var/lib/mysql/
说明:
   #prefix=/usr/local/mysql mysql
安装的目标目录
   #sysconfdir=/etc my.ini
配置文件的路径
   #localstatedir=/var/lib/mysql
数据库存放的路径
# make
# make install
# groupadd mysql
# useradd mysql -g mysql
# cp support-files/my-medium.cnf /etc/my.cnf
#
(这个文件夹是原来编译的目录下的)询问你是否要覆盖时,输入"y"
#/usr/local/mysql/bin/mysql_install_db --user=mysql
# cd /usr/local/mysql     
然后设置权限
# chown -R root .                #
设定root能访问/usr/local/mysql
# chown -R mysql /var/lib/mysql               #
设定mysql用户能够访问/var/lib/mysql
# chgrp -R mysql /usr/local/mysql     #
设定mysql组能访问/usr/local/mysql
# /usr/local/mysql/bin/mysqld_safe --user=mysql &             #
安全启动mysql
# PATH=$PATH:/usr/local/mysql/bin        //让系统找到mysql
# export PATH
# echo"/usr/local/mysql/lib/mysql">>/etc/ld.so.conf
# ldconfig -v

开机启动
#cp /mysql-5.0.21/support files/mysql.server /etc/rc.d/init.d/mysqld
#chmod 700 /etc/rc.d/init.d/mysqld
#chkconfig --add mysqld
#chkconfig --level 345 mysqld on

二、安装apache httpd-2.0.59.tar.gz
# tar zxf httpd-2.0.59.tar.gz
# cd httpd-2.0.59
# ./configure --prefix=/usr/local/apache --enable-so --enable-rewrite --enable-mods-shared=most

./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --with-mpm=worker --enable-expires  --enable-headers --enable-deflate --enable-authn-default --enable-authn-file --enable-authz-host --enable-authz-groupfile --enable-authz-user --enable-authz-default --enable-auth-basic --enable-include --enable-autoindex --enable-cgid --enable-cgi --enable-actions --enable-userdir --enable-modules=all --enable-mods-shared=all
说明:
 --enable-so
选项:让Apache可以支持DSO模式,注意,这里采用的是Apache2.0的语法。如果你的Apache1.3版本,应改为--enable-module=so
 --enable-mods-shared=most
选项:告诉编译器将所有标准模块都编译为DSO模块。你要是用的是Apache1.3,改为--enable-shared=max就可以。
 --enable-rewrite
选项:支持地址重写功能,使用1.3版本的朋友请将它改为--enable-module=rewrite

# make
# make install
# vi /usr/local/apache/conf/httpd.conf #
启动Apache中的php选项,找到下面两行
DirectoryIndex index.php                 #
修改默认启动页
DocumentRoot                                   #
指定主目录(/usr/local/apache2/htdocs)
ServerName 127.0.0.1:80
# /usr/local/apache/bin/apachectl start
随开机启动
#cp /usr/local/apache/conf/httpd.conf /etc/init.d/httpd
#cd /etc/rc3.d
#ln -s ../init.d/httpd  S85httpd
#ln -s ../init.d/httpd  K85httpd


三、安装php php-5.1.6.tar.bz2
# tar -jxf php-5.1.6.tar.bz2
# cd php-5.1.6
# ./configure --with-apxs2=/usr/local/apache/bin/apxs --disable-debug --enable-safe-mode --enable-trans-sid --with-xml --with-mysql=/usr/local/mysql --enable-short-tags --with-gd --with-zlib --with-jpeg --with-png --enable-memory-limit --disable-posix --with-config-file-path=/usr/local/lib --without-sqlite
 
说明:

 --with-apxs2=/usr/local/apache/bin/apxs \  
这是加入apache中为DSO模块的位置
--disable-debug \ #
关闭php内部调试
--enable-safe-mode \ #
打开php的安全模式
--enable-trans-sid \
--with-xml \ #
支持xml
--with-mysql \ #
支持
mysql
--enable-short-tags \ #
支持PHP的短标记

--with-gd \ #
支持GD
--with-zlib \ #
支持zlib
--with-jpeg \
--with-png \
--enable-memory-limit \
--disable-posix \
--with-config-file-path=/usr/local/lib
 
总之复制粘贴就可以了,-_-

# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache/bin/apxs
注意:如果说mysql+apache 都是默认安装,configure配置方法
# ./configure --with-apxs2=/usr/sbin/apxs --disable-debug --enable-safe-mode --enable-trans-sid --with-xml --with-mysql=/usr/share/mysql --enable-short-tags --with-gd --with-zlib --with-jpeg --with-png --enable-memory-limit --disable-posix --with-config-file-path=/usr/local/lib
# make
# make install
# cp php.ini-dist /usr/local/lib/php.ini
复制php的配置文件

# cd /usr/local/lib/
# vi php.ini  
修改配置文件
register_globals = On
一般在414
max_execution_time = 30 ; //
改为600 (增加处理脚本的时间限制)
max_input_time = 600 ; //
最大输出时间600

memory_limit = 8M ; //
改为40M (这样才能发10M的附件)
register_global =On
post_max_size = 2M ; //php
可接受的 post 方法大小
2M
file_uploads = On ; //
允许上载文件

upload_max_filesize = 2M ; //
最大上载文件2M
session.auto_start = 1 ; //session
自动启动

如果编译PHP:make出错
configure: error: Cannot find MySQL header files under yes.
 Note that the MySQL client library is not bundled anymore.
解法:   

 
如果不知道 header file 在哪,用 find / -name mysql.h」命令找出其位置;   
如果是自己也有手動安裝 MySQL 套件的話,直接指定該位置。
 
./configure 下参数指定 header file 的位置(即mysql安装目录),如下:
 ./configure --with-apxs2=/usr/local/Apache2/bin/apxs --with-mysql=
/usr/local/mysql

四、整合apachephp
# vi /usr/local/apache/conf/httpd.conf   修改apache的配置文件
添加:      AddType application/x-httpd-php .php
       AddType application/x-httpd-php-source .phps           //
注意将这两行添加在其它AddType后面

确保文件中有下面一段,如果没有的话就添加在所有LoadModule之后
LoadModule php5_module        modules/libphp5.so
由于我装的版本较高所以是php5,如果是LoadModule php4_module        modules/libphp4.so的话也可以
# /usr/local/apache/bin/apachectl start             //如果这地方报如下错
httpd: Syntax error on line 53 of /usr/local/apache/conf/httpd.conf: Cannot load /usr/local/apache/modules/libphp5.so into server: /usr/local/apache/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied
原因:是Linux有一个SELinux保护模式引起的。
解决办法:
1
关闭SELINUX的方法:
vi /etc/selinux/config
SELINUX=enforcing 改成SELINUX=disabled 需要重启

这个方法可能会对服务器带来风险。
2
不关闭SELINUX的方法:
# setenforce 0
# chcon -c -v -R -u system_u -r object_r -t textrel_shlib_t /usr/local/apache/modules/libphp5.so
# service httpd restart
# setenforce 1

server httpd start 报错:启动 httpdWed May 07 02:17:20 2008 warn module php4_module is already loaded, skipping
解决办法:查看# vi /usr/local/apache/conf/httpd.conf
 
是否有二条相同指令LoadModule php4_module        modules/libphp4.so 删除一条,即可

五、安装phpMyAdmin   phpMyAdmin-2.6.0.tar.gz
# tar zxf phpMyAdmin-2.6.0.tar.gz
# mv phpMyAdmin-2.6.0 /usr/local/apache/htdocs/
 # vi config.inc.php  
修改这个文件

      $cfg'Servers'$i'host' = 'localhost';   //
改成你数据库服务器的主机名或IP地址;
      $cfg'Servers'$i'user' = 'root';    // MySQL
数据库的用户名;
      $cfg'Servers'$i'password' = '';       // MySQL
数据库的密码;
主要修改这几项,保存退出
测试:

这里可以修改phpMyAdmin-2.6.0这个目录的名字,这样访问比较方便

阅读(2137) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:IBM T40 1802错误

给主人留下些什么吧!~~