我以我喜欢的方式整理PHP,MYSQL,LINUX,ZEND,技术资料,源代码,程序软件下载,对你也许有用! 注册 | 登陆
浏览模式: 标准 | 列表全部文章

[置顶] Linux下Php5+Mysql5+Apache2+GD2+Zend3编译安装步...

/* 养成好习惯,尊重别人也是尊重自己

Author:白开水
QQ:75094040
Email:daheit@163.com
Blog:http://blog.daheit.com/
PHP tech:http://php.daheit.com/

*/

经过一天一夜、郁闷了N个小时的努力后,总算把linux下的PHP环境配置好了。
兴奋之余,我是真的服了网上的那些自以为是的发配置文件的人了,我在baidu与google中,查找配置步骤与文件的,查了N个小时啊,竟然都说测试很好的,我装了卸,卸了装,苦了我这些为服务器本身就天天受累的人更累,精神又遭受此打击,兄弟们,你们说说,客户在屁股后催得要命似的,可你却为了一条配置编译命令一直过不去,error,error着,那是多么痛苦的事啊。

今天终于把服务器整好了,我把我安装的全过程一步一步记录下来,每一行命令都是经过严格测试后并编译通过的。请大家放心,深受其害后的人,才真的懂得这是多么的不易!!

先准备一下软件:

linux as4操作系统:界面、应用软件、管理软件、服务器自带软件、其它等通通的不用安装,既然做服务器就要把服务器整理干净,linux自定义安装,我只选择安装了FTp软件(vsftpd)、开发工具包(这个当然必须要选的啊,编译全靠它来为我们出力!)二项,其它什么都不装。(够很吧!!!)

当然分区时,swap分区是必须的,大小是内存的2倍,再分一个boot分区,分个2G左右,剩余的全分给/就行了。

下面所需要的软件一步一步都有文件名,在这先不一一列出,请往下看,建议安装这些软件前,一定要先通读这篇文章的全文,把每一步所需要的软件先准备好。

建议你把这些所需要的软件包统一放到/usr/local/src目录下,一定要养成好习惯,呵呵,这样对自己很有好处的。

一。安装mysql

我用的软件是mysql-5.0.41.tar.gz (大家在网上、mysql官方站上下载时一定要搞清楚了!版本可不能错,因为每一个版本的mysql都有很多种不同的编译版与不用编译版,我用的这个是自编译版的!如果你自行下载的请先解压缩后,用写字版打开包里的configure这个文件,看看是需要编译的还是不用编译的,如果这个文件打开只有十几行E字,告诉你说,此版本不用编译,解开放在目录里就能用了,那样的软件我不能保证在这篇文档里的可用性!)
好,费话少说,开始PHP环境重头戏,mysql的安装,安装好与坏,直接关系到最后PHP的编译成功与否!!

cd /usr/local/src //进入此放软件包的目录

groupadd mysql     // 建立mysql组

useradd mysql -g mysql   //建立mysql用户并且加入到mysql组中

tar -zxvf mysql-5.0.41.tar.gz //解压缩

cd mysql-5.0.41 //进入解开包的目录

./configure --prefix=/usr/local/mysql --with-charset=gb2312 --with-extra-charsets=gbk,gb2312 //这条命令里的参数一定不能乱写乱搞,不然谁也没法保证你编译的mysql能用。如果你搞不明白这些参数怎样设计、并且E文稍微不错的话,那你就先在本地一台电脑里用记事本、写字板、editplus等任何文本软件打开包里的configure文件,呵呵,都是程序与代码、打开可不是让你去改的啊,呵呵,最好远观可千万别近玩啊!向下看看,你会发现大段的参数,大致在986行开始你会发现”Configuration:“字样,到1193行中间,这一大段的代码大多与配置参数有关的说明,每一个参数都有详细的说明。这里不多做介绍,其它我是让它默认的。我第一次安装编译时参数是--with-charset=gb2312 --with-extra-charsets=all这样做,我是让它默认字符集为gb2312,其它安符扩展全装,我认为把所有的都加进去了,那一定是没有问题的吧,安装编译是顺利完成了,但当进入linux命令行下输入/usr/local/mysql/bin/mysql -u root -p敲回车时,提示一大段的错误信息,说gb2312根本没有被编译进去,你说怪不怪,没办法,只好重新编译,写成./configure --prefix=/usr/local/mysql --with-charset=gb2312 --with-extra-charsets=gbk,gb2312这样。如果顺利执行完毕,没有错误信息提示,那么恭喜你了,但不要高兴太早,下面才很重要呢。

