Linux下APACHE&PHP&MYSQL&CGI修改版

发表于:2007-07-04来源:作者:点击数: 标签:
根据一个自称自己经验所得的混蛋文章改的 许多文章结合起来,嘿嘿 MOD_PERL,FASTCGI那一栏我没有调试,因为不喜欢CGI。CHMODMYSQL那一栏两次都是卡住过,如果有问题,可以来回做做实验。 Linux下apache+mysql+php^^^^^^^^(修改版) 唉,网上如此多的文章

根据一个自称自己经验所得的混蛋文章改的 
许多文章结合起来,嘿嘿 
MOD_PERL,FASTCGI那一栏我没有调试,因为不喜欢CGI。CHMOD MYSQL那一栏两次都是卡住过,如果有问题,可以来回做做实验。 

Linux下apache+mysql+php^^^^^^^^(修改版) 

唉,网上如此多的文章,版本居然这么多,并且多多少少存在着一些毛病,解决毛病及错误用了自己一天的时间,修改些错误的地方,最后的版本就是下面的了 


apache1.3.24+php4.21+mysql3.23.49+openssl+mod_ssl+mod_perl+mod_fastcgi 
这里要注意的是apache 1.3x可以用静态php模块 
2.x.x目前还只可以用动态,并且没有windows版本 

本安装所需要的软件包: 
apache_1.3.24.tar.gz 
php-4.2.1.tar.gz 
mysql-3.23.49.tar.gz 
mod_fastcgi-2.2.12.tar.gz 
mod_perl-1.26.tar.gz 
mod_ssl-2.8.8-1.3.24.tar.gz 
openssl-0.9.6d.tar.gz 

虽然 apache 版本已到 2.0.36,但从其它资料看好像并未真正走出试验阶段,而且最新的 php 4.21 目前也无法编译为 apache 2.0.xx 的静态模块。而本安装采用的是编译为静态模块,因此没有采用新版 apache。 

################################################### 


安装: 

将这些包放在一个目录下,如 /usr/local/src 
然后解压缩这些包: 
tar xzvf apche_1.3.24.tar.gz 
tar xzvf php-4.2.1.tar.gz 
tar xzvf mysql-3.23.49.tar.gz 
tar xzvf mod_fastcgi-2.2.12.tar.gz 
tar xzvf mod_perl-1.26.tar.gz 
tar xzvf mod_ssl-2.8.8.-1.3.24.tar.gz 
tar xzvf openssl-0.9.6d.tar.gz 

解压缩完成后将会看到在当前目录下已经出现了解压缩后生成的文件夹 

现在开始配置编译: 

1. 首先安装 MySQL 
需要PTH噢,别忘记 
1) 建立 MySQL 用户组: 

groupadd mysql 
useradd -g mysql mysql 

2) 配置并编译 

cd mysql-3.23.49 
./config --prefix=/usr/local/mysql 

如果想使用 MySQL 事务的话,可以加上 --with-berkeley-db,即: 

./configure \ 
--prefix=/usr/local/mysql \ 
--with-berkeley-db 

配置完成后就可以编译了 

3) 编译安装 
编译很简单,只有一个命令 

make 

然后安装 

make install 

4) 初始化 
安装结束后还没完,还有几个步骤,首先是初始化数据库 

scripts/mysql_install_db 

然后是设置权限 

chown -R root /usr/local/mysql 
chown -R mysql /usr/local/mysql/var 
chgrp -R mysql /usr/local/mysql 

然后将启动 MySQL 所需的 my.cnf 拷贝到 /etc 目录下 

cp /usr/local/mysql/share/mysql//my-medium.cnf /etc/my.cnf 
(其中还有三个文件,my-small.cnf、my-large.cnf和my-huge.cnf, 
是对于机器性能而言的,最后一个适用于2GB左右内存 

5) 启动 

/usr/local/mysql/bin/safe_mysqld --user=mysql & 

你可以看到启动信息,这时应该给 root 用户设置密码了,因为安装后默认是没有密码的 

6) 为 root 设置密码 

/usr/local/mysql/bin/mysqladmin -u root -p password your_new_password 

