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

所属分类: 操作系统 / unix linux 阅读数: 76
收藏 0 赞 0 分享

根据一个自称自己经验所得的混蛋文章改的 
许多文章结合起来,嘿嘿 
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, 嘿嘿,简单吧
更多精彩内容其他人还在看

教你隐藏Linux的命令行历史

有的时候你可能不想让一些命令记录你的的命令行历史中,本文整理了多种方法让你可以参考。
收藏 0 赞 0 分享

怎样在Linux上录制你的终端操作及回放

在这次的文章中,我们将简单的了解一下如何在Linux上录制和回放终端会话及以gif格式记录的方法。
收藏 0 赞 0 分享

SUSE Linux登录出现黑屏解决方法

登录linux时出现黑屏的找到这篇解决SUSE的黑屏问题
收藏 0 赞 0 分享

个人学习Linux知识总结第1/4页

个人学习linux经常用到的小知识,方便大家以后查阅
收藏 0 赞 0 分享

Linux 下rename 命令的用法第1/2页

刚学习linux的时候,对文件重命名首先想到的就是rename命令,但是按照在windows下对文件重命名的方式试了N多次都没有反应,在网上一搜索,发现很多人都对rename命令知之甚少,甚至有一部分人说linux下没有rename命令,建议大家用mv命令。鉴于此,于是man r
收藏 0 赞 0 分享

Centos 源

Centos操作说明
收藏 0 赞 0 分享

linux备份文件命令收集

收集一些linux下实现文件备份
收藏 0 赞 0 分享

Linux rdesktop操作系统下远程登录Windows XP桌面

众所周知XP下有"远程桌面连接"用来远程登录桌面,设置也非常简单。那有没有什么办法在linux下远程登录到XP呢?有。用rdesktop这个linux下的软件就能实现。
收藏 0 赞 0 分享

Linux操作系统添加新硬盘方法

linux下添加硬盘的方法
收藏 0 赞 0 分享

CentOS 5.1 4.6最新官方下载地址列表

最近公司接触到centos系统,于是找了下,不太容易找到,所以我直接把官方的下载地址,给贴出来了,方便以后下载
收藏 0 赞 0 分享
查看更多