根据一个自称自己经验所得的混蛋文章改的
许多文章结合起来,嘿嘿
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, 嘿嘿,简单吧