作者:高速蜗牛 日期:2007年9月12日
[注:]//为注释符,如“// 建立mysql组”,即为一句注释。
我有一块硬盘160 G ,内存1G ,分区如下:
/ 文件格式:Ext3 容量大小:8G
(交换分区,无) 文件格式:Swap 容量大小:2 G (2G=2048M,约为内存值的2倍)
/home1 文件格式:Ext3 容量大小:剩余所有空间,约150G
所需软件:
mysql-5.0.41.tar.gz
curl-7.16.2.tar.gz
expat-2.0.0.tar.gz
gzip-1.3.5.tar.gz
libxml2-2.6.23.tar.bz2
zlib-1.2.3.tar.gz
jpegsrc.v6b.tar.gz
libpng-1.2.12.tar.gz
freetype-2.3.4.tar.gz
gd-2.0.34.tar.gz
httpd-2.2.4.tar.gz
php-5.2.2.tar.gz
ZendOptimizer-3.2.8-linux-glibc21-i386.tar.gz
phpMyAdmin-2.10.0.2-all-languages.tar.gz
系统环境:
linux as4操作系统(注意!我这个是32位的操作系统!!!):不安装自带的apache和mysql,要安装编辑器(很多地方要用到),Windows文件服务器和DNS服务器,开发那一组就装个开发工具,其余全不安装。
建议你把软件包选择.tar.gz的,并且统一放到/usr/local/src目录下。
另外,我准备把所有软件安装到/home1/opt/下。
编译参数(即./configure 。。。)可以设置多次,以最后一次的为准。
.tar.gz的包,用tar -zxvf xxxx.tar.gz 方式解压;
.tar.bz或者.tar.bz2的包,用tar –xjvf xxxx.tar.bz2方式解压.
闲话说完,下面开始:
<!--[if !supportLists]-->一、 <!--[endif]-->安装Mysql
# cd /usr/local/src //进入此放软件包的目录
# groupadd mysql //建立mysql组
# useradd -g mysql mysql //建立mysql用户并且加入到mysql组中
# tar -zxvf mysql-5.0.41.tar.gz //解压缩
# cd mysql-5.0.41 //进入解开包的目录
//配置编译参数(指定安装位置为/home1/opt/mysql ,扩展字符集为utf8,gbk,gb2312)
# ./configure --prefix=/home1/opt/mysql --with-extra-charsets=utf8,gbk,gb2312
# make //开始编译
# make install //安装
//将mysql的数据库启动脚本加入系统启动目录,不然,你总不能每次启动服务器后,都要登陆上去手工启动数据库吧,那还不麻烦死。
将mysql配置文档复制到/etc/目录下并保存为my.cnf
# cp support-files/my-medium.cnf /etc/my.cnf
# cp support-files/mysql.server /etc/rc.d/init.d/mysqld //差不多
# chmod 700 /etc/rc.d/init.d/mysqld //
# chkconfig --add mysqld
# /home1/opt/mysql/bin/mysql_install_db //安装库文件,应该会提示说OK!的
# cd /home1/opt/mysql //进入mysql安装目录
//设定root能访问/home1/opt/mysql,注意后面那个.啊,别忘记
# chown -R root .
//设定mysql用户能访问/home1/opt/mysql/var ,里面存的是mysql的数据库文件.这个目录是在/etc/my.cnf中有配置,在mysql_install_db时产生。这步如果说找不到var目录,就再做一遍初始化数据库/home1/opt/mysql/bin/mysql_install_db(要先做之前的将mysql配置文档复制到/etc/目录下并保存为my.cnf
那几步!不然很可能就没有在/home1/opt/mysql生成var目录!!!切记!切记!)
# chown -R mysql var
//设定mysql用户能访问/home1/opt/mysql/var/下的所有文件
# chown -R mysql var/.
# chgrp -R mysql . //设定mysql组能够访问/home1/opt/mysql
//
//启动mysql,&表示在后台运行
# /home1/opt/mysql/bin/mysqld_safe --user=mysql &
//修改mysql的root用户密码
# /home1/opt/mysql/bin/mysqladmin -u root password 'yourpassword' //默认安装密码为空,为了安全你必须马上修改.请注意,你修改执行此命令时,一定不要加yourpassword两边的单引号或者双引号,比如你想设定密码是123456 就直接执行 /usr/local/mysql/bin/mysqladmin -u root password 123456 而不要写成 /usr/local/mysql/bin/mysqladmin -u root password '123456' ,这样加引号,你的密码也是带引号的。
[测试mysql]:
//登陆mysql,回车之后会提示输入密码
# /home1/opt/mysql/bin/mysql -u root -p 回车
//系统会提示输入密码.由于我们安装时没有设置密码.所以默认密码为空.直接点击回车进入
回车
//登陆成功之后,在mysql提示符>下输入
Mysql> select version(); //输完回车执行,能查看版本号,即正确无误。
Mysqll>quit //输完回车执行,退出mysql
<!--[if !supportLists]-->二、 <!--[endif]-->安装php、gd库所需要的配件文件
注意这些软件的安装步骤及先后顺序,不要乱。特别是jpeg,png,freetye与gd库。
(1)curl
# cd /usr/local/src //进入软件存放目录
# tar -zxvf curl-7.16.2.tar.gz //解压
# cd curl-7.16.2 //进入解压后的文件目录
# ./configure --prefix=/home1/opt/curl //配置编译的参数
# make //编译
# make install //安装编译
(2)expat
# cd /usr/local/src //进入软件存放目录
# tar -zxvf expat-2.0.0.tar.gz //解压
# cd expat-2.0.0 //进入解压后的文件目录
# ./configure --prefix=/home1/opt/expat //配置编译的参数
# make //编译
# make install //安装编译
(3)gzip安装
# cd /usr/local/src //进入软件存放目录
# tar -zxvf gzip-1.3.5.tar.gz //解压
# cd gzip-1.3.5 //进入解压后的文件目录
# ./configure --prefix=/home1/opt/gzip //配置编译的参数
# make //编译
# make install //安装编译
(4)libxml2安装
PHP5只支持libxml2-2.5.10以上版本。
# cd /usr/local/src //进入软件存放目录
//解压,这个我下的是.bz2的,你下的如果是.gz的就执行 tar -zxvf libxml2-6.23.tar.gz
# tar -xjvf libxml2-2.6.23.tar.bz2 //解压
# cd libxml2-2.6.23 //进入解压后的文件目录
# ./configure --prefix=/home1/opt/libxml2 //配置编译的参数
# make //编译
# make install //安装编译
(5)zlib安装(安装到默认安装目录)
# cd /usr/local/src //进入软件存放目录
# tar -zxvf zlib-1.2.3.tar.gz //解压
# cd zlib-1.2.3 //进入解压后的文件目录
//这个配置编译命令不要加目录参数,我试过的,加上--prefix=/usr/local/zlib这个参数,在这里是一定会顺利编译通的,但可惜的是,到下面你编译gd库时,是不会通过的,到时就是会出问题,也真怪了,这些问题不是摸索出来,我是不会相信的。网友们自己有空了也可以多试试,看看为什么不能加参数。
# ./configure //配置编译的参数
# make //编译
# make install //安装编译
(6)安装 jpeg6
建立目录:
# mkdir -p /home1/opt/jpeg6
# mkdir -p /home1/opt/jpeg6/bin
# mkdir -p /home1/opt/jpeg6/lib
# mkdir -p /home1/opt/jpeg6/include
# mkdir -p /home1/opt/jpeg6/man
# mkdir -p /home1/opt/jpeg6/man1
# mkdir -p /home1/opt/jpeg6/man/man1
# cd /usr/local/src //进入软件存放目录
# tar -zxvf jpegsrc.v6b.tar.gz //解压
# cd jpeg-6b //进入解压后的文件目录
//配置编译的参数
# ./configure --prefix=/home1/opt/jpeg6/ --enable-shared --enable-static
# make //编译
# make install //安装编译
(7)安装libpng(安装到默认安装目录)
# cd /usr/local/src //进入软件存放目录
# tar -zxvf libpng-1.2.12.tar.gz //解压
# cd libpng-1.2.12 //进入解压后的文件目录
# cp scripts/makefile.std makefile //
//配置编译的参数,这个如同上面zlib的说明一样,不要带参数,让它默认安装到相应目录
# ./configure
# make //编译
# make install //安装编译
(8)安装 freetype
# cd /usr/local/src //进入软件存放目录
# tar -zxvf freetype-2.3.4.tar.gz //解压
# cd freetype-2.3.4 //进入解压后的文件目录
# mkdir -p /home1/opt/freetype //创建目录
# ./configure --prefix=/home1/opt/freetype //配置编译的参数
# make //编译
# make install //安装编译
<!--[if !supportLists]-->三、 <!--[endif]-->安装Gd库
//下面开始另一个重要的工作,安装gd库,因为gd库在window操作系统下默认是自带有的,但到linux下,必须得自己安装,不然,很多目前流行的论坛图水印功能、缩略图功能等都不能用,打开自己的网站图片大的大小的小,严重变形,影响美观,所以下决心要整冶好gd库。
# cd /usr/local/src //进入软件存放目录
# tar -zxvf gd-2.0.34.tar.gz //解压
# mkdir -p /home1/opt/gd //创建目录
# cd gd-2.0.34 //进入解压后的文件目录
//配置编译的参数,大家看到了吧,在这些参数中,由于上面安装zlib、png二个软件没有指定目录,所以这里也不要指定了。第一次安装测试时,上面zlib、png都很顺利编译通过,但到了这里,总是提示找不到freetype/png等相应的路径啊什么的。
# ./configure --prefix=/home1/opt/gd --with-jpeg=/home1/opt/jpeg6/ --with-png --with-zlib --with-freetype=/home1/opt/freetype/
# make //编译
# make install //安装编译
<!--[if !supportLists]-->四、 <!--[endif]-->安装Apache
php5安装环境需要apache2.0.46以上版本。
# cd /usr/local/src //进入软件存放目录
# tar -zxvf httpd-2.2.4.tar.gz //解压
# cd httpd-2.2.4 //进入解压后的文件目录
//配置编译的参数,注意,最后一个命令是让apache2编译出所有的so文件,apache2以DSO模式运行。
# ./configure --prefix=/home1/opt/apache2 --enable-module=most --enable-rewrite --enable-shared=max --enable-so
# make //编译
# make install //安装编译
# /home1/opt/apache2/bin/apachectl start //启动apache
在浏览器打开 http://localhost/ 或者 http://127.0.0.1
如果出现“It works!”界面则说明apache已经安装好了.
设置apache自启动
# cp /home1/opt/apache2/bin/apachectl /etc/rc.d/init.d/apached
# vi /etc/rc.d/init.d/apached
在#!/bin/sh后面加入下面几行(提供chkconfig的支持):
# chkconfig: - 85 15
# description: Apache is a World Wide Web server. It is used to server /
# HTML files and CGI.
用下面命令把apached加到启动列表中。
# chkconfig apached on
这样,启动的时候就能看到进程apached启动了。
<!--[if !supportLists]-->五、 <!--[endif]-->安装Php
# cd /usr/local/src //进入软件存放目录
# tar -zxvf php-5.2.2.tar.gz //解压
# cd php-5.2.2 //进入解压后的文件目录
//配置编译参数,再次提醒:别怕,编译参数可以设置多次,以最后一次为准
# ./configure --prefix=/home1/opt/php5 --with-apxs2=/home1/opt/apache2/bin/apxs --with-freetype=/home1/opt/freetype --enable-trace-avrs --with-mysql=/home1/opt/mysql --with-zlib --with-libxml=/home1/opt/libxml2 --enable-shared --with-curl=/home1/opt/curl --with-expat=/home1/opt/expat --with-gd=/home1/opt/gd --with-jpeg-dir=/home1/opt/jpeg6 --with-png --enable-mbstring=all --enable-mbregex --enable-so
# make //编译
# make install //安装编译
# cp php.ini-dist /home1/opt/php5/lib/php.ini
<!--[if !supportLists]-->六、 <!--[endif]-->安装Zend
# cd /usr/local/src //进入软件存放目录
# tar -zxvf ZendOptimizer-3.2.8-linux-glibc21-i386.tar.gz //解压
# cd ZendOptimizer-3.2.8-linux-glibc21-i386 //进入解压后的文件目录
# ./install //执行这个安装命令就可以了,该填相应路径的就填相应路径就可以了。
注意:在安装zend结束后,会告知你php.ini已经被拷贝到zend的安装目录的etc下了,现在, 让apache和php关联:
# vi /home1/opt/apache2/conf/httpd.conf
//按Esc后,键入以下
:?AddType application/x-gzip .gz.tgz //从当前位置向后查找字符串AddType application/x-gzip .gz.tgz
//然后,在AddType application/x-gzip .gz.tgz下添加两句:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
//完成后,尽管安装ZendOptimizer时已经重启了apache,但我们还是要执行如下命令重启apache,以确保apache修改的配置已经从新加载入来.请大家务必不要漏了这一步
# /home1/opt/apache2/bin/apachectl -k restart
//再次确认一下apache是否启动,如果已启动了,就会告诉你服务已经启动。
# /home1/opt/apache2/bin/apachectl start
//下面,编辑一个php文件用来测试:
# vi /home1/opt/apache2/htdocs/phpinfo.php
在网站根目录下建立一个phpinfo.php的文件.
其中/home1/opt/apache2/htdocs/是我们网站根目录.我们只要把网页放在这里边就行了
点击 i 键进入 插入编辑方式
输入
<?php
phpinfo();
?>
点击 Esc 键回到vi 命令行方式.输入 :wq 回车
系统将保存phpinfo.php文件,并退出vi编辑器。
在浏览器打开 http://localhost/phpinfo.php
如果出现php界面则说明php已经安装好了.
<!--[if !supportLists]-->七、 <!--[endif]-->安装Phpmyadmin
# cd /usr/local/src //进入软件存放目录
# tar -zxvf phpMyAdmin-2.10.0.2-all-languages.tar.gz //解压
//将phpmyadmin剪切到网站根目录下,并改名为phpmyadmin
# cp -r phpMyAdmin-2.10.0.2-all-languages/ /home1/opt/apache2/htdocs/phpmyadmin/
最后,打开浏览器,测试http://localhost/phpmyadmin/,会显示连接被拒绝,为什么呢?我们还没改phpmyadmin的配置文件呢!下面修改:
# cd /home1/opt/apache2/htdocs/phpmyadmin/libraries
# vi config.default.php //用vi打开缺省配置文件
按i,找到第30行,将
$cfg['PmaAbsoluteUri'] = '';
修改成:
$cfg['PmaAbsoluteUri'] = 'http://localhost/phpMyAdmin/';//phpmyadmin的绝对路径
找到第73行,将:
$cfg['Servers'][$i]['password'] = '';
改成:
$cfg['Servers'][$i]['password'] = '123456'; //123456是你的mysql的root用户的密码
按Esc ,键入
:wq //保存设置,退出
现在再次测试访问http://localhost/phpmyadmin/ 会发现可以访问了。