RH8.0下apache+php+mysql的整合

RH8.0下apache+php+mysql的整合

在RH8.0下整合过apache+php+mysql的朋友请给些指点,谢谢!      
没有成功过是吗?不会的。      
注意:现在有的软件已经升级了。我在rh7.2中自己按此方法重装过apache+php+mysql 。apache和php是自己编译的。mysql是下载的二进制程序。见第二篇


(一)新版mysql+apache+php Linux安装指南

2002-12-06? ?q3boy??喜悦国际村


  刚刚看到有人贴win下安装步骤

  刚好今天公司网站的新服务器到手。花了一上午安装mysql+php+apache。

  新版的老版的还是有些不同的。现在把步骤帖一下
  安装步骤:

  1.mysql

  在如下页面下载mysql的for linux rpm包
  http://www.mysql.com/downloads/down...3.52-1.i386.rpm
  http://www.mysql.com/downloads/down...3.52-1.i386.rpm

  存至/home/tmp目录

  命令列表:


cd /home/tmp
rpm -ivh MySQL-3.23.52-1.i386.rpm #安装mysql server
rpm -ivh MySQL-client-3.23.52-1.i386.rpm #安装mysql client
/usr/mysql/safe_mysqld & #启动mysql server
mysql #运行mysql 客户端,并开放root用户的远程访问权限。以便调试
use mysql
update user set host = '%' where user = 'root' and host <> 'localhost';
flush privileges;
quit  

  至此mysql安装完成

  2.apache

  在如下页面下载apache的for linux 的源码包

  http://www.apache.org/dist/httpd/apache_1.3.26.tar.gz

  存至/home/tmp目录

  命令列表:


cd /home/tmp
tar -zxvf apache_1.3.26.tar.gz
mv apache_1.3.26.tar.gz apache
cd apache
./configure --prefix=/usr/local/apache --enable-module=so
make
make install  

安装apache至/usr/local/apache 并配置apache支持dso方式

  3.php

  在如下页面下载php的for linux 的源码包

  http://www.php.net/get_download.php?df=php-4.2.3.tar.gz

  存至/home/tmp目录

  命令列表:


cd /home/tmp
tar -zxvf php-4.2.3.tar.gz
mv php-4.2.3.tar.gz php
cd php
./configure --prefix=/usr/local/php --with-apxs=/usr/local/apache/bin/apxs --with-config-file-path=/usr/local/lib --enable-track-vars --with-xml --with-mysql
make
make install
cp php.ini-dist /usr/local/lib/php.ini  

以dso方式安装php至/usr/local/php 设置配置文件目录为/usr/local/lib 开启mysql,xml支持

  4.配置

vi /usr/local/apache/conf/httpd.conf
对apache做如下配置
#将ServerAdmin q3boy@younet.com一行改为您的邮箱地址

#DocumentRoot "/home/httpd/html/" 此处为html文件主目录

# 同上

#Options FollowSymLinks MultiViews 为安全起见,去掉"Indexes"

#
# DirectoryIndex default.php default.phtml default.php3 default.html default.htm
#
#设置apache的默认文件名次序

#AddType application/x-httpd-php .php .phtml .php3 .inc
#AddType application/x-httpd-php-source .phps
#设置php文件后缀


  存盘退出

vi /usr/local/lib/php.ini
#register-golbals = On  

  存盘退出

  5.启动服务
  /usr/local/apache/bin/apachectl start

  6.备注
  apache在linux下的默认最大进程数为256,无论如何修改httpd.conf都不能超过这个限制。如果想加大这个限制,在编译apache前编辑/home/tmp/apache/src/include/httpd.h,将其中#define HARD_SERVER_LIMIT 256 一行改为#define HARD_SERVER_LIMIT 2048后再编译apache,

  apache 1.3.26中mod_so似乎已经不是默认模块了。编译时候需加上--enable-module=so,我第一次编译没加此参数,结果php编译时无法找到apxs

  php 4.2.3中默认配置文件路径似乎变了。编译时需加上 --with-config-file-path=/usr/local/lib 参数,我第一次编译完php.ini放了n个地方都没有用。不得已。只能加上这个参数。

  p.s. 不保证本文所述步骤适用于其他版本

  附:相关文件下载地址

  php:
  http://www.php.net/get_download.php?df=php-4.2.3.tar.gz
  apache:
  http://www.apache.org/dist/httpd/apache_1.3.26.tar.gz
  mysql server:
  http://www.mysql.com/downloads/down...3.52-1.i386.rpm
  mysql client:
  http://www.mysql.com/downloads/down...3.52-1.i386.rpm

______________________________________________________________________


(二)MySQL 3.23.25 Beta 的安装[轻松版]  
  
由 徐永久 发表于 2001年10月16日 20:41。   人气:679 。

本文是我于2000年10月19日在奥索网的文章
有网友在论坛问到MySQL 在 SCO Unix OpenServer 下的安装,正好自己安装了个最新的3.23.25Beta,不妨介绍一下心得:
我是在Linux 上安装的,不过其他的Unix 平台应该一样的, 古人云:“换汤不换药”么。

MySQL 老家 上有tarball 格式的Binary 。 也就是说 不用重新编译的版本选择相应平台的文件download 然后 解开就可以了。 假设解压到 /usr/local,需要的工作无非是