make && make install //安装,如果这一步也很顺利完成,恭喜,mysql基本完成差不多了。下面都很简单了。

cd scripts //进入到脚本目录下

./mysql_install_db --user=mysql //安装库文件,应该会提示说OK!的。

cd /usr/local/mysql //进入到安装的mysql软件目录中

chown -R root .   //设定root能访问/usr/local/mysql
chown -R mysql var   //设定mysql用户能访问/usr/local/mysql/var ,里面存的是mysql的数据库文件.这个目录是在/etc/my.cnf中有配置,在mysql_install_db时产生。
chown -R mysql var/. //设定mysql用户能访问/usr/local/mysql/var/mysql下的所有文件 
chgrp -R mysql .   //设定mysql组能够访问/usr/local/mysql

# 上面的已经把mysql完全安装完了,也能正常使用了,但还不够,你要将mysql的数据库启动脚本加入系统启动目录,不然,你总不能每次启动服务器后,都要登陆上去手工启动数据库吧,那还不麻烦死。


cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld

chmod 700 /etc/rc.d/init.d/mysqld

ln -s /etc/rc.d/init.d/mysqld /etc/rc.d/rc3.d/S97mysqld

/etc/rc.d/init.d/mysqld start  //来启动mysql进程 然后

/usr/local/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' ,这样加引号,你的密码也是带引号的。我以开始就是,加引号,用123456登陆mysql,怎么也进不去,就是提示密码错误,呵呵。


二。安装php、gd库所需要的配件文件

A.curl

curl安装

cd /usr/local/src //进入软件存放目录
tar -zxvf curl-7.16.2.tar.gz
cd curl-7.16.2
./configure --prefix=/usr/local/curl

make && make install //这个小软件很简单,不明白什么意思,到网上查资料吧。

B.expat

cd /usr/local/src

tar -zxvf expat-2.0.0.tar.gz

cd expat-2.0.0

./configure --prefix=/usr/local/expat

make && make install

C.gzip安装

cd /usr/local/src

tar -zxvf gzip-1.3.5.tar.gz

cd gzip-1.3.5

./configure --prefix=/usr/local/gzip

make && make install

D.libxml2安装

cd /usr/local/src

tar -xjvf libxml2-2.6.23.tar.bz2 //这个我下的是.bz的,你下的如果是.gz的就执行 tar -zxvf libxml2-6.23.tar.gz

cd libxml2-2.6.23

./configure --prefix=/usr/local/libxml2

make && make install


E.zlib安装

cd /usr/local/src

tar -zxvf zlib-1.2.3.tar.gz

cd zlib-1.2.3

./configure //这个配置编译命令不要加目录参数,我试过的,加上--prefix=/usr/local/zlib这个参数,在这里是一定会顺利编译通的,但可惜的是,到下面你编译gd库时,是不会通过的,到时就是会出问题,也真怪了,这些问题不是摸索出来,我是不会相信的。网友们自己有空了也可以多试试,看看为什么不能加参数。

make && make install


F.安装 jpeg6

CODE:
建立目录:
mkdir -p /usr/local/jpeg6
mkdir -p /usr/local/jpeg6/bin
mkdir -p /usr/local/jpeg6/lib
mkdir -p /usr/local/jpeg6/include
mkdir -p /usr/local/jpeg6/man
mkdir -p /usr/local/jpeg6/man1
mkdir -p /usr/local/jpeg6/man/man1

cd /usr/local/src

tar -zvxf jpegsrc.v6b.tar.gz

cd jpeg-6b

./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static

make && make install

G.安装libpng

cd /usr/local/src

tar -zvxf libpng-1.2.18.tar.gz

cd libpng-1.2.18

./configure  //这个如同上面zlib的说明一样,不要带参数,让它默认安装到相应目录

make && make install

H.安装 freetype

cd /usr/local/src

tar -zvxf freetype-2.3.4.tar.gz

cd freetype-2.3.4

mkdir -p /usr/local/freetype

./configure --prefix=/usr/local/freetype

make && make install

I.安装GD库

//下面开始另一个重要的工作,安装gd库,因为gd库在window操作系统下默认是自带有的,但到linux下,必须得自己安装,不然,很多目前流行的论坛图水印功能、缩略图功能等都不能用,打开自己的网站图片大的大小的小,严重变形,影响美观,所以下决心要整冶好gd库。
//这个gd库的安装是目前第四重要的软件。呵呵,第一个当然是php了,老二就是apache了,老三还用说吗是mysql,老四就是gd库了。呵呵。