注意,第一个 password 是命令的参数,依原样键入,而 your_new_password 就是你要设置的新密码。例如,要将 root 密码设为123456,那么这样输入命令: 

/usr/local/mysql/bin/mysqladmin -u root -p password 123456 

回车后系统会提示你输入当前密码,应该是像下面这样: 

Enter password: 

因为此时还没有密码,所以直接回车即可,这时没有任何提示返回提示符状态,而密码已经设置完成。此时可以通过关闭 MySQL 服务验证密码是否生效: 

/usr/local/mysql/bin/mysqladmin -u root -p shutdown 
Enter password:123456 

系统提示 MySQL 已关闭: 

020531 13:14:35 mysql ended 
[1]+ Done /usr/local/mysql/bin/safe_mysqld --user=mysql 

########################################################################## 

2. 安装 apache + php + 其它模块 

先来配置模块 

cd /usr/local/src 

1) 将 fastcgi 目录移至 apache 的模块目录下并更名为 fastcgi 

mv mod_fastcgi-2.2.12 apache_1.3.24/src/modules/fastcgi 

2) 配置并编译 openssl 模块 

cd /usr/local/src/openssl-0.9.6d 
sh config 
make 
make test 

3) 配置 mod_ssl 

cd /usr/local/src/mod_ssl-2.8.8-1.3.24 
./configure --with-apache=../apache_1.3.24 

4) 配置编译并安装 mod_perl 

cd /usr/local/src/mod_perl-1.26 
perl Makefile.PL \ 
APACHE_SRC=../apache_1.3.24/src \ 
DO_HTTPD=1 \ 
USE_APACI=1 \ 
PRE_HTTPD=1 \ 
EVERYTHING=1 

然后编译 

make 

接着测试编译结果 

make test 

安装 

make install 

5) 配置 apache 

cd /usr/local/src/apache_1.3.24 
SSL_BASE=../openssl-0.9.6d ./configure \ 
--prefix=/usr/local/apache \ 
--enable-module=ssl \ 
--activate-module=src/modules/fastcgi/libfastcgi.a \ 
--activate-module=src/modules/perl/libperl.a 

现在已初步完成了 apache 的配置,接下来开始搞定 php 

6) 配置编译安装 php-4.2.1 

cd /usr/local/src/php-4.2.1 
./configure \ 
--with-mysql=/usr/local/mysql \ 
--with-apache=../apache_1.3.24 \ 
--enable-track-vars \ 
--enable-trans-sid \ 
--with-gd 

然后编译 

make 

安装 

make install 

7) 重新配置并编译安装 apache 

cd /usr/local/src/apache_1.3.24 
./config.status \ 
--activate-module=src/modules/php4/libphp4.a 

编译 

make 

安装 

make certificate 
make install 

8) 最后设置 

cd /usr/local/src/php-4.2.1 
cp php.ini-dist /usr/local/lib/php.ini 

你可以按需要编辑 php.ini 

编辑 /usr/local/apache/conf 目录下的 httpd.conf 

找到: 
<IfModule mod_dir.c> 
DirectoryIndex index.html 
</IfModule> 

改为: 
<IfModule mod_dir.c> 
DirectoryIndex index.html index.php 
</IfModule> 

在文件中增加一条: 
AddType application/x-httpd-php .php 

设置结束。 

9) 调试 

这一块我就不用说了吧 

系统启动时加载mysql 
cp /usr/local/mysql/share/mysql/mysql.server /etc/rc.d/init.d/mysql 
cd /etc/rc.d/rc3.d 
ln -s ../init.d/mysql S70mysql 


系统启动时加载apache 
cp /usr/local/apache/bin/apachectl /etc/rc.d/init.d/httpd 
cd /etc/rc.d/rc3.d 
ln -s ../init.d/httpd S80httpd 

10)不妨再加上ZEND加速器,挺管用的 
最新的1。31版本,不管是WIN下的还是LINUX下的,根据提示一步步来就可以了 
LINUX下是 ./install.sh, 嘿嘿,简单吧

原文转自:http://www.ltesting.net