gunzip
tar xvf
就可以看到下面多了一个 mysql-3.23.xx 的目录了。 我不喜欢那么长的目录名,虽然可以用 cd mysql* 进入,但是 不爽。怎么办呢?很简单:

mv mysql* mysql
好了,就这样了。

什么?有没有搞错,安装好了?

你先生也太过份了,简直就是骗各位看官的感情么!

对了,余下的事情,说简单也简单,说复杂也复杂。

去到suport-files 目录下看看吧,有几个.cnf 文件,你挑一个顺眼的,

cp my-medium.cnf /etc/my.cnf
然后修改 /etc/my.cnf ,学问就在这里头了: 废话少说,我们直杀mysqld 那个节。

# The MySQL server
[mysqld]
port = 8888
socket = /tmp/mysql.sock
log = /var/log/mysql.log
basedir = /usr/local/mysql
datadir = /free/mysqldbf
user = mysql
看到以上这些行没有,有些就是我自己加的,有些是原来就有,但是没有参数的。 好了,我们一个一个分析:

port 就是端口了,我们知道MySQL 缺省的端口是 3306 ,为了安全,也让别人不知道 我们的数据库服务器,我们故意更改端口,这样即使黑客扫描到8888 这个端口,也不知道跑的是什么数据库,如果是3306 的话,你也猜得到是MySQL。

socket 就是网络的通道,你可以把它定义到其他地方,但是需要注意权限。

log 就是日志文件,缺省是写到数据库所在目录,为了管理方便,我把它写到系统的Log 目录。

basedir 就是运行 MySQL 所在的目录,注意不是mysql 所在的bin 目录。

datadir 就是MySQL 摆放数据库的目录,为了数据管理方便,我把它写到了另外的目录,不是缺省的当前目录下的data 目录。

user 就是跑mysqld 的用户,为了安全,不建议使用root ,所以你需要建立一个专门跑这个deamon 的用户。

就这么多了,跑之前需要在数据库目录下建立系统的数据库 mysql ,运行

./scripts/mysql_install_db
你可以看到数据库目录下增加了两个目录 mysql 和 test。 然后启动:

./bin/safe_mysqld &
大功告成了!恭喜你!

什么,“mysqld ended”!没有关系,看看error-log 里这么说!再向我汇报!

这个error-log 在数据库所在的目录下,如果有问题的话,可能是权限不够。

最最彻底的事情就是自己解剖safe_mysqld 这个shell 了。

./bin/mysqld --help 也能解决你的大多数问题。

如果要系统启动时,自动跑起来MySQL ,就

vi /etc/rc.d/rc.local
这个东东就象你熟悉的autoexec.bat ,在文件的最后加上:

cd /usr/local/mysql
./bin/safe_mysqld &
哦!搞定!      
据本人使用经验:
在redhat linux 8.0中
apache 的设置我们可以通过图形界面设置很简单的
在系统默认安装中就将php与APACHE整和好了
但是需要说明的是在8.0中并不想上面那位老兄说的那样设置更改CONFG文件也不是那样的
看看你的APACHE 的HTPPD.CONF文件你会发现下面一段代码:
LoadModule access_module modules/mod_access.so
LoadModule auth_module modules/mod_auth.so
LoadModule auth_anon_module modules/mod_auth_anon.so
LoadModule auth_dbm_module modules/mod_auth_dbm.so
LoadModule auth_digest_module modules/mod_auth_digest.so
LoadModule include_module modules/mod_include.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule env_module modules/mod_env.so
LoadModule mime_magic_module modules/mod_mime_magic.so
LoadModule cern_meta_module modules/mod_cern_meta.so
LoadModule expires_module modules/mod_expires.so
LoadModule headers_module modules/mod_headers.so
LoadModule usertrack_module modules/mod_usertrack.so
LoadModule unique_id_module modules/mod_unique_id.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule mime_module modules/mod_mime.so
LoadModule dav_module modules/mod_dav.so
LoadModule status_module modules/mod_status.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule asis_module modules/mod_asis.so
LoadModule info_module modules/mod_info.so
LoadModule cgi_module modules/mod_cgi.so
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule vhost_alias_module modules/mod_vhost_alias.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule dir_module modules/mod_dir.so
LoadModule imap_module modules/mod_imap.so
LoadModule actions_module modules/mod_actions.so
LoadModule speling_module modules/mod_speling.so
LoadModule userdir_module modules/mod_userdir.so
LoadModule alias_module modules/mod_alias.so
LoadModule rewrite_module modules/mod_rewrite.so
--------------------
是不是没有看见PHP 的.SO文件?
因为默认是已经加载了的
如果你需要自己设置的话你就需要加上
LoadModule php4_module libexec/libphp4.so
AddModule mod_php4.c
AddType application/x-httpd-php .php


具体的看看
file:///usr/share/doc/httpd-2.0.40/migration.html#modules
或到http://www.redhat.com/docs/manua ... 73.html#PHP-INST-AP  看看官方文件你就会的
好了可以了吗?
我想应该可以了最后你如过用<?.....?>
做标识的话要该哪就不要我说了吧
些个info文件看看?
现在就剩下php连数据库了吧:
好像mysql_connect($db_host,$db_user,$db_passw)
函数不能用了哦有谁搞定了?
告诉我啦:ppawnsmail@163.com
qq:5587315