发新话题
打印

Freebsd6.1+Apache2.2.3+Mysql5.0.26+PHP5.1.6+phpMyAdmin2.9.0.2手工整合指南

Freebsd6.1+Apache2.2.3+Mysql5.0.26+PHP5.1.6+phpMyAdmin2.9.0.2手工整合指南

Email:aloneBSD@gmail.com
Blog:
http://alone.lupaworld.com

日期: 2006/10/21


经过一晚上的操作,终于成功整合.写一篇文章和大家交流一下经验,什么问题可以联系我. 我使用的操作系统是FreeBSD最新版本6.1,如果是别的操作系统安装方法有少许不一样,请作适当处理.
说明:本文档系alone原创,经过辛勤实验,努力编辑而成,转载无妨,请不要修改任何内容。参考不少前辈文章,不一一列举,谨表感谢!如有错误,敬请好手斧正!费话少说,进入正题.

首先安装整合的工具必不可少.我整个过程用的到工具如下:
Freebsd6.1
下载地址:
http://www.freebsd.org
Apache2.2.3
下载地址:
http://www.apache.org
Mysql5.0.26 for freebsd
下载地址:
http://dev.mysql.com/downloads/
Php5.1.6
下载地址:
http://www.php.net/downloads.php
libxml2-2.6.19
下载地址:
http://ftp.gnome.org/pub/GNOME/sources/libxml2/2.6/libxml2-2.6.19.tar.gz
libiconv-1.9.1
下载地址:
http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.9.1.tar.gz
Phpmyadmin2.9.0.2 for nix
下载地址:
http://www.mycodes.net/soft/6369.htm


一、   Freebsd的安装
安装FreeBSD就不讲了,熟悉linux的很容易上手,只要稍微定制一下就可以了,过程我就不说了。建议新手选择ALL安装方式。

二、   安装Apache

安装Apache要简单点,我这里安装的Apache版本是 httpd-2.2.3,下载回来的包叫做 httpd-2.2.3.tar.gz 我们放在 /usr/local/src目录下。如果没有该目录,就自己建一个。
首先进入目录后解压缩:
# cd /usr/local/src
# tar -zxvf httpd-2.0.50.tar.gz
然后就会得到 httpd-2.0.50目录,我们进入目录
# cd httpd-2.0.50
首先配置:
# ./configure --prefix=/usr/local/apache \--enable-module=so
\*--prefix指定我们要把Apache安装在那个目录,我们这里装在 /usr/local/apache下*\
\*--enable-module=so必设,不然后面配置php时要出问题*\
执行上面的命令,如果没有错误信息,证明配置成功,然后进行编译:
# make
一两分钟就编译完了,然后进行安装:
# make install
安装完成后,Apache就存放在 /usr/local/apache目录下了, bin是执行文件的目录,conf是配置文件目录,htdocs是网页的主目录,logs是日志目录.
Apache通过 bin/apachectl或者bin/httpd来控制启动或者停止.

# /usr/local/apache/bin/httpd -k start #启动apache
# /usr/local/apache/bin/httpd -k stop #停止apache
# /usr/local/apache/bin/httpd -k restart #重启apache

然后你可以通过
http://IP来测试apache是否安装成功,如果出现apache的页面则安装成功,否则请检查上面的步骤.

三、   安装MySQL

我使用的的Mysql是5.0.26二进制版,不需要编译。
把它下到/usr/local/src目录下,下载回来的包名字叫 mysql-5.0.26.tar.gz,然后我们把它解压出来:

# tar -zxvf mysql-5.0.26.tar.gz

解压后生成/usr/local/mysql目录,我们进入该目录:

# cd mysql

#pw groupadd mysql   #建立mysql组
#pw useradd –g mysql mysql   #建立mysql用户并且加入到mysql组中
#scripts/mysql_install_db --user=mysql   #初试化表并且规定用mysql用户来访问
#chown -R root .   #然后设置权限
#chown -R mysql data
#chgrp -R mysql .
设置完成后,基本上就装好了,好了,我们运行一下我们的mysql:

  # /usr/local/mysql/bin/mysqld_safe --user=mysql &

  如果没有问题的话,应该会出现类似这样的提示:
[1] 42264 # Starting mysqld daemon with databases from /usr/local/mysql/var
这就证明你安装成功了,如果出现:

