<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://www.jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://www.jackxiang.com/post//</link>
<title><![CDATA[Freebsd7.0+Apache2.2+MySQL5+PHP5]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[WEB2.0]]></category>
<pubDate>Sun, 14 Sep 2008 09:24:53 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	　最近装个了Freebsd7.0,不太会用.以前用过一点Linux和Solaris,昨天花了一天的时间来装上述软件,把一天的操作和心得整理一下,也许对像我一样的BSD新有点作用吧.<br/><br/>　　以前在Linux装上述软件时我是一个一个编译安装的,Solaris上是用pkgadd安装的Apache和MySQL,然后手动编译安装的PHP.<br/><br/>　　开始上网先搜索了一些关于配置这方面的资料,由于最近才玩BSD,对ports安装软件也不熟悉,况且我那台机器只能在内网使用,没有连接外网,也许所要安装的这些软件在光盘里有(我安装完系统后就把光盘放一边去了,太懒了),综合上述原因我决定下载上述软件的源码包一下一个的手动安装.<br/><br/>　　一、安装apache2.2.8<br/><br/>　　首先去http://www.apache.org网站上下载apache2.2.8源码包<br/><br/>　　解压缩<br/><br/>　　#tar zxvf httpd-2.2.8.tar.gz<br/><br/>　　得到 httpd-2.2.8文件夹<br/><br/>　　#cd httpd-2.2.8<br/><br/>　　配置<br/><br/>　　#./configure --prefix=/usr/local/apache --enable-so --enable-module=rewrite<br/><br/>　　编译<br/><br/>　　#make<br/><br/>　　安装<br/><br/>　　#make install<br/><br/>　　安装完成<br/><br/>　　测试一下安装效果<br/><br/>　　#cd /usr/local/apache<br/><br/>　　#cd bin<br/><br/>　　# ./apachectl start<br/><br/>　　httpd: apr_sockaddr_info_get() failed for<br/><br/>　　httpd: Could not reliably determine the server&quot;s fully qualified domain name, using 127.0.0.1 for ServerName<br/><br/>　　[Thu Apr 03 09:37:41 2008] [warn] (2)No such file or directory: Failed to enable the &quot;httpready&quot; Accept Filter<br/><br/>　　出现上述提示<br/><br/>　　#vi /usr/local/apache/conf/httpd.conf<br/><br/>　　修改SeverName一项即可解决(1)错误提示<br/><br/>　　产生(2)的原因是:FreeBSD 系统还提供了http filter,会自动过滤掉不完整的HTTP请求。<br/><br/>　　解决方法:<br/><br/>　　kldload accf_http<br/><br/>　　修改/boot/defaults/loader.conf中，以便下次启动自动装载模块<br/><br/>　　accf_http_load=&quot;YES&quot;<br/><br/>　　在浏览器是输入http://serverip<br/><br/>　　出现 &quot;It works!&quot; 表明apache安装成功<br/><br/>　　二、安装MySQL<br/><br/>　　下载MySQL源码包 (我在是http://www.sunfreeware.com]上下载的)<br/><br/>　　# ls<br/><br/>　　httpd-2.2.8.tar.gz　　 mysql-5.0.51.tar.gz<br/><br/>　　解压缩<br/><br/>　　#tar zxvf　mysql-5.0.51.tar.gz<br/><br/>　　# cd mysql-5.0.51<br/><br/>　　配置<br/><br/>　　#./configure --prefix=/usr/local/mysql<br/><br/>　　编译<br/><br/>　　#make<br/><br/>　　编译时间可能需要较长时间，请耐心等待。<br/><br/>　　安装<br/><br/>　　#make install<br/><br/>　　创建MySQL组<br/><br/>　　# pw groupadd mysql<br/><br/>　　创建MySQL用户<br/><br/>　　# pw useradd mysql -g mysql -d /usr/local/mysql/ -m mysql<br/><br/>　　修改MySQL用户密码<br/><br/>　　#passwd mysql<br/><br/>　　建立用户后我们就初始化表 (注意:必须先执行本步骤后才能进行以下步骤)<br/><br/>　　# ./scripts/mysql_install_db --user=mysql　　 　#初试化表并且规定用mysql用户来访问<br/><br/>　　初始化表以后就开始给mysql和root用户设定访问权限, 我们先到安装mysql的目录:<br/><br/>　　# cd /usr/local/mysql<br/><br/>　　然后设置权限<br/><br/>　　# chown -R root .　　 　 　 　 　#设定root能访问/usr/local/mysql<br/><br/>　　# chown -R mysql var　　 　 　 　#设定mysql用户能访问/usr/local/mysql/var ,里面存的是mysql的数据库文件<br/><br/>　　# chown -R mysql var/.　　 　 　#设定mysql用户能访问/usr/local/mysql/var下的所有文件<br/><br/>　　# chown -R mysql var/mysql/.　　#设定mysql用户能访问/usr/local/mysql/var/mysql下的所有文件<br/><br/>　　# chgrp -R mysql .　　 　 　 　 #设定mysql组能够访问/usr/local/mysql<br/><br/>　　设置完成后,基本上就装好了,好了,我们运行一下我们的mysql:<br/><br/>　　# /usr/local/mysql/bin/mysqld_safe --user=mysql &amp;<br/><br/>　　出现如下提示：<br/><br/>　　#　/usr/local/mysql/bin/mysqld_safe --user=mysql &amp;<br/><br/>　　[2] 7022<br/><br/>　　# Starting mysqld daemon with databases from /usr/local/mysql/var<br/><br/>　　# ps -ef<br/><br/>　　ps: Process environment requires procfs(5)<br/><br/>　　PID　TT　STAT　　 TIME COMMAND<br/><br/>　　1040　v0　Is+　　0:00.00　/usr/libexec/getty Pc ttyv0<br/><br/>　　723　v1　Is+　　0:00.00　/usr/libexec/getty Pc ttyv1<br/><br/>　　724　v2　Is+　　0:00.00　/usr/libexec/getty Pc ttyv2<br/><br/>　　725　v3　Is+　　0:00.00　/usr/libexec/getty Pc ttyv3<br/><br/>　　726　v4　Is+　　0:00.00　/usr/libexec/getty Pc ttyv4<br/><br/>　　727　v5　Is+　　0:00.00　/usr/libexec/getty Pc ttyv5<br/><br/>　　728　v6　Is+　　0:00.00　/usr/libexec/getty Pc ttyv6<br/><br/>　　729　v7　Is+　　0:00.00　/usr/libexec/getty Pc ttyv7<br/><br/>　　7022　p0　S　　 0:00.01　/bin/sh /usr/local/mysql/bin/mysqld_safe --user=mysql<br/><br/>　　7038　p0　R+　　0:00.00　ps -ef<br/><br/>　　上述信息表明MySQL安装成功<br/><br/>　　为了每次系统重启后都能运行mysql,可以写一个脚本放到 /etc/rc.d目录下,用来运行mysql,我们写一个脚本mysql_start.sh<br/><br/>　　#! /bin/sh<br/><br/>　　/usr/local/mysql/bin/mysqld_safe&amp;<br/><br/>　　然后保存到/etc/rc.d目录下,那么以后reboot系统后都能启动mysql了.<br/><br/>　　MySQL的安装是最顺利的一个<br/><br/>　　三、安装PHP<br/><br/>　　去http://www.php.net网站上去下载php-5.2.5的源码包<br/><br/>　　解压缩<br/><br/>　　#tar zxvf php-5.2.5.tar.gz<br/><br/>　　#cd php-5.2.5<br/><br/>　　配置<br/><br/>　　# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql<br/><br/>　　出现如下错误提示：<br/><br/>　　Sorry, I cannot run apxs.　Possible reasons follow:<br/><br/>　　1. Perl is not installed<br/><br/>　　2. apxs was not found. Try to pass the path using --with-apxs2=/path/to/apxs<br/><br/>　　3. Apache was not built using --enable-so (the apxs usage page is displayed)<br/><br/>　　The output of /usr/local/apache/bin/apxs follows:<br/><br/>　　./configure: /usr/local/apache/bin/apxs: not found<br/><br/>　　configure: error: Aborting<br/><br/>　　表明没有安装perl<br/><br/>　　下载perl进行安装(去http://www.perl.com下载最新版本，我从别的网站下载了个5.8版本make时死活过不去)<br/><br/>　　#tar xzvf perl-5.10.0.tar.gz<br/><br/>　　#sh Configure -de<br/><br/>　　#make<br/><br/>　　#make test<br/><br/>　　#make install<br/><br/>　　安装完perl后还是提示上述错误,<br/><br/>　　我就去apche的源程序中又来了一次下面的动作<br/><br/>　　配置<br/><br/>　　#./configure --prefix=/usr/local/apache --enable-so --enable-module=rewrite<br/><br/>　　编译<br/><br/>　　#make<br/><br/>　　安装<br/><br/>　　#make install<br/><br/>　　后重新configure php时出现如下错误：<br/><br/>　　configure: error: xml2-config not found. Please check your libxml2 installation.<br/><br/>　　安装libxml2<br/><br/>　　#tar zxvf libxml2-2.6.31.tar.gz<br/><br/>　　#cd libxm2-2.6.31<br/><br/>　　#./configure<br/><br/>　　#make<br/><br/>　　#make install<br/><br/>　　安装libxml2后，重新configure php 出现如个错误提示：<br/><br/>　　configure: error: Please specify the install prefix of iconv with --with-iconv=&lt;DIR&gt;<br/><br/>　　#tar zxvf libiconv-1.10.tar.gz<br/><br/>　　#cd libiconv-1.10<br/><br/>　　#./configure<br/><br/>　　#make<br/><br/>　　#make install<br/><br/>　　注意:我开始的时候安装的 libiconv-1.11结果安装完成后,重起启动时出现问题(用户就是登录不去,不是是系统的bug还是软件的兼容性不好,后来用单用户进入,删除了/usr/local/下的libiconv相关文件才得以登录系统,从出现这个问题到解决这个问题花了我半天的时间,大家一定要记住这个教训)<br/><br/>　　安装完libxml2后重新configure php<br/><br/>　　这样再configure php时结果还提示错误,具体的信息忘记记下来了,大体的意思是说没有找到iconv和libiconv请reinstall iconv,这时候已经是晚上10点多了,我怒了,决定试一下ports安装iconv和libiconv.(这下子我是实在没有耐心了)<br/><br/>　　#whereis iconv<br/><br/>　　根据提示到相应的目录下iconvpath指相应的目录(当时系统提示的信息具体是什么我记不清了)<br/><br/>　　#cd iconvpath<br/><br/>　　然后开始安装<br/><br/>　　#make install clean<br/><br/>　　执行上述命令时出/usr/ports/distfiles下没有找到文件,然后出现一个连接到ftp下载的信息,没办法我这个机器不能上外面,我只能用另一台机器上那个ftp上下载软件然后再放到/usr/ports/distfiles这里,重新make install clean 结果又提示缺少什么软件,我就这样一个一个的下载下来放到/usr/ports/distfiles里面<br/><br/>　　按照上述的方式又安装了libiconv<br/><br/>　　本已经编译安装了perl 后来一想反正是要ports,就再ports一下这个perl吧<br/><br/>　　就这样又ports安装了perl一次.<br/><br/>　　这一切准备完毕<br/><br/>　　再重新开始的信息configure PHP<br/><br/>　　这一次没问题了<br/><br/>　　过几分钟后出现如下提示：<br/><br/>　　+--------------------------------------------------------------------+<br/><br/>　　&#124; License:　　 　 　 　 　 　 　 　 　 　 　 　 　 　 　 　 　 　 　&#124;<br/><br/>　　&#124; This software is subject to the PHP License, available in this　　&#124;<br/><br/>　　&#124; distribution in the file LICENSE.　By continuing this installation &#124;<br/><br/>　　&#124; process, you are bound by the terms of this license agreement.　　&#124;<br/><br/>　　&#124; If you d#loadModule php4_module　modules/libphp4.so not agree with the terms of this license, you must abort &#124;<br/><br/>　　&#124; the installation process at this point.　　 　 　 　 　 　 　 　 　&#124;<br/><br/>　　+--------------------------------------------------------------------+<br/><br/>　　Thank you for using PHP.<br/><br/>　　这次终于没有错误了<br/><br/>　　继续一口气做完吧<br/><br/>　　编译php<br/><br/>　　#make<br/><br/>　　#make test<br/><br/>　　#make install<br/><br/>　　#cp php.ini-dist /usr/local/php/lib/php.ini<br/><br/>　　上述这几步就是有些耗时间,不过再也没有出现这样的那样的错误,这一点让我很欣慰.<br/><br/>　　安装完成<br/><br/>　　接下来的事情就简单了<br/><br/>　　四、整合apache和php<br/><br/>　　为了让Apache能够直接解析php,我们还要进行一些配置<br/><br/>　　首先进入apache的配置文件目录:<br/><br/>　　# cd /usr/local/apache/conf<br/><br/>　　# vi httpd.conf<br/><br/>　　在httpd.conf文件中，添加<br/><br/>　　AddType application/x-httpd-php .php<br/><br/>　　AddType application/x-httpd-php-source .phps<br/><br/>　　应该将以上两句添加在其他AddType之后。<br/><br/>　　确保文件中有以下一句话，没有就自己添加在所有LoadModule之后。<br/><br/> <br/><br/>　　LoadModule php5_module　modules/libphp5.so<br/><br/>　　若存在loadModule php4_module　modules/libphp4.so请将此句注释掉因为我们安装的是php5<br/><br/>　　在下面中添加index.php<br/><br/>　　&lt;IfModule dir_module&gt;<br/><br/>　　DirectoryIndex index.php index.html<br/><br/>　　&lt;/IfModule&gt;<br/><br/>　　至此,配置结束!<br/><br/>　　在/usr/local/apache/htdocs中新建一个页面info.php<br/><br/>　　&lt;?php<br/><br/>　　phpinfo();<br/><br/>　　?&gt;<br/><br/>　　在浏览器中中输入http://serverip/info.php<br/><br/>　　看一下输出,看看是否是自己想要的结果<br/><br/>　　配置完成！<br/>
]]>
</description>
</item><item>
<link>http://www.jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] Freebsd7.0+Apache2.2+MySQL5+PHP5]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>