﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-无聊人士-随笔分类-系统管理</title><link>http://www.blogjava.net/mmwy/category/4889.html</link><description>wuyu</description><language>zh-cn</language><lastBuildDate>Mon, 19 Mar 2007 08:20:48 GMT</lastBuildDate><pubDate>Mon, 19 Mar 2007 08:20:48 GMT</pubDate><ttl>60</ttl><item><title>win2003上iis与tomcat的整合</title><link>http://www.blogjava.net/mmwy/archive/2007/03/19/104743.html</link><dc:creator>mmwy</dc:creator><author>mmwy</author><pubDate>Mon, 19 Mar 2007 07:39:00 GMT</pubDate><guid>http://www.blogjava.net/mmwy/archive/2007/03/19/104743.html</guid><wfw:comment>http://www.blogjava.net/mmwy/comments/104743.html</wfw:comment><comments>http://www.blogjava.net/mmwy/archive/2007/03/19/104743.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/mmwy/comments/commentRss/104743.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/mmwy/services/trackbacks/104743.html</trackback:ping><description><![CDATA[在apache网站上已经有很详细的介绍<br />http://tomcat.apache.org/connectors-doc/reference/iis.html<br /><br />有几点注意的：<br />1、除了照文档的例子在注册表<b>"HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Jakarta Isapi Redirector\1.0"</b>建相应键值外，还可以在<b>isapi_redirect.dll</b>所在的目录建<b>“isapi_redirect.properties”</b>文件。<br /><br />2、extension_uri=/jakarta/isapi_redirect.dll<br />这个extension_uri写成什么路径，就得在iis站点中建相应名字的虚拟目录（执行权限），以保证/jakarta/isapi_redirect.dll能被正常访问到。<br /><br />3、除文档上介绍的几大步（注册表、网站、虚拟路径等）以外，win2003 iis上还得做下面这个步骤<br /><br /><strong>新建应用程序扩展</strong><br />在IIS管理器左侧网站下面选中Web服务扩展，添加一个新的Web服务扩展，扩展名为jakarta,添加要求得文件为D:\Tomcat5.0\bin\jakart\isapi_redirect.dll,并设置扩展状态为允许。<br />（注：来自 <a title="http://www.cnrui.cn/blog/article.asp?id=179" href="http://www.cnrui.cn/blog/article.asp?id=179">http://www.cnrui.cn/blog/article.asp?id=179</a> ）<br /><br /><br /><br /><br /><img src ="http://www.blogjava.net/mmwy/aggbug/104743.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/mmwy/" target="_blank">mmwy</a> 2007-03-19 15:39 <a href="http://www.blogjava.net/mmwy/archive/2007/03/19/104743.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>笔记：20061015在CentOS4.3上搭建PHP服务器环境（GD、libmcrypt、mysql、Oracle10g支持）</title><link>http://www.blogjava.net/mmwy/archive/2006/10/15/75207.html</link><dc:creator>mmwy</dc:creator><author>mmwy</author><pubDate>Sat, 14 Oct 2006 18:46:00 GMT</pubDate><guid>http://www.blogjava.net/mmwy/archive/2006/10/15/75207.html</guid><wfw:comment>http://www.blogjava.net/mmwy/comments/75207.html</wfw:comment><comments>http://www.blogjava.net/mmwy/archive/2006/10/15/75207.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/mmwy/comments/commentRss/75207.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/mmwy/services/trackbacks/75207.html</trackback:ping><description><![CDATA[
		<b>使用的安装包：<br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 128, 128);"> 1</span> <span style="color: rgb(0, 0, 0);"></span><span style="color: rgb(0, 0, 0);">cronolog-</span><span style="color: rgb(0, 0, 0);">1.6.2</span><span style="color: rgb(0, 0, 0);">.tar.gz                              <br /></span><span style="color: rgb(0, 128, 128);"> 2</span><span style="color: rgb(0, 0, 0);">httpd-</span><span style="color: rgb(0, 0, 0);">2.0.59</span><span style="color: rgb(0, 0, 0);">.tar.gz                                <br /></span><span style="color: rgb(0, 128, 128);"> 3</span><span style="color: rgb(0, 0, 0);">instantclient-basic-linux32-</span><span style="color: rgb(0, 0, 0);">10.2.0.2</span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);">20060331</span><span style="color: rgb(0, 0, 0);">.zip  <br /></span><span style="color: rgb(0, 128, 128);"> 4</span><span style="color: rgb(0, 0, 0);">instantclient-sdk-linux32-</span><span style="color: rgb(0, 0, 0);">10.2.0.2</span><span style="color: rgb(0, 0, 0);">-</span><span style="color: rgb(0, 0, 0);">20060331</span><span style="color: rgb(0, 0, 0);">.zip    <br /></span><span style="color: rgb(0, 128, 128);"> 5</span><span style="color: rgb(0, 0, 0);">libmcrypt-</span><span style="color: rgb(0, 0, 0);">2.5.7</span><span style="color: rgb(0, 0, 0);">.tar.gz                             <br /></span><span style="color: rgb(0, 128, 128);"> 6</span><span style="color: rgb(0, 0, 0);">mhash-</span><span style="color: rgb(0, 0, 0);">0.9.7.1</span><span style="color: rgb(0, 0, 0);">.tar.gz                               <br /></span><span style="color: rgb(0, 128, 128);"> 7</span><span style="color: rgb(0, 0, 0);">mysql-</span><span style="color: rgb(0, 0, 0);">3.23.58</span><span style="color: rgb(0, 0, 0);">.tar.gz                               <br /></span><span style="color: rgb(0, 128, 128);"> 8</span><span style="color: rgb(0, 0, 0);">php-</span><span style="color: rgb(0, 0, 0);">4.4.4</span><span style="color: rgb(0, 0, 0);">.tar.gz     </span><span style="color: rgb(0, 0, 0);"></span></div></b>
		<b>
				<br />参考文档</b>：<br /><ol><li><a href="http://www.oracle.com/technology/global/cn/pub/notes/technote_php_instant.html">为 Linux 和 Windows 安装 PHP 和 Oracle 10g Instant Client</a></li><li><a href="http://www.akadia.com/services/ora_php_linux.html">Connecting to Oracle10g from PHP using OCI-8 (Linux)</a></li></ol><b>与文档有出处的地方</b>：<br /><ol><li>otn上只能下到zip格式的oracle 10g instant client basic和sdk包。解压缩后，全部放到instantclient_10_2目录下。<br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(128, 0, 0); font-weight: bold;">[</span><span style="color: rgb(128, 0, 0);">root@localhost sdk</span><span style="color: rgb(128, 0, 0); font-weight: bold;">]</span><span style="color: rgb(0, 0, 0);"># ls -l ..<br />total </span><span style="color: rgb(0, 0, 0);">115948</span><span style="color: rgb(0, 0, 0);"><br />-r--r--r--  </span><span style="color: rgb(0, 0, 0);">1</span><span style="color: rgb(0, 0, 0);"> root root  </span><span style="color: rgb(0, 0, 0);">1594191</span><span style="color: rgb(0, 0, 0);"> Feb  </span><span style="color: rgb(0, 0, 0);">5</span><span style="color: rgb(0, 0, 0);">  </span><span style="color: rgb(0, 0, 0);">2006</span><span style="color: rgb(0, 0, 0);"> classes12.jar<br />-rwxrwxr-x  </span><span style="color: rgb(0, 0, 0);">2</span><span style="color: rgb(0, 0, 0);"> root root </span><span style="color: rgb(0, 0, 0);">18774535</span><span style="color: rgb(0, 0, 0);"> Feb  </span><span style="color: rgb(0, 0, 0);">5</span><span style="color: rgb(0, 0, 0);">  </span><span style="color: rgb(0, 0, 0);">2006</span><span style="color: rgb(0, 0, 0);"> libclntsh.so<br />-rwxrwxr-x  </span><span style="color: rgb(0, 0, 0);">2</span><span style="color: rgb(0, 0, 0);"> root root </span><span style="color: rgb(0, 0, 0);">18774535</span><span style="color: rgb(0, 0, 0);"> Feb  </span><span style="color: rgb(0, 0, 0);">5</span><span style="color: rgb(0, 0, 0);">  </span><span style="color: rgb(0, 0, 0);">2006</span><span style="color: rgb(0, 0, 0);"> libclntsh.so</span><span style="color: rgb(0, 0, 0);">.10.1</span><span style="color: rgb(0, 0, 0);"><br />-r-xr-xr-x  </span><span style="color: rgb(0, 0, 0);">1</span><span style="color: rgb(0, 0, 0);"> root root  </span><span style="color: rgb(0, 0, 0);">5623929</span><span style="color: rgb(0, 0, 0);"> Feb  </span><span style="color: rgb(0, 0, 0);">5</span><span style="color: rgb(0, 0, 0);">  </span><span style="color: rgb(0, 0, 0);">2006</span><span style="color: rgb(0, 0, 0);"> libnnz10.so<br />-rwxrwxr-x  </span><span style="color: rgb(0, 0, 0);">1</span><span style="color: rgb(0, 0, 0);"> root root  </span><span style="color: rgb(0, 0, 0);">1398088</span><span style="color: rgb(0, 0, 0);"> Feb  </span><span style="color: rgb(0, 0, 0);">5</span><span style="color: rgb(0, 0, 0);">  </span><span style="color: rgb(0, 0, 0);">2006</span><span style="color: rgb(0, 0, 0);"> libocci.so</span><span style="color: rgb(0, 0, 0);">.10.1</span><span style="color: rgb(0, 0, 0);"><br />-rwxrwxr-x  </span><span style="color: rgb(0, 0, 0);">1</span><span style="color: rgb(0, 0, 0);"> root root </span><span style="color: rgb(0, 0, 0);">70690282</span><span style="color: rgb(0, 0, 0);"> Feb  </span><span style="color: rgb(0, 0, 0);">5</span><span style="color: rgb(0, 0, 0);">  </span><span style="color: rgb(0, 0, 0);">2006</span><span style="color: rgb(0, 0, 0);"> libociei.so<br />-r-xr-xr-x  </span><span style="color: rgb(0, 0, 0);">1</span><span style="color: rgb(0, 0, 0);"> root root   </span><span style="color: rgb(0, 0, 0);">119919</span><span style="color: rgb(0, 0, 0);"> Feb  </span><span style="color: rgb(0, 0, 0);">5</span><span style="color: rgb(0, 0, 0);">  </span><span style="color: rgb(0, 0, 0);">2006</span><span style="color: rgb(0, 0, 0);"> libocijdbc10.so<br />-r--r--r--  </span><span style="color: rgb(0, 0, 0);">1</span><span style="color: rgb(0, 0, 0);"> root root  </span><span style="color: rgb(0, 0, 0);">1540457</span><span style="color: rgb(0, 0, 0);"> Feb  </span><span style="color: rgb(0, 0, 0);">5</span><span style="color: rgb(0, 0, 0);">  </span><span style="color: rgb(0, 0, 0);">2006</span><span style="color: rgb(0, 0, 0);"> ojdbc14.jar<br />drwxr-xr-x  </span><span style="color: rgb(0, 0, 0);">4</span><span style="color: rgb(0, 0, 0);"> root root     </span><span style="color: rgb(0, 0, 0);">4096</span><span style="color: rgb(0, 0, 0);"> Oct </span><span style="color: rgb(0, 0, 0);">17</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">04</span><span style="color: rgb(0, 0, 0);">:</span><span style="color: rgb(0, 0, 0);">27</span><span style="color: rgb(0, 0, 0);"> sdk<br /></span><span style="color: rgb(128, 0, 0); font-weight: bold;">[</span><span style="color: rgb(128, 0, 0);">root@localhost sdk</span><span style="color: rgb(128, 0, 0); font-weight: bold;">]</span><span style="color: rgb(0, 0, 0);"># ls -l<br />total </span><span style="color: rgb(0, 0, 0);">324</span><span style="color: rgb(0, 0, 0);"><br />drwxr-xr-x  </span><span style="color: rgb(0, 0, 0);">2</span><span style="color: rgb(0, 0, 0);"> root root   </span><span style="color: rgb(0, 0, 0);">4096</span><span style="color: rgb(0, 0, 0);"> Oct </span><span style="color: rgb(0, 0, 0);">17</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">04</span><span style="color: rgb(0, 0, 0);">:</span><span style="color: rgb(0, 0, 0);">27</span><span style="color: rgb(0, 0, 0);"> demo<br />drwxr-xr-x  </span><span style="color: rgb(0, 0, 0);">2</span><span style="color: rgb(0, 0, 0);"> root root   </span><span style="color: rgb(0, 0, 0);">4096</span><span style="color: rgb(0, 0, 0);"> Oct </span><span style="color: rgb(0, 0, 0);">17</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">04</span><span style="color: rgb(0, 0, 0);">:</span><span style="color: rgb(0, 0, 0);">27</span><span style="color: rgb(0, 0, 0);"> include<br />-r-xr-xr-x  </span><span style="color: rgb(0, 0, 0);">1</span><span style="color: rgb(0, 0, 0);"> root root    </span><span style="color: rgb(0, 0, 0);">346</span><span style="color: rgb(0, 0, 0);"> Oct </span><span style="color: rgb(0, 0, 0);">17</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">04</span><span style="color: rgb(0, 0, 0);">:</span><span style="color: rgb(0, 0, 0);">27</span><span style="color: rgb(0, 0, 0);"> ott<br />-rw-r--r--  </span><span style="color: rgb(0, 0, 0);">1</span><span style="color: rgb(0, 0, 0);"> root root </span><span style="color: rgb(0, 0, 0);">298274</span><span style="color: rgb(0, 0, 0);"> Oct </span><span style="color: rgb(0, 0, 0);">17</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">04</span><span style="color: rgb(0, 0, 0);">:</span><span style="color: rgb(0, 0, 0);">27</span><span style="color: rgb(0, 0, 0);"> ottclasses.zip</span></div></li><li><span style="color: rgb(0, 0, 0);">php4.4.4已经提供了--with-oci8-instant-client参数的支持，同时修复了相关补丁，因此，文档中为php打补丁、重建</span>“configure”脚本的步骤可以省略。</li></ol><b>环境变量</b>:<br /><ol><li>在LD_LIBRARY_PATH中添加<span style="color: rgb(0, 0, 0);">oracle 10g instant client的路径。<br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 0);">export LD_LIBRARY_PATH</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">/www/server/instantclient_10_2/:${LD_LIBRARY_PATH}</span></div></span></li><li><span style="color: rgb(0, 0, 0);"><span style="color: rgb(0, 0, 0);">设置TNS_ADMIN为oracle tnsname.ora文件所在目录。<br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 0);">export TNS_ADMIN</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">/u01/app/oracle/product/10g/network/admin/</span></div></span></span></li></ol><b>编译脚本</b>：<br /><div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 0);">./configure \<br />--prefix</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">/www/server/php-</span><span style="color: rgb(0, 0, 0);">4.4.4</span><span style="color: rgb(0, 0, 0);"> \<br />--with-apxs2</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">/www/server/httpd-</span><span style="color: rgb(0, 0, 0);">2.0.59</span><span style="color: rgb(0, 0, 0);">/bin/apxs \<br />--with-mysql</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">/www/server/mysql-</span><span style="color: rgb(0, 0, 0);">3.23.58</span><span style="color: rgb(0, 0, 0);"> \<br />--with-mcrypt</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">/www/server/libmcrypt-</span><span style="color: rgb(0, 0, 0);">2.5.7</span><span style="color: rgb(0, 0, 0);"> \<br />--with-mhash</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">/www/server/mhash-</span><span style="color: rgb(0, 0, 0);">0.9.7.1</span><span style="color: rgb(0, 0, 0);"> \<br />--with-gd --with-zlib \<br />--with-oci8-instant-client</span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);">/www/server/instantclient_10_2<br /></span></div>注：需要使用ln命令为libclntsh.so.10.1创建一个名为<b>libclntsh.so</b>的连接，否则在configure过程中将会出现error:Link xxxx not found的错误。（<a href="http://forums.oracle.com/forums/thread.jspa?messageID=1203218">http://forums.oracle.com/forums/thread.jspa?messageID=1203218&amp;#1203218</a>）<br /><br /><b>测试</b>：<br /><ol><li>安装成功的话，在phpinfo()信息中可以看到相应信息<div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 0, 0);">OCI8 Support                  enabled<br />Revision                      $Revision: </span><span style="color: rgb(0, 0, 0);">1.183.2.18.2.3</span><span style="color: rgb(0, 0, 0);"> $<br />Oracle Version                </span><span style="color: rgb(0, 0, 0);">10.1</span><span style="color: rgb(0, 0, 0);"><br />Compile-time ORACLE_HOME      /www/server/instantclient_10_2<br />Libraries Used                no value</span></div></li><li><span style="color: rgb(0, 0, 0);">测试代码<div style="border: 1px solid rgb(204, 204, 204); padding: 4px 5px 4px 4px; background-color: rgb(238, 238, 238); font-size: 13px; width: 98%;"><!--<br><br>Code highlighting produced by Actipro CodeHighlighter (freeware)<br>http://www.CodeHighlighter.com/<br><br>--><span style="color: rgb(0, 128, 128);"> 1</span> <span style="color: rgb(0, 0, 0);">&lt;?</span><span style="color: rgb(0, 0, 0);">php <br /></span><span style="color: rgb(0, 128, 128);"> 2</span> <span style="color: rgb(0, 0, 0);"></span><span style="color: rgb(128, 0, 128);">$conn</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> OCILogon(</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">username</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">,</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">password</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">,</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">//127.0.0.1:1521/sid</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">);<br /></span><span style="color: rgb(0, 128, 128);"> 3</span> <span style="color: rgb(0, 0, 0);"></span><span style="color: rgb(128, 0, 128);">$query</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">select table_name from user_tables</span><span style="color: rgb(0, 0, 0);">'</span><span style="color: rgb(0, 0, 0);">;<br /></span><span style="color: rgb(0, 128, 128);"> 4</span> <span style="color: rgb(0, 0, 0);"></span><span style="color: rgb(128, 0, 128);">$stid</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> OCIParse(</span><span style="color: rgb(128, 0, 128);">$conn</span><span style="color: rgb(0, 0, 0);">,</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(128, 0, 128);">$query</span><span style="color: rgb(0, 0, 0);">);<br /></span><span style="color: rgb(0, 128, 128);"> 5</span> <span style="color: rgb(0, 0, 0);">OCIExecute(</span><span style="color: rgb(128, 0, 128);">$stid</span><span style="color: rgb(0, 0, 0);">,</span><span style="color: rgb(0, 0, 0);"> OCI_DEFAULT);<br /></span><span style="color: rgb(0, 128, 128);"> 6</span> <span style="color: rgb(0, 0, 0);"><br /></span><span style="color: rgb(0, 128, 128);"> 7</span> <span style="color: rgb(0, 0, 0);"></span><span style="color: rgb(0, 0, 255);">while</span><span style="color: rgb(0, 0, 0);"> (</span><span style="color: rgb(128, 0, 128);">$succ</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">=</span><span style="color: rgb(0, 0, 0);"> OCIFetchInto(</span><span style="color: rgb(128, 0, 128);">$stid</span><span style="color: rgb(0, 0, 0);">,</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(128, 0, 128);">$row</span><span style="color: rgb(0, 0, 0);">)) {<br /></span><span style="color: rgb(0, 128, 128);"> 8</span> <span style="color: rgb(0, 0, 0);">    </span><span style="color: rgb(0, 0, 255);">foreach</span><span style="color: rgb(0, 0, 0);"> (</span><span style="color: rgb(128, 0, 128);">$row</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 255);">as</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(128, 0, 128);">$item</span><span style="color: rgb(0, 0, 0);">) {<br /></span><span style="color: rgb(0, 128, 128);"> 9</span> <span style="color: rgb(0, 0, 0);">        </span><span style="color: rgb(0, 0, 255);">echo</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(128, 0, 128);">$item</span><span style="color: rgb(0, 0, 0);">.</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">;<br /></span><span style="color: rgb(0, 128, 128);">10</span> <span style="color: rgb(0, 0, 0);">        }<br /></span><span style="color: rgb(0, 128, 128);">11</span> <span style="color: rgb(0, 0, 0);">    </span><span style="color: rgb(0, 0, 255);">echo</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">&lt;br&gt;\n</span><span style="color: rgb(0, 0, 0);">"</span><span style="color: rgb(0, 0, 0);">;<br /></span><span style="color: rgb(0, 128, 128);">12</span> <span style="color: rgb(0, 0, 0);"> }<br /></span><span style="color: rgb(0, 128, 128);">13</span> <span style="color: rgb(0, 0, 0);">OCILogoff(</span><span style="color: rgb(128, 0, 128);">$conn</span><span style="color: rgb(0, 0, 0);">);<br /></span><span style="color: rgb(0, 128, 128);">14</span> <span style="color: rgb(0, 0, 0);"></span><span style="color: rgb(0, 0, 0);">?&gt;</span></div><br /></span></li></ol><br /><img src ="http://www.blogjava.net/mmwy/aggbug/75207.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/mmwy/" target="_blank">mmwy</a> 2006-10-15 02:46 <a href="http://www.blogjava.net/mmwy/archive/2006/10/15/75207.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在Trutix 3.0 Linux上配置dhcpd</title><link>http://www.blogjava.net/mmwy/archive/2005/12/29/25919.html</link><dc:creator>mmwy</dc:creator><author>mmwy</author><pubDate>Thu, 29 Dec 2005 10:07:00 GMT</pubDate><guid>http://www.blogjava.net/mmwy/archive/2005/12/29/25919.html</guid><wfw:comment>http://www.blogjava.net/mmwy/comments/25919.html</wfw:comment><comments>http://www.blogjava.net/mmwy/archive/2005/12/29/25919.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/mmwy/comments/commentRss/25919.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/mmwy/services/trackbacks/25919.html</trackback:ping><description><![CDATA[<P>1、安装<BR>从trutix 3.0的碟中，上传两个RPM文件DHCP_COM.RPM、DHCP_SER.RPM，然后使用rpm -ivh xxxx.rpm安装即可。<BR><BR>2、配置<BR><A href="mailto:root@trustix-v22-cvs-001">root@trustix-v22-cvs-001</A> ~# cat /etc/dhcpd.conf<BR># Do not claim to rule this network.&nbsp; You want to change this if you really<BR># want it to work.<BR>not authoritative;</P>