cd /usr/local/src

tar -zvxf gd-2.0.34.tar.gz

mkdir -p /usr/local/gd

cd gd-2.0.34

./configure --prefix=/usr/local/gd --with-jpeg=/usr/local/jpeg6/ --with-png --with-zlib --with-freetype=/usr/local/freetype/

//大家看到了吧,在这些参数中,由于上面安装zlib、png二个软件没有指定目录,所以这里也不要指定了。
//第一次安装测试时,上面zlib、png都很顺利编译通过,但到了这里,总是提示找不到freetype/png等相应的路径啊什么的。

make && make install

J.apache2安装

//下面进行老二的安装,呵呵。

cd /usr/local/src

tar -zxvf httpd-2.2.4.tar.gz

cd httpd-2.2.4

./configure --prefix=/usr/local/apache2 --enable-module=most --enable-rewrite --enable-shared=max --enable-so

//上面的参数是自动把rewrite模块也编译进去了,在httpd.conf配置文件里就不用加载mod_rewrite.so模块了;
//--enable-module=shared --enable-so --enable-rewrite=shared //这个不知是不是编译出了mod_rewrite.so模块???下次安装时用此参数测试一下;
//这个一些参数好像有些问题,虽然都能正常使用,
//php的编译参数就更多了,呵呵,自己如果有兴趣就可以专门研究一下,你研究了要告诉我一声。向你学习.

make && make install

//两条命令,注意,最后一个命令是让apache2编译出所有的so文件,apache2以DSO模式运行。

K.php5安装

//下面进入最重要的老大的安装,所以它必须放在最后,呵呵,因为它要用到前面很多软件的。

cd /usr/local/src

tar -zxvf php-5.2.2.tar.gz

cd php-5.2.2

./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/apache2/bin/apxs --with-freetype=/usr/local/freetype --enable-trace-avrs --with-mysql=/usr/local/mysql --with-zlib --with-libxml=/usr/local/libxml2 --enable-shared --with-curl=/usr/local/curl --with-expat=/usr/local/expat --with-gd=/usr/local/gd --with-jpeg-dir=/usr/local/jpeg6 --with-png --enable-mbstring=all --enable-mbregex --enable-so
//这里的参数指定,我是看了又看,唯恐写错一个字符,害了大家啊。这里千万不能错。等你有经验写文档时,请一定也要尊重你的读者,不然害人可不浅啊,等别人拿着你的文档编译时,就是编译不了,你说,当时他会急成什么样,特别是如我一族,没有人在旁边指导啊!

make && make install

cp php.ini-dist /usr/local/php5/lib/php.ini


L。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 //执行这个安装命令就可以了,哎,上帝啊,什么时候php、mysql、apache、gd这几大软件在linux下也能像Zend这样自动啊,一个命令,下面就是下一步下一步,我们这等小民也不会那么受罪与累了。
//在这里下一步的过程中,一定要明白你的php.ini的路径是在/usr/local/php/lib/目录下,不能填错了。


//另外的话:
到这里,如果你还像我说的一样,顺利的话,恭喜恭喜恭喜你,你太有才了,真不容易走这一关。
至于怎么配置php.ini与虚拟主机httpd-vhost.conf那就等我有空专门整理成篇再说好吗各位?
你如果整理的很好、或者急需要知道怎样配置的话,可以在下面给我留言。

当然,如果大家要转载这个文章,请一定要加上 “白开水;交流QQ:75094040;信箱:daheit@163.com ”字样,还是那句话,养成好习惯,尊重别人也是尊重自己!

///////////////////////////////////////////////////////////////////
配置vsftpd

cd /etc/vsftpd
vi vsftpd.conf
在这个配置文件里实现如下形式
anonymous_enable=no
chroot_list_enable = yes
chroot_local_user = no
chroot_list_file=/etc/vsftpd.chroot_list

然后再回到
cd /etc
vi vsftpd.chroot_list
在这个文件里一行写一个用户,被写入此文件中的用户,再用FTP工具连入系统是,就只能在自己的目里了。

让vsftpd启动系统时自动启动;
在命令行下执行

setup

//进配置界面,在里面选择 “系统工具配置”;
//新出现的新界面中,找到 vsftpd 服务,按“空格”键盘,选中此服务;“确定”退出就OK了。

/////////////////////////////////////////////////////////
让mysql apache后台操作系统自动启动

进入/etc/目录下,

vi rc.local //编辑此文件,在文档结尾加入下面两行;

/usr/local/apache/bin/apachectl start &
/usr/local/mysql/bin/mysqld_safe &

/////////////////////////////////////////////////////

/* 养成好习惯,尊重别人也是尊重自己

Author:白开水
QQ:75094040
Email:daheit@163.com
Blog:http://blog.daheit.com/
PHP tech:http://php.daheit.com/

*/

» 阅读全文

Tags: php教程, php配置, mysql安装, gd库安装

用JS函数实现按比例制作缩略图...

之前用样式表,超出部分隐藏的方法实现缩略图效果,有时候会产生图片被切掉半个脑袋的情况。这里谈一下用JS按比例制作缩略图的方法:

将以下JS代码放到Head区,然后在Body标签中加入onload=”ReImgSize”进行调用;

JavaScript代码
  1. function ReImgSize(){     
  2. var await=document.getElementById("Imgbox");//定义要改变的图片的容器ID     
  3. var imgall=await.getElementsByTagName("img");//取得容器内所有的IMG标签     
  4. for (i=0;i<imgall.length;i++)     
  5. {     
  6. if (imgall[i].width>500) //如果图片的宽度大于500     
  7. {     
  8. var oWidth=imgall[i].width; //取得图片的实际宽度     
  9. var oHeight=imgall[i].height; //取得图片的实际高度     
  10. imgall[i].width="500"//重设图片的宽度为500     
  11. imgall[i].height=oHeight*500/oWidth; //重设图片的高度     
  12. }     
  13. }     
  14. }  

另外,我们可以使用jQuery插件来实现在按比例缩放图片大小的同时,实现图片的预加载:

» 阅读全文

Tags: js函数, 缩略图

第九期《PHPer》电子杂志发布提供免费下载...

本期《PHPer》杂志我们将对国内一些比较流行的CMS系统进行介绍,用户可以从中根据自己的需求进行比较和选择。

使用PEAR 类库和Smarty 模板引擎来做项目

以CMS(网站内容管理系统)项目为例,项目核心就是底层类库和模板,而在国内流行的CMS 里面,PHP 类库和模板引擎代码大多都是开发CMS 项目的程序员自己写。

PHP168 整站架构分析+企业解决方案
PHP168 整站系统的与众不同之处在于“一个核心+多模块”以满足企业不同的需求。以往的整站程序把所有的功能都集合在一起,这就给企业带来了诸多的不便,因为很多企业并不需要全部的功能,全部功能给它的话,不仅仅是一种累赘,而且在操作上也带来太多的干扰与诸多的不便。

浅谈CMS系统的SEO优化
CMS 系统促进着Web2.0 的发展,根据权威机构的调查,一个网站80%左右的流量都是来源于搜索引擎的,所以一个网站到底做的好与坏不在于网站建设者的认知,而是在于相关关键词在搜索引擎中的排名和被搜索引擎收录的网页数量,以此来衡量网站的价值。

随着更多企业、个人网站的出现,为了满足不同的需求CMS系统也随之发展起来。开源内容管理系统现在可以说是群雄并起,这些开源项目都将经过市场的检验,它们中的很多可能不适合发展需要将成为历史,但开源内容管理系统整体将不断前行、不断发展。

第九期《phper》电子杂志免费下载地址:http://www.phpchina.com/phper/

Tags: phper, 电子杂志

百奥谷PHP技术研究专栏开通

今天正式开始加入百奥谷技术研究之中,新的专栏频道也是今天刚刚开通,不足之处还有很多,希望更多的朋友支持我。

百奥谷技术研究,主要涵盖PHP程序代码编写,PHP/mysql程序开发,div css技术重构,seo优化研究等内容,我会每天更一到二篇专门的文章记录百奥谷的发展历程。

你的支持是我做得更好的动力!!

Tags: 百奥谷, seo优化

Prototype.js及使用手册

下载最新的prototype.js
http://prototype.conio.net/

Prototype.js 1.4中文使用手册PDF版下载
下载文件 点击下载此文件

» 阅读全文

Tags: ajax教程

[配色]收集20个具有代表性的web2.0网站配色...

[配色]收集20个具有代表性的web2.0网站配色

» 阅读全文

Tags: web2, css配色, 网站配色

Ajax标签导航上下移动点击隐藏/展示的效果...

Ajax标签导航上下移动的效果

» 阅读全文

Tags: css教程, div教程, ajax教程

知道高度,让DIV内容垂直居中的方法...

知道高度,让DIV内容垂直居中的方法。

» 阅读全文

Tags: css教程

Records:5912345678