[1] 42264
# Starting mysqld daemon with databases from /usr/local/mysql/var
062110 01:53:45 mysqld ended

则证明你的mysql运行不来,请查看错误日志: /usr/local/mysql/var/*.err 然后确定安装是否成功,如果没有成功,请检查上面的步骤是否正确

.
安装完成后,能够通过 /usr/local/mysql/bin/mysql 来连接mysql进行管理,如果你装了apache并且能够解析php的话,也能使用phpMyadmin来管

理你的mysql,记得装完后使用mysql或者mysqladmin来修改root的密码,这里我们就不说了,请参考相关的文章.

四、   安装php5脚本支持
去以下地址下载源代码包到/usr/local/src/下,
接着,安装libxml2 (安装php5必须,我们先不装,测试一下效果):
#cd /usr/local/src
#tar –zxvf php-5.1.6.tar.gz
#cd php-5.1.6
#./configure --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-libxml-dir=/usr/local/libxml2 --enable-maintainer-zts --enable-memory-limit --enable-zend-multibyte
有关于zend 的参数 --enable-maintainer-zts --enable-memory-limit --enable-zend-multibyte
可见php内建对php加速软件zend的支持
checking whether to enable LIBXML support... yes
checking libxml2 install dir... no
configure: error: xml2-config not found. Please check your libxml2 installation.
出错啦
现在来装libxml2
#tar –zxvf libxml2-sources-2.6.19.tar.gz
# cd libxml2-2.6.19
# ./configure
#make;make install
再来配置:
# cd /usr/local/src/php-5.1.6
#./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --enable-maintainer-zts --enable-memory-limit --enable-zend-multibyte
显示:

configure: error: Please specify the install prefix of iconv with --with-iconv=<DIR>;

--with-iconv-dir=DIR   XMLRPC-EPI: iconv dir for XMLRPC-EPI.
xmlrpc-epi is an implementation of the xmlrpc protocol in C. It provides an easy to use API for developers to serialize RPC requests to and from XML.

# cd /usr/ports/converters/iconv
# make all
# make install
===>; Installing for iconv-2.0_3
===>;   iconv-2.0_3 depends on file: /usr/local/bin/perl5.8.5 - found
===>;   Generating temporary packing list
===>; Checking if converters/iconv already installed
pkg_info: package bsdpan-DBD-mysql-2.9007 has no origin recorded
pkg_info: package bsdpan-DBI-1.48 has no origin recorded
===>; lib
install -C -o root -g wheel -m 444   libbiconv.a /usr/local/lib
install -C -o root -g wheel -m 444   libbiconv_p.a /usr/local/lib
install -s -o root -g wheel -m 444   libbiconv.so.2 /usr/local/lib
ln -fs libbiconv.so.2 /usr/local/lib/libbiconv.so
install -C -o root -g wheel -m 444 biconv.h /usr/local/include
install -o root -g wheel -m 444 biconv.3.gz /usr/local/man/man3
install -o root -g wheel -m 444 biconv_open.3.gz /usr/local/man/man3
install -o root -g wheel -m 444 biconv_close.3.gz /usr/local/man/man3
===>; ccs
cd /usr/ports/converters/iconv/work/iconv-2.0/ccs; install -o root -g wheel -m 444   big5.cct cns11643-plane1.cct cns11643-plane2.cct cns11643-plane14.cct cp775.cct cp850.cct cp852.cct cp855.cct cp866.cct gb_2312-80.cct iso-8859-1.cct iso-8859-2.cct iso-8859-4.cct iso-8859-5.cct iso-8859-15.cct jis_x0201.cct jis_x0208-1983.cct jis_x0212-1990.cct koi8-r.cct koi8-u.cct ksx1001.cct shift_jis.cct /usr/local/share/iconv; install -o root -g wheel -m 555 iconv_mktbl /usr/local/bin
===>; ces
cd /usr/ports/converters/iconv/work/iconv-2.0/ces && install -o root -g wheel -m 444   euc-jp.so euc-kr.so euc-tw.so gb2312.so iso-10646-ucs-2.so iso-10646-ucs-4.so ucs-2-internal.so utf-16.so /usr/local/libexec/iconv
===>; util
install -s -o root -g wheel -m 555   biconv /usr/local/bin
install -o root -g wheel -m 444 biconv.1.gz /usr/local/man/man1
{ echo "# BEGIN iconv"; cat /usr/ports/converters/iconv/work/iconv-2.0/ccs/charset.aliases /usr/ports/converters/iconv/work/iconv-2.0/ces/charset.aliases | /usr/ports/converters/iconv/work/iconv-2.0/iconv_builtin -n us-ascii utf-8 ucs-4-internal; echo "# END iconv"; } >; /usr/local/share/iconv/charset.aliases
===>;   Running ldconfig
/sbin/ldconfig -m /usr/local/lib
===>;   Registering installation for iconv-2.0_3

  再装libiconv-1.9.1.tar.gz,把libiconv-1.9.1.tar.gz放到/usr/local/src/下
# tar -zvxf libiconv-1.9.1.tar.gz
# cd libiconv-1.9.1
# ./configure
#make;make install
# cd /php-5.0.4
#./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --enable-maintainer-zts --enable-memory-limit --enable-zend-multibyte
+--------------------------------------------------------------------+
| License:                           |
| This software is subject to the PHP License, available in this   |
| distribution in the file LICENSE. By continuing this installation |
| process, you are bound by the terms of this license agreement.   |
| If you do not agree with the terms of this license, you must abort |
| the installation process at this point.             |
+--------------------------------------------------------------------+

到此php5成功配置完成. Thanks : )
#make
#make test
#make install
# cp /usr/local/src/php-5.0.4/php.ini-dist /usr/local/lib/php.ini

配置php.ini请参考手册

五、   phpMyAdmin的安装
phpMyAdmin是比较好的通过web访问方式来管理数据库的免费程序。
下载该程序后,通过flashfxp上传到/usr/local/apache/htdocs/目录下,执行如下命令:
#cd /usr/local/apache/htdocs
#tar –zvxf phpMyAdmin-2.9.0.2.tar.gz
mv –fi phpMyAdmin-2.9.0.2 phpmyadmin
www# cd phpmyadmin
www#cp config..simple.inc.php config.inc.php
修改config.inc.php文件如下:
(1)查找$cfg['PmaAbsoluteUri'] = ''; ,将该行内容更改为$cfg['PmaAbsoluteUri'] = '
http://IP/phpmyadmin/';
执行:wq!命令保存退出,在IE浏览器里输入
http://IP/phpmyadmin/就可以访问了。
请注意其中的红色文字,默认的mysql数据库用户名root是没有密码的,这是一个安全漏洞,所以我们要修改数据库的密码,请执行如下步骤:
首先点“权限”,进入另一个页面
在新页面中,勾选三个用户,只剩下一个用户名为root、主机为localhost的用户,然后点“执行”来删除那三个勾选的用户,
只剩下一个root用户了,勾选它,点“编辑”, 再点击“更改密码”下面的“密码”前的圆圈,选择它,然后敲入你的mysql数据库密码(比如789),再点“执行”。这样mysql的数据库密码就改变了。当然了,我们也可以通过phpmyadmin来创建新的mysql数据库名,用户名等等,这些功能就要你自己去探索了。我们再点IE浏览器里的“刷新”来刷新该页面,就会出现无法访问的情况。
出现上面的情况后,也不要着急,我们可以修改phpmyadmin的配置文件config.inc.php来解决这个问题,执行如下命令:
www#vi config.inc.php
更改内容如下:
(2)查找$cfg['Servers'][$i]['auth_type'] = 'config';
更改为$cfg['Servers'][$i]['auth_type'] = 'http';
$cfg['Servers'][$i]['controluser'] = '你的用户名';
$cfg['Servers'][$i]['controlpass'] = '你的密码';
然后重新在IE浏览器里输入
http://IP/phpmyadmin/ 访问,敲入用户名“root”和密码后,点“确定”,就可以重新进入到phpmyadmin管理页面,至此,phpmyadmin安装完毕。


到些,整个过程完毕.你可以上传php网站程序、修改apache的httpd.conf文件配置一台高性能的web服务器,当然也不要忘了mysql数据库对数据库、用户相应的增减。在这里我就不说了。现在已经是凌晨3点,累就一个字。呼呼去咯……



后话:当然你也可以直接选择ports安装,更方便快捷。
附过程:
# cd /usr/ports/www/apache2
# make install clean

# cd /usr/ports/databases/mysql5X-server
# make install clean
# source ~/.cshrc
# mysql_install_db --user=mysql

# cd /usr/ports/lang/php5
# make install clean
在出现的界面中选中apache2, 如果要用zend,不要选debug

cp /usr/local/etc/php.ini-dist php.ini
vi /usr/local/etc/apache2/httpd.conf
添加
AddType application/x-http-php .php
AddType application/x-http-php-source .phps
在 DirectoryIndex 后加一个 index.php

# cd /usr/ports/lang/php5-extensions
# make config
在出现的界面中选种想要的
# make install clean

如果要装zend,去
www.zend.com 下载相应的包,解压缩
# ./install.sh

就这么简单。
如果php要装GD libxml2 libxslt 等支持,源码都要自己装,用ports只要选一下就ok了~而且以后方便升级和维护。


由于改版,把资料弄得有点混乱,现在重发下。
  习惯的力量是可怕的!我发现手机必须要放在笔记本的左边,因为放在右边的话,每次我都会情不自禁地去握它当鼠标用~

TOP

不错很详细的教程。收藏先。。
专注于技术,浪迹于网络

TOP

不错,很好,继续努力,我们支持你!
以社会大众为考虑前提,才是有灵魂的经营.智慧就是能迅速看出事物的本质,仁者常见之是,不仁者常见之非。

TOP

收下了
正好想学学Freebsd呢

TOP

支持。。。。。。。。。。。。。。。。。。。。。。
开源:人之所需,时之所趋,共进之模式!
http://mathbox.lupaworld.com

TOP

不错的文章

不错的文章不错的文章

TOP

很详细,值得收藏!

TOP

且看中国平安如何危机公关的

中国飞人刘翔出人意料的退赛,将中国平安这个中国保险业巨头推到了舆论的风口浪尖。媒体翻检旧账,竟然发现在去年中国平安20周庆典启动暨刘翔出任中国平安公益大使签约仪式上,中国平安向中国田径队及刘翔本人分别赠送了一份保额达人民币1亿元的人身意外险保单——公众由此怀疑平安是否兑现保单,会不会赖账——赔还是不赔,立刻就摆在了中国平安的面前。

20日,中国平安通过媒体发出了一份正式回应:“基于双方前期达成的保险合同及对相关条款的理解,国家体育总局田径运动管理中心及刘翔本人不打算对中国平安提出索赔。”可满纸的官话和模棱两可,不仅无助于释疑,却似为汹涌的舆情火上浇油——作为一个上市公司,中国平安的表现实在太差了。它的股东有理由对其高管提出质询。

如果对照保单条文,赔还是不赔也许并不复杂。从惯常的情况,中国平安很难给出高昂的赔付。平安新闻发言人盛瑞生19日对媒体表示,此前赠送给刘翔的保单,是一份标准保单的意外险,因意外导致的伤残才能赔偿。这并不是什么特别奇怪的事,对中国保险业稍有了解就可明白其中缘由。除非身故,格式化的人身意外险保单,其苛刻的保险责任条款,使得出险后的赔付决定差不多成了一个奇迹。就此而言,中国保险业的风险控制看上去还是非常成功的。

可成功的风险控制,也未必就那么规范。中国平安赠送的那1亿元的人身意外险保单,更像是形象广告宣传而不是在做生意。在赠送那1亿元保单的时候,为公益做贡献的情绪激昂也许暂时让它忘记了风险——或者,风险根本就没有列入考虑——人身意外险极低的赔付率让平安从合同上就规避了绝大多数风险,从这个角度看,平安的慷慨,的确有底气。如果不是刘翔退赛过于突然,谁还会认为赞助体育明星有风险呢。何况,直到退赛发生,人们满脑子设想的都是如何享受刘翔胜利所带来的喜悦——在这一点上,平安的预见和那些倒卖奥运门票的人没多大差别。

如今,他们面临的苦恼也相似:高价票如何出手。

平安手中的“高价票”,已经从如何正面回应赔还是不赔,转变成了如何为自己的形象做好危机公关。国家体育总局田径运动管理中心及刘翔本人不打算对中国平安提出索赔的表态,使平安避免了表态赔还是不赔的尴尬。平安应该好好向耐克学习,“爱比赛爱拼上所有的尊严爱把它再赢回来。爱付出一切爱荣耀爱挫折。爱运动即使它伤了你的心”——人家成功地将风险,转换成了机遇。

TOP

发新话题