<P># Do not try to update DNS by default<BR>ddns-update-style none;</P>
<P>#网络<BR>subnet 61.138.209.0 netmask 255.255.255.0 {<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; range 61.138.209.235 61.138.209.240;&nbsp; #地址范围<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; default-lease-time 600;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #默认租期时间<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; max-lease-time 3600;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #用户可以获得的最长租期时间<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option subnet-mask 255.255.255.0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #掩码<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option routers 61.138.209.1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #网关<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; option domain-name-servers 61.166.150.101; #DNS地址<BR>}<BR>#为某个MAC地址绑定IP<BR>host usr1{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; hardware ethernet 00:50:8D:5A:9C:E9;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fixed-address 61.138.209.235;<BR>}</P><img src ="http://www.blogjava.net/mmwy/aggbug/25919.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/mmwy/" target="_blank">mmwy</a> 2005-12-29 18:07 <a href="http://www.blogjava.net/mmwy/archive/2005/12/29/25919.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>该死的中软Linux 3.1</title><link>http://www.blogjava.net/mmwy/archive/2005/12/27/25559.html</link><dc:creator>mmwy</dc:creator><author>mmwy</author><pubDate>Tue, 27 Dec 2005 04:30:00 GMT</pubDate><guid>http://www.blogjava.net/mmwy/archive/2005/12/27/25559.html</guid><wfw:comment>http://www.blogjava.net/mmwy/comments/25559.html</wfw:comment><comments>http://www.blogjava.net/mmwy/archive/2005/12/27/25559.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/mmwy/comments/commentRss/25559.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/mmwy/services/trackbacks/25559.html</trackback:ping><description><![CDATA[以前一直为KeepWatcher装的那台oracle服务器奇怪，中软Linux 3.1的系统，用了一年，发现/etc/hosts.deny里面写了近二十万条ALL:xxx.xxx.xxx.xxx记录。<br><br>这两天弄了台淘汰下来的服务器，准备装来做部门的cvs、bug、oracle服务器，想装oracle的时候省事省心，就装成中软的Linux 3.1,连上断掉再连，如此反复，最后发现自己上不去了，換台机器上去才发现自己被加进ipchains和/etc/hosts.deny里面去了。<br><br>开始怀疑是ipchains、iptables服务的问题，chkconfig --level 345 ipchains off以后，仍然如此。<br><br>打电话问情报所的吴兵，刚把现象一讲，他就直接说了，是hostsentry和portsentry两个进程做的怪，看了一下，在/etc/rc.d/rc3.d下，这两个东西都是S前缀的，停掉服务，终于OK。<br><br><br><img src ="http://www.blogjava.net/mmwy/aggbug/25559.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/mmwy/" target="_blank">mmwy</a> 2005-12-27 12:30 <a href="http://www.blogjava.net/mmwy/archive/2005/12/27/25559.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>在老版本Linux上启用iptables（禁止ipchains）</title><link>http://www.blogjava.net/mmwy/archive/2005/11/21/20810.html</link><dc:creator>mmwy</dc:creator><author>mmwy</author><pubDate>Mon, 21 Nov 2005 10:58:00 GMT</pubDate><guid>http://www.blogjava.net/mmwy/archive/2005/11/21/20810.html</guid><wfw:comment>http://www.blogjava.net/mmwy/comments/20810.html</wfw:comment><comments>http://www.blogjava.net/mmwy/archive/2005/11/21/20810.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/mmwy/comments/commentRss/20810.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/mmwy/services/trackbacks/20810.html</trackback:ping><description><![CDATA[最近在RH 6.1、COSIX 3.1服务器上配置iptables，被ipchains弄得半死。<br>
<br>
iptables需要加入ip_tables模块，但是由于ipchains从中作梗，每次都报错。<br>
[root@cosix-31-oracle-01 /root]# iptables --list<br>
/lib/modules/2.4.18-5smp/kernel/net/ipv4/netfilter/ip_tables.o: init_module: Device or resource busy<br>
Hint: insmod errors can be caused by incorrect module parameters, including invalid IO or IRQ parameters<br>
/lib/modules/2.4.18-5smp/kernel/net/ipv4/netfilter/ip_tables.o: insmod
/lib/modules/2.4.18-5smp/kernel/net/ipv4/netfilter/ip_tables.o failed<br>
/lib/modules/2.4.18-5smp/kernel/net/ipv4/netfilter/ip_tables.o: insmod ip_tables failed<br>
iptables v1.2.5: can't initialize iptables table `filter': iptables who? (do you need to insmod?)<br>
Perhaps iptables or your kernel needs to be upgraded.<br>
<br>
<br>
开始以为是服务器上安装oracle8i时，降了gcc版本造成的，折腾好几天，无意中在google上用“init_module: Device or resource busy”做关键词google到某个maillist中的提示信息，恍然大悟<br>
<br>
首先停掉ipchains服务<br>
#chkconfig --level 345 ipchains off<br>
# service ipchains stop<br>
Flushing all chains: [&nbsp; OK&nbsp; ]<br>
Removing user defined chains: [&nbsp; OK&nbsp; ]<br>
Resetting built-in chains to the default ACCEPT policy:[&nbsp; OK&nbsp; ]<br>
去掉ipchains的模块<br>
# rmmod ipchains<br>
<br>
使用vi编辑/etc/sysconfig/iptables文件（具体用哪个文件，要看/etc/rc.d/init.d/iptables脚本）。<br>
<br>
# Firewall configuration written by redhat-config-securitylevel<br>
# Manual customization of this file is not recommended.<br>
*filter<br>
:INPUT DROP [0:0]<br>
:FORWARD DROP [0:0]<br>
:OUTPUT ACCEPT [0:0]<br>
:RH-Firewall-1-INPUT - [0:0]<br>
-A INPUT -j RH-Firewall-1-INPUT<br>
-A FORWARD -j RH-Firewall-1-INPUT<br>
-A RH-Firewall-1-INPUT -i lo -j ACCEPT<br>
-A RH-Firewall-1-INPUT -p icmp -j ACCEPT<br>
-A RH-Firewall-1-INPUT -p 50&nbsp;&nbsp; -j ACCEPT<br>
-A RH-Firewall-1-INPUT -p 51&nbsp;&nbsp; -j ACCEPT<br>
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT<br>
<br>
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp -s 192.168.0.0/24&nbsp; -j ACCEPT<br>
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp -s 61.138.209.0/24 -j ACCEPT<br>
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp -s 61.166.155.0/24 -j ACCEPT<br>
<br>
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1521&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -j ACCEPT<br>
<br>
-A RH-Firewall-1-INPUT -p udp -s 61.138.209.0/24 -j ACCEPT<br>
<br>
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited<br>
COMMIT<br>
<br>
启动iptables服务<br>
#service iptables start<br>
Flushing all current rules and user defined chains: [&nbsp; OK&nbsp; ]<br>
Clearing all current rules and user defined chains: [&nbsp; OK&nbsp; ]<br>
Applying iptables firewall rules: <br>
[&nbsp; OK&nbsp; ]<br>
#chkconfig --level 345 iptables on<br>
<br>
<br>
<br>
<img src ="http://www.blogjava.net/mmwy/aggbug/20810.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/mmwy/" target="_blank">mmwy</a> 2005-11-21 18:58 <a href="http://www.blogjava.net/mmwy/archive/2005/11/21/20810.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>RHCD AS4 U2下vsftpd pam_userdb</title><link>http://www.blogjava.net/mmwy/archive/2005/11/18/20478.html</link><dc:creator>mmwy</dc:creator><author>mmwy</author><pubDate>Fri, 18 Nov 2005 10:50:00 GMT</pubDate><guid>http://www.blogjava.net/mmwy/archive/2005/11/18/20478.html</guid><wfw:comment>http://www.blogjava.net/mmwy/comments/20478.html</wfw:comment><comments>http://www.blogjava.net/mmwy/archive/2005/11/18/20478.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/mmwy/comments/commentRss/20478.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/mmwy/services/trackbacks/20478.html</trackback:ping><description><![CDATA[<span lang="EN-US">折腾了很久，还是 char 发现的问题。<br>
<br>
在AS4 U2下，/etc/pam.d/ftp.vsftpd中如下定义<br>
<br>
auth<span style="">&nbsp; </span>required<span style="">&nbsp;&nbsp; </span>/lib/security/pam_userdb.so<span style="">&nbsp;&nbsp; </span>db=<b style="">/etc/vsftpd/vsftpd.login<br>
<br>
</b>在使用db_load生成userdb文件时，应该使用<br>
<br>
db_load -T -t hash -f ftpuser /etc/vsftpd/vsftpd.login.db<br>
<br>
必须给定一个扩展名.db<br>
<b style=""><span style="font-weight: bold;"><br>
</span></b></span><img src ="http://www.blogjava.net/mmwy/aggbug/20478.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/mmwy/" target="_blank">mmwy</a> 2005-11-18 18:50 <a href="http://www.blogjava.net/mmwy/archive/2005/11/18/20478.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>VsFtpd安装、配置</title><link>http://www.blogjava.net/mmwy/archive/2005/11/15/19970.html</link><dc:creator>mmwy</dc:creator><author>mmwy</author><pubDate>Tue, 15 Nov 2005 15:45:00 GMT</pubDate><guid>http://www.blogjava.net/mmwy/archive/2005/11/15/19970.html</guid><wfw:comment>http://www.blogjava.net/mmwy/comments/19970.html</wfw:comment><comments>http://www.blogjava.net/mmwy/archive/2005/11/15/19970.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/mmwy/comments/commentRss/19970.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/mmwy/services/trackbacks/19970.html</trackback:ping><description><![CDATA[<h1 style="margin: 17pt 0cm 16.5pt;"><span lang="EN-US"><font face="Arial">1</font></span><span style="font-family: 黑体;">、</span><span lang="EN-US"><font face="Arial">vsftpd</font></span><span style="font-family: 黑体;">安装</span></h1>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">通常，装好</span><span lang="EN-US">RHCE AS3/4</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">以后，</span><span lang="EN-US">vsftpd</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">服务都已经安装完成。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">如果安装</span><span lang="EN-US">RHCE AS3/4</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">时未选择安装</span><span lang="EN-US">vsftpd</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">，你也可以使用</span><span lang="EN-US">rpm –ivh vsftp…rpm</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">使用手动安装，或者直接去</span><span lang="EN-US">vsftpd</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">网站（</span><span lang="EN-US">http://vsftpd.beasts.org/</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">）下载最新的</span><span lang="EN-US">tar.gz</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">格式源码包，解包后使用</span><span lang="EN-US">make/make install</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">即可</span></p>
<h2 style="margin: 13pt 0cm;"><span lang="EN-US"><font face="Arial">2</font></span><span style="font-family: 黑体;">、</span><span lang="EN-US"><font face="Arial">vsftpd</font></span><span style="font-family: 黑体;">配置</span></h2>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US">Vsftpd</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">默认使用</span><span lang="EN-US">linux</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">系统账号登录，维护管理不太方便，也容易引发安全问题。因此，建议采用</span><span lang="EN-US">pam_userdb</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">或是</span><span lang="EN-US">pam_mysql</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">进行虚拟用户配置。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><p>&nbsp;</p></span></p>
<h3 style="margin: 13pt 0cm;"><font size="5"><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">（</span><span lang="EN-US">1</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">）使用</span><span lang="EN-US">PAM_USERDB</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">保存</span><span lang="EN-US">ftp</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">登录账号</span></font></h3>
<p class="mobile-post" style="margin: auto 0cm;"><font face="宋体"><span lang="EN-US">A</span>、创建一个临时文件，如<span lang="EN-US">/root/a.txt</span>，按下面的格式在此文件中添加虚拟的用户：</font></p>
<p class="mobile-post" style="margin: auto 0cm; text-align: center;" align="center"><span style="color: gray;"><font face="宋体">用户名</font><font face="宋体"><span lang="EN-US">1<br></span>密码</font><font face="宋体"><span lang="EN-US">1<br></span>用户名</font><font face="宋体"><span lang="EN-US">2<br></span>密码<span lang="EN-US">2</span></font></span></p>
<p class="mobile-post" style="margin: auto 0cm;"><font face="宋体"><span lang="EN-US">B</span>、然后用<span lang="EN-US">db_load</span>命令生成<span lang="EN-US">pam_userdb</span>认证所需的账号文件</font></p>
<p class="mobile-post" style="margin: auto 0cm;"><span lang="EN-US"><font face="宋体">db_load -T -t hash -f a.txt /etc/vsftpd/vsftpd.login</font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US">C</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">、</span><span lang="EN-US">PAM</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">配置信息</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">在</span><span lang="EN-US">/etc/pam.d/</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">下创建一个文件，如</span><span lang="EN-US">/etc/pam.d/ftp.vsftpd</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">，文件内容如下</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US">auth<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>required<span style="">&nbsp;&nbsp; </span>/lib/security/pam_userdb.so<span style="">&nbsp;&nbsp; </span>db=<b style="">/etc/vsftpd/vsftpd.login</b><br>account<span style="">&nbsp;&nbsp; </span>required<span style="">&nbsp;&nbsp; </span>/lib/security/pam_userdb.so<span style="">&nbsp;&nbsp; </span>db=<a style=""><b style="">/etc/vsftpd/vsftpd.login</b></a></span><span class="MsoCommentReference"><b style=""><span lang="EN-US"><a language="JavaScript" class="msocomanchor" id="_anchor_1" onmouseover="function anonymous()
{
msoCommentShow('_anchor_1','_com_1')
}" onmouseout="function anonymous()
{
msoCommentHide('_com_1')
}" href="http://wuyu.someok.com/pebble/#_msocom_1" name="_msoanchor_1">[w1]</a><span style="">&nbsp;</span></span></b></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><p>&nbsp;</p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US">D</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">、编辑</span><span lang="EN-US">/etc/vsftpd.conf</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US">Vsftpd</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">默认的配置文件为</span><span lang="EN-US">/etc/vsftpd.conf</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">，你也可以在启动</span><span lang="EN-US">vsftpd</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">时使用“</span><span lang="EN-US">vsftpd /path/configfile</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">”的命令使用别的配置文件。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><p>&nbsp;</p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">通常，</span><span lang="EN-US"> /etc/vsftpd.conf</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">中只放置一些基本的配置信息（所有用户公共性的配置），然后针对具体用户做更详细的配置，下面是一个简单的</span><span lang="EN-US">vsftpd</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">配置示例。</span></p>
<p class="mobile-post" style="margin: auto 0cm;"><font face="宋体"><span lang="EN-US">listen=YES<br>listen_port=21<br>#</span>禁止匿名登录</font><span lang="EN-US"><br><font face="宋体">anonymous_enable=NO<br>local_enable=YES<br>chroot_local_user=YES<br>guest_enable=YES<br>#</font></span><font face="宋体">所有虚拟用户等同于<span lang="EN-US">ftp</span>这个系统账号的权限</font><span lang="EN-US"><br><font face="宋体">guest_username=ftp<br>#</font></span><font face="宋体">允许匿名下载</font><span lang="EN-US"><br><font face="宋体">anon_world_readable_only=NO<br>max_clients=100<br>max_per_ip=10<br>#</font></span><font face="宋体">与<span lang="EN-US">pam</span>部分配置的文件名应匹配，这里是</font><span lang="EN-US"><font face="宋体">ftpd.vsftpd<br>pam_service_name=</font><font face="宋体"><b style="">ftp.vsftpd<br></b>#</font></span><font face="宋体">指定每个虚拟用户账号配置目录，这里是</font><font face="宋体"><span lang="EN-US">/etc/vsftpd/virtual<br>#</span>如果需要对<span lang="EN-US">wuyu</span>这个账号进行详细配置，你需要创一个</font><span lang="EN-US"><br><font face="宋体">#/etc/vsftpd/virtual/wuyu</font></span><font face="宋体">的文件</font><span lang="EN-US"><br><font face="宋体">user_config_dir=</font><b style=""><font face="宋体">/etc/vsftpd/virtaul/<br></font></b></span><font face="宋体">＃指定默认的<span lang="EN-US">ftp</span>目录，如果不设置，则默认的<span lang="EN-US">ftp</span>目录为<span lang="EN-US">ftp</span>这个系统账号的默认目录（见<span lang="EN-US">/etc/passwd</span>文件内容）</font><span lang="EN-US"><br><font face="宋体">local_root=<b style="">/www/ftp</b><br>xferlog_enable=YES<br>xferlog_file=/var/log/vsftpd.log<br>xferlog_std_format=YES</font></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">按照上面这个配置文件，虚拟用户可以正常的登录</span><span lang="EN-US">ftp</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">，在</span><span lang="EN-US">ftp</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">上下载数据，但是不能创建目录，不能上传数据，用户的根目录指向</span><span lang="EN-US">/www/ftp</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">。如果需要允许个别用户上传，或是更改用户的</span><span lang="EN-US">ftp</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">根目录指向，我们需要在</span><span lang="EN-US">/etc/vsftpd/virtual</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">目录下根据用户名创建相应的配置文件。以</span><span lang="EN-US">wuyu</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">这个用户账号为例，其配置文件</span><span lang="EN-US">/etc/vsftpd/virtaul/wuyu</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">的内容如下：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><p>&nbsp;</p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US">local_root=/home/wuyu<br>write_enable=YES<br>anon_world_readable_only=NO<br>anon_upload_enable=YES<br>anon_mkdir_write_enable=YES</span></p>
<h3 style="margin: 13pt 0cm;"><font size="5"><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">（</span><span lang="EN-US">2</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">）使用</span><span lang="EN-US">mysql</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">数据库保存</span><span lang="EN-US">ftp</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">登录账号</span></font></h3>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">由于</span><span lang="EN-US">vsftpd</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">使用</span><span lang="EN-US">PAM</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">做为身份认证，因此，配置</span><span lang="EN-US">vsftpd</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">使用</span><span lang="EN-US">mysql</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">保存登录账号信息就非常方便，只要安装</span><span lang="EN-US">PAM_MYSQL</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">，然后修改</span><span lang="EN-US">vsftpd</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">的配置文件即可。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US">A</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">、安装</span><span lang="EN-US">mysql</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US">Mysql</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">编译，安装文档参见</span><span lang="EN-US">mysql</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">安装文档。完成</span><span lang="EN-US">mysql</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">安装，启动</span><span lang="EN-US">mysql</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">服务后，针对</span><span lang="EN-US">vsftpd</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">服务，做如下操作：</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US">a</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">、添加一个用户账号，如</span><span lang="EN-US">vsftpd</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">（密码为</span><span lang="EN-US">1234567</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">）。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US">b</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">、创建</span><span lang="EN-US">vsftpd</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">使用的数据库（如</span><span lang="EN-US">vsftpd</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">）</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US">c</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">、建表（字段名称可任意定义）</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US">CREATE TABLE `users` (</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><span style="">&nbsp; </span>`name` varchar(50),</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><span style="">&nbsp; </span>`passwd` varchar(50) </span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US">)</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><p>&nbsp;</p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US">B</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">、安装</span><span lang="EN-US">pam_mysql</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">至</span><span lang="EN-US"><a href="http://pam-mysql.sourceforge.net/">http://pam-mysql.sourceforge.net/</a></span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">下载</span><span lang="EN-US">pam_mysql</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">的源码包（</span><span lang="EN-US">tar.gz</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">格式），使用</span><span lang="EN-US">tar xvfz</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">命令解包。然后执行以下三步命令完成安装。</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><p>&nbsp;</p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US">./configure --with-mysql=mysql</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">安装目录</span><span lang="EN-US"><span style="">&nbsp; </span>--prefix=</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">安装目的目录，默认为</span><span lang="EN-US">/usr/local</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US">make</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US">make install</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US"><p>&nbsp;</p></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US">C</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">、配置</span><span lang="EN-US">pam_mysql</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">将</span><span lang="EN-US">vsftpd</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">由</span><span lang="EN-US">pam_userdb</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">改为</span><span lang="EN-US">pam_mysql</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">，仅仅需要修改与使用</span><span lang="EN-US">pam_userdb</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">相类似，在</span><span lang="EN-US">/etc/pam.d/</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">下创建一个文件，如</span><span lang="EN-US">/etc/pam.d/ftp.vsftpd</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">，文件内容如下</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US">auth<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>required<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>/usr/lib/security/pam_mysql.so<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>user=vsftpd<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>passwd=1234567<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>host=127.0.0.1<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>db=vsftpd<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>table=users<span style="">&nbsp;&nbsp;&nbsp;&nbsp; </span>usercolumn=name<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>passwdcolumn=passwd<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>crypt=2</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US">account<span style="">&nbsp;&nbsp; </span>required<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>/usr/lib/security/pam_mysql.so<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>user=vsftpd<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>passwd=1234567<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>host=127.0.0.1<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>db=vsftpd<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>table=users<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>usercolumn=name<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>passwdcolumn=passwd<span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>crypt=2</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">这里需要说明的是</span><span lang="EN-US">crypt</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">参数。</span><span lang="EN-US">crypt</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">表示口令字段中口令的加密方式：</span><span lang="EN-US">crypt=0</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">，口令以明文方式（不加密）保存在数据库中；</span><span lang="EN-US">crypt=1</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">，</span> <span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">口令使用</span><span lang="EN-US">UNIX</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">系统的</span><span lang="EN-US">DES</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">加密方式加密后保存在数据库中；</span><span lang="EN-US">crypt=2</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">，口令经过</span><span lang="EN-US">MySQL</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">的</span><span lang="EN-US">password()</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">函数加密后保存。</span></p>
<h3 style="margin: 13pt 0cm;"><font size="5"><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">（</span><span lang="EN-US">3</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">）在使用</span><span lang="EN-US">iptables</span><span style="font-family: 宋体;" ;="" mso-hansi-font-family="" times="" new="" roman="">的情况下允许被动模式。</span></font></h3>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US">modprobe iptable_nat</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US">modprobe ip_conntrack</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US">modprobe ip_conntrack_ftp</span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt;"><span lang="EN-US">modprobe ip_nat_ftp</span></p>
<img src ="http://www.blogjava.net/mmwy/aggbug/19970.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/mmwy/" target="_blank">mmwy</a> 2005-11-15 23:45 <a href="http://www.blogjava.net/mmwy/archive/2005/11/15/19970.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>