<?xml version="1.0" encoding="gb2312"?>
<rss version="2.0">
<channel>
<title><![CDATA[LAVA WORLD [技术收集]]]></title>
        <image>
        <title>http://hi.baidu.com</title>
        <link>http://hi.baidu.com</link>
        <url>http://img.baidu.com/img/logo-hi.gif</url>
        </image>
<description><![CDATA[临时的收容所]]></description>
<link>http://hi.baidu.com/rongjch</link>
<language>zh-cn</language>
<generator>www.baidu.com</generator>
<ttl>5</ttl>


<item>
        <title><![CDATA[通告一下又换blog了]]></title>
        <link><![CDATA[http://hi.baidu.com/rongjch/blog/item/52d0ed80018b09df9023d90e.html]]></link>
        <description><![CDATA[
		
		<p>新blog地址,用了个旧域名</p>
<p>http://<a href="http://www.vpnall.com/">www.vpnall.com</a></p> 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/rongjch/blog/category/%C4%AC%C8%CF%B7%D6%C0%E0">默认分类</a>&nbsp;<a href="http://hi.baidu.com/rongjch/blog/item/52d0ed80018b09df9023d90e.html#comment">查看评论</a>]]></description>
        <pubDate>2009-03-01  22:45</pubDate>
        <category><![CDATA[默认分类]]></category>
        <author><![CDATA[rongjch]]></author>
		<guid>http://hi.baidu.com/rongjch/blog/item/52d0ed80018b09df9023d90e.html</guid>
</item>

<item>
        <title><![CDATA[浅谈对.htaccess的一些说明]]></title>
        <link><![CDATA[http://hi.baidu.com/rongjch/blog/item/05bfb7efe17552e8cf1b3e0e.html]]></link>
        <description><![CDATA[
		
		<p><a href="http://space.im286.com/index.php/action-viewthread-tid-1816434">http://space.im286.com/index.php/action-viewthread-tid-1816434</a></p>
<div >在网上关于对.htaccess文件如何使用的文章比较的多，但却没有说明其中的一些命令或语法所表达的意思。这使得很多新手往往比较困惑，不得其解，有些二丈摸不着头脑。本文就从这方面来简单的说说，希望能作为对其的一个补充，更希望能基此落伍，呵呵!!<br>
  &nbsp;&nbsp;   不知道大家平时有没有看一些经济类的文章，如果有的话，应该晓得当前有两个非常重要的理论或思潮：一是新自由主义，强调&ldquo;看不见的手&rdquo;，二是凯恩斯的继承者（新凯恩斯）主义，强调政府的干预。对于第一次接触到.htaccess文件的朋友，可能不太懂这是做什么用的，这儿我们大家加深一下印象，这是个&ldquo;凯恩斯式&rdquo;的文件，是专门控制和干预的。<br>
  &nbsp;&nbsp;   .htaccess主要是基于Apache服务器，是其的一个重要组成部份，所以要想了解它，首先得看Apache的说明文档。一般你装完Apache，就可以看见了。这网上都有翻译，略过不提。通常要想使.htaccess文件起作用，就要安装Apache的一些对应的模块（一般不要你装，下载下来就有了），并且在配置文件中（通常是httpd.conf），在相应的&lt;Directory /&gt;和&lt;/Directory&gt;之间让AllowOverride命令不为None就成了。如果你要在特别的目录下让它不生效，就要加None，这时服务器就不会读.htaccess这个文件，使得它没用。这里的AllowOverride按中文就是&ldquo;允许访问&ldquo;的意思。具体如下面几个例子：
<p style="font-weight: bold; margin: 1em 1em 0px">CODE:</p>
<code style="border-right: #ccc 1px solid; padding-right: 0.5em; border-top: #ccc 1px solid; display: block; padding-left: 0.5em; padding-bottom: 0.5em; margin: 0px 1em 1em; font: 12px/1.8em Courier, monospace; border-left: #ccc 1px solid; padding-top: 0.5em; border-bottom: #ccc 1px solid">&lt;Directory /&gt;<br>
    Options None<br>
    AllowOverride None<br>
&lt;/Directory&gt;<br>
<br>
&lt;Directory /&gt;<br>
    Options FollowSymLinks<br>
    AllowOverride None<br>
    Order deny,allow<br>
    Allow from all<br>
&nbsp;&nbsp; #Deny from all<br>
    Satisfy all<br>
&lt;/Directory&gt;<br>
<br>
&lt;Directory &quot;/usr/local/www/icons&quot;&gt;<br>
  &nbsp;&nbsp;  &nbsp;&nbsp;&nbsp; Options Indexes MultiViews<br>
  &nbsp;&nbsp;  &nbsp;&nbsp;&nbsp; AllowOverride None<br>
  &nbsp;&nbsp;  &nbsp;&nbsp;&nbsp; Order allow,deny<br>
  &nbsp;&nbsp;  &nbsp;&nbsp;&nbsp; Allow from all<br>
    &lt;/Directory&gt;<br>
<br>
&lt;Directory /home/im286/abc/cgi-bin&gt;<br>
  &nbsp;&nbsp;  &nbsp;&nbsp;   SetHandler cgi-script<br>
  &nbsp;&nbsp;  &nbsp;&nbsp;   Options ExecCGI<br>
  &nbsp;&nbsp;  &nbsp;&nbsp;   Order allow,deny<br>
  &nbsp;&nbsp;  &nbsp;&nbsp;   Allow from all<br>
  &nbsp;&nbsp;  &nbsp;&nbsp;   Require valid-user<br>
  &nbsp;&nbsp;  &nbsp;&nbsp;   Authname im286<br>
  &nbsp;&nbsp;  &nbsp;&nbsp;   Authtype Basic<br>
        AuthPAM_FallThrough Off<br>
&lt;/Directory&gt;<br>
<br>
&lt;Directory /&gt;<br>
    Options All -Indexes FollowSymLinks MultiViews ExecCGI Includes<br>
    AllowOverride All<br>
&lt;/Directory&gt;<br>
<br>
&lt;Directory &quot;/usr/local/www/im286&quot;&gt;<br>
    Options Indexes FollowSymLinks MultiViews ExecCGI Includes<br>
    AllowOverride All<br>
    Order allow,deny<br>
    Allow from all<br>
&lt;/Directory&gt;</code>其中有None的都不会生效，有ALL或没写的都会生效。顺便说一下，在配置文件中搜索.htaccess，上面都还有一些注释。<br>
在生效后，.htaccess最主要的用处有三个，也是最常用到的。<br>
  &nbsp;&nbsp;   <font color="#ff0000">第一，限制特定用户和特定的ip进行访问</font><br>
  &nbsp;&nbsp;   限定用户要密码才能访问，在网上主要有两种方式，一种就是由.htaccess文件这样控制的弹出窗口（popup）模式，包话php的那种弹出方式。二是基于表单（form）发送的方式，比如进落伍这样的论坛，进邮箱看信等。其实它们都是遵循http协议的（具体可看RFC2068，RFC2616），再下面是TCP/IP，然后是链路层这样的，可看ISO层次。<br>
  &nbsp;&nbsp;   下面是例子和说明：
<p style="font-weight: bold; margin: 1em 1em 0px">CODE:</p>
<code style="border-right: #ccc 1px solid; padding-right: 0.5em; border-top: #ccc 1px solid; display: block; padding-left: 0.5em; padding-bottom: 0.5em; margin: 0px 1em 1em; font: 12px/1.8em Courier, monospace; border-left: #ccc 1px solid; padding-top: 0.5em; border-bottom: #ccc 1px solid">AuthUserFile /var/www/im286/VIP/.htpasswd<br>
AuthGroupFile /dev/null<br>
#AuthGroupFile /var/www/im286/VIP/.groups<br>
AuthName im286<br>
AuthType Basic<br>
<br>
&lt;Limit GET POST&gt;<br>
require valid-user<br>
#require group 0 1 2<br>
&lt;/Limit&gt;</code>其中的AuthUserFile指定一个包含用户和密码的（可由htpasswd命令或其它脚本生成，格式一般如im286:S3pzYTKk/orpU这样的）文本文件，这儿是.htpasswd，前面加一点表示隐藏。AuthGroupFile指定一个用戶组的文本文件，/dev/null表示没有。AuthName是指显示在弹出窗中的名称，AuthType是认证类型，一般不变。Limit限制了只能是GET和POST，require valid-user，说明只有在这个.htpasswd文件中的用户才是有效的。<br>
  &nbsp;&nbsp;   特定ip访问比较好理解，如下例：
<p style="font-weight: bold; margin: 1em 1em 0px">CODE:</p>
<code style="border-right: #ccc 1px solid; padding-right: 0.5em; border-top: #ccc 1px solid; display: block; padding-left: 0.5em; padding-bottom: 0.5em; margin: 0px 1em 1em; font: 12px/1.8em Courier, monospace; border-left: #ccc 1px solid; padding-top: 0.5em; border-bottom: #ccc 1px solid">&lt;Limit GET POST&gt;<br>
order deny,allow<br>
deny from all<br>
allow from 192.168.0.8<br>
allow from 218.218.218.1<br>
allow from 110.10.10.0/25 （表示一个网段）<br>
allow from 12.34.5. （整个C类地址）<br>
require valid-user<br>
&lt;/Limit&gt;</code>这个就不细说了。<br>
  &nbsp;&nbsp;   <font color="#ff0000">第二，可以重定向URL</font><br>
  &nbsp;&nbsp;   要重定向URL，就要使Apache装有能重定向的模块mod_rewrite（URL Rewriting Engine），为了让这个模块引擎起作用，就得令RewriteEngine on，就是让RewriteEngine这个命令参数启动起来。其它的以Rewrite开头的参数很多，就不一一说了，下面举两个例子：
<p style="font-weight: bold; margin: 1em 1em 0px">CODE:</p>
<code style="border-right: #ccc 1px solid; padding-right: 0.5em; border-top: #ccc 1px solid; display: block; padding-left: 0.5em; padding-bottom: 0.5em; margin: 0px 1em 1em; font: 12px/1.8em Courier, monospace; border-left: #ccc 1px solid; padding-top: 0.5em; border-bottom: #ccc 1px solid">RewriteEngine ON <br>
RewriteCond %{HTTP_HOST} ^abc.com$&nbsp;&nbsp; [OR] <br>
RewriteCond %{REQUEST_URI} ^/$ <br>
RewriteRule ^(.*)$ http://www.999.com/ [R=301,L]<br>
<br>
RewriteEngine on<br>
RewriteCond %{ HTTP_HOST } ^888.com<br>
RewriteRule ^(.*)$ http://888.com/hot$1 [R=301,L]<br>
RewriteCond %{ HTTP_HOST } ^www.888.com<br>
RewriteRule ^(.*)$ http://www.888.com/hot$1 [R=301,L]</code>这儿运用了正则表达式（具体大家到网上看一下就知道了）对条件进行匹配，最重要的就是两个命令RewriteCond和RewriteRule。<br>
  &nbsp;&nbsp;   RewriteCond的语法如下：<br>
  &nbsp;&nbsp;   RewriteCond&nbsp;&nbsp; TestString&nbsp;&nbsp; CondPattern&nbsp;&nbsp; [Flags]<br>
  &nbsp;&nbsp;   其中的TestString是指一个文本格式的条件，例子中用的是环境变量名HTTP_HOST所包含的内容（Name= Value），这是一个map（键值对）格式的数据类型。<br>
  &nbsp;&nbsp;   CondPattern是条件参数，这儿以第一个例子为例，就是abc.com。<br>
  &nbsp;&nbsp;   Flags标识是是第三个参数，可以用来紧跟下一个条件，这儿用OR表示或者，如果没有[Flags]，则用隐含的AND，表示并且。其它的还可以NC等等，表示忽略大小写。<br>
  &nbsp;&nbsp;   RewriteRule的语法如下：<br>
  &nbsp;&nbsp;   RewriteRule&nbsp;&nbsp; Pattern&nbsp;&nbsp; Substitution [Flags]<br>
  &nbsp;&nbsp;   其中的Pattern就是参数，一般为一些文件的扩展名，Substitution是用来替换前面用的，这儿的Flags，常用的R表示redirect（强制重定向），F表示forbidden（禁止访问），L表示last（最后），通常当你希望停止重写操作而立即重定向时，可用它。其它的还有很多，具体大家可看Apache文档下的模块(mod)下的mod_rewrite.html文件。<br>
  &nbsp;&nbsp;   下面简单说说例子的含义：<br>
  &nbsp;&nbsp;   第一个例子的意思就是如果客户请求（在浏览器上键入）abc.com，那么与第二个参数abc.com匹配的话，就会转向到www.999.com这个网站去。<br>
  &nbsp;&nbsp;   第二个例子类同，就不多说了。其上的301是http响应代码，具体意思可参考前面提到的RFC文档，你也可以直接在网上搜一下就可以得到了。<br>
  &nbsp;&nbsp;   <font color="#ff0000">第三，防止盗链</font><br>
  &nbsp;&nbsp;   基本和前面一样，就举两个例子吧，如下：
<p style="font-weight: bold; margin: 1em 1em 0px">CODE:</p>
<code style="border-right: #ccc 1px solid; padding-right: 0.5em; border-top: #ccc 1px solid; display: block; padding-left: 0.5em; padding-bottom: 0.5em; margin: 0px 1em 1em; font: 12px/1.8em Courier, monospace; border-left: #ccc 1px solid; padding-top: 0.5em; border-bottom: #ccc 1px solid">RewriteEngine on <br>
RewriteCond %{HTTP_REFERER} !^http://im286.com/.*$ [NC] <br>
RewriteCond %{HTTP_REFERER} !^http://im286.com$ [NC] <br>
RewriteCond %{HTTP_REFERER} !^http://www.im286.com/.*$ [NC] <br>
RewriteCond %{HTTP_REFERER} !^http://www.im286.com$ [NC] <br>
RewriteRule .*\.(jpg|gif|png|bmp|rar|zip|exe)$ /images/error.gif [R,NC]<br>
或最后一条改为<br>
RewriteRule .*\.(jpg|gif|png|bmp|rar|zip|exe)$ /images/error.gif [L,NC]<br>
<br>
<br>
Options FollowSymLinks ExecCGI<br>
RewriteEngine On<br>
RewriteCond %{HTTP_REFERER} !^http://www.888.com/hot/ [NC]<br>
RewriteCond %{HTTP_REFERER} !^http://www.999.com/hot/ [NC]<br>
RewriteCond %{HTTP_REFERER} !^http://www.666.com/cool/ [NC]<br>
RewriteCond %{HTTP_REFERER} !^http://www.555.com/lost/ [NC]<br>
RewriteRule /* http://www.im286.com [R,L]<br>
satisfy all</code>具体意思就不多说了。<br>
  &nbsp;&nbsp;   其它的如防止spamer（广告）和bot（搜索机器人），去广告等等，网上都有了，就不说了。对于我们新手来说，支持.htaccess的免费空间不多，如果有的话，如果主机商不是太过分的话，一般都尽量支持它的广告，若是它是很过分的话，比如放了一个恶意插件或广告面占屏幕很大，就要动用一些技巧来屏蔽了。<br>
  &nbsp;&nbsp;   不知不觉写了好多，想起如果有人看，肯定很累，就此住手。呵呵，真希望能够落伍啊！！</div> <a href="http://hi.baidu.com/rongjch/blog/item/05bfb7efe17552e8cf1b3e0e.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/rongjch/blog/category/Amp">Amp</a>&nbsp;<a href="http://hi.baidu.com/rongjch/blog/item/05bfb7efe17552e8cf1b3e0e.html#comment">查看评论</a>]]></description>
        <pubDate>2009-02-22  23:27</pubDate>
        <category><![CDATA[Amp]]></category>
        <author><![CDATA[rongjch]]></author>
		<guid>http://hi.baidu.com/rongjch/blog/item/05bfb7efe17552e8cf1b3e0e.html</guid>
</item>

<item>
        <title><![CDATA[Centos + XAMPP 下编译ssh2.so]]></title>
        <link><![CDATA[http://hi.baidu.com/rongjch/blog/item/0bfe122aa917e23f5243c166.html]]></link>
        <description><![CDATA[
		
		<p>这个东西郁闷了两天才总算搞掂.网上看过很多文档,但都不行.最后发现居然是他本身的bug</p>
<p>1.准备,安装一些必要的东西.</p>
<p><strong>yum install -y autoconf libssh2 libssh2-devel libcurl</strong></p>
<p>有些yum没有libssh2就需要自己下载编译</p>
<p>wget <a href="http://surfnet.dl.sourceforge.net/sourceforge/libssh2/libssh2-0.14.tar.gz">http://surfnet.dl.sourceforge.net/sourceforge/libssh2/libssh2-0.14.tar.gz</a><br>
tar -zxvf libssh2-0.14.tar.gz<br>
cd libssh2-0.14/<br>
./configure<br>
make all install</p>
<p>2.下载ssh2-0.11.0 现在最新版本是0.11.0<br>
<br>
<strong>cd /tmp<br>
wget </strong><a href="http://pecl.php.net/get/ssh2-0.11.0.tgz"><strong>http://pecl.php.net/get/ssh2-0.11.0.tgz</strong></a><br>
<strong>tar -zxvf ssh2-0.11.0.tgz<br>
cd ssh2-0.11.0<br>
/opt/lampp/bin/phpize &amp;&amp; ./configure --with-ssh2 --with-php-config=/opt/lampp/bin/php-config &amp;&amp; make</strong></p>
<p>这样编译,结果出现如下错误</p>
<p><em>gcc -I. -I/opt/lampp/ssh2-0.11.0 -DPHP_ATOM_INC -I/opt/lampp/ssh2-0.11.0/include -I/opt/lampp/ssh2-0.11.0/main -I/opt/lampp/ssh2-0.11.0 -I/opt/lampp/include/<br>
php -I/opt/lampp/include/php/main -I/opt/lampp/include/php/TSRM -I/opt/lampp/include/php/Zend -I/opt/lampp/include/php/ext -I/opt/lampp/include/php/ext/date/lib -I/opt/lampp/include/php -DHAVE_CONFIG_H -g -O2 -c /opt/lampp/ssh2-0.11.0/ssh2_fopen_wrappers.c -fPIC -DPIC -o .libs/ssh2_fopen_wrappers.o<br>
/opt/lampp/ssh2-0.11.0/ssh2_fopen_wrappers.c: In function `php_ssh2_channel_stream_read':<br>
/opt/lampp/ssh2-0.11.0/ssh2_fopen_wrappers.c:49: error: `LIBSSH2_ERROR_EAGAIN' undeclared (first use in this function)<br>
/opt/lampp/ssh2-0.11.0/ssh2_fopen_wrappers.c:49: error: (Each undeclared identifier is reported only once<br>
/opt/lampp/ssh2-0.11.0/ssh2_fopen_wrappers.c:49: error: for each function it appears in.)<br>
make: *** [ssh2_fopen_wrappers.lo] Error 1</em></p>
<p>弄了好久,才在官方论坛上看到,说是他本身的bug,狂汗.</p>
<p>3.修复bug,很简单,只需要下载cvs上面最新的版本.</p>
<p>rm -rf ssh2_fopen_wrappers.c<br>
wget <a href="http://cvs.php.net/viewvc.cgi/pecl/ssh2/ssh2_fopen_wrappers.c?revision=1.16&amp;view=co">http://cvs.php.net/viewvc.cgi/pecl/ssh2/ssh2_fopen_wrappers.c?revision=1.16&amp;view=co</a> -o ssh2_fopen_wrappers.c</p>
<p>再编译</p>
<p><strong>/opt/lampp/bin/phpize &amp;&amp; ./configure --with-ssh2 --with-php-config=/opt/lampp/bin/php-config &amp;&amp; make<br>
</strong>这次可以了</p>
<p>4.把编译好的ssh2.so放到相应目录</p>
<p>本来以为这样<br>
cp modules/ssh2.so /opt/lampp/modules</p>
<p>但这个xampp版本可能改了modules的目录,这样才可以<br>
<strong>cp modules/ssh2.so /opt/lampp/lib/php/extensions/no-debug-non-zts-20060613/<br>
</strong></p>
<p>5.更改php.ini,重启</p>
<p><strong>vi /opt/lampp/etc/php.ini<br>
</strong>添加<br>
extension=&quot;ssh2.so&quot;</p>
<p><strong>/opt/lampp/lampp restart</strong></p>
<p>一切搞掂by LAVA 2009.2.20</p> <a href="http://hi.baidu.com/rongjch/blog/item/0bfe122aa917e23f5243c166.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/rongjch/blog/category/Php">Php</a>&nbsp;<a href="http://hi.baidu.com/rongjch/blog/item/0bfe122aa917e23f5243c166.html#comment">查看评论</a>]]></description>
        <pubDate>2009-02-21  17:36</pubDate>
        <category><![CDATA[Php]]></category>
        <author><![CDATA[rongjch]]></author>
		<guid>http://hi.baidu.com/rongjch/blog/item/0bfe122aa917e23f5243c166.html</guid>
</item>

<item>
        <title><![CDATA[女乐网商品免费推广活动]]></title>
        <link><![CDATA[http://hi.baidu.com/rongjch/blog/item/68bd4427f94f6505908f9d31.html]]></link>
        <description><![CDATA[
		
		<p>女乐网推出女人街商品免费推广活动，只需要注册<a href="http://wo.newlova.com/" target="_blank">女乐窝</a>，分享你的商品，即有机会享有全站免费广告推广。推荐商品全站滚动显示，如下图：</p>
<p><a href="http://www.newlova.com/uploads/userup/0809/0611051W119.jpg" target="_blank"><img height="194" width="984" border="0" src="http://www.newlova.com/uploads/userup/0809/0611051W119.jpg" alt="女人街商品免费推广活动" style="width: 572px; height: 107px;"></a> </p>
<p>现在全站日访问量大概是3万-5万左右，以后还会增加其他网站进行推广。具体数据可以参考阿里妈妈女乐网顶部广告：<a href="http://www.alimama.com/membersvc/zone/1785795.htm">http://www.alimama.com/membersvc/zone/1785795.htm</a></p>
<p>还等什么？赶快跟我来看看</p>
<p>一、注册</p>
<p>当然首先需要在女乐窝注册一个帐号。由于现在是测试阶段，暂时不开放注册，需要联系客服获取邀请码。</p>
<p>淘宝旺旺：<a href="http://amos1.taobao.com/msg.ww?v=2&amp;uid=rominby&amp;s=1" target="_blank"><img src="http://www.newlova.com/uploads/allimg/080906/1139251.gif" target="_blank" alt="女人街商品免费推广活动"></a></p>
<p>在线QQ： <a href="tencent://message/?uin=179963603&amp;Site=%E6%98%8E%E9%80%B8%E7%BD%91%E7%BB%9C%E5%AE%A2%E6%9C%8D&amp;Menu=yes" target="blank"><img border="0" src="http://wpa.qq.com/pa?p=1:179963603:6" alt="女人街商品免费推广活动"></a> <a href="tencent://message/?uin=10884728&amp;Site=%E6%98%8E%E9%80%B8%E7%BD%91%E7%BB%9C%E5%AE%A2%E6%9C%8D&amp;Menu=yes" target="blank"><img border="0" src="http://wpa.qq.com/pa?p=1:10884728:6" alt="女人街商品免费推广活动"></a></p>
<p>获得邀请链接之后，在浏览器打开，然后输入相应的内容，一分钟不到就注册成功了。</p>
<p>二、登录</p>
<p>注册成功之后会跳到登录界面，直接输入刚才注册的用户名和密码就能登录。以后可以在女乐网任意页面顶部的登录窗口登录。</p>
<p>三、积分</p>
<p>每发布一个商品需要10个积分。所以先看看怎样赚取积分：</p>
<p>1、参加&ldquo;<a href="http://wo.newlova.com/cp.php?ac=task" target="_blank">有奖活动</a>&rdquo;，完成任务可以轻易获得一定的积分，例如设置头像，填写个人资料，验证邮箱……</p>
<p>2、女乐窝里面常规的操作也能获得积分，不过如果回返相应规定也会扣除，详细积分可以看&ldquo;设置&rdquo;--&gt;&ldquo;<a href="http://wo.newlova.com/cp.php?ac=credit" target="_blank">我的积分</a>&rdquo;</p>
<p><img height="571" width="553" border="0" src="http://www.newlova.com/uploads/userup/0809/06112T34639.jpg" alt="女人街商品免费推广活动"> </p>
<p>3、每邀请成功一个好友，就可获得 10 个奖励积分。</p>
<p>四、分享商品</p>
<p>1、打开 &ldquo;开始&rdquo; -&gt;&ldquo;<a href=" :void(0);/*1220671909328*/">分享商品</a>&rdquo;</p>
<p><img src="http://www.newlova.com/uploads/allimg/080906/1139252.jpg" alt="女人街商品免费推广活动"><br>
<br>
2、点击菜单的&ldquo;分享商品&rdquo;，发表新商品、管理已发布的商品<br>
<br>
<img src="http://www.newlova.com/uploads/allimg/080906/1139253.jpg" alt="女人街商品免费推广活动"><br>
<br>
3、输入产品标题、隶属栏目、图片、简介、标签、产品价格、产品规格、产品品牌、详细介绍和网购地址等分享你喜欢的商品！<br>
<br>
<img src="http://www.newlova.com/uploads/allimg/080906/1139254.jpg" alt="女人街商品免费推广活动"></p>
<p>4、发布成功之后，需要等待管理员审核，一般没有问题会一个工作日之内审核。审核之后就不能对商品进行修改。还有无论审核成功与否都会扣除10个积分，所以要认真填写，商品资料。<br>
审核成功之后，女乐窝发送一个事件，如图</p>
<p><a href="http://www.newlova.com/uploads/userup/0809/06113Gb121.jpg" target="_blank"><img height="225" width="533" border="0" src="http://www.newlova.com/uploads/userup/0809/06113Gb121.jpg" alt="女人街商品免费推广活动"></a> </p>
<p>呵呵，你的好友和其他网友都能看到。同时在女乐网的<a href="http://www.newlova.com/taobao.php" target="_blank">女人街</a>上显示。女人街默认是根据商品信息和网友关注综合排名的。</p>
<p>如果你的分享的商品符合以下要求，才会获得<strong>推荐</strong>，推荐商品会获得更好的排名以及全站滚动显示。</p>
<p>1、商品必须是健康的，合法销售的，符合国家规定的。<br>
2、商品资料必须完整，图片清晰精美，600×600像素以内。<br>
3、商品链接可用，链接目标网站必须健康，无恶意代码<br>
4、商品信息符合实际，不含误导信息。<br>
5、需要是女性相关商品</p>
<p> 女乐窝其他问题可以查看<a href="http://wo.newlova.com/help.php?ac=taobao" target="_blank">帮助</a>，或联系客服。</p> <a href="http://hi.baidu.com/rongjch/blog/item/68bd4427f94f6505908f9d31.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/rongjch/blog/category/%C4%AC%C8%CF%B7%D6%C0%E0">默认分类</a>&nbsp;<a href="http://hi.baidu.com/rongjch/blog/item/68bd4427f94f6505908f9d31.html#comment">查看评论</a>]]></description>
        <pubDate>2008-09-09  09:28</pubDate>
        <category><![CDATA[默认分类]]></category>
        <author><![CDATA[rongjch]]></author>
		<guid>http://hi.baidu.com/rongjch/blog/item/68bd4427f94f6505908f9d31.html</guid>
</item>

<item>
        <title><![CDATA[转移技术收集]]></title>
        <link><![CDATA[http://hi.baidu.com/rongjch/blog/item/33f6ebbf19c8b60c19d81f9a.html]]></link>
        <description><![CDATA[
		
		放回自己的地方.用了一年多的百度空间.积累了不少文章.<br>
慢慢把有用的重新整理放去.<br>
http://docs.mingease.com/<br>
<br>
另外订阅了一批博客来提高自己水平,呵呵.<br>
一天新增的文章就一百多..平时逛街,得闲的时候用手机又可以看.Google reader真方便..<br>
把有用的文章分享一下<br>
http://www.google.com/reader/shared/01933703856503752426<br>
欢迎订阅 
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/rongjch/blog/category/%C4%AC%C8%CF%B7%D6%C0%E0">默认分类</a>&nbsp;<a href="http://hi.baidu.com/rongjch/blog/item/33f6ebbf19c8b60c19d81f9a.html#comment">查看评论</a>]]></description>
        <pubDate>2008-08-04  16:10</pubDate>
        <category><![CDATA[默认分类]]></category>
        <author><![CDATA[rongjch]]></author>
		<guid>http://hi.baidu.com/rongjch/blog/item/33f6ebbf19c8b60c19d81f9a.html</guid>
</item>

<item>
        <title><![CDATA[ROUTER OS DNS缓存加速功能实现]]></title>
        <link><![CDATA[http://hi.baidu.com/rongjch/blog/item/e87f45d9f308712a10df9bf4.html]]></link>
        <description><![CDATA[
		
		<div><font size="2">winbox环境下：<br>
<br>
ip-&gt;DNS-&gt;Static-&gt;Settings-&gt;弹出框内，添上你ISP服务提供商给你的DNS地址，记住，一定要勾选上&quot;Allow  Remote  Requests&quot;<br>
<br>
然后把客户机的DNS地址都设置为RO代理服务器内网的地址，比如我的是192.168.0.1,那就填这个地址。<br>
<br>
<br>
<br>
完善只后的功能<br>
客户端不用改DNS地址,只要随便填写个DNS就可以享受DNS缓存;无论是啥,只要不是内网的IP就可以还有127.0.0.1这个也不行,呵呵原因自己想去<br>
这样就不需要更改客户端的DNS,否则一个机器一个机器改DNS很麻烦的<br>
<br>
方法如下<br>
add  chain=dstnat src-address=内网网段 protocol=udp dst-port=53 action=dst-nat  to-addresses=代理服务器IP \<br>
  to-ports=53 comment=&quot;&quot; disabled=no</font></div> <a href="http://hi.baidu.com/rongjch/blog/item/e87f45d9f308712a10df9bf4.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/rongjch/blog/category/Routeros">Routeros</a>&nbsp;<a href="http://hi.baidu.com/rongjch/blog/item/e87f45d9f308712a10df9bf4.html#comment">查看评论</a>]]></description>
        <pubDate>2008-07-29  23:17</pubDate>
        <category><![CDATA[Routeros]]></category>
        <author><![CDATA[rongjch]]></author>
		<guid>http://hi.baidu.com/rongjch/blog/item/e87f45d9f308712a10df9bf4.html</guid>
</item>

<item>
        <title><![CDATA[RouterOS技术集粹]]></title>
        <link><![CDATA[http://hi.baidu.com/rongjch/blog/item/d154a58b2aca8ed5fc1f10ed.html]]></link>
        <description><![CDATA[
		
		<p align="center"><span class="tpc_content"><span style="font-size: 12px;"><font size="3"><strong>日志：节省磁盘资源！</strong></font></span></span></p>
<span class="tpc_content"><span style="font-size: 12px;"><font size="3">
<p><br>
:foreach i in=[/system logging facility find local=memory ] do=[/system  logging facility set $i local=none]</p>
<span class="tpc_content"><span style="font-size: 12px;"><font size="3">
<p align="center"><br>
<br>
<strong>RO防syn</strong></p>
<span class="tpc_content"><span style="font-size: 12px;"><font size="3">
<p><br>
ip-firewall-connections<br>
Tracking:TCP Syn Sent  Timeout:50<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  TCP syn received timeout:30</p>
<p><span class="tpc_content"><span style="font-size: 12px;"><font size="3">限线程脚本： <br>
:for aaa  from 2 to 254 do={/ip firewall filter add chain=forward src-address=(192.168.0.  . $aaa) protocol=tcp connection-limit=50,32 action=drop}  </font></span></span></p>
<span class="tpc_content"><span style="font-size: 12px;"><font size="3">
<p align="center"><br>
<br>
<strong>RO端口的屏蔽</strong></p>
<p><br>
ip-firewall-Filer Rules里面选择<br>
forward的意思代表包的转发<br>
firewall  rule-General<br>
&nbsp;&nbsp;&nbsp;&nbsp;  Dst.Address:要屏蔽的端口<br>
&nbsp;&nbsp;&nbsp;&nbsp;   Protocol:tcp<br>
Action:drop(丢弃）</p>
</font></span></span><span class="tpc_content"><span style="font-size: 12px;"><font size="3">
<p align="center"><br>
<strong>ros限速</strong></p>
<p><span class="tpc_content"><span style="font-size: 12px;"><font size="3"><strong>手动限速</strong></font></span></span></p>
<p>winbox---queues----simple  queues<br>
<br>
点&ldquo;+&rdquo;，NAME里随便填，下面是IP地址的确定<br>
<br>
①Target Address 不管，Dst. Address里填  你要限制的内网机器的IP，比如我这里有个 1号机器 IP为 192.168.1.101，那dst.address 里就填 192.168.1.101  然后是/32（这里的32不是指掩码了，个人理解为指定的意思）！<br>
<br>
②interface里  记着要选你连接外网那个卡，我这里分了&ldquo;local和public&rdquo;，所以选public<br>
<br>
③ 其他的不管，我们来看最重要的东西拉，Max limit  ，这个东西是你限制的上限，注意的是 这里的数值是比特位，比如我要限制 下载的速度为 500K 那么就填入多少呢？ 500 X 1000 X 8=400  0000=4M。<br>
<br>
④ 另外，很多朋友都有个疑问，到底一般的用户会有多大流量呢？一般的网络游戏，如 梦幻西游 传奇 封神榜 等等，其下行在  20Kbps以内！ 最耗网络资源的就是下载-----我们就是为了限制它拉，其次是VOD点播，一般DVD格式的大约要 2M多吧，所以你看情况限制拉  别搞的太绝！！！</p>
<p><strong>限速脚本：</strong> <br>
:for aaa from 2 to 254 do={/queue simple add  name=(queue . $aaa) dst-address=(192.168.0. . $aaa) limit-at=0/0  max-limit=2000000/2000000} <font size="3">说明： <br>
aaa是变量 <br>
2 to 254是2~254  <br>
192.168.0. . $aaa是IP <br>
上两句加起来是192.168.0.2~192.168.0.254  <br>
connection-limit=50是线程数这里为50 <br>
max-limit=2000000/2000000是上行／下行 <br>
使用：  <br>
WinBox-System-Scripts-＋ <br>
Name(脚本名程) <br>
Source(脚本) <br>
OK-选择要运行的脚本-Run  Script </font></p>
<p> </p>
<p> </p>
<p> </p>
<p align="left"><span class="tpc_content"><font size="3"><strong>ROS限速的极致应用</strong></font></span></p>
<p> </p>
<p><span class="tpc_content"><font size="3">一般我们用ros限速只是使用了max-limit，其实ros限速可以更好的运用。比如我们希望客户打开网页时速度可以快一些，下载时速度可以慢一些。ros2.9就可以实现。<br>
<br>
</font></span></p>
<div align="center" forimg="1">
<div align="center" forimg="1">
<div forimg="1"><font size="3"><strong><img border="0" small="0" src="http://it.0835.com/UploadFiles/200711/20071128102831727.jpg" class="blogimg"></strong></font></div>
</div>
</div>
<p><br>
<br>
<font size="3">max-limit------我们最常用的地方，最大速度<br>
burst-limit--------突破速度的最大值<br>
burst-thershold--------突破速度的阀值<br>
burst-time-------突破速度的时间值<br>
<br>
解释一下图片的限制意义<br>
<br>
当客户机在30秒（burst-time）内的平均值小于突破速度阀值（burst-thershold）180K时，客户机的最大下载速率可以超过最大<u><font color="#ff0000">限速</font></u>值（max-limit）200K，达到突破最大值（burst-limit）400K，如果30秒内平均值大于180K，那客户机的最大速度只能达到200K。<br>
<br>
这样也就是当我们开网页时可以得到一个更大的速度400K，长时间下载时速度只能得到200K，使我们的带宽可以更有效的利用</font></p>
<p><span class="tpc_content"><span style="font-size: 12px;"><font size="3"><strong>动态限速<br>
</strong></font></span></span><span class="tpc_content"><span style="font-size: 12px;"><font size="3">ROS动态限速（检测外网总速度进行限速开关）废话不说先看脚本原理：<br>
以下操作全部在WINBOX界面里完成<br>
</font></span></span><span class="tpc_content"><span style="font-size: 12px;"><font size="3">介绍：可以实现在总速度不超过9M的情况下自动关闭所有生成的限速规则在总速度超过18M的时候自动启动所有生成的限速规则。<br>
说明：在输入脚本内容时不要把两边的（）带上，那个是为了区分非脚本字符。<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   总速度=你的外网网卡当前速度。</font></span></span></p>
<p><span class="tpc_content"><span style="font-size: 12px;"><font size="3">打开  /system/scripts<br>
</font></span></span><span class="tpc_content"><span style="font-size: 12px;"><font size="3"><strong>脚本:<br>
</strong></font></span></span><span class="tpc_content"><span style="font-size: 12px;"><font size="3">:for aaa from 1 to  254 do={/queue simple add name=(ip_ . $aaa) dst-address=(192.168.0. . $aaa)  interface=wan max-</font></span></span><span class="tpc_content"><span style="font-size: 12px;"><font size="3">limit=256000/800000  burst-limit=1000000/3000000 burst-threshold=128000/512000 burst-time=30s/1m&nbsp;&nbsp;&nbsp;&nbsp;   }</font></span></span></p>
<p><span class="tpc_content"><span style="font-size: 12px;"><font size="3">上面是生成限速树，对网段内所有IP的限速列表！</font></span></span></p>
<p><span class="tpc_content"><span style="font-size: 12px;"><font size="3">下面进入正题：<br>
</font></span></span><span class="tpc_content"><span style="font-size: 12px;"><font size="3">脚本名：node_on<br>
脚本内容：（:for aaa from 1 to 254  do={/queue sim en [find name=(ip_ . $aaa)]}）<br>
</font></span></span><span class="tpc_content"><span style="font-size: 12px;"><font size="3">脚本名：node_off<br>
脚本内容：（:for aaa from 1 to 254 do={/queue sim dis [find  name=(ip_ . $aaa)]}）</font></span></span></p>
<p><span class="tpc_content"><span style="font-size: 12px;"><font size="3">scripts（脚本部分）以完成<br>
</font></span></span><span class="tpc_content"><span style="font-size: 12px;"><font size="3">打开 /tools/traffic  monitor</font></span></span></p>
<p><span class="tpc_content"><span style="font-size: 12px;"><font size="3">新建：<br>
名：node_18M&nbsp;&nbsp;&nbsp;&nbsp;  traffic=received&nbsp;&nbsp;&nbsp;&nbsp;  trigger=above&nbsp;&nbsp;&nbsp;&nbsp;  on  event=node_on threshold:18000000<br>
新建： <br>
名：node_9M&nbsp;&nbsp;&nbsp;&nbsp;  traffic=received&nbsp;&nbsp;&nbsp;&nbsp;   trigger=below&nbsp;&nbsp;&nbsp;&nbsp;  on event=node_off&nbsp;&nbsp;&nbsp;&nbsp;   threshold:9000000<br>
</font></span></span><span class="tpc_content"><span style="font-size: 12px;"><font size="3">在输入脚本内容时不要把两边的（）带上，那个是为了区分非脚本字符。</font><br>
</span></span></p>
<span class="tpc_content"><span style="font-size: 12px;">
<p><br>
<font size="3"><strong>RO映射</strong><br>
ip-firewall-Destination  NAT<br>
General-In. Interface all(如果你是拨号的就选择pppoe的、固定IP选择all即可）<br>
&nbsp;&nbsp;&nbsp;&nbsp;  Dst.  Address:外网IP/32<br>
&nbsp;&nbsp;&nbsp;&nbsp;  Dst. Port:要映射的端口<br>
&nbsp;&nbsp;&nbsp;&nbsp;   Protocol:tcp(如果映射反恐的就用udp)<br>
Action action:nat<br>
&nbsp;&nbsp;&nbsp;&nbsp;  TO  Dst.Addresses:你的内网IP<br>
&nbsp;&nbsp;&nbsp;&nbsp;  TO Dst.Ports:要映射的端口</font></p>
<font size="3"> </font>
<p align="center"><font size="3"><br>
<br>
<strong>ip伪装</strong></font></p>
<font size="3"><font size="3"> </font></font>
<p><font size="3"><font size="3"><br>
ip-firewall-Source NAT<br>
Action  Action:masquerade(IP伪装）<br>
回流（因为假如说在本网吧做SF需要回流）<br>
ip-firewall-Source  NAT<br>
在general-Src.address： 192.168.0.0/24&nbsp;&nbsp;&nbsp;&nbsp;  这里特殊说明下&nbsp;&nbsp;&nbsp;&nbsp;  内网ip段&nbsp;&nbsp;&nbsp;&nbsp;   24代表定值不可修改<br>
</font></font></p>
<p align="center"><font size="3"><font size="3"><br>
<strong>RO的IP:mac绑定</strong></font></font></p>
<font size="3"><font size="3"> </font></font>
<p><font size="3"><font size="3"><br>
绑定:foreach i in=[/ip arp find dynamic=yes ] do=[/ip arp add copy-from=$i]  <br>
解除绑定:foreach i in=[/ip arp find ] do=[/ip arp remove  $i]<br>
完了在interfaces里面选择内网在选择reply-only<br>
<br>
</font></font></p>
<p align="center"><font size="3"><font size="3"><strong>RO设置的备份（两总方法）</strong></font></font></p>
<font size="3"><font size="3"> </font></font>
<p><font size="3"><font size="3"><br>
files-file  list<br>
backup即可（可以到你的ftp里面找）<br>
背份资料命令行：system回车<br>
backup回车<br>
save name=设置文件名  回车<br>
资料恢复命令<br>
<br>
system回车<br>
backup回车<br>
load name=文件名&nbsp;&nbsp;&nbsp;&nbsp;  回车</font></font></p>
<p align="center"><font size="3"><font size="3"><br>
<br>
<strong>RO禁ping</strong></font></font></p>
<font size="3"><font size="3"> </font></font>
<p><font size="3"><font size="3"><br>
/ ip firewall rule input&nbsp;&nbsp;&nbsp;&nbsp;  add protocol=icmp action=drop comment=&quot;Drop  excess pings&quot; disabled=no<br>
解ping<br>
ip-firewall-filter  rules<br>
input:将其屏蔽或者删掉</font></font></p>
<p align="center"><font size="3"><font size="3"><br>
<br>
<strong>关于mac地址扫描</strong>&nbsp;&nbsp;<br>
<br>
/tool mac-scan all  </font></font></p>
<p align="center"><font size="3"><font size="3"><br>
<br>
<strong>VPN与ppp建立用户</strong></font></font></p>
<font size="3"><font size="3"> </font></font>
<p><font size="3"><font size="3"><br>
在interfaces--settings-pptp server<br>
Enabled选择&nbsp;&nbsp;&nbsp;&nbsp;  mtu1500  mru：1500<br>
keepalive Timeout：disabled<br>
default Profiles：  default<br>
Authentication：&nbsp;&nbsp;&nbsp;&nbsp;  下面打上四个对号（这也代表服务器启动）<br>
ip-pool-ip  pool<br>
pptp=192.168.0.150-192.168.0.160(此IP段为内网中没有在用的段）<br>
pptp1=192.168.0.170-192.168.0.180(此IP段为内网中没有在用的段）<br>
自己总结出来的，有人问，为什么要写2个ip段一个不也行吗。。。<br>
这也是我自己的心得，我想看到这个资料的人也不是一般人。呵呵<br>
因为在vpn连接的时候我们要给他分配一个远程的主机ip做为网关。<br>
在本配一个本地的做为ip。所以选择了2个，往下看在<br>
ppp-Secrets<br>
&nbsp;&nbsp;&nbsp;&nbsp;   new ppp secret<br>
&nbsp;&nbsp;&nbsp;&nbsp;  service:pptp<br>
&nbsp;&nbsp;&nbsp;&nbsp;   routes:可以添加网关（一般VPN都是默认录找网关可添可不添）<br>
Profiles:<br>
&nbsp;&nbsp;&nbsp;&nbsp;  Local  Address:在这里我添加的是pptp<br>
&nbsp;&nbsp;&nbsp;&nbsp;  Remote  Address:在这里我添加的是pptp1<br>
dns，建议最好填写：<br>
下面有两个&nbsp;&nbsp;&nbsp;&nbsp;  use Encryption&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  Require  Encryption&nbsp;&nbsp;&nbsp;&nbsp;  代表加密<br>
Limits:<br>
Tx bit Rate<img border="0" align="absmiddle" src="http://it.0835.com/UploadFiles/200711/20071128102831254.gif">)用来限速的最大值<br>
Rx bit Rate<img border="0" align="absmiddle" src="http://it.0835.com/UploadFiles/200711/20071128102831254.gif">)用来限速的最小值<br>
<br>
这也就表明了，远程给他一个地址，本地给他一个地址，这样可以更好的来识别。<br>
最重要的，就是，基本每次都能拨上来。可能有很多人说我能拨你家电信，为啥不<br>
能拨网通，我来告诉你答案因为isp的关系。在这里我就不详细说明了。。。。<br>
拨好的时候我就不说了，如果有问题在来问我。。。</font></font></p>
<p align="center"><font size="3"><font size="3"><br>
<br>
<strong>检查磁盘</strong></font></font></p>
<font size="3"><font size="3"> </font></font>
<p><font size="3"><font size="3"><br>
在路由或终端模拟下用下面命令：<br>
system<br>
check-disk<br>
检查磁盘，要重启。 但是很慢，一分钟一G。。。哈哈</font></font></p>
<p align="center"><font size="3"><font size="3"><br>
<strong>关机</strong></font></font></p>
<font size="3"><font size="3"> </font></font>
<p><font size="3"><font size="3"><br>
可以在WINBOX中关机，也可以用命令关：<br>
system<br>
sh<br>
即可。。。自我感觉不好使<br>
<br>
<strong>如果有一些网页打不开，</strong>你ISP的MTU=1492，请在IP  &gt; Firewall &gt; Mangle &gt; 单击红加号 &gt; Protocol选择TCP &gt; Tcp Options 选择 sync  &gt; <br>
<br>
Actions选择 accept &gt;TCP MSS:1448。<br>
<br>
ip－firewall -filter fules  ，选择 ＋ 号，in interface 选择内网网卡（local），其他默认 <br>
这条路由允许来自内网的连接，如果有限制，可以修改 src address  的ip段，或者content 内容过滤 <br>
<br>
ip －》firewall －》filter chains 选中 input ，选择 drop  <br>
<strong>这条规则禁止所有的外部连接</strong> <br>
<br>
以上两条规则，屏蔽来自外网的所有连接  <br>
<br>
一些恶意网站和广告，也可以从这里屏蔽 <br>
<br>
<strong>关于解决不能上百度的问题</strong><br>
把TCP MSS  1448改成1432<br>
<br>
记录网卡MAC地址才能限制网卡上网。具体设置如下。 <br>
在防火墙里面的filter  rules项选择forward然后添加一项设定也就是&ldquo;＋&rdquo;号， <br>
在advanced项里面的src  .mac.address项里面加入网卡的MAC地址，然后在ACTION中选择DROP项。这样子添加后，那块网卡的ip地址无论咋换，都<br>
<br>
无法上网。除非它把网卡换了。我就是这样子作出来得，效果不错。  <br>
</font></font></p>
<p align="center"><font size="3"><font size="3"><br>
<strong>如果改了端口用winbox打不开了的解决方法</strong></font></font></p>
<font size="3"><font size="3"> </font></font>
<p><font size="3"><font size="3"><br>
用SSH进入<br>
<br>
/ip ser <br>
<br>
/ip ser/&gt;set www port 80<br>
<br>
/ip  ser/&gt;set ftp port 21</font></font></p>
<p align="center"><font size="3"><font size="3"><br>
<br>
<br>
<strong>解决因防火墙屏蔽来自内网的所有连接</strong></font></font></p>
<font size="3"><font size="3"> </font></font>
<p><font size="3"><font size="3"><br>
进入后输入 /ip f ru o&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  可打开OUTPUT 输入 //ip f ru in&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  可打开INPUT<br>
再、输入p  可看结果<br>
按REM O（此0为数字）可删除相应0的规则<br>
你输入/ip f set i p a  可恢复系统默认input改回accept。<br>
或者，使用system 里面的reset  复位路由（会删除所有规则）<br>
<br>
<br>
[admin@MikroTik] &gt; system reset  <strong>（系统自动复位清除设置并重新启动）</strong><br>
<br>
<br>
启用dns缓存<br>
<br>
CODE  <br>
[admin@MikroTik] ip dns&gt; set allow-remote-requests=yes  <br>
[admin@MikroTik] ip dns&gt; ..&nbsp;&nbsp;<br>
</font></font></p>
<p align="center"><font size="3"><font size="3"><br>
<br>
<strong>user 管理员只能在内网登陆</strong></font></font></p>
<font size="3"><font size="3"> </font></font>
<p><font size="3"><font size="3"><br>
set 0 address=192.168.0.0/24<br>
<br>
将规则另存为*.rsc文件，进入控制台，或者在路由器本机上，输入  import  *.rsc<br>
该规则导入完成<br>
<br>
基本也就这些了，还有自己知道的，也说不出来的，在有写东西是我自己在网络中找的。。本人都已经测试过了。<br>
<br>
<br>
</font></font></p>
<p align="left"><font size="3"><font size="3"><br>
<br>
</font></font></p>
<p align="center"><font size="3"><font size="3"><font size="3"><strong>斩断扫描ROS的黑手</strong></font></font></font></p>
<p><font size="3"><font size="3"><font size="3"><strong><font color="#990000">以下是引用片段：<br>
</font>/ip firewall  filter add chain=input protocol=tcp psd=21,3s,3,1 action=add-src-to-address-list  address-list=&quot;port scanners&quot; address-list-timeout=14d comment=&quot;Port scanners to  list &quot; disabled=no&nbsp;&nbsp;<br>
/ip firewall filter add chain=input protocol=tcp  tcp-flags=fin,!syn,!rst,!psh,!ack,!urg action=add-src-to-address-list  address-list=&quot;port scanners&quot; address-list-timeout=14d comment=&quot;NMAP FIN Stealth  scan&quot;&nbsp;&nbsp;<br>
/ip firewall filter add chain=input protocol=tcp tcp-flags=fin,syn  action=add-src-to-address-list address-list=&quot;port scanners&quot;  address-list-timeout=14d comment=&quot;SYN/FIN scan&quot;&nbsp;&nbsp;<br>
/ip firewall filter add  chain=input protocol=tcp tcp-flags=syn,rst action=add-src-to-address-list  address-list=&quot;port scanners&quot; address-list-timeout=14d comment=&quot;SYN/RST  scan&quot;&nbsp;&nbsp;<br>
/ip firewall filter add chain=input protocol=tcp  tcp-flags=fin,psh,urg,!syn,!rst,!ack action=add-src-to-address-list  address-list=&quot;port scanners&quot; address-list-timeout=14d comment=&quot;FIN/PSH/URG  scan&quot;&nbsp;&nbsp;<br>
/ip firewall filter add chain=input protocol=tcp  tcp-flags=fin,syn,rst,psh,ack,urg action=add-src-to-address-list  address-list=&quot;port scanners&quot; address-list-timeout=14d comment=&quot;ALL/ALL  scan&quot;&nbsp;&nbsp;<br>
/ip firewall filter add chain=input protocol=tcp  tcp-flags=!fin,!syn,!rst,!psh,!ack,!urg action=add-src-to-address-list  address-list=&quot;port scanners&quot; address-list-timeout=14d comment=&quot;NMAP NULL  scan&quot;&nbsp;&nbsp;<br>
/ip firewall filter add chain=input src-address-list=&quot;port scanners&quot;  action=drop comment=&quot;dropping port scanners&quot; disabled=no</strong></font></font></font></p>
<p> </p>
<p><font size="3"><font size="3">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  </font></font></p>
<p> </p>
<p><span class="bold"><font size="3"><font size="3"><font size="3">RouterOS终极提速，彻底解决ROS小包（网络游戏数据包）转发性能差的问题</font></font></font></span></p>
<div style="font-size: 14px;"><font size="3"><font size="3"><font size="3"><strong>RouterOS终极提速，彻底解决ROS小包（网络游戏数据包）转发性能差的问题<br>
以下只给有ROS基础的人看,2.9.7以上版本支持，2.9.26上调试通过<br>
ROS终端界面直接输入即可<br>
HTB  QOS 流量质量控制<br>
</strong></font><font size="3"><strong><font color="#000000">/ ip  firewall mangle <br>
add chain=forward p2p=all-p2p action=mark-connection&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   new-connection-mark=p2p_conn passthrough=yes comment=&quot;&quot; disabled=no <br>
add  chain=forward connection-mark=p2p_conn action=mark-packet&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   new-packet-mark=p2p passthrough=yes comment=&quot;&quot; disabled=no <br>
add chain=forward  connection-mark=!p2p_conn action=mark-packet&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  new-packet-mark=general  passthrough=yes comment=&quot;&quot; disabled=no <br>
add chain=forward packet-size=32-512  action=mark-packet new-packet-mark=small&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  passthrough=yes comment=&quot;&quot;  disabled=no <br>
add chain=forward packet-size=512-1200 action=mark-packet  new-packet-mark=big&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  passthrough=yes comment=&quot;&quot;  disabled=no</font><br>
</strong></font><font size="3"><strong><font color="#000000">/  queue tree <br>
add name=&quot;p2p1&quot; parent=TEL packet-mark=p2p limit-at=2000000  queue=default&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  priority=8 max-limit=6000000 burst-limit=0  burst-threshold=0 burst-time=0s&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  disabled=no <br>
add name=&quot;p2p2&quot;  parent=LAN packet-mark=p2p limit-at=2000000 queue=default&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  priority=8  max-limit=6000000 burst-limit=0 burst-threshold=0 burst-time=0s&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   disabled=no <br>
add name=&quot;ClassA&quot; parent=LAN packet-mark=&quot;&quot; limit-at=0  queue=default priority=8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  max-limit=100000000 burst-limit=0  burst-threshold=0 burst-time=0s&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  disabled=no <br>
add name=&quot;ClassB&quot;  parent=ClassA packet-mark=&quot;&quot; limit-at=0 queue=default&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  priority=8  max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  disabled=no  <br>
add name=&quot;Leaf1&quot; parent=ClassA packet-mark=general limit-at=0  queue=default&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  priority=7 max-limit=0 burst-limit=0 burst-threshold=0  burst-time=0s&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  disabled=no <br>
add name=&quot;Leaf2&quot; parent=ClassB  packet-mark=small limit-at=0 queue=default&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  priority=5 max-limit=0  burst-limit=0 burst-threshold=0 burst-time=0s&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  disabled=no <br>
add  name=&quot;Leaf3&quot; parent=ClassB packet-mark=big limit-at=0 queue=default&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   priority=6 max-limit=0 burst-limit=0 burst-threshold=0 burst-time=0s&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   disabled=no</font><br>
<font color="#000000">1-8级优先级控制，数字越小优先级越高</font><br>
</strong></font><font size="3"><strong><font color="#000000">LAN内网接口<br>
TEL 外网接口<br>
SMALL 小包 32-512字节&nbsp;&nbsp;&nbsp;&nbsp;   5级优先级<br>
BIG 大包&nbsp;&nbsp;&nbsp;&nbsp;  512-1200字节&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  6级优先级<br>
general 其它包 1200-1500字节&nbsp;&nbsp;&nbsp;&nbsp;   7级优先级<br>
P2P类&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  8级优先，全局限速 600KB/S下载<br>
Leaf  子类</font><br>
<br>
</strong></font></font></font></div>
<p><font size="3"><font size="3"><br>
<br>
我这边网吧用的是电信光纤,没有网同，所以机器只装了2个网卡.我是用光盘安装的.<br>
首先看看网卡是否都被识别出来了，命令是：<br>
/interface<br>
print<br>
可以缩写为<br>
/int<br>
pri<br>
然后我们来激活他们，命令是：<br>
ENABLE  0 <br>
ENABLE  1<br>
0是第一块网卡。<br>
激活后没有提示。用print命令查看后发现网卡前面的X变成R，就代表激活成功了。<br>
<br>
所以我把网卡给改个名字：<br>
命令：<br>
set  0 name=dianxin<br>
set 1  name=neiwang<br>
<br>
然后给他们相应的IP。<br>
先返回顶层目录，用/键就可以了。<br>
然后输入：<br>
IP<br>
ADDRESS  <br>
add address 192.168.0.1/24 interface neiwang<br>
add address  xxx.xxx.xxx.xxx/24 interface waiwang  （这里写ISP给的地址）<br>
这样就设置好了dianxin、neiwang网卡的IP和子网掩码。24代表255.255.255.0<br>
添加完后可以用print命令来查看结果。如果发现某条有错误，用&ldquo;remove  错误的编号&ldquo;既可以删除。<br>
我比较喜欢在命令行下面操作，我们来设置外网的网关<br>
[admin@MikroTik]  &gt;setup<br>
会出来选项，这里的选项就是安装的时候你所选择的组件，<br>
我们选+ a - configure ip address add  geteway<br>
然后选+ g - setup default gateway&nbsp;&nbsp;&nbsp;&nbsp;   （这里是设置外网网关<br>
然后根据自己的实际情况来，我的是218.92.5.1<br>
<br>
接下来设置DNS了，<br>
[admin@MikroTik]  &gt;ip<br>
[admin@MikroTik] &gt;ip&gt; dns<br>
[admin@MikroTik] &gt;ip&gt; dns&gt;  pri<br>
可以察看DNS列表，我们用命令来设置一下<br>
set&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  primary-dns=xxx.xxx.xxx.xxx&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   (首选DNS）<br>
set&nbsp;&nbsp;&nbsp;&nbsp;  secondary-dns=xxx.xxx.xxx.xxx&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   （备用的）<br>
<br>
可以使用winbox来控制服务器了。<br>
在IE地址栏输入:</font><a target="_blank" href="http://192.168.0.1/"><font color="#003366" size="3"><u>http://192.168.0.1</u></font></a><font size="3">（根据你配置的IP实际情况）<br>
输入你的IP，用户名、密码，既可登陆。<br>
初始用户名admin，密码空<br>
然后我们设置共享上网<br>
<br>
设置NAT共享上网ip  －－》firewall －source nat ，选择 ＋ 号，选择action，action里面选择  masquerade<br>
好了，现在就可以上网了，然后我改了管理员账号和密码，安全工作要做做好，嘿嘿。<br>
<br>
1、备份和恢复设置<br>
我比较喜欢在命令行下面做备份。命令是。<br>
system回车<br>
backup回车<br>
这里可以简化成这样<br>
sy<br>
ba<br>
<br>
[admin@MikroTik]  system backup&gt;save&nbsp;&nbsp;&nbsp;&nbsp;  备份<br>
[admin@MikroTik] system backup&gt;load&nbsp;&nbsp;&nbsp;&nbsp;  恢复  。<br>
<br>
2.如果WINBOX进不了，怎么办，我经常遇到。<br>
如果设错了规则或者地址，造成win不能进入管理界面，可以恢复默认。 <br>
使用  admin 登陆 <br>
system 回车 <br>
reset 选择 y  <br>
将删除所有改动，恢复新装的状态。<br>
<br>
还有就是用MAC登陆工具，<br>
进入后<br>
输入 /ip f ru o&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   可打开OUTPUT <br>
输入 /ip f ru in&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  可打开INPUT<br>
输入 /ip f ru f&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;   可打开forward<br>
然后看看哪里错了，用命令remove&nbsp;&nbsp;&nbsp;&nbsp;  1 （数字是错误规则的排序）</font></font></p>
</span>  </span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<p>手动设置限速<br>
winbox---queues----simple  queues<br>
点&ldquo;+&rdquo;，NAME里随便填，下面是IP地址的确定<br>
①Target Address 不管，Dst. Address里填  你要限制的内网机器的IP，比如我这里有个 1号机器 IP为 192.168.1.101，那dst.address 里就填 192.168.1.101  然后是/32（这里的32不是指掩码了，个人理解为指定的意思）！<br>
②interface里  记着要选你连接外网那个卡，我这里分了&ldquo;local和public&rdquo;，所以选public<br>
③ 其他的不管，我们来看最重要的东西拉，Max limit  ，这个东西是你限制的上限，注意的是 这里的数值是比特位，比如我要限制 下载的速度为 500K 那么就填入多少呢？ 500 X 1000 X 8=400  0000=4M。<br>
Queues-Simple Queues<br>
name:可以任意<br>
Dst. Address:内网IP/32<br>
Limit  At (tx/rx) :最小传输<br>
Max Limit (tx/rx) :最大传输</p>
<p><font face="隶书"><strong>ROS菜单含义</strong><br>
</font></p>
<div style="font-size: 12px;"><font face="隶书" size="3">guanlian<br>
interfaces---网络接口<br>
wireless---无线网络<br>
bridge---桥接<br>
ppp-虚拟拨号<br>
ip<br>
ports--端口<br>
queues-限速<br>
drivers-设备<br>
system<br>
files-文件&nbsp;&nbsp;&nbsp;&nbsp;   备份/恢复<br>
log--系统日志<br>
snmp-snmp管理方式<br>
users-用户<br>
radius-radius管理<br>
tools-工具<br>
new  terminal-命令方式<br>
telnet--tlenet连接方式<br>
password--修改密码<br>
certificate---证书  哎，盗版<br>
madk supout.rif 制作rif文件<br>
manual--说明<br>
isdn  chanels--一线通方式<br>
routing--路由<br>
exit--退出<br>
ip addr add addr=192.168.1.1/24  interface=ether1<br>
ip addr add addr=58.213.126.58/30 interface=ether2<br>
ip  route add gateway=58.213.126.57&nbsp;&nbsp;&nbsp;&nbsp;  外网<br>
ip firewall nat add chain=srcnat  src-address=192.168.1.0/24  action=masquerade<br>
222.190.124.46<br>
218。94。132。50天之骄傲<br>
ipipipiipipipipipipipipipipip<br>
sys  reset  <br>
__________________________________<br>
addresses--ip地址<br>
routers-路由表<br>
pool-地址池<br>
arp-帮定ip<br>
vrrp-热备份<br>
firewall-防火墙<br>
socks-代理<br>
upnp-自动端口映射<br>
traffic  flow-网络流量<br>
accounting--合计<br>
services--服务<br>
packing-ros模块<br>
neighbors--邻居ros用户<br>
dns--<br>
proxy-代理<br>
dhcp  client-dhcp客户端<br>
dhcp server - dhcp服务<br>
dhcp  relay-dhcp转换<br>
hospot-热点认证<br>
telephony-电话<br>
ipsec-ip隧道连接方式<br>
web proxy  web代理<br>
system system system system system  system<br>
---------------------------------------------<br>
identity---ros标示<br>
clock-时间<br>
resources-系统配置<br>
license-注册信息<br>
packages--安装包<br>
auto  upgrade-自动升级<br>
logging--日志<br>
history--历史日志<br>
console---com控制台<br>
scripts--脚本<br>
scheduler--进程<br>
watchdog--监视狗<br>
reboot-从起<br>
shutdown-关机<br>
lcd-小液晶显示ros消息<br>
ntp  chient--ros时间客户端<br>
ntp server---ros时间服务端 自动更新ros时间  <br>
health---ros情况<br>
ups-ups电源，可持续电源，就是电瓶。汗~<br>
tools tools tools tools tools  tools<br>
--------------------------------------<br>
ping <br>
macping  探测mac地址<br>
traceroute---Tracert命令<br>
bandwidth test-宽带测试<br>
btest  server--btest服务器<br>
traffic monitor--数据报监视器<br>
packet  sniffer--数据报扫描<br>
torch--察看客户机信息<br>
mac server mac 服务器<br>
graphing---曲线图<br>
ip  sacan--ip扫描<br>
ping speed--ping 速度<br>
flood ping  --ping阻塞<br>
netwatch--网络监视</font></div>
</font></span></span></font></span></span></font></span></span></font></span></span> <a href="http://hi.baidu.com/rongjch/blog/item/d154a58b2aca8ed5fc1f10ed.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/rongjch/blog/category/Routeros">Routeros</a>&nbsp;<a href="http://hi.baidu.com/rongjch/blog/item/d154a58b2aca8ed5fc1f10ed.html#comment">查看评论</a>]]></description>
        <pubDate>2008-07-29  23:07</pubDate>
        <category><![CDATA[Routeros]]></category>
        <author><![CDATA[rongjch]]></author>
		<guid>http://hi.baidu.com/rongjch/blog/item/d154a58b2aca8ed5fc1f10ed.html</guid>
</item>

<item>
        <title><![CDATA[嵌套div高度自适应]]></title>
        <link><![CDATA[http://hi.baidu.com/rongjch/blog/item/995a2dd16c99ead5572c8491.html]]></link>
        <description><![CDATA[
		
		<div class="breakword" >
<p>div嵌套的时候，外层的div的高度自适应的问题，当然这在IE下是没问题的，主要是firefox下的问题。如下图所示：</p>
<p>1、在IE和FF中的效果<br>
<img alt="IEff下图片效果" src="http://www.52web.com/file/article/1/107-0802211139475ztmCp.gif"></p>
<p>2、IE代码：</p>
<div class="dp-highlighter">
<ol start="1" class="dp-css">
    <li class="alt"><span><span>&lt;style type=</span><span class="string">&quot;text/css&quot;</span><span>&gt;&nbsp;&nbsp;</span></span></li>
    <li><span><span class="value">#box</span><span> {&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">background-color</span><span>:</span><span class="value">#0cf</span><span>;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">width</span><span>:</span><span class="value">100%</span><span>; </span><span class="keyword">border</span><span>:</span><span class="value">1px</span><span> </span><span class="value">#00f</span><span> </span><span class="important">solid</span><span>; }&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="value">#left</span><span> {&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">background-color</span><span>:</span><span class="value">#fc0</span><span>;&nbsp;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">border</span><span>:</span><span class="value">1px</span><span> </span><span class="value">#f30</span><span> </span><span class="important">solid</span><span>;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">float</span><span>:</span><span class="important">left</span><span>;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">width</span><span>: </span><span class="value">200px</span><span>;&nbsp;&nbsp;</span></span></li>
    <li><span>}&nbsp;&nbsp;</span></li>
    <li class="alt"><span><span class="value">#right</span><span> {&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">background-color</span><span>:</span><span class="value">#9c9</span><span>;&nbsp;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">border</span><span>:</span><span class="value">1px</span><span> </span><span class="value">#090</span><span> </span><span class="important">solid</span><span>;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">float</span><span>:</span><span class="important">right</span><span>;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">width</span><span>: </span><span class="value">300px</span><span>;&nbsp;&nbsp;</span></span></li>
    <li><span>}&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&lt;/style&gt;&nbsp;&nbsp;</span></li>
    <li><span>&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&lt;div id=<span class="string">&quot;box&quot;</span><span>&gt;&nbsp;&nbsp;</span></span></li>
    <li><span>&lt;div id=<span class="string">&quot;left&quot;</span><span>&gt;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="value">1111111111</span><span>&lt;br /&gt;&nbsp;&nbsp;</span></span></li>
    <li><span><span class="value">2222222222222</span><span>&lt;br /&gt;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="value">333333333333333333333</span><span>&lt;br /&gt;&nbsp;&nbsp;</span></span></li>
    <li><span><span class="value">4444444</span><span>&lt;br /&gt;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="value">555555555555</span><span>&lt;br /&gt;&nbsp;&nbsp;</span></span></li>
    <li><span><span class="value">666666666666666</span><span>&lt;br /&gt;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="value">777777777777777777</span><span>&lt;/div&gt;&nbsp;&nbsp;</span></span></li>
    <li><span>&lt;div id=<span class="string">&quot;right&quot;</span><span>&gt;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="value">1111111111</span><span>&lt;br /&gt;&nbsp;&nbsp;</span></span></li>
    <li><span><span class="value">22222222222222222222222</span><span>&lt;br /&gt;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="value">333333333333333333333</span><span>&lt;br /&gt;&nbsp;&nbsp;</span></span></li>
    <li><span><span class="value">444444444444444</span><span>&lt;br /&gt;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="value">555555555555555555555555555555</span><span>&lt;/div&gt;&nbsp;&nbsp;</span></span></li>
    <li><span>&lt;/div&gt;&nbsp;&nbsp;</span></li>
</ol>
</div>
<pre class="css" name="articlecode" style="display: none;">&lt;style type=&quot;text/css&quot;&gt; #box {  background-color:#0cf;  width:100%; border:1px #00f solid; } #left {  background-color:#fc0;   border:1px #f30 solid;  float:left;  width: 200px; } #right {  background-color:#9c9;   border:1px #090 solid;  float:right;  width: 300px; } &lt;/style&gt;  &lt;div id=&quot;box&quot;&gt; &lt;div id=&quot;left&quot;&gt; 1111111111&lt;br /&gt; 2222222222222&lt;br /&gt; 333333333333333333333&lt;br /&gt; 4444444&lt;br /&gt; 555555555555&lt;br /&gt; 666666666666666&lt;br /&gt; 777777777777777777&lt;/div&gt; &lt;div id=&quot;right&quot;&gt; 1111111111&lt;br /&gt; 22222222222222222222222&lt;br /&gt; 333333333333333333333&lt;br /&gt; 444444444444444&lt;br /&gt; 555555555555555555555555555555&lt;/div&gt; &lt;/div&gt;</pre>
<br>
其实很简单，只需给外层div加个overflow:auto;即可。<br>
<div class="dp-highlighter">
<div class="bar">
<div class="tools"><a href="http://www.52web.com/52article/?view-107.html#"><br>
</a></div>
</div>
<ol start="1" class="dp-css">
    <li class="alt"><span><span>&lt;style type=</span><span class="string">&quot;text/css&quot;</span><span>&gt;&nbsp;&nbsp;</span></span></li>
    <li><span><span class="value">#box</span><span> {&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">background-color</span><span>:</span><span class="value">#0cf</span><span>;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">width</span><span>:</span><span class="value">100%</span><span>; </span><span class="keyword">border</span><span>:</span><span class="value">1px</span><span> </span><span class="value">#00f</span><span> </span><span class="important">solid</span><span>; </span><span class="keyword">overflow</span><span>:</span><span class="important">auto</span><span>;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>}&nbsp;&nbsp;</span></li>
    <li><span><span class="value">#left</span><span> {&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">background-color</span><span>:</span><span class="value">#fc0</span><span>;&nbsp;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">border</span><span>:</span><span class="value">1px</span><span> </span><span class="value">#f30</span><span> </span><span class="important">solid</span><span>;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">float</span><span>:</span><span class="important">left</span><span>;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">width</span><span>: </span><span class="value">200px</span><span>;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>}&nbsp;&nbsp;</span></li>
    <li><span><span class="value">#right</span><span> {&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">background-color</span><span>:</span><span class="value">#9c9</span><span>;&nbsp;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">border</span><span>:</span><span class="value">1px</span><span> </span><span class="value">#090</span><span> </span><span class="important">solid</span><span>;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">float</span><span>:</span><span class="important">right</span><span>;&nbsp;&nbsp;</span></span></li>
    <li><span>&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">width</span><span>: </span><span class="value">300px</span><span>;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>}&nbsp;&nbsp;</span></li>
    <li><span>&lt;/style&gt;&nbsp;&nbsp;</span></li>
    <li class="alt"><span>&nbsp;&nbsp;</span></li>
    <li><span>&lt;div id=<span class="string">&quot;box&quot;</span><span>&gt;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&lt;div id=<span class="string">&quot;left&quot;</span><span>&gt;&nbsp;&nbsp;</span></span></li>
    <li><span><span class="value">1111111111</span><span>&lt;br /&gt;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="value">2222222222222</span><span>&lt;br /&gt;&nbsp;&nbsp;</span></span></li>
    <li><span><span class="value">333333333333333333333</span><span>&lt;br /&gt;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="value">4444444</span><span>&lt;br /&gt;&nbsp;&nbsp;</span></span></li>
    <li><span><span class="value">555555555555</span><span>&lt;br /&gt;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="value">666666666666666</span><span>&lt;br /&gt;&nbsp;&nbsp;</span></span></li>
    <li><span><span class="value">777777777777777777</span><span>&lt;/div&gt;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&lt;div id=<span class="string">&quot;right&quot;</span><span>&gt;&nbsp;&nbsp;</span></span></li>
    <li><span><span class="value">1111111111</span><span>&lt;br /&gt;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="value">22222222222222222222222</span><span>&lt;br /&gt;&nbsp;&nbsp;</span></span></li>
    <li><span><span class="value">333333333333333333333</span><span>&lt;br /&gt;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span><span class="value">444444444444444</span><span>&lt;br /&gt;&nbsp;&nbsp;</span></span></li>
    <li><span><span class="value">555555555555555555555555555555</span><span>&lt;/div&gt;&nbsp;&nbsp;</span></span></li>
    <li class="alt"><span>&lt;/div&gt;&nbsp;&nbsp;</span></li>
</ol>
</div>
<pre class="css" name="articlecode" style="display: none;">&lt;style type=&quot;text/css&quot;&gt; #box {  background-color:#0cf;  width:100%; border:1px #00f solid; overflow:auto; } #left {  background-color:#fc0;   border:1px #f30 solid;  float:left;  width: 200px; } #right {  background-color:#9c9;   border:1px #090 solid;  float:right;  width: 300px; } &lt;/style&gt;  &lt;div id=&quot;box&quot;&gt; &lt;div id=&quot;left&quot;&gt; 1111111111&lt;br /&gt; 2222222222222&lt;br /&gt; 333333333333333333333&lt;br /&gt; 4444444&lt;br /&gt; 555555555555&lt;br /&gt; 666666666666666&lt;br /&gt; 777777777777777777&lt;/div&gt; &lt;div id=&quot;right&quot;&gt; 1111111111&lt;br /&gt; 22222222222222222222222&lt;br /&gt; 333333333333333333333&lt;br /&gt; 444444444444444&lt;br /&gt; 555555555555555555555555555555&lt;/div&gt; &lt;/div&gt;</pre>



</div>
<p class="fdark">本文链接: <a class="incolor" href="http://www.52web.com/52article/?view-107.html">http://www.52web.com/52article/?view-107.html</a>  <img class="vamiddle" title="结束标记" alt="结束标记" src="http://www.52web.com/images/common/favicon.gif"></p> <a href="http://hi.baidu.com/rongjch/blog/item/995a2dd16c99ead5572c8491.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/rongjch/blog/category/div%26%2347%3Bcss">div&#47;css</a>&nbsp;<a href="http://hi.baidu.com/rongjch/blog/item/995a2dd16c99ead5572c8491.html#comment">查看评论</a>]]></description>
        <pubDate>2008-07-24  16:22</pubDate>
        <category><![CDATA[div&#47;css]]></category>
        <author><![CDATA[rongjch]]></author>
		<guid>http://hi.baidu.com/rongjch/blog/item/995a2dd16c99ead5572c8491.html</guid>
</item>

<item>
        <title><![CDATA[digg]]></title>
        <link><![CDATA[http://hi.baidu.com/rongjch/blog/item/c7b1b2ca77efb380c91768b8.html]]></link>
        <description><![CDATA[
		
		国内：<br>
<br>
<a href="http://www.diglog.com/" target="_blank">http://www.diglog.com/</a><br>
<a href="http://www.digg.com.cn/" target="_blank">http://www.digg.com.cn/</a><br>
<a href="http://news.5d.cn/" target="_blank">http://news.5d.cn/</a><br>
<a href="http://www.king51.net/" target="_blank">http://www.king51.net/</a><br>
<a href="http://www.haoei.com/" target="_blank">http://www.haoei.com/</a><br>
<a href="http://www.17tech.com/" target="_blank">http://www.17tech.com/</a><br>
<a href="http://dig.donews.com/" target="_blank">http://dig.donews.com/</a><br>
<a href="http://dig.pchome.net/" target="_blank">http://dig.pchome.net/</a><br>
<a href="http://dig.51cto.com/" target="_blank">http://dig.51cto.com/</a><br>
<br>
<a target="_blank" href="http://www.waqu.cn/">http://www.waqu.cn/</a><br>
<a target="_blank" href="http://www.digbuzz.com/">http://www.digbuzz.com/</a><br>
<a target="_blank" href="http://www.waakee.com/">http://www.waakee.com/</a><br>
<a target="_blank" href="http://www.cndigg.com/">http://www.cndigg.com/</a><br>
<a target="_blank" href="http://www.tagriver.com/">http://www.tagriver.com/</a><br>
<a target="_blank" href="http://www.banerzhuan.com/">http://www.banerzhuan.com/</a><br>
<a href="http://www.wodingg.com/" target="_blank">http://www.wodingg.com/</a><br>
<a href="http://www.itqun.com/" target="_blank">http://www.itqun.com/</a><br>
<a href="http://re.xianguo.com/" target="_blank">http://re.xianguo.com/</a><br>
<a href="http://www.shouker.com/" target="_blank">http://www.shouker.com/</a><br>
<a href="http://www.diggcms.com/" target="_blank">http://www.diggcms.com/</a><br>
<a href="http://www.feedou.com/" target="_blank">http://www.feedou.com/</a><br>
<a href="http://www.yandui.com/" target="_blank">http://www.yandui.com/</a><br>
<a href="http://www.minehot.com/" target="_blank">http://www.minehot.com/</a><br>
<a href="http://www.vottie.com/" target="_blank">http://www.vottie.com/</a><br>
<a target="_blank" href="http://ibobao.com/">http://ibobao.com/</a><br>
<a target="_blank" href="http://www.digiex.cn/">http://www.digiex.cn/</a><br>
<a target="_blank" href="http://www.mileye.com/">http://www.mileye.com/</a><br>
<a target="_blank" href="http://www.fs9x.com/">http://www.fs9x.com/</a><br>
<a target="_blank" href="http://www.daomiao.com/">http://www.daomiao.com/</a><br>
<a target="_blank" href="http://www.beigua.net/">http://www.beigua.net/</a><br>
<a target="_blank" href="http://www.houtinghua.com/">http://www.houtinghua.com/</a><br>
<a target="_blank" href="http://www.88doc.com/">http://www.88doc.com/</a><br>
<a target="_blank" href="http://www.dooba.cn/">http://www.dooba.cn/</a><br>
<a href="http://www.minethink.com/wo/" target="_blank">http://www.minethink.com/wo/</a><br>
<a href="http://www.6a8a.com/" target="_blank">http://www.6a8a.com/</a><br>
<a href="http://www.niujue.com/" target="_blank">http://www.niujue.com/</a><br>
<a href="http://www.diggcms.com/" target="_blank">http://www.diggcms.com/</a><br>
<a href="http://www.17jie.cn/" target="_blank">http://www.17jie.cn/</a><br>
<a href="http://www.oioini.cn/" target="_blank">http://www.oioini.cn/</a><br>
<a href="http://www.king51.net/" target="_blank">http://www.king51.net/</a><br>
<a href="http://www.bapo.cn/" target="_blank">http://www.bapo.cn/</a><br>
<a href="http://www.strangestone.com/" target="_blank">http://www.strangestone.com/</a><br>
<a target="_blank" href="http://www.56wiki.cn/">http://www.56wiki.cn/</a><br>
<a target="_blank" href="http://www.laikee.com/">http://www.laikee.com/</a><br>
<a target="_blank" href="http://www.diggtv.cn/">http://www.diggtv.cn/</a><br>
<a target="_blank" href="http://www.23bg.com/">http://www.23bg.com/</a><br>
<a target="_blank" href="http://www.webxoo.com/">http://www.webxoo.com/</a><br>
<a target="_blank" href="http://www.coolxoo.com/">http://www.coolxoo.com/</a><br>
<a target="_blank" href="http://www.x-lab.cn/">http://www.x-lab.cn/</a><br>
<a target="_blank" href="http://www.mimiz.com.cn/">http://www.mimiz.com.cn/</a><br>
<a target="_blank" href="http://www.soskill.com/">http://www.soskill.com/</a><br>
<a target="_blank" href="http://www.56logo.cn/">http://www.56logo.cn/</a><br>
<a target="_blank" href="http://www.mainkee.cn/">http://www.mainkee.cn/</a><br>
<a href="http://www.sharetee.com/" target="_blank">http://www.sharetee.com/</a><br>
<a href="http://www.btqiang.cn/" target="_blank">http://www.btqiang.cn/</a><br>
<a href="http://www.51-ok.cn/" target="_blank">http://www.51-ok.cn/</a><br>
<a href="http://www.w-h.net.cn/" target="_blank">http://www.w-h.net.cn/</a><br>
<a href="http://www.xiaolab.com/dig/" target="_blank">http://www.xiaolab.com/dig/</a><br>
<a href="http://www.tiaoci.com/" target="_blank">http://www.tiaoci.com/</a><br>
<a href="http://www.freekoo.com.cn/" target="_blank">http://www.freekoo.com.cn/</a><br>
<a href="http://www.55zai.cn/" target="_blank">http://www.55zai.cn/</a><br>
<a href="http://www.digvc.com/" target="_blank">http://www.digvc.com/</a><br>
<a href="http://www.chekuu.com/" target="_blank">http://www.chekuu.com/</a><br>
<a href="http://www.daooco.com/" target="_blank">http://www.daooco.com/</a><br>
http://www.cybang.cn/<br>
<br>
<a href="http://www.abxing.com/" target="_blank">http://www.abxing.com/</a><br>
<a href="http://www.52shops.cn/" target="_blank">http://www.52shops.cn/</a><br>
<a href="http://www.sitedetail.com/" target="_blank">http://www.sitedetail.com/</a><br>
<a href="http://www.kl360.cn/" target="_blank">http://www.kl360.cn/</a><br>
<br>
<a target="_blank" href="http://www.qimoo.net/">http://www.qimoo.net/</a><br>
<a target="_blank" href="http://www.ihuiyi.com/">http://www.ihuiyi.com/ </a><br>
<a target="_blank" href="http://www.9yi6.com/">http://www.9yi6.com/</a><br>
<a target="_blank" href="http://www.80party.cn/">http://www.80party.cn/</a><br>
<a target="_blank" href="http://www.ruyi86.cn/">http://www.ruyi86.cn/</a><br>
<a target="_blank" href="http://www.idafen.cn/">http://www.idafen.cn/</a><br>
<a href="http://www.howdig.com/" target="_blank">http://vpnall.com/</a><br>
<a href="http://www.baifou.com/" target="_blank">http://www.baifou.com/</a><br>
<a href="http://www.7ihu.cn/digg/" target="_blank">http://www.7ihu.cn/digg/</a><br>
<a href="http://www.laiyoo.com/" target="_blank">http://www.laiyoo.com/</a><br>
<a href="http://www.digtop.com.cn/" target="_blank">http://www.digtop.com.cn/</a><br>
<a href="http://www.deeit.com.cn/" target="_blank">http://www.deeit.com.cn/</a><br>
<a href="http://www.dig365.com/" target="_blank">http://www.dig365.com/</a><br>
<a href="http://www.youpush.net/" target="_blank">http://www.youpush.net/</a><br>
<a href="http://www.howdig.com/" target="_blank">http://www.howdig.com/</a><br>
<br>
<br>
国外：<br>
<br>
<a target="_blank" href="http://digg.com/">http://digg.com/</a><br>
<a target="_blank" href="http://www.dzone.com/">http://www.dzone.com/</a><br>
<a target="_blank" href="http://www.pobobo.com/">http://www.pobobo.com/</a><br>
<a target="_blank" href="http://quotiki.com/">http://quotiki.com/</a> <a href="http://hi.baidu.com/rongjch/blog/item/c7b1b2ca77efb380c91768b8.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/rongjch/blog/category/Seo">Seo</a>&nbsp;<a href="http://hi.baidu.com/rongjch/blog/item/c7b1b2ca77efb380c91768b8.html#comment">查看评论</a>]]></description>
        <pubDate>2008-07-23  08:29</pubDate>
        <category><![CDATA[Seo]]></category>
        <author><![CDATA[rongjch]]></author>
		<guid>http://hi.baidu.com/rongjch/blog/item/c7b1b2ca77efb380c91768b8.html</guid>
</item>

<item>
        <title><![CDATA[关于网站建设整体策划流程]]></title>
        <link><![CDATA[http://hi.baidu.com/rongjch/blog/item/14ad548d512b2914b21bba76.html]]></link>
        <description><![CDATA[
		
		<p><font size="2">一个网站的制作过程，通常需要经历5个阶段，他们依次是网站需求调查阶段、网站技术分析阶段、网站页面策划阶段、网站设计阶段和网站改进阶段。将每一个阶段按先后顺序链在一起就是一个完整的网站建站过程。</font></p>
<p><img src="http://www.ccyyw.com/upload/sheji-cehua-liucheng.jpg" ></p>
<p align="left"><font size="2"><strong>1、市场定位策划</strong></font></p>
<p align="left"><font size="2">做一个网站，第一重点就是，做这个网站，如何来钱？这些钱谁给？给多少？怎么让他们心甘情愿的给钱？这才是网站策划的第一步，也是最重要的一步。</font></p>
<p align="left"><font size="2">IT 这个市场，现在什么都有人做，什么异想天开、天马行空的网站都有，只有想不到，没有做不到&mdash;&mdash;但是有钱赚的有多少？做网站，跟开工厂其实没什么区别，都是 策划、生产、销售三大环节而已。而市场定位策划则是基础性工作了，只有对这个前提进行策划并且一目了然心中有数之后，才可以放心的大胆的去烧钱开&ldquo;IT工 厂&rdquo;。</font></p>
<p align="left"><font size="2">要做好第一步，就首先要思考，究竟要做什么类型的网站？是做商业网的话，那就要考虑，要做门户网、行业门户网、行业渠道网、电子商务网、游戏网、社区网还是其他什么网？</font></p>
<p align="left"><font size="2">都扯淡去吧，如果不是为了我们这些IT人更好的忽悠别人，其实网站根本没什么鸟东西好分的，网站就是网站，就是让网民看、用、玩的一个网络基地而已。</font></p>
<p align="left"><font size="2">所以做这个工作的首要工作就是忘记所有的所谓的&ldquo;专业的网络知识&rdquo;，而是回归回你只是一个普通人，一个网民，而这个网民上网的目的和习惯，才是最重要的。比如，游客为什么要上网？他们上网都是做什么的？他们上网有什么习惯？思考这些才是最重要的。</font></p>
<p align="left"><font size="2">迎合网民需求、引导网民习惯，就是迎合了市场需求、引导了市场需求，只要找到了市场需求的点，才可以说是对市场定位策划做到了位。</font></p>
<p align="left"><font size="2"><strong>2、赢利模式策划</strong></font></p>
<p align="left"><font size="2">知道了市场在哪里，知道了谁给钱，还不够，重要的是，我们用什么方式让他们给钱，而且还给的开心开心的。这就是对网站的赢利模式进行策划的时候了。</font></p>
<p align="left"><font size="2"><strong>3、运营模式策划</strong></font></p>
<p align="left"><font size="2">OK，解决了以上的两个基础工作后，就开是对运营模式进行思考策划了。所谓的运营的模式 ，就是你打算自己亲自去操作管理这个项目，还是请一个专业的IT人来操作管理这个项目？这是一个问题。</font></p>
<p align="left"><font size="2">运营一个网站，包含着方方面面，包括团队如何组建、网站（产品）如何开发监督、如何测试、如何推广、如何推广市场、如何拓展市场.....</font></p>
<p align="left"><font size="2"><strong>4、成本预算策划</strong></font></p>
<p align="left"><font size="2">这步是决定是否投资的关键一步，也是网站策划的最关键一个环节。说白了，就是要做这个网站，要花多少钱？这些钱都花到哪里去？这些工作 ，作为网站策划人，都要为投资人考虑得清清楚楚的。</font></p>
<p align="left"><font size="2"><strong>5、收益评估策划</strong></font></p>
<p align="left"><font size="2">到了这里了。哈哈，这块工作不好做，但是却一定要做，要不一个人连做一个网站可以有什么收益多不知道，谁会去做呀，以为别人的钱都是天上掉下来拣到的呀。</font></p>
<p align="left"><font size="2">分析市场容量、网站产品的定价策划、收费模式定位、后续服务定位等工作是必不可少的。</font></p>
<p align="left"><font size="2"><strong>6、网站系统策划</strong></font></p>
<p align="left"><font size="2">前面的都是明确做一个网站的准备工作的。那么现在到了要真正做这个网站的时候了。这就考验一个网站策划人的真正的专业水平了。整个网站不能出现功能重叠、内容混乱、系统繁琐等问题，那么就好好做好这个工作吧。</font></p>
<p align="left"><font size="2">将整个网站，象做流水线一样描述并且表达出来，这就是对网站系统策划的要求了。但是如何做好这个工作，是对一个网站策划人的逻辑性、系统性和统筹性能力的挑战了。</font></p>
<p align="left"><font size="2">这个工作做好了，技术员会大力感谢你的。因为技术可以象傻瓜一样工作了。</font></p>
<p align="left"><font size="2"><strong>7、网站数据库策划</strong></font></p>
<p align="left"><font size="2">这个工作是非常重要的，对一个网站的数据库的描绘性设计是真正数据库设计之前的定位工作。只有明确了这个工作，技术员才可以更好进行数据库构架&mdash;&mdash;如果你不想你的网站做好后一个死板样的话，想要随时增加功能或者其他什么的话，那就在这个地方多花些心思吧！</font></p>
<p align="left"><font size="2"><strong>8、网站功能策划（用户体验策划）</strong></font></p>
<p align="left"><font size="2">此项工作属于用户体验策划里的一个环节，那就是整个网站的功能构架、描述和设计，并且整个网站功能的系统性操作流程（假如你是用户，如何在网站上从这个功能用那个功能）的设计。</font></p>
<p align="left"><font size="2"><strong>9、网站内容策划（用户体验策划）</strong></font></p>
<p align="left"><font size="2">也是体验策划中的第二环节。那就是对整个网站的内容进行定位。</font></p>
<p align="left"><font size="2"><strong>10、网站页面策划</strong></font></p>
<p align="left"><font size="2">这个环节就不用说拉，如何做到让搜索引擎更多的收录和关注，如何作到让网页符合网民的习惯、如何做到让网页打开速度更快.....</font></p> <a href="http://hi.baidu.com/rongjch/blog/item/14ad548d512b2914b21bba76.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/rongjch/blog/category/%D4%CB%D3%AA">运营</a>&nbsp;<a href="http://hi.baidu.com/rongjch/blog/item/14ad548d512b2914b21bba76.html#comment">查看评论</a>]]></description>
        <pubDate>2008-07-21  19:42</pubDate>
        <category><![CDATA[运营]]></category>
        <author><![CDATA[rongjch]]></author>
		<guid>http://hi.baidu.com/rongjch/blog/item/14ad548d512b2914b21bba76.html</guid>
</item>

<item>
        <title><![CDATA[MySQL中文全文索引插件 mysqlcft 1.0.0 安装使用文档]]></title>
        <link><![CDATA[http://hi.baidu.com/rongjch/blog/item/b0c8f7160a42771d962b437e.html]]></link>
        <description><![CDATA[
		
		[文章+程序 作者：张宴 本文版本：v1.0 最后修改：2008.07.01 转载请注明原文链接：<a href="http://blog.s135.com/read.php/356.htm" target="_blank">http://blog.s135.com/read.php/356.htm</a>]<br>
<br>
　　MySQL在高并发连接、数据库记录数较多的情况下，SELECT ... WHERE ... LIKE '%...%'的全文搜索方式不仅效率差，而且以通配符%和_开头作查询时，使用不到索引，需要全表扫描，对数据库的压力也很大。MySQL针对这一问题提供了一种全文索引解决方案，这不仅仅提高了性能和效率（因为MySQL对这些字段做了索引来优化搜索），而且实现了更高质量的搜索。但是，至今为止，MySQL对中文全文索引无法正确支持。<br>
<br>
　　中文与西方文字如英文的一个重要区别在于，西方文字以单词为单位，单词与单词之间以空格分隔。而中文以字为单位，词由一个或多个字组成，词与词之间没有空格分隔。当试图在一个含有中文字符的字段中使用全文搜索时，不会得到正确的结果，原因在于中文中没有像英文空格那样对词定界，不能以空格作为分割，对中文词语进行索引。<br>
<br>
　　引用《<a href="http://dev.mysql.com/doc/refman/5.1/zh/index.html" target="_blank">MySQL 5.1参考手册</a>》中的一段话：<br>
<div class="quote">
<div class="quote-title">引用</div>
<div class="quote-content">12.7. 全文搜索功能（<a href="http://dev.mysql.com/doc/refman/5.1/zh/functions.html" target="_blank">http://dev.mysql.com/doc/refman/5.1/zh/functions.html</a>）<br>
● MySQL支持全文索引和搜索功能。MySQL中的全文索引类型FULLTEXT的索引。FULLTEXT 索引仅可用于 MyISAM 表；他们可以从CHAR、 VARCHAR或TEXT列中作为CREATE TABLE语句的一部分被创建，或是随后使用ALTER TABLE 或 CREATE INDEX被添加。对于较大的数据集，将你的资料输入一个没有FULLTEXT索引的表中，然后创建索引， 其速度比把资料输入现有FULLTEXT索引的速度更为快。<br>
<br>
● FULLTEXT分析程序会通过寻找某些分隔符来确定单词的起始位置和结束位置，例如' ' (间隔符号)、 , (逗号)以及 . (句号 )。假如单词没有被分隔符分开，(例如在中文里 ), 则 FULLTEXT 分析程序不能确定一个词的起始位置和结束位置。为了能够在这样的语言中向FULLTEXT 索引添加单词或其它编入索引的术语，你必须对它们进行预处理，使其被一些诸如&quot;之类的任意分隔符分隔开。<br>
<br>
● 诸如汉语和日语这样的表意语言没有自定界符。因此， FULLTEXT分析程序不能确定在这些或其它的这类语言中词的起始和结束的位置。</div>
</div>
<br>
<br>
　　国内已有的MySQL中文全文索引解决方案有两个：一是海量科技的<a href="http://www.hylanda.com/server/" target="_blank">MySQL5.0.37--LinuxX86-Chinese+</a>，二是hightman开发的<a href="http://www.hightman.cn/bbs/viewthread.php?tid=18&amp;extra=page%3D1" target="_blank">mysql-5.1.11-ft-hightman</a>，两者都是基于中文分词技术，对中文语句进行拆分。但是，两者都有弊端，一是不支持64位操作系统；二是对修改了MySQL源码，只支持某一MySQL版本，不便于跟进新版本；三是词库不能做到很大很全，对于专业性质较强的数据库内容（例如搜索&ldquo;颐和园路东口&rdquo;、&ldquo;清华东路西口&rdquo;等公交站点，&ldquo;莱镇香格里&rdquo;、&ldquo;碧海云天&rdquo;等楼盘名称），基于中文分词的全文索引经常搜索不出来任何内容，即使添加分词词库，也不会很全面。<br>
<br>
　　由于业务上精准全文查询的需要，我借鉴了二元交叉切分算法的思想，用自创的&ldquo;三字节交叉切分算法&rdquo;，写出了这款&ldquo;MySQL中文全文索引插件──mysqlcft 1.0.0&rdquo;。由于开发时间仓促，难免存在未发现的问题，这将后续的版本中不断完善。对于百万条记录的MySQL表进行全文检索，mysqlcft已经够用。<br>
<br>
　　Mysqlcft 网址：<a href="http://code.google.com/p/mysqlcft/" target="_blank">http://code.google.com/p/mysqlcft/</a><br>
　　Mysqlcft 作者：张宴<br>
<br>
<hr>
<br>
　　<strong>一、MySQL中文全文索引插件mysqlcft的特点：</strong><br>
　　1、优点：<br>
　　①、精准度很高：采用自创的&ldquo;三字节交叉切分算法&rdquo;，对中文语句进行分割，无中文分词词库，搜索精准度远比中文分词算法高，能达到LIKE '%...%&quot;的准确率。<br>
　　②、查询速度快：查询速度比LIKE '%...%&quot;搜索快3～50倍，文章末尾有测试结果；<br>
　　③、标准插件式：以MySQL 5.1全文索引的标准插件形式开发，不修改MySQL源代码，不影响MySQL的其他功能，可快速跟进MySQL新版本；<br>
　　④、支持版本多：支持所有的MySQL 5.1 Release Candidate版本，即MySQL 5.1.22 RC～最新的MySQL 5.1.25 RC；<br>
　　⑤、支持字符集：支持包括GBK、GB2312、UTF-8、Latin1、BIG5在内的MySQL字符集（其他字符集没有测试过）；<br>
　　⑥、系统兼容好：具有i386和x86_64两个版本，支持32位（i386）和64位（x86_64）CPU及Linux系统；<br>
　　⑦、适合分布式：非常适合MySQL Slave分布式系统架构，无词库维护成本，不存在词库同步问题。<br>
<br>
　　2、缺点：<br>
　　①、mysqlcft中文全文索引只适用于MyISAM表，因为MySQL只支持对MyISAM表建立FULLTEXT索引；<br>
　　②、MySQL不能静态编译安装，否则无法安装mysqlcft插件；<br>
　　③、基于&ldquo;三字节交叉切分算法&rdquo;的索引文件会比海量、ft-hightman等基于&ldquo;中文分词算法&rdquo;的索引文件稍大，但不是大很多。根据我的测试，mysqlcft全文索引的.MYI索引文件是.MYD数据文件的2～5倍。<br>
<br>
<hr>
<br>
　　<strong>二、mysqlcft的核心思想──&ldquo;三字节交叉切分算法&rdquo;</strong><br>
<br>
　　<a href="http://blog.s135.com/attachment/200807/mysqlcft.gif" target="_blank"><img class="insertimage" title="点击在新窗口中浏览此图片" alt="点击在新窗口中浏览此图片" src="http://blog.s135.com/attachment/200807/mysqlcft.gif" border="0"></a><br>
<br>
　　注：本文以0～7数字序号代表&ldquo;英文&rdquo;、&ldquo;数字&rdquo;和&ldquo;半个汉字&rdquo;，以便说明。<br>
　　1、按三字节对中文语句进行切分，建立全文索引：<br>
　　例如：&ldquo;全文索引&rdquo;或&ldquo;1台x光机&rdquo;四个字会被交叉分拆为6份，建立反向索引：<br>
　　012　　123　　234　　345　　456　　567<br>
<br>
　　2、按三字节对搜索的关键字进行切分，在全文索引中找出对应信息：<br>
　　例①：搜索关键字&ldquo;文索&rdquo;，用数字序号表示就是&ldquo;2～5&rdquo;，那么它将被切分成：<br>
　　234　　345<br>
　　这样，就与全文索引对上了。<br>
<br>
　　例②：搜索关键字&ldquo;x光机&rdquo;，用数字序号表示就是&ldquo;3～7&rdquo;，那么它将被切分成：<br>
　　345　　456　　567<br>
　　这样，也与全文索引对上了。<br>
<br>
　　例③：搜索关键字&ldquo;1台 光机&rdquo;，用数字序号表示就是&ldquo;0～2&rdquo;和&ldquo;4～7&rdquo;，那么它将被切分成：<br>
　　012　　456　　567<br>
　　这样，多关键字搜索也与全文索引对上了。<br>
<br>
<hr>
<br>
　　<strong>三、编译安装MySQL</strong>（如果已经装有不是静态编译安装的MySQL 5.1.22 RC～MySQL 5.1.25 RC，此步骤可省略）<br>
　　1、下载并编译安装MySQL 5.1.25 RC<br>
　　在<a href="http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.25-rc.tar.gz/from/pick" target="_blank">http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.25-rc.tar.gz/from/pick</a>（点击No thanks, just take me to the downloads!链接），选择一个镜像，下载MySQL 5.1.25 RC源码包：<br>
<div style="border-right: #00a0c6 1px dashed; padding-right: 3px; border-top: #00a0c6 1px dashed; padding-left: 3px; padding-bottom: 3px; margin: 5px 5px 0px; border-left: #00a0c6 1px dashed; padding-top: 3px; border-bottom: #00a0c6 1px dashed; background-color: #ffffff">tar zxvf mysql-5.1.25-rc.tar.gz<br>
cd mysql-5.1.25-rc/<br>
./configure --prefix=/usr/local/mysqlcft/ --without-debug --enable-assembler --with-extra-charsets=all --with-pthread --enable-thread-safe-client<br>
make &amp;&amp; make install<br>
<br>
/usr/sbin/groupadd mysql<br>
/usr/sbin/useradd -g mysql mysql<br>
chmod +w /usr/local/mysqlcft<br>
chown -R mysql:mysql /usr/local/mysqlcft</div>
<br>
<br>
　　2、创建MySQL数据文件存放目录/mysql/3306<br>
<div style="border-right: #00a0c6 1px dashed; padding-right: 3px; border-top: #00a0c6 1px dashed; padding-left: 3px; padding-bottom: 3px; margin: 5px 5px 0px; border-left: #00a0c6 1px dashed; padding-top: 3px; border-bottom: #00a0c6 1px dashed; background-color: #ffffff">mkdir -p /mysql/3306<br>
chmod +w /mysql/3306<br>
chown -R mysql:mysql /mysql/3306<br>
mkdir -p /mysql/3306/data<br>
chmod +w /mysql/3306/data<br>
chown -R mysql:mysql /mysql/3306/data<br>
chown -R mysql:mysql /mysql<br>
#cp support-files/my-medium.cnf /mysql/3306/my.cnf<br>
cd ../</div>
<br>
<br>
　　3、创建配置文件/mysql/3306/my.cnf<br>
<div style="border-right: #00a0c6 1px dashed; padding-right: 3px; border-top: #00a0c6 1px dashed; padding-left: 3px; padding-bottom: 3px; margin: 5px 5px 0px; border-left: #00a0c6 1px dashed; padding-top: 3px; border-bottom: #00a0c6 1px dashed; background-color: #ffffff">vi /mysql/3306/my.cnf</div>
<br>
　　输入以下内容（<font color="#ff0000">注意：必须设置ft_min_word_len = 1</font>）：<br>
<div class="quote">
<div class="quote-title">引用</div>
<div class="quote-content">[client]<br>
#password       = your_password<br>
port            = 3306<br>
socket          = /mysql/3306/mysql.sock<br>
default-character-set = gbk<br>
<br>
[mysqld_safe]<br>
datadir = /mysql/3306/data<br>
log-error = /mysql/3306/mysql_error.log<br>
pid-file = /mysql/3306/mysql.pid<br>
<br>
[mysqld]<br>
port            = 3306<br>
socket          = /mysql/3306/mysql.sock<br>
default-character-set = gbk<br>
#init_connect = 'SET NAMES gbk'<br>
skip-locking<br>
#skip-slave-start<br>
key_buffer = 512M<br>
max_allowed_packet = 2M<br>
table_cache = 1024<br>
sort_buffer_size = 32M<br>
read_buffer_size = 2M<br>
read_rnd_buffer_size = 32M<br>
max_length_for_sort_data = 64<br>
myisam_sort_buffer_size = 128M<br>
thread_cache = 8<br>
query_cache_size = 64M<br>
# Try number of CPU's*2 for thread_concurrency<br>
thread_concurrency = 8<br>
#skip-name-resolve<br>
set-variable = max_connections=1000<br>
open_files_limit = 51200<br>
ft_min_word_len = 1<br>
<br>
low_priority_updates = 1<br>
slave-skip-errors = 1032,1062,126<br>
server-id       = 9<br>
#master-host     =   host<br>
#master-user     =   user<br>
#master-password =   password<br>
#master-port     =  3306<br>
#replicate-do-db = db1<br>
#replicate-do-db = db2<br>
<br>
[mysqldump]<br>
quick<br>
max_allowed_packet = 16M<br>
<br>
[mysql]<br>
no-auto-rehash<br>
# Remove the next comment character if you are not familiar with SQL<br>
#safe-updates<br>
<br>
[isamchk]<br>
key_buffer = 256M<br>
sort_buffer_size = 256M<br>
read_buffer = 2M<br>
write_buffer = 2M<br>
<br>
[myisamchk]<br>
key_buffer = 256M<br>
sort_buffer_size = 256M<br>
read_buffer = 2M<br>
write_buffer = 2M<br>
<br>
[mysqlhotcopy]<br>
interactive-timeout</div>
</div>
<br>
<br>
　　附：MySQL配置文件在全文索引应用中的优化<br>
<div class="quote">
<div class="quote-title">引用</div>
<div class="quote-content">[mysqld]<br>
# key_buffer 指定用于索引的缓冲区大小，在全文索引中，增加它可得到更好的索引处理与查询性能<br>
key_buffer = 512M<br>
<br>
# sort_buffer_size 为查询排序时所能使用的缓冲区大小，全文索引的SQL语句之后通常会使用ORDER BY排序，增加它可以加快SQL语句执行时间。该参数对应的分配内存是每连接独占，100个连接使用的内存将是32M*100=3200M<br>
sort_buffer_size = 32M<br>
<br>
# 对大于可用内存的表执行GROUP BY或ORDER BY操作，应增加read_rnd_buffer_size的值以加速排序操作后面的行读取<br>
read_rnd_buffer_size = 64M<br>
<br>
# 如果表出现故障或索引出错，REPAIR TABLE时用到的缓冲区大小<br>
myisam_sort_buffer_size = 128M<br>
<br>
# 确定使用的filesort算法的索引值大小的限值<br>
max_length_for_sort_data = 64<br>
<br>
# MySQL全文索引查询所用关键词最小长度限制（不要改变这项值）<br>
ft_min_word_len = 1<br>
<br>
# 降低UPDATE优先级，设置查询优先<br>
low_priority_updates = 1</div>
</div>
<br>
<br>
　　4、以mysql用户帐号的身份建立数据表<br>
<div style="border-right: #00a0c6 1px dashed; padding-right: 3px; border-top: #00a0c6 1px dashed; padding-left: 3px; padding-bottom: 3px; margin: 5px 5px 0px; border-left: #00a0c6 1px dashed; padding-top: 3px; border-bottom: #00a0c6 1px dashed; background-color: #ffffff">/usr/local/mysqlcft/bin/mysql_install_db --defaults-file=/mysql/3306/my.cnf --basedir=/usr/local/mysqlcft --datadir=/mysql/3306/data --user=mysql --pid-file=/mysql/3306/mysql.pid --skip-locking --port=3306 --socket=/mysql/3306/mysql.sock</div>
<br>
<br>
　　5、启动MySQL<br>
<div style="border-right: #00a0c6 1px dashed; padding-right: 3px; border-top: #00a0c6 1px dashed; padding-left: 3px; padding-bottom: 3px; margin: 5px 5px 0px; border-left: #00a0c6 1px dashed; padding-top: 3px; border-bottom: #00a0c6 1px dashed; background-color: #ffffff">/bin/sh /usr/local/mysqlcft/bin/mysqld_safe --defaults-file=/mysql/3306/my.cnf &amp;</div>
<br>
<br>
　　附：停止MySQL<br>
<div style="border-right: #00a0c6 1px dashed; padding-right: 3px; border-top: #00a0c6 1px dashed; padding-left: 3px; padding-bottom: 3px; margin: 5px 5px 0px; border-left: #00a0c6 1px dashed; padding-top: 3px; border-bottom: #00a0c6 1px dashed; background-color: #ffffff">/usr/local/mysqlcft/bin/mysqladmin -u root -p -S /mysql/3306/mysql.sock shutdown</div>
<br>
<br>
<hr>
<br>
　　<strong>四、安装mysqlcft中文全文索引插件</strong><br>
　　1、从命令行登入MySQL服务器：<br>
<div style="border-right: #00a0c6 1px dashed; padding-right: 3px; border-top: #00a0c6 1px dashed; padding-left: 3px; padding-bottom: 3px; margin: 5px 5px 0px; border-left: #00a0c6 1px dashed; padding-top: 3px; border-bottom: #00a0c6 1px dashed; background-color: #ffffff">/usr/local/mysqlcft/bin/mysql -u root -p -S /mysql/3306/mysql.sock</div>
<br>
<br>
　　2、查看MySQL插件目录的默认路径的SQL语句：<br>
<div style="border-right: #00a0c6 1px dashed; padding-right: 3px; border-top: #00a0c6 1px dashed; padding-left: 3px; padding-bottom: 3px; margin: 5px 5px 0px; border-left: #00a0c6 1px dashed; padding-top: 3px; border-bottom: #00a0c6 1px dashed; background-color: #ffffff">SHOW VARIABLES LIKE 'plugin_dir';</div>
<br>
　　<a href="http://blog.s135.com/attachment/200807/mysqlcft1.png" target="_blank"><img class="insertimage" title="点击在新窗口中浏览此图片" alt="点击在新窗口中浏览此图片" src="http://blog.s135.com/attachment/200807/mysqlcft1.png" border="0"></a><br>
<br>
　　3、下载mysqlcft中文全文索引插件，解压后拷贝mysqlcft.so文件到MySQL插件目录<br>
　　①、32位Linux操作系统：<br>
<div style="border-right: #00a0c6 1px dashed; padding-right: 3px; border-top: #00a0c6 1px dashed; padding-left: 3px; padding-bottom: 3px; margin: 5px 5px 0px; border-left: #00a0c6 1px dashed; padding-top: 3px; border-bottom: #00a0c6 1px dashed; background-color: #ffffff">wget <a href="http://mysqlcft.googlecode.com/files/mysqlcft-1.0.0-i386-bin.tar.gz" target="_blank">http://mysqlcft.googlecode.com/files/mysqlcft-1.0.0-i386-bin.tar.gz</a><br>
tar zxvf mysqlcft-1.0.0-i386-bin.tar.gz<br>
mkdir -p /usr/local/mysqlcft/lib/mysql/plugin/<br>
cp mysqlcft.so /usr/local/mysqlcft/lib/mysql/plugin/</div>
<br>
<br>
　　②、64位Linux操作系统：<br>
<div style="border-right: #00a0c6 1px dashed; padding-right: 3px; border-top: #00a0c6 1px dashed; padding-left: 3px; padding-bottom: 3px; margin: 5px 5px 0px; border-left: #00a0c6 1px dashed; padding-top: 3px; border-bottom: #00a0c6 1px dashed; background-color: #ffffff">wget <a href="http://mysqlcft.googlecode.com/files/mysqlcft-1.0.0-x86_64-bin.tar.gz" target="_blank">http://mysqlcft.googlecode.com/files/mysqlcft-1.0.0-x86_64-bin.tar.gz</a><br>
tar zxvf mysqlcft-1.0.0-x86_64-bin.tar.gz<br>
mkdir -p /usr/local/mysqlcft/lib/mysql/plugin/<br>
cp mysqlcft.so /usr/local/mysqlcft/lib/mysql/plugin/</div>
<br>
<br>
　　4、安装mysqlcft.so插件<br>
　　①、从命令行登入MySQL服务器：<br>
<div style="border-right: #00a0c6 1px dashed; padding-right: 3px; border-top: #00a0c6 1px dashed; padding-left: 3px; padding-bottom: 3px; margin: 5px 5px 0px; border-left: #00a0c6 1px dashed; padding-top: 3px; border-bottom: #00a0c6 1px dashed; background-color: #ffffff">/usr/local/mysqlcft/bin/mysql -u root -p -S /mysql/3306/mysql.sock</div>
<br>
<br>
　　②、安装mysqlcft.so插件的SQL语句：<br>
<div style="border-right: #00a0c6 1px dashed; padding-right: 3px; border-top: #00a0c6 1px dashed; padding-left: 3px; padding-bottom: 3px; margin: 5px 5px 0px; border-left: #00a0c6 1px dashed; padding-top: 3px; border-bottom: #00a0c6 1px dashed; background-color: #ffffff">INSTALL PLUGIN mysqlcft SONAME 'mysqlcft.so';</div>
<br>
<br>
　　③、查看mysqlcft.so插件是否安装成功的SQL语句：<br>
<div style="border-right: #00a0c6 1px dashed; padding-right: 3px; border-top: #00a0c6 1px dashed; padding-left: 3px; padding-bottom: 3px; margin: 5px 5px 0px; border-left: #00a0c6 1px dashed; padding-top: 3px; border-bottom: #00a0c6 1px dashed; background-color: #ffffff">SELECT * FROM mysql.plugin;<br>
SHOW PLUGINS;</div>
<br>
　　<a href="http://blog.s135.com/attachment/200807/mysqlcft2.png" target="_blank"><img class="insertimage" title="点击在新窗口中浏览此图片" alt="点击在新窗口中浏览此图片" src="http://blog.s135.com/attachment/200807/mysqlcft2.png" border="0"></a><br>
<br>
　　附：如果要卸载mysqlcft.so插件，执行以下SQL语句（如果已经创建了mysqlcft索引，请先删除mysqlcft索引，再卸载mysqlcft.so插件）：<br>
<div style="border-right: #00a0c6 1px dashed; padding-right: 3px; border-top: #00a0c6 1px dashed; padding-left: 3px; padding-bottom: 3px; margin: 5px 5px 0px; border-left: #00a0c6 1px dashed; padding-top: 3px; border-bottom: #00a0c6 1px dashed; background-color: #ffffff">UNINSTALL PLUGIN mysqlcft;</div>
<br>
<br>
<hr>
<br>
　　<strong>五、为已经存在的表添加mysqlcft中文全文索引</strong><br>
　　1、创建单列全文索引SQL语句<br>
<div style="border-right: #00a0c6 1px dashed; padding-right: 3px; border-top: #00a0c6 1px dashed; padding-left: 3px; padding-bottom: 3px; margin: 5px 5px 0px; border-left: #00a0c6 1px dashed; padding-top: 3px; border-bottom: #00a0c6 1px dashed; background-color: #ffffff">ALTER IGNORE TABLE 数据库名.表名 ADD FULLTEXT INDEX 全文索引名 (字段名) <font color="#ff0000">WITH PARSER mysqlcft</font>;</div>
<br>
<br>
　　2、创建全文联合索引SQL语句<br>
<div style="border-right: #00a0c6 1px dashed; padding-right: 3px; border-top: #00a0c6 1px dashed; padding-left: 3px; padding-bottom: 3px; margin: 5px 5px 0px; border-left: #00a0c6 1px dashed; padding-top: 3px; border-bottom: #00a0c6 1px dashed; background-color: #ffffff">ALTER IGNORE TABLE 数据库名.表名 ADD FULLTEXT INDEX 全文联合索引名 (字段名1,字段名2) <font color="#ff0000">WITH PARSER mysqlcft</font>;</div>
<br>
<br>
<hr>
<br>
　　<strong>六、重建mysqlcft中文全文索引（索引损坏时需要用到）</strong><br>
<div style="border-right: #00a0c6 1px dashed; padding-right: 3px; border-top: #00a0c6 1px dashed; padding-left: 3px; padding-bottom: 3px; margin: 5px 5px 0px; border-left: #00a0c6 1px dashed; padding-top: 3px; border-bottom: #00a0c6 1px dashed; background-color: #ffffff">REPAIR TABLE 数据库名.表名 QUICK;</div>
<br>
<br>
<hr>
<br>
　　<strong>七、建表时创建mysqlcft中文全文索引＋全文搜索测试</strong><br>
　　1、以latin1字符集为例<br>
<div style="border-right: #00a0c6 1px dashed; padding-right: 3px; border-top: #00a0c6 1px dashed; padding-left: 3px; padding-bottom: 3px; margin: 5px 5px 0px; border-left: #00a0c6 1px dashed; padding-top: 3px; border-bottom: #00a0c6 1px dashed; background-color: #ffffff">CREATE DATABASE `mysqlcft_latin1` DEFAULT CHARACTER SET latin1;<br>
USE `mysqlcft_latin1`;<br>
CREATE TABLE `test` (<br>
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,<br>
`title` varchar(200) DEFAULT NULL,<br>
`body` mediumtext,<br>
PRIMARY KEY (`id`),<br>
FULLTEXT KEY `title_body` (`title`,`body`) <font color="#ff0000">WITH PARSER mysqlcft</font><br>
) ENGINE=MyISAM DEFAULT CHARSET=latin1;<br>
<br>
INSERT INTO `mysqlcft_latin1`.`test` (`id`, `title`, `body`) VALUES (NULL, '北京房价', '北京市统计局、国家统计局北京调查总队近日联合对外发布消息，今年以来，北京的商品房价格一直呈上升趋势，五环路以内住宅期房均价已涨至13754元/平方米。');<br>
INSERT INTO `mysqlcft_latin1`.`test` (`id`, `title`, `body`) VALUES (NULL, '北京中心城区今起可无线宽带上网 奥运期间免费', '新浪科技讯 6月25日消息，北京无线城市一期网络今日起试运行，即日起北京市民和海外游客可以通过无线网络在北京中心城区接入互联网。');<br>
INSERT INTO `mysqlcft_latin1`.`test` (`id`, `title`, `body`) VALUES (NULL, '数据库', '欢迎使用MySQL中文全文索引插件mysqlcft！');<br>
<br>
SELECT * FROM mysqlcft_latin1.test WHERE MATCH(title,body) AGAINST ('13754元/平方米' IN BOOLEAN MODE);<br>
SELECT * FROM mysqlcft_latin1.test WHERE MATCH(title,body) AGAINST ('6月25日' IN BOOLEAN MODE);<br>
SELECT * FROM mysqlcft_latin1.test WHERE MATCH(title,body) AGAINST ('北京' IN BOOLEAN MODE);<br>
SELECT * FROM mysqlcft_latin1.test WHERE MATCH(title,body) AGAINST ('北京 宽带' IN BOOLEAN MODE);<br>
SELECT * FROM mysqlcft_latin1.test WHERE MATCH(title,body) AGAINST ('mysqlcft' IN BOOLEAN MODE);<br>
SELECT * FROM mysqlcft_latin1.test WHERE MATCH(title,body) AGAINST ('数据' IN BOOLEAN MODE);</div>
<br>
<br>
　　2、以UTF-8字符集为例<br>
<div style="border-right: #00a0c6 1px dashed; padding-right: 3px; border-top: #00a0c6 1px dashed; padding-left: 3px; padding-bottom: 3px; margin: 5px 5px 0px; border-left: #00a0c6 1px dashed; padding-top: 3px; border-bottom: #00a0c6 1px dashed; background-color: #ffffff">CREATE DATABASE `mysqlcft_utf8` CHARACTER SET utf8;<br>
USE `mysqlcft_utf8`;<br>
CREATE TABLE `test` (<br>
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,<br>
`title` varchar(200) DEFAULT NULL,<br>
`body` mediumtext,<br>
PRIMARY KEY (`id`),<br>
FULLTEXT KEY `title_body` (`title`,`body`) <font color="#ff0000">WITH PARSER mysqlcft</font><br>
) ENGINE=MyISAM DEFAULT CHARSET=utf8;<br>
<br>
INSERT INTO `mysqlcft_utf8`.`test` (`id`, `title`, `body`) VALUES (NULL, '北京房价', '北京市统计局、国家统计局北京调查总队近日联合对外发布消息，今年以来，北京的商品房价格一直呈上升趋势，五环路以内住宅期房均价已涨至13754元/平方米。');<br>
INSERT INTO `mysqlcft_utf8`.`test` (`id`, `title`, `body`) VALUES (NULL, '北京中心城区今起可无线宽带上网 奥运期间免费', '新浪科技讯 6月25日消息，北京无线城市一期网络今日起试运行，即日起北京市民和海外游客可以通过无线网络在北京中心城区接入互联网。');<br>
INSERT INTO `mysqlcft_utf8`.`test` (`id`, `title`, `body`) VALUES (NULL, '数据库', '欢迎使用MySQL中文全文索引插件mysqlcft！');<br>
<br>
SELECT * FROM mysqlcft_utf8.test WHERE MATCH(title,body) AGAINST ('13754元/平方米' IN BOOLEAN MODE);<br>
SELECT * FROM mysqlcft_utf8.test WHERE MATCH(title,body) AGAINST ('6月25日' IN BOOLEAN MODE);<br>
SELECT * FROM mysqlcft_utf8.test WHERE MATCH(title,body) AGAINST ('北京' IN BOOLEAN MODE);<br>
SELECT * FROM mysqlcft_utf8.test WHERE MATCH(title,body) AGAINST ('北京 宽带' IN BOOLEAN MODE);<br>
SELECT * FROM mysqlcft_utf8.test WHERE MATCH(title,body) AGAINST ('mysqlcft' IN BOOLEAN MODE);<br>
SELECT * FROM mysqlcft_utf8.test WHERE MATCH(title,body) AGAINST ('数据' IN BOOLEAN MODE);</div>
<br>
<br>
　　3、以gbk字符集为例<br>
<div style="border-right: #00a0c6 1px dashed; padding-right: 3px; border-top: #00a0c6 1px dashed; padding-left: 3px; padding-bottom: 3px; margin: 5px 5px 0px; border-left: #00a0c6 1px dashed; padding-top: 3px; border-bottom: #00a0c6 1px dashed; background-color: #ffffff">CREATE DATABASE `mysqlcft_gbk` DEFAULT CHARACTER SET gbk;<br>
USE `mysqlcft_gbk`;<br>
CREATE TABLE `test` (<br>
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,<br>
`title` varchar(200) DEFAULT NULL,<br>
`body` mediumtext,<br>
PRIMARY KEY (`id`),<br>
FULLTEXT KEY `title_body` (`title`,`body`) <font color="#ff0000">WITH PARSER mysqlcft</font><br>
) ENGINE=MyISAM DEFAULT CHARSET=gbk;<br>
<br>
INSERT INTO `mysqlcft_gbk`.`test` (`id`, `title`, `body`) VALUES (NULL, '北京房价', '北京市统计局、国家统计局北京调查总队近日联合对外发布消息，今年以来，北京的商品房价格一直呈上升趋势，五环路以内住宅期房均价已涨至13754元/平方米。');<br>
INSERT INTO `mysqlcft_gbk`.`test` (`id`, `title`, `body`) VALUES (NULL, '北京中心城区今起可无线宽带上网 奥运期间免费', '新浪科技讯 6月25日消息，北京无线城市一期网络今日起试运行，即日起北京市民和海外游客可以通过无线网络在北京中心城区接入互联网。');<br>
INSERT INTO `mysqlcft_gbk`.`test` (`id`, `title`, `body`) VALUES (NULL, '数据库', '欢迎使用MySQL中文全文索引插件mysqlcft！');<br>
<br>
SELECT * FROM mysqlcft_gbk.test WHERE MATCH(title,body) AGAINST ('13754元/平方米' IN BOOLEAN MODE);<br>
SELECT * FROM mysqlcft_gbk.test WHERE MATCH(title,body) AGAINST ('6月25日' IN BOOLEAN MODE);<br>
SELECT * FROM mysqlcft_gbk.test WHERE MATCH(title,body) AGAINST ('北京' IN BOOLEAN MODE);<br>
SELECT * FROM mysqlcft_gbk.test WHERE MATCH(title,body) AGAINST ('北京 宽带' IN BOOLEAN MODE);<br>
SELECT * FROM mysqlcft_gbk.test WHERE MATCH(title,body) AGAINST ('mysqlcft' IN BOOLEAN MODE);<br>
SELECT * FROM mysqlcft_gbk.test WHERE MATCH(title,body) AGAINST ('数据' IN BOOLEAN MODE);</div>
<br>
<br>
<hr>
<br>
　　<strong>八、性能测试报告</strong><br>
　　服务器：DELL PowerEdge 6850 (四颗双核Xeon 3.0GHz，8GB内存) 4U机架式服务器<br>
　　操作系统：RedHat AS4 (x86_64位)<br>
　　数据库：MySQL 5.1.25 RC + mysqlcft 1.0.0<br>
　　数据表：超过80万条(807346条)记录的表，字段&ldquo;id&rdquo;为int类型，主键；字段&ldquo;title&rdquo;为varchar类型，字段&ldquo;body&rdquo;为text类型。&ldquo;title&rdquo;和&ldquo;body&rdquo;分别建有INDEX普通单列索引、INDEX联合索引，FULLTEXT单字段全文索引、FULLTEXT联合全文索引。<br>
<br>
　　1、在字段&ldquo;title&rdquo;中搜索中文关键字：<br>
<div style="border-right: #00a0c6 1px dashed; padding-right: 3px; border-top: #00a0c6 1px dashed; padding-left: 3px; padding-bottom: 3px; margin: 5px 5px 0px; border-left: #00a0c6 1px dashed; padding-top: 3px; border-bottom: #00a0c6 1px dashed; background-color: #ffffff">SELECT * FROM database.table WHERE MATCH(title) AGAINST ('朝阳区' IN BOOLEAN MODE) limit 0,30;<br>
30 rows in set (0.04 sec)<br>
SELECT * FROM database.table WHERE title LIKE '%朝阳区%' limit 0,30;<br>
30 rows in set (6.56 sec)<br>
<br>
SELECT * FROM database.table WHERE MATCH(title) AGAINST ('通州区' IN BOOLEAN MODE) ORDER BY id DESC limit 0,30;<br>
30 rows in set (0.13 sec)<br>
SELECT * FROM database.table WHERE title LIKE '%通州区%' ORDER BY id DESC limit 0,30;<br>
30 rows in set (8.15 sec)<br>
<br>
SELECT * FROM database.table WHERE MATCH(title) AGAINST ('建国门外' IN BOOLEAN MODE) ORDER BY id DESC limit 0,30;<br>
30 rows in set (0.08 sec)<br>
SELECT * FROM database.table WHERE title LIKE '%建国门外%' ORDER BY id DESC limit 0,30;<br>
30 rows in set (5.34 sec)<br>
<br>
SELECT * FROM database.table WHERE MATCH(title) AGAINST ('靠近通惠河' IN BOOLEAN MODE) ORDER BY id DESC limit 0,30;<br>
4 row in set (0.06 sec)<br>
SELECT * FROM database.table WHERE title LIKE '%靠近通惠河%' ORDER BY id DESC limit 0,30;<br>
4 row in set (12.88 sec)</div>
<br>
<br>
　　2、在字段&ldquo;body&rdquo;中搜索中文关键字：<br>
<div style="border-right: #00a0c6 1px dashed; padding-right: 3px; border-top: #00a0c6 1px dashed; padding-left: 3px; padding-bottom: 3px; margin: 5px 5px 0px; border-left: #00a0c6 1px dashed; padding-top: 3px; border-bottom: #00a0c6 1px dashed; background-color: #ffffff">SELECT * FROM database.table WHERE MATCH(body) AGAINST ('海淀区' IN BOOLEAN MODE) ORDER BY id DESC limit 0,30;<br>
30 rows in set (0.23 sec)<br>
SELECT * FROM database.table WHERE body LIKE '%海淀区%' ORDER BY id DESC limit 0,30;<br>
30 rows in set (15.71 sec)<br>
<br>
SELECT * FROM database.table WHERE MATCH(body) AGAINST ('莱镇香格里' IN BOOLEAN MODE) ORDER BY id DESC limit 0,30;<br>
6 rows in set (0.18 sec)<br>
SELECT * FROM database.table WHERE body LIKE '%莱镇香格里%' ORDER BY id DESC limit 0,30;<br>
6 row in set (13.34 sec)</div>
<br>
<br>
　　3、在字段&ldquo;title&rdquo;和&ldquo;body&rdquo;中，搜索包含&ldquo;西城区&rdquo;和&ldquo;商场&rdquo;两个关键字的记录：<br>
<div style="border-right: #00a0c6 1px dashed; padding-right: 3px; border-top: #00a0c6 1px dashed; padding-left: 3px; padding-bottom: 3px; margin: 5px 5px 0px; border-left: #00a0c6 1px dashed; padding-top: 3px; border-bottom: #00a0c6 1px dashed; background-color: #ffffff">SELECT * FROM database.table WHERE MATCH(title,body) AGAINST ('西城区 商场' IN BOOLEAN MODE) ORDER BY id DESC limit 0,30;<br>
13 rows in set (0.27 sec)<br>
SELECT * FROM database.table WHERE title LIKE '%西城区%商场%' OR body LIKE '%西城区%商场%' ORDER BY id DESC limit 0,30;<br>
13 rows in set (51.74 sec)</div> <a href="http://hi.baidu.com/rongjch/blog/item/b0c8f7160a42771d962b437e.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/rongjch/blog/category/Amp">Amp</a>&nbsp;<a href="http://hi.baidu.com/rongjch/blog/item/b0c8f7160a42771d962b437e.html#comment">查看评论</a>]]></description>
        <pubDate>2008-07-02  15:11</pubDate>
        <category><![CDATA[Amp]]></category>
        <author><![CDATA[rongjch]]></author>
		<guid>http://hi.baidu.com/rongjch/blog/item/b0c8f7160a42771d962b437e.html</guid>
</item>

<item>
        <title><![CDATA[让嵌入窗体的 WebBrowser 控件无边框]]></title>
        <link><![CDATA[http://hi.baidu.com/rongjch/blog/item/3426f33f71707fc77c1e71fd.html]]></link>
        <description><![CDATA[
		
		<p><a href="http://www.faceker.com/200801/webbrowser-no-border.html">http://www.faceker.com/200801/webbrowser-no-border.html</a></p>
<p>前一段时间升级了一个程序，将程序的主界面用网页来设计，效果非常好，用 HTML+CSS 可以实现更加丰富的界面效果，比直接用 Delphi 来得容易。</p>
<p>实现的方法很简单，在窗体添加一个 WebBrowser 组件，然后执行以下代码：</p>
<div class="codecolorer-container delphi" style="height: 35px">
<div class="codecolorer">WebBrowser1.<span class="me1">Navigate</span><span class="br0">(</span><span class="st0">'D:\Soft\HomePage.html'</span><span class="br0">)</span>;</div>
</div>
<p>但随之而来出现了一个问题：WebBrowser 组件在未载入 HTML 之前是无边框的，当载入 HTML 之后，WebBrowser 四周出现了一个三维边框，和程序本身的风格极不协调，查看了 WebBrowser 的所有属性，没有属性可以改变这一设置。</p>
<p><img src="http://pic.yupoo.com/faceker/675984f285ad/3yzaniae.jpg"></p>
<p>经过测试以后发现，该边框并不是 WebBrowser 产生的，而是 WebBrowser 中载入的 HTML 产生的，如果是这样的话，那问题就好解决了，真接用 CSS 去掉边框：</p>
<div class="codecolorer-container css">
<div class="codecolorer">body <span class="br0">{</span><br>
<span class="kw1">border</span>: <span class="re3">0px</span>;<br>
<span class="kw1">overflow</span>: <span class="kw2">auto</span>; <span class="coMULTI">/*可自动隐藏或显示滚动条；设为 hidden 完全隐藏滚动条*/</span><br>
<span class="br0">}</span></div>
</div>
<p>当你高兴地设置以上 CSS 后，却发现 WebBrowser 的边框却依然存在，是 CSS 错了吗？NO，是你的 DOCTYPE 出了问题，以上的 CSS 在 XHTML 下是无效果的，将 DOCTYPE 设为 HTML4 即可：</p>
<div class="codecolorer-container html" style="height: 35px">
<div class="codecolorer"><span class="sc0">&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot;&gt;</span></div>
</div> <a href="http://hi.baidu.com/rongjch/blog/item/3426f33f71707fc77c1e71fd.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/rongjch/blog/category/Delphi">Delphi</a>&nbsp;<a href="http://hi.baidu.com/rongjch/blog/item/3426f33f71707fc77c1e71fd.html#comment">查看评论</a>]]></description>
        <pubDate>2008-07-02  11:49</pubDate>
        <category><![CDATA[Delphi]]></category>
        <author><![CDATA[rongjch]]></author>
		<guid>http://hi.baidu.com/rongjch/blog/item/3426f33f71707fc77c1e71fd.html</guid>
</item>

<item>
        <title><![CDATA[CentOS 系统3分钟安装VPN[CentOS 4/5]]]></title>
        <link><![CDATA[http://hi.baidu.com/rongjch/blog/item/a39ab00ad3d3f11a94ca6b36.html]]></link>
        <description><![CDATA[
		
		按以下的操作
<div class="blockcode"><span class="headactions">复制内容到剪贴板</span>
<h5>代码:</h5>
cd /tmp<br>
wget http://poptop.sourceforge.net/yum/stable/packages/dkms-2.0.17.5-1.noarch.rpm<br>
wget http://poptop.sourceforge.net/yum/stable/packages/kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm</div>
如果是centos 4版本的
<div class="blockcode"><span class="headactions">复制内容到剪贴板</span>
<h5>代码:</h5>
wget http://poptop.sourceforge.net/yum/stable/packages/ppp-2.4.3-7.rhel4.i386.rpm<br>
wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-1.rhel4.i386.rpm</div>
CentOS 5的
<div class="blockcode"><span class="headactions">复制内容到剪贴板</span>
<h5>代码:</h5>
wget http://poptop.sourceforge.net/yum/stable/packages/ppp-2.4.4-3.1.rhel5.i386.rpm<br>
wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-1.rhel5.1.i386.rpm</div>
下载回来这4个文件后安装 [按顺序]
<div class="blockcode"><span class="headactions">复制内容到剪贴板</span>
<h5>代码:</h5>
rpm -ivh dkms-2.0.17.5-1.noarch.rpm<br>
rpm -ivh kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm</div>
以上二个是为CENTOS加载MPPE[MICROSOFT的加密协议] ..不安装的话就不能使用加密连接
<div class="blockcode"><span class="headactions">复制内容到剪贴板</span>
<h5>代码:</h5>
rpm -Uvh ppp-2.4.3-7.rhel4.i386.rpm<br>
rpm -Uvh ppp-2.4.4-3.1.rhel5.i386.rpm&nbsp;&nbsp;<br>
rpm -ivh pptpd-1.3.4-1.rhel4.i386.rpm<br>
rpm -ivh pptpd-1.3.4-1.rhel5.1.i386.rpm</div>
为懒人写的...四个都打上去...如果你只下载其中二个的话..其它二个就不存在..没所谓了.给那些懒人方便而已..<br>
<br>
安装完毕后..编辑配置文件
<div class="blockcode"><span class="headactions">复制内容到剪贴板</span>
<h5>代码:</h5>
vi /etc/pptpd.conf</div>
找到最下面<br>
localip&nbsp;&nbsp; 后面要改为你服务的IP<br>
remoteip 后面改为你分配给VPN用户的IP段....比如192.168.0.1-100<br>
这时已经可以启动VPN服务器了.启动方法就用<br>
service pptpd start<br>
停止<br>
service pptpd stop<br>
<br>
这时你编辑VPN用户的密码资料等[实时生效]
<div class="blockcode"><span class="headactions">复制内容到剪贴板</span>
<h5>代码:</h5>
vi /etc/ppp/chap-secrets</div>
在最下面插入新行..<br>
它的写法是<br>
用户名&nbsp;&nbsp;  服务名&nbsp;&nbsp;  密码&nbsp;&nbsp;  IP<br>
<br>
比如我新增加的一个用户..<br>
im286&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pptpd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  bendy&nbsp;&nbsp;&nbsp;&nbsp; 192.168.10.20<br>
<br>
那这个用户就可以登陆VPN服务器了...分配的IP只有一个就是192.168.10.20了.也就是说只能一个人同时使用.<br>
如果你想多人同时使用...可以将192.168.10.20改为*<br>
这样就不限制这个帐户的使用人数了[同时登陆的人数.还要取决于PPTPD服务器的设置,默认40个<br>
我好似没有发现哪里可以设置说可以让多少人使用同一个帐户登陆的.<br>
如果加上RADIUS认证就可以.[这个东西我也做过.不难的]<br>
<br>
至此.VPN可以连接了.<br>
[Bendy 始发于落伍<a href="http://www.im286.com/" target="_blank">www.im286.com</a>,转载者有JJ]<br>
但连接之后.我们还需要设置NAT&nbsp;&nbsp;  IP转发.否则用户连接上服务器后.是不能访问外网的内容的.<br>
设置方法也很简单的.
<div class="blockcode"><span class="headactions">复制内容到剪贴板</span>
<h5>代码:</h5>
iptables -t nat -F<br>
iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -j SNAT --to 999.999.999.999</div>
上面的192.168.10.0替换成你要分配给客户用的VPN 内网IP段<br>
999.999.999.999 替换成你的VPN服务器IP [与上面PPTPD.CONF的LOCALIP一样]<br>
最后我们打开LINUX服务器的IP转发功能就大功告成了
<div class="blockcode"><span class="headactions">复制内容到剪贴板</span>
<h5>代码:</h5>
echo 1 &gt;/proc/sys/net/ipv4/ip_forward</div>
以上是临时打开的.重启服务器后无效..<br>
长期调整的话..可以编辑<br>
/etc/sysctl.conf这个文件中的net.ipv4.ip_forward = 1<br>
就这样了...全文完
<div style="clear: both; padding-right: 5px; margin-top: 12px; padding-left: 5px; margin-bottom: 15px; padding-bottom: 5px; padding-top: 5px; text-align: left"> </div> <a href="http://hi.baidu.com/rongjch/blog/item/a39ab00ad3d3f11a94ca6b36.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/rongjch/blog/category/Radius">Radius</a>&nbsp;<a href="http://hi.baidu.com/rongjch/blog/item/a39ab00ad3d3f11a94ca6b36.html#comment">查看评论</a>]]></description>
        <pubDate>2008-06-29  16:52</pubDate>
        <category><![CDATA[Radius]]></category>
        <author><![CDATA[rongjch]]></author>
		<guid>http://hi.baidu.com/rongjch/blog/item/a39ab00ad3d3f11a94ca6b36.html</guid>
</item>

<item>
        <title><![CDATA[游戏代理VPN(pptp+radius+mysql) 安装笔记总结]]></title>
        <link><![CDATA[http://hi.baidu.com/rongjch/blog/item/1ab7a1180da309b14bedbcea.html]]></link>
        <description><![CDATA[
		
		<p><a href="http://bbs.chinaunix.net/thread-1135925-1-1.html">http://bbs.chinaunix.net/thread-1135925-1-1.html</a></p>
软件:pptp+radius+mysql<br>
平台:linux,可以是各发行版,内核最好是2.6以上的<br>
我的测试平台是RHEL5 beta1,内核 2.6.18-1.2747.el5xen<br>
这个版本有个好处,就是内核已支持MPPE,不用再安装<br>
<br>
首先要确定内核是否支持mppe<br>
方法: modprobe ppp-compress-18 &amp;&amp; echo ok<br>
如果显示ok，即表示内核已具备了mppe支持<br>
<br>
如不支持,需要升级内核以支持mppe <br>
软件下载 <a href="http://sourceforge.net/project/showfiles.php?group_id=44827" target="_blank">http://sourceforge.net/project/showfiles.php?group_id=44827</a> <br>
下载2个rpm包。 <br>
dkms-2.0.10-1.noarch.rpm<br>
kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm<br>
dkms是一个新的软件，能让你在不编译内核的基础上，外挂一些内核的模块。 <br>
kernel_ppp_mppe就是mppe支持的内核模块<br>
OK后最好重起下你的系统<br>
<br>
安装pppd<br>
也可以在上面的地址下载,但只可以下载RPM包,最高版本为 ppp-2.4.3-5.rhel4.i386.rpm,也有FC的<br>
源码下载可以到 <a href="http://samba.org/ppp/download.html" target="_blank">http://samba.org/ppp/download.html</a>,最新版本为 ppp-2.4.4b1.tar.gz<br>
最新版已支持 mppe,不用再打补丁<br>
如不支持,可以到此下载 <a href="http://mppe-mppc.alphacron.de/#AEN56" target="_blank">http://mppe-mppc.alphacron.de/#AEN56</a>,包括ppp和内核补丁<br>
检查pppd是否支持mppe<br>
[root@localhost]# strings `which pppd`|grep -i mppe|wc --lines<br>
42<br>
结果大于36,即表示支持<br>
解压安装<br>
tar -zxvf ...<br>
configure,make,make install<br>
用 make install-etcppp 来安装范例配置文件<br>
<br>
安装pptpd<br>
下载 <a href="http://sourceforge.net/project/showfiles.php?group_id=44827" target="_blank">http://sourceforge.net/project/showfiles.php?group_id=44827</a><br>
最新版本,源码包的是 pptpd-1.3.4.tar.gz<br>
RPM包的是 pptpd-1.3.3-1.rhel4.i386.rpm,FC6<br>
解压安装 tar -zxvf ...<br>
configure,make,make install<br>
<br>
配置<br>
pppd 的配置文件 /etc/ppp<br>
pptpd 的配置文件 /etc/pptpd.conf<br>
在pptpd.conf<br>
localip 10.10.10.1<br>
remoteip 10.10.110.2-100<br>
localip是pptpd的对外服务的ip，也就是客户端需要拨号的ip <br>
remoteip是拨号服务器分配给拨号用户的ip ，可以用-表示ip范围<br>
<br>
添加测试用户 /etc/ppp/chap-secrets<br>
# Secrets for authentication using CHAP<br>
# client  &nbsp;&nbsp;  &nbsp;&nbsp;&nbsp; server&nbsp;&nbsp; secret  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;   IP addresses<br>
test pptpd test *<br>
<br>
认证方式设置 /etc/ppp/options.pp<br>
默认就可以用,如果不mppe,或是不用加密,可以在此文件设置<br>
<br>
<br>
为方便测试，请打开debug和dump调试,并查看/var/log/messages 文件<br>
<br>
启动pptpd后,就可以在XP建立连接测试了<br>
<br>
以上一个简单的VPN就完成了.<br>
<br>
<br>
<br>
结合radius<br>
<br>
软件下载 <a href="http://www.freeradius.org/" target="_blank">http://www.freeradius.org</a><br>
当前最新版本为 freeradius-server-2.0.4.tar.bz2<br>
但与1.X的配置方式上,有比较大的区别.<br>
我开始是用2.X测试的,但没成功,最后用了1.X的.有空再研究2.X的.<br>
<br>
解压安装<br>
tar -zxvf ...,configure,make,make install<br>
<br>
配置<br>
从pppd的源码目录把下面这个目录复制到/etc/radiusclient/<br>
cp -R ppp-2.4.4b1/pppd/plugins/radius/etc&nbsp;&nbsp; /etc/radiusclient/<br>
<br>
修改 options.pptpd<br>
在最后加入<br>
plugin /usr/local/lib/pppd/2.4.4b1/radius.so<br>
<br>
配置 /etc/radiusclient中的servers和radiusclient.conf<br>
在servers中，你需要增加一个radiusd的地址和密码<br>
localhost  &nbsp;&nbsp;    vpn<br>
这里localhost表示你的radiusd就在本机，并且访问的密码是vpn<br>
<br>
<br>
在radiusclient.conf中 加入<br>
authserver  &nbsp;&nbsp;   localhost:1812<br>
acctserver  &nbsp;&nbsp;   localhost:1813<br>
确认上面也是本地的，默认就是本地，所以一般不需要修改。<br>
同时确保这个文件中radiusclient相关的路径所有的路径都是 /etc/radiusclient 开头的。<br>
<br>
配置freeradius<br>
在 freeradius/etc/raddb 下<br>
修改clients.conf<br>
这里说明一下，所有的nas都是radiusd的client，nas就是那个pptpd，所以这个文件就是配置pptpd的登陆权限的。<br>
client 127.0.0.1  &nbsp;&nbsp;   {<br>
  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;   secret = vpn<br>
  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;   shortname = mm<br>
  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;   nastype  &nbsp;&nbsp;&nbsp; = other<br>
  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;  &nbsp;&nbsp;   }<br>
<br>
修改127.0.0.1部分为上面的样子。secret就是我们刚才在/etc/radiusclient中servers里设置的那个。这两个要一致<br>
<br>
在users文件的最上面加入一个用户<br>
ww Auth-Type:= MS-CHAP, User-Password==&quot;ww&quot;, Simultaneous-Use:=1<br>
  &nbsp;&nbsp;  &nbsp;&nbsp;    Service-Type = Framed-User,<br>
  &nbsp;&nbsp;  &nbsp;&nbsp;    Framed-Protocol = PPP,<br>
  &nbsp;&nbsp;  &nbsp;&nbsp;    Framed-IP-Address = 255.255.255.254,<br>
  &nbsp;&nbsp;  &nbsp;&nbsp;    Framed-IP-Netmask = 255.255.255.0<br>
<br>
说明一下 ww是用户名<br>
auth-type是验证的类型<br>
第二个ww是密码<br>
Simultaneous-Use是允许这个用户名同时登陆的个数<br>
<br>
所有这些都是check属性，要写在第一行<br>
然后第二行开始用tab开头，是服务器返回给radius客户端的（也就是返回给pptpd）时reply属性。<br>
其中ip地址设置为255.255<br>
<br>
用debug模式运行radiusd<br>
sbin/radiusd -x<br>
<br>
测试,在XP建个VPN连接,用户密码均为 ww<br>
<br>
<br>
<br>
结合mysql<br>
mysql安装略过.<br>
建立一个radius数据库,把结构导入即可<br>
库结构文件在 freeradius16/share/doc/freeradius/examples/mysql.sql<br>
配置sql.conf 在安装目录下的etc/raddb<br>
修改sql.conf的连接信息<br>
  &nbsp;&nbsp;  &nbsp;&nbsp;&nbsp; # Connect info<br>
  &nbsp;&nbsp;  &nbsp;&nbsp;&nbsp; server = &quot;192.168.8.53&quot;<br>
  &nbsp;&nbsp;  &nbsp;&nbsp;&nbsp; login = &quot;radius&quot;<br>
  &nbsp;&nbsp;  &nbsp;&nbsp;&nbsp; password = &quot;radius&quot;<br>
<br>
  &nbsp;&nbsp;  &nbsp;&nbsp;&nbsp; # Database table configuration<br>
  &nbsp;&nbsp;  &nbsp;&nbsp;&nbsp; radius_db = &quot;radius&quot;<br>
<br>
去掉下面的simul。。。。前面的#<br>
打开sql的用户同时连接数测试的语句<br>
  &nbsp;&nbsp;  &nbsp;&nbsp;&nbsp; # Uncomment simul_count_query to enable simultaneous use checking<br>
  &nbsp;&nbsp;  &nbsp;&nbsp;   simul_count_query = &quot;SELECT COUNT(*) FROM ${acct_table1} WHERE UserName='%{SQL-User-Name}' AND AcctStopTime = 0&quot;<br>
<br>
<br>
配置radiusd.conf<br>
<br>
注释掉 authorize {<br>
的files<br>
去掉sql前的注释<br>
<br>
注释掉 preacct {<br>
的files<br>
<br>
注释掉 accounting {<br>
<br>
的radutmp<br>
去掉sql前面的#<br>
<br>
注释掉 session{<br>
的radutmp<br>
去掉sql前面的#<br>
<br>
去掉 post-auth {<br>
sql前的#<br>
<br>
总之就是去掉files模块，开启sql模块<br>
<br>
<br>
在数据库中添加用户<br>
在usergroup中添加一个test用户，组名为vpn<br>
在radgroupcheck中添加一个vpn组，<br>
attribute为Simultaneous-Use<br>
op为:=<br>
value为1<br>
的纪录<br>
<br>
在radcheck中添加<br>
username为test<br>
attribute为 User-Password<br>
op为==<br>
value为test<br>
<br>
这样就添加了一个用户为test，组为vpn，密码为test<br>
并且所有的组用户的都只能1个用户名登陆一次<br>
<br>
测试<br>
用debug模式启动radiusd<br>
<br>
本文为安装笔记总结,前些天忙,今天才整理完.如有问题错误等可以和我联系QQ:5846690<br>
转载请保留此连接:<a href="http://www.vrlinux.cn/gaojijishu/fuwuqi/20080604/13228.html" target="_blank">http://www.vrlinux.cn/gaojijishu/fuwuqi/20080604/13228.html</a><br>
<br>
本文参考了 <a href="http://www.chinaunix.net/jh/50/698648.html" target="_blank">http://www.chinaunix.net/jh/50/698648.html</a>,谢谢 i_amok 的文章<br>
<p> </p> <a href="http://hi.baidu.com/rongjch/blog/item/1ab7a1180da309b14bedbcea.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/rongjch/blog/category/Radius">Radius</a>&nbsp;<a href="http://hi.baidu.com/rongjch/blog/item/1ab7a1180da309b14bedbcea.html#comment">查看评论</a>]]></description>
        <pubDate>2008-06-29  11:38</pubDate>
        <category><![CDATA[Radius]]></category>
        <author><![CDATA[rongjch]]></author>
		<guid>http://hi.baidu.com/rongjch/blog/item/1ab7a1180da309b14bedbcea.html</guid>
</item>

<item>
        <title><![CDATA[修改Linux的默认语言]]></title>
        <link><![CDATA[http://hi.baidu.com/rongjch/blog/item/b75595fb2db3a7274e4aea3e.html]]></link>
        <description><![CDATA[
		
		首先备份你的/etc/sysconfig/i18n文件： <br>
<br>
#cp /etc/sysconfig/i18n /etc/sysconfig/i18n.bak <br>
<br>
然后把下面一段代码保存成i18n文件，并复制到/etc/sysconfig/目录下，覆盖原来的文件(请确认你已经做了备份):<br>
<br>
LANG=&quot;en_US.UTF-8&quot; <br>
LANGUAGE=&quot;zh_CN.GB18030:zh_CN.GB2312:zh_CN&quot; <br>
SUPPORTED=&quot;zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en&quot; <br>
SYSFONT=&quot;latarcyrheb-sun16&quot; <br>
SYSFONTACM=&quot;utf8&quot; <br>
#添加的是以下几行： <br>
LANG=&quot;zh_CN.GB18030&quot; <br>
LANGUAGE=&quot;en_US.UTF-8&quot; <br>
LC_CTYPE=&quot;zh_CN.GB18030&quot; <br>
LC_TIME=&quot;en_US.UTF-8&quot; <br>
<br>
我的系统是redhat9系统默认是英文，现在我吧系统默认语言修改为中文<br>
<br>
#LANG=&quot;en_US.UTF-8&quot;<br>
#SUPPORTED=&quot;en_US.UTF-8:en_US:en&quot;<br>
#SYSFONT=&quot;latarcyrheb-sun16&quot;<br>
<br>
上面的是英文系统的设置<br>
<br>
下面是中文设置<br>
LANG=&quot;zh_CN.GB18030&quot;<br>
LANGUAGE=&quot;zh_CN.GB18030:zh_CN.GB2312:zh_CN&quot;<br>
SUPPORTED=&quot;zh_CN.GB18030:zh_CN:zh&quot;<br>
SYSFONT=&quot;lat0-sun16&quot;<br>
SYSFONTACM=&quot;8859-15&quot;<br>
<br>
然后你所需要做的，就是重启你的机器 <br>
OK,Enjoy it ! <br> <a href="http://hi.baidu.com/rongjch/blog/item/b75595fb2db3a7274e4aea3e.html">阅读全文</a>
		
		<br/><b>类别：</b><a href="http://hi.baidu.com/rongjch/blog/category/Linux">Linux</a>&nbsp;<a href="http://hi.baidu.com/rongjch/blog/item/b75595fb2db3a7274e4aea3e.html#comment">查看评论</a>]]></description>
        <pubDate>2008-06-25  20:26</pubDate>
        <category><![CDATA[Linux]]></category>
        <author><![CDATA[rongjch]]></author>
		<guid>http://hi.baidu.com/rongjch/blog/item/b75595fb2db3a7274e4aea3e.html</guid>
</item>


</channel>
</rss>