﻿<?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-网摘-文章分类-Linux</title><link>http://www.blogjava.net/jvict/category/38465.html</link><description /><language>zh-cn</language><lastBuildDate>Wed, 10 Feb 2010 21:43:51 GMT</lastBuildDate><pubDate>Wed, 10 Feb 2010 21:43:51 GMT</pubDate><ttl>60</ttl><item><title>CentOs初始設定- USTC 不错更新源镜像</title><link>http://www.blogjava.net/jvict/articles/310048.html</link><dc:creator>Documents</dc:creator><author>Documents</author><pubDate>Tue, 19 Jan 2010 03:22:00 GMT</pubDate><guid>http://www.blogjava.net/jvict/articles/310048.html</guid><wfw:comment>http://www.blogjava.net/jvict/comments/310048.html</wfw:comment><comments>http://www.blogjava.net/jvict/articles/310048.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jvict/comments/commentRss/310048.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jvict/services/trackbacks/310048.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;原文：http://pc010710.spaces.live.com/blog/cns!3B94BBAC5AE1A0F6!285.entry&nbsp;CentOS USTC mirror 这个镜像不错，大家更新可用这个CentOS USTC mirrorcd /etc/yum.repos.dmv CentOS-Base.repo&nbsp; CentOS-...&nbsp;&nbsp;<a href='http://www.blogjava.net/jvict/articles/310048.html'>阅读全文</a><img src ="http://www.blogjava.net/jvict/aggbug/310048.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jvict/" target="_blank">Documents</a> 2010-01-19 11:22 <a href="http://www.blogjava.net/jvict/articles/310048.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>vsftpd不能访问，SELinux相关的操作</title><link>http://www.blogjava.net/jvict/articles/310014.html</link><dc:creator>Documents</dc:creator><author>Documents</author><pubDate>Mon, 18 Jan 2010 14:59:00 GMT</pubDate><guid>http://www.blogjava.net/jvict/articles/310014.html</guid><wfw:comment>http://www.blogjava.net/jvict/comments/310014.html</wfw:comment><comments>http://www.blogjava.net/jvict/articles/310014.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jvict/comments/commentRss/310014.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jvict/services/trackbacks/310014.html</trackback:ping><description><![CDATA[<p>原文：<a href="http://hi.baidu.com/ma95221/blog/item/c779741137cc121bb8127b4f.html">http://hi.baidu.com/ma95221/blog/item/c779741137cc121bb8127b4f.html</a><br />
系统是<strong><font color="#ff0000">CentOS</font></strong>，是RH派系的。把vsftpd安装配置好了，以为大功告成，但客户端访问提示如下错误：<br />
500 OOPS: cannot change directory:/home/ftp<br />
原因是他的CentOS系统安装了SELinux，因为默认下是没有开启FTP的支持，所以访问时都被阻止了。<br />
<strong><font color="#ff0000">//查看SELinux设置<br />
</font></strong># getsebool -a|grep ftp<br />
ftpd_disable_trans --&gt; off<br />
或者<br />
ftp_home_dir--&gt;off <br />
<br />
解决方法：<br />
<strong><font color="#ff0000">//使用setsebool命令开启</font></strong><br />
# setsebool ftpd_disable_trans 1<br />
或者<br />
# setsebool ftp_home_dir 1<br />
再次查看当前状态是否是on的状态<br />
# getsebool -a|grep ftp<br />
ftpd_disable_trans --&gt; on<br />
或者<br />
ftp_home_dir--&gt;on<br />
<br />
<strong><font color="#ff0000">//setsebool使用-P参数，无需每次开机都输入这个命令</font></strong><br />
# setsebool -P ftpd_disable_trans 1<br />
或者<br />
# setsebool -P ftp_home_dir 1<br />
# service vsftpd restart<br />
<br />
有关selinux的配置<br />
<br />
如关闭，仅仅警告，强制等等 需要编辑/etc/sysconfig/selinux 默认是强制</p>
<h3>查看当前SELinux设置和状态
<ul>
    <li>sestatus命令
    <pre style="padding-bottom: 16px"><font color="green"># 当前SELinux开启设为启动，permissive模式，在当前状态下，可以使用setenforce 1改变为enforcing模式</font>
    [root@CentOS5 ~]<font color="green"># sestatus</font>
    SELinux status:                 enabled
    SELinuxfs mount:                /selinux
    Current mode:                   permissive
    Mode from config file:          disabled
    Policy version:                 21
    Policy from config file:        targeted</pre>
    <li>上面的输出是CentOS5中的，这里说明一下，sestatus这个命令在CentOS4/RHEL4（policycoreutils-1.18）和CentOS5/RHEL5（policycoreutils-1.33）中的默认输出不一样，在旧版本中，默认会同时输出详细的规则布尔值，而在新版本中默认不输出，使用-b开关可以打印这些布尔值，下面是旧版本（policycoreutils-1.18）中的输出样例
    <li>[root@CentOS4 ~]<font color="green"># sestatus</font>使用getenforce也可以查看当前状态
    <li>设置和修改SELinux状态
    <li>setenforce
    <pre style="padding-bottom: 16px">setenforce 1 <font color="green"># 设定selinux模式为enforcing</font>
    setenforce 0 <font color="green"># 设定selinux模式为permissive</font>
    <font color="green"># 注：当前SElinux为Disabled状态时，setenforce会执行失败，并警告："setenforce: SELinux is disabled"<br />
    </font>修改/etc/sysconfig/selinux：这个文件决定了系统启动时是否启用SELinux以及启动的模式</pre>
    </li>
</ul>
</h3>
<img src ="http://www.blogjava.net/jvict/aggbug/310014.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jvict/" target="_blank">Documents</a> 2010-01-18 22:59 <a href="http://www.blogjava.net/jvict/articles/310014.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>CentOS 5.4环境下的php5.3.1手动安装</title><link>http://www.blogjava.net/jvict/articles/309941.html</link><dc:creator>Documents</dc:creator><author>Documents</author><pubDate>Mon, 18 Jan 2010 04:42:00 GMT</pubDate><guid>http://www.blogjava.net/jvict/articles/309941.html</guid><wfw:comment>http://www.blogjava.net/jvict/comments/309941.html</wfw:comment><comments>http://www.blogjava.net/jvict/articles/309941.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jvict/comments/commentRss/309941.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jvict/services/trackbacks/309941.html</trackback:ping><description><![CDATA[CentOS 5.4环境下的php5.3.1手动安装<br />
<br />
Cent自带的版本是5.1.16，现下载php5.3.1安装包tar.gz,解压到/usr/local/src中<br />
执行下述命令：<br />
./configure \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--prefix=/usr/local/php" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--with-apxs2=/usr/sbin/apxs" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--with-config-file-path=/usr/local/php/etc" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--with-mysql=/usr/local/mysql" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--with-mysqli" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--with-libxml-dir=/usr/lib/libxml" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--with-gd" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--with-pdo-mysql" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--with-pdo-sqlite" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--with-jpeg-dir" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--with-png-dir" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--with-bz2" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--with-pear=/usr/lib/pear" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--with-freetype-dir" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--with-iconv-dir" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--with-zlib-dir " \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--with-mcrypt=/usr/lib/libmcrypt" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--enable-sockets" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--enable-soap" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--enable-sqlite-utf8" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--enable-gd-native-ttf" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--enable-ftp" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--enable-mbstring" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--enable-exif" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--disable-ipv6" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--disable-cgi"
<img src ="http://www.blogjava.net/jvict/aggbug/309941.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jvict/" target="_blank">Documents</a> 2010-01-18 12:42 <a href="http://www.blogjava.net/jvict/articles/309941.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>FreeBSD 8 mysql apache php java整合</title><link>http://www.blogjava.net/jvict/articles/309446.html</link><dc:creator>Documents</dc:creator><author>Documents</author><pubDate>Thu, 14 Jan 2010 05:47:00 GMT</pubDate><guid>http://www.blogjava.net/jvict/articles/309446.html</guid><wfw:comment>http://www.blogjava.net/jvict/comments/309446.html</wfw:comment><comments>http://www.blogjava.net/jvict/articles/309446.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jvict/comments/commentRss/309446.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jvict/services/trackbacks/309446.html</trackback:ping><description><![CDATA[<strong>1.下载安装FreeBSD 8，ＤＶＤ１<br />
2.安装mysql 5 - 利用ports安装<br />
</strong><font size="2">cd /usr/ports/databases/mysql50-server/ <br />
make install clean # n长的编译过程 <br />
rehash <br />
mysql_install_db --user=mysql <br />
chown -R mysql /var/db/mysql/<br />
chgrp -R mysql /var/db/mysql/<br />
/usr/local/bin/mysqld_safe -user=mysql &amp;<br />
<br />
mysqld_safe－－MySQL服务器启动脚本 <br />
mysqld_safe是在Unix或是NetWare系统推荐使用来启动MySQL服务器的方法。mysqld_safe添加了许多安全的特征，例如，当发生错误时重新启动服务器，并且可以将运行时的信息写入错误日志文件<br />
<br />
<li>The port installation will put a script file mysql-server.sh<br />
in /usr/local/etc/rc.d which will has capability to start MySQL server.<br />
To enable MySQL server to start automatically after every FreeBSD<br />
server reboot, enter the following command in CLI:
<p><span style="color: red">echo &#8216;mysql_enable=&#8221;YES&#8221;&#8216; &gt;&gt; /etc/ rc.conf<br />
</span></p>
<p>mysqladmin -u root password newpassword (改变root帐户密码）<br />
</p>
<li>MySQL 5.0 installation done. <br />
------------------------------------------------------------------------<br />
<strong>3.安装 Apache Web Server 2.2<br />
</strong>Install Apache HTTP Server 2.20 by using FreeBSD Ports Collection: <br />
cd /usr/ports/www/apache22<br />
make install clean<br />
<li>A Apache HTTP Server script apache22.sh is located at<br />
/usr/local/etc/rc.d to provide Apache HTTP Server start and shutdown <font color="#333333">.</font> <br />
service. To enable Apache web server to automatically starts whenever<br />
after server reboots, issue the following command at CLI: <br />
<span style="color: red">echo &#8216;apache22_enable =&#8221;YES&#8221;&#8216; &gt;&gt; /etc/ rc.conf<br />
</span>
<li>To start Apache HTTP web server immediately, use: <br />
/usr/local/sbin/apachectl start<br />
or<br />
/usr/local/etc/rc.d/apache22.sh start<br />
<li>Apache installation finished. <br />
<br />
<strong>4.Installing PHP Hypertext Preprocessor Scripting Language 5 and PHP 5 Extensions<br />
</strong>
<li>Install by enter the following commands on FreeBSD OS command line,<br />
wait for previous command to finish before running the next command: cd /usr/ports/lang/php5<br />
make install clean<br />
<li>If you&#8217;re prompted, select &#8220;use Apache 2.x instead&#8221;. <br />
<li>Continue with the following commands to install PHP5 extensions and modules to enable the support of the modules in Apache: <br />
cd /usr/ports/lang/php5-extensions </font>make config<br />
<li>At Options for php5-extension 1.0 menu, select all PHP<br />
extensions and modules that you may use with Apache webserver. This is<br />
a part of the configuration for PHP, where you need to enable features<br />
of PHP that come in modules, such as ability to manage user sessions,<br />
interface with databases and many others. Default extensions such as<br />
ctype functions support, HASH Message Digest Framework support, session<br />
support and etc have been selected. Other popular extensions that you<br />
most likely to be in used are MySQL database support and GD library<br />
support. Use space bar to select or unselect the extensions and press<br />
Enter when done.
<li>Continue the installation of php5-extensions with the following commands: <br />
make install clean<br />
<li>If there are any message the pops up and prompts you to select<br />
some options or configurations, you can just accept the default<br />
settings by pressing Enter. Some modules that may prompt you for action&nbsp; <br />
include php5-gd, php5-mbstring and php5-sqlite.
<li>Edit the Apache configuration file in order to enable Apache web server to load the PHP modules when initialization: <br />
<li>Go to Apache configuration file location by cd /usr/local/etc/apache2/ <br />
<li>Edit Apache configuration file by vi httpd.conf <br />
<li>Search for LoadModule lines, after the last LoadModule line, but within the same section, add the following 2 lines: <br />
AddType application/x- httpd-php .php<br />
AddType application/x- httpd-php-source .phps<br />
<li>Optionally, copy /usr/local/etc/php.ini-recommended or<br />
/usr/local/etc/php.ini-dist to /usr/local/etc/php.ini (in same<br />
directory), which will enable you to tune and change the default<br />
settings of behaviours of PHP.
<li>Start the Apache HTTP web server by using apachectl start<br />
(or restart Apache HTTP web server by using apachectl restart).<br />
apachectl is located in /usr/local/sbin, if you encounter Command not<br />
found problem, try to change directory to its location.
<li>PHP5 installation done. <font color="#333333">。</font> <br />
A web server has been setup with the FreeBSD with Apache, MySQL and<br />
PHP. The document root of the web server (where you should put your<br />
HTML and PHP files is at /usr/local/www/apache22/data/ and you will<br />
need a SecureFTP (SFTP) client such as WinSCP to upload your files to<br />
web server securely.
<p><br />
<strong>5.安装php后若apache不能启动：<br />
</strong>在 FreeBSD 下安装 apache22 会出现类似的 warming:<br />
No such file or directory: Failed to enable the 'httpready' Accept Filter</p>
<p>解决方案：<br />
#kldload accf_http并在 /boot/defaults/loader.conf 中加入下面 2 行，以便下次启动自动装载模块<br />
accf_data_load="YES"<br />
accf_http_load="YES"<br />
<br />
<strong>问题</strong><br />
[root@freebsd ~]# apachectl -t<br />
httpd: Could not reliably determine the server's fully qualified domain name, using freebsd.web for ServerName</p>
<p>解决方案：<br />
vi /usr/local/etc/apache22/httpd.conf<br />
添加这么一行：<span style="color: red">ServerName 127.0.0.1:80</span></p>
</li>
<img src ="http://www.blogjava.net/jvict/aggbug/309446.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jvict/" target="_blank">Documents</a> 2010-01-14 13:47 <a href="http://www.blogjava.net/jvict/articles/309446.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Cent OS OpenJava 1.6 Apache 2.x Tomcat 6.x JK-1.2.28(Apache Tomcat Connectors )整合</title><link>http://www.blogjava.net/jvict/articles/309345.html</link><dc:creator>Documents</dc:creator><author>Documents</author><pubDate>Wed, 13 Jan 2010 10:32:00 GMT</pubDate><guid>http://www.blogjava.net/jvict/articles/309345.html</guid><wfw:comment>http://www.blogjava.net/jvict/comments/309345.html</wfw:comment><comments>http://www.blogjava.net/jvict/articles/309345.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jvict/comments/commentRss/309345.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jvict/services/trackbacks/309345.html</trackback:ping><description><![CDATA[<strong>问题：当从apache 2.2.14换成apache 2.2.3时，已配好的jsp环境无法正常运行，mod_jk.so不能使用<br />
</strong>&nbsp;&nbsp;&nbsp;<span style="color: #0000ff">重新用yum 安装了httpd-devel套件生成了apxs后，重新对tomcat-connector源程序进行make clean,.configurage,make,make install后用新生成的mod_jk.so即可正常。当系统增加虚拟主机后，httpd.conf配置文件也要进行相应改变。下面有详细说明。</span><br />
<strong>1.下载解压&nbsp;Apache安装至 /usr/local/apache<br />
2.下载解压tomcat安装至 /usr/local/tomcat<br />
3.下载JK-1.2.28源文件(Apache Tomcat Connectors ) 在Tomcat官网界面上有相应连接<br />
4. 编译JK-1.2.28<br />
</strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;进入native目录<br />
　　./configure -with-apxs=/home2/local/apache/bin/apxs<br />
　　make<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cp ./apache-2.0/mod_jk.so /usr/local/apache/modules<br />
<strong>5.修改apache配置文件httpd.conf<br />
</strong>#增加index.jsp&nbsp;&nbsp;&nbsp;&nbsp;<br />
&lt;IfModule dir_module&gt;<br />
&nbsp;&nbsp;&nbsp; DirectoryIndex index.html index.php index.jsp<br />
&lt;/IfModule&gt;<br />
<br />
<p>LoadModule jk_module&nbsp;&nbsp;&nbsp; modules/mod_jk.so<br />
<br />
JkWorkersFile /usr/local/apache/conf/workers.properties<br />
JkLogFile&nbsp;&nbsp;&nbsp;&nbsp; /usr/local/apache/logs/mod_jk.log<br />
JkLogLevel&nbsp;&nbsp;&nbsp; info<br />
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "<br />
JkMount /*.jsp worker1<br />
JkMount /*.do worker1 // 此项为配置servlet, 在web.xml中可自由配置路径如<span style="color: red">：&lt;url-pattern&gt;/servlet/login&lt;/url-pattern&gt;<br />
</span>// 此时不宜配置成/*, 否则将会屏蔽掉php等其它脚本解析。<br />
<br />
# 以下两项可以省略不要<br />
#JkMount /servlet/* worker1<br />
#JkMount&nbsp; /*.do* worker1<br />
<br />
<span style="color: red"><strong>如果存在虚拟主机，需要进行单独配置，如下所示：<br />
</strong><span style="color: #000000">&lt;VirtualHost *:80&gt;<br />
&nbsp;&nbsp;&nbsp; DocumentRoot /var/www/html/<br />
&nbsp;&nbsp;&nbsp; ServerName&nbsp;<a href="http://www.example.com/">www.example.com</a><br />
&nbsp;&nbsp;&nbsp; ServerAlias&nbsp;example.com<br />
&nbsp;<span style="color: #0000ff">&nbsp;&nbsp; &lt;Location "/*.jsp"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; JkMount worker1<br />
&nbsp;&nbsp;&nbsp; &lt;/Location&gt;<br />
</span>&lt;/VirtualHost&gt;<br />
</span></span><br />
<br />
<strong>6. 在apache/conf中增加workers.properties</strong><br />
# Define 1 real worker using ajp13<br />
worker.list=worker1</p>
<p># Set properties for worker1 (ajp13)<br />
worker.worker1.type=ajp13<br />
worker.worker1.host=localhost<br />
worker.worker1.port=8009</p>
<strong>7. 修改Tomcat/conf中的server.xml配置文件，在host中增加路径映射<br />
</strong>&lt;Context path="" docBase="/usr/local/apache/htdocs" debug="0" reloadable="true" crossContext="true" /&gt; <br />
<br />
<strong>8.配置tomcat为服务</strong><br />
编写tomcat脚本，chkconfig --list 显示已有服务，chkconfig --add 添加服务 <br />
<br />
<strong>9.自定义访问找不到相应页面时，tomcat的404错误。</strong>400错误设置方法相同<br />
编辑tomcat安装目录中conf中的web.xml在最后加入<br />
&nbsp;&nbsp;&nbsp; &lt;error-page&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;error-code&gt;404&lt;/error-code&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;location&gt;/404.html&lt;/location&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/error-page&gt;<br />
<img src ="http://www.blogjava.net/jvict/aggbug/309345.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jvict/" target="_blank">Documents</a> 2010-01-13 18:32 <a href="http://www.blogjava.net/jvict/articles/309345.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Nginx 0.6.31 + PHP 5.2.6（FastCGI）搭建胜过Apache十倍的Web服务器</title><link>http://www.blogjava.net/jvict/articles/306088.html</link><dc:creator>Documents</dc:creator><author>Documents</author><pubDate>Wed, 16 Dec 2009 00:46:00 GMT</pubDate><guid>http://www.blogjava.net/jvict/articles/306088.html</guid><wfw:comment>http://www.blogjava.net/jvict/comments/306088.html</wfw:comment><comments>http://www.blogjava.net/jvict/articles/306088.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jvict/comments/commentRss/306088.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jvict/services/trackbacks/306088.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 原文：http://www.phpv.net/html/1606.htmlNginx("engine x") 是一个高性能的 HTTP 和反向代理服务器，也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 是由Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的，它已经在该站点运行超过两年半了。Igor将源代码以类BSD许可证的形式发...&nbsp;&nbsp;<a href='http://www.blogjava.net/jvict/articles/306088.html'>阅读全文</a><img src ="http://www.blogjava.net/jvict/aggbug/306088.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jvict/" target="_blank">Documents</a> 2009-12-16 08:46 <a href="http://www.blogjava.net/jvict/articles/306088.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>linux下手动安装pdo_mysql</title><link>http://www.blogjava.net/jvict/articles/305651.html</link><dc:creator>Documents</dc:creator><author>Documents</author><pubDate>Fri, 11 Dec 2009 14:23:00 GMT</pubDate><guid>http://www.blogjava.net/jvict/articles/305651.html</guid><wfw:comment>http://www.blogjava.net/jvict/comments/305651.html</wfw:comment><comments>http://www.blogjava.net/jvict/articles/305651.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jvict/comments/commentRss/305651.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jvict/services/trackbacks/305651.html</trackback:ping><description><![CDATA[原文1：<a href="http://www.linuxdiyf.com/viewarticle.php?id=88301">http://www.linuxdiyf.com/viewarticle.php?id=88301</a><br />
原文2：http://apipi.blog.163.com/blog/static/42266381200911641949868/<br />
<br />
原来编译php的时候，没有把dpo_mysql相关的参数带上，安装完后才发现。再重新编译有点费时间，所以决定单独来安装。<br />
<br />
先到<a href="http://pecl.php.net/" target="_blank">http://pecl.php.net/</a>找需要的版本，我用的是稳定的版本。要先看看说明，特别是要注意mysql的php的版本。<br />
<br />
wget <a href="http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz" target="_blank">http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz</a><br />
tar xzvf PDO_MYSQL-1.0.2.tgz<br />
cd PDO_MYSQL-1.0.2<br />
/usr/local/php/bin/phpize<br />
Configuring for:<br />
PHP Api Version: 20041225<br />
Zend Module Api No: 20060613<br />
Zend Extension Api No: 220060519<br />
./configure --with-php-config=/usr/local/php/bin/php-config<br />
<br />
经过configure就可以make了<br />
<br />
make<br />
make install注意pdo_mysql的全路径，我的是：<br />
<br />
/usr/local/php/lib/php/extensions/debug-non-zts-20060613/pdo_mysql.so<br />
<br />
然后在/usr/local/lib/php.ini<br />
<br />
加上一句：<br />
<br />
extension=/usr/local/php/lib/php/extensions/debug-non-zts-20060613/pdo_mysql.so<br />
<br />
重新启动apache即可看到已经加载pdo_mysql成功。<br />
<br />
--------------------------------------------------------------------------------------------<br />
<p>安装 PHP 时，刚执行 ./php.config.sh</p>
<p>checking for MSSQL support via FreeTDS.. no </p>
<p>checking for MySQL support... yes </p>
<p>checking for specified location of the MySQL UNIX socket... no </p>
<p>checking for MySQL UNIX socket location... /tmp/mysql.sock </p>
<p>configure: error: Cannot find MySQL header files under yes. </p>
<p>Note that the MySQL client library is not bundled anymore.</p>
<p>&nbsp;解法：　　　 </p>
<p>如果不知道 header file 在哪，用 「find / -name mysql.h」命令找出其位置；　　　</p>
<p>如果是自己也有手動安裝 MySQL 套件的話，直接指定該位置。 </p>
<p>在 ./configure 下参数指定 header file 的位置（即mysql安装目录），如下: </p>
<p>./configure --with-apxs2=/usr/local/Apache2/bin/apxs --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config </p>
<p>&nbsp;</p>
<p>如果依然提示找不到mysql_config提示：</p>
<p>checking for mysql_config... /usr/bin/mysql_config is not a directory<br />
configure: error: can not find mysql under the /usr/bin/mysql_config that you specified</p>
<p>则cp /usr/local/mysql/bin/mysql_config /<font color="#cc0033">usr/bin/mysql_config</font> </p>
<p>&nbsp;</p>
<p>php.config.sh的编译参数如下：</p>
<p>#! /bin/sh<br />
ulimit -HSn 65536<br />
CFLAGS="-march=pentium4 -O2 -pipe -fomit-frame-pointer"; CXXFLAGS="$CFLAGS" ;export CFLAGS CXXFLAGS<br />
#LDFLAGS="-L/usr/lib64 -L/lib64"; export LDFLAGS</p>
<p>./configure --enable-inline-optimization --disable-debug&nbsp; --with-mysql=/usr/local/mysql&nbsp; --with-mysqli=/usr/local/mysql/bin/mysql_config --with-apxs2=/usr/local/apache2/bin/apxs --with-iconv --with-curl --enable-mbstring --enable-sockets --with-png-dir --with-jpeg-dir=/usr/local/jpeg6/lib --with-freetype-dir --with-gd --with-libxml-dir=/usr --enable-xml --enable-zip --with-zlib-dir --with-gettext --enable-pdo --with-pdo-sqlite --with-pdo-mysql=/usr/bin/mysql_config --enable-calendar --enable-ftp --with-pcre-regex --disable-ipv6 --enable-soap</p>
<img src ="http://www.blogjava.net/jvict/aggbug/305651.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jvict/" target="_blank">Documents</a> 2009-12-11 22:23 <a href="http://www.blogjava.net/jvict/articles/305651.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Cent OS 4.3下快速构建php+mysql+apache+Zend+GD标准服务器</title><link>http://www.blogjava.net/jvict/articles/305386.html</link><dc:creator>Documents</dc:creator><author>Documents</author><pubDate>Thu, 10 Dec 2009 02:56:00 GMT</pubDate><guid>http://www.blogjava.net/jvict/articles/305386.html</guid><wfw:comment>http://www.blogjava.net/jvict/comments/305386.html</wfw:comment><comments>http://www.blogjava.net/jvict/articles/305386.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jvict/comments/commentRss/305386.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jvict/services/trackbacks/305386.html</trackback:ping><description><![CDATA[<a href="http://www.discuz.net/thread-378685-1-1.html">原文：http://www.discuz.net/thread-378685-1-1.html</a><br />
弄了半天了，终于弄完了：<br />
过程如下：<br />
安装mysql-5.0.22<br />
<div class="blockcode">
<div id="code0">
<ol>
    <li>&gt;tar -xzvf mysql-5.0.22.tar.gz<br />
    <li>&gt;cd mysql-5.0.22<br />
    <li>&gt;./configure --prefix=/usr/local/mysql<br />
    <li>&gt;make<br />
    <li>&gt;make install<br />
    <li>&gt;cd /usr/local/mysql<br />
    <li>&gt;bin/mysql_install_db --user=mysql<br />
    <li>&gt;chown -R root .<br />
    <li>&gt;chown -R mysql var<br />
    <li>&gt;chown -R mysql .<br />
    <li>&gt;chown -R root&nbsp;&nbsp;/usr/local/mysql<br />
    <li>&gt;chown -R mysql /usr/local/mysql/var<br />
    <li>&gt;chown -R mysql /usr/local/mysql<br />
    <li>&gt;chown -R root /usr/local/mysql/bin<br />
    <li>&gt;cp /usr/local/mysql/share/mysql/mysql.server /etc/rc.d/init.d/mysqld<br />
    <li>&gt;chkconfig --add mysqld<br />
    <li>&gt;chgrp -R mysql /usr/local/mysql<br />
    <li>&gt;/etc/rc.d/init.d/mysqld start</li>
</ol>
</div>
<em onclick="copycode($('code0'));">复制代码</em></div>
<br />
<br />
安装jpegsrc.v6b<br />
<div class="blockcode">
<div id="code1">
<ol>
    <li>&gt;tar -xzvf jpegsrc.v6b.tar.gz<br />
    <li>&gt;cd jpeg-6b<br />
    <li>&gt;./configure<br />
    <li>&gt;make<br />
    <li>&gt;mkdir -p /usr/local/man/man1<br />
    <li>&gt;make install<br />
    <li>&gt;make install-lib</li>
</ol>
</div>
<em onclick="copycode($('code1'));">复制代码</em></div>
<br />
<br />
安装freetype-2.2.1<br />
<div class="blockcode">
<div id="code2">
<ol>
    <li>&gt;tar -xzvf freetype-2.2.1.tar.gz<br />
    <li>&gt;cd freetype-2.2.1<br />
    <li>&gt;./configure<br />
    <li>&gt;make<br />
    <li>&gt;make install</li>
</ol>
</div>
<em onclick="copycode($('code2'));">复制代码</em></div>
<br />
<br />
安装zlib-1.2.3<br />
<div class="blockcode">
<div id="code3">
<ol>
    <li>&gt;tar -xzvf zlib-1.2.3.tar.gz<br />
    <li>&gt;cd zlib-1.2.3<br />
    <li>&gt;./configure<br />
    <li>&gt;make<br />
    <li>&gt;make install</li>
</ol>
</div>
<em onclick="copycode($('code3'));">复制代码</em></div>
<br />
<br />
安装libpng-1.2.12<br />
<div class="blockcode">
<div id="code4">
<ol>
    <li>&gt;tar -xzvf libpng-1.2.12.tar.gz<br />
    <li>&gt;cd libpng-1.2.12<br />
    <li>&gt;./configure<br />
    <li>&gt;make<br />
    <li>&gt;make install</li>
</ol>
</div>
<em onclick="copycode($('code4'));">复制代码</em></div>
<br />
<br />
安装GD库gd-2.0.33<br />
<div class="blockcode">
<div id="code5">
<ol>
    <li>&gt;tar -xzvf gd-2.0.33.tar.gz<br />
    <li>&gt;cd gd-2.0.33<br />
    <li>&gt;./configure<br />
    <li>&gt;make<br />
    <li>&gt;make install<br />
    <li>&gt;cp gd.h /usr/local/lib/</li>
</ol>
</div>
<em onclick="copycode($('code5'));">复制代码</em></div>
<br />
<br />
安装libxml2-2.6.24<br />
<div class="blockcode">
<div id="code6">
<ol>
    <li>&gt;tar -xzvf libxml2-2.6.24.tar.gz<br />
    <li>&gt;cd libxml2-2.6.24<br />
    <li>&gt;./configure<br />
    <li>&gt;make<br />
    <li>&gt;make install</li>
</ol>
</div>
<em onclick="copycode($('code6'));">复制代码</em></div>
<br />
<br />
安装apache: httpd-2.2.3<br />
<div class="blockcode">
<div id="code7">
<ol>
    <li>&gt;tar -xzvf httpd-2.2.3.tar.gz<br />
    <li>&gt;cd httpd-2.2.3<br />
    <li>&gt;./configure --prefix=/usr/local/apache --enable-module=so<br />
    <li>&gt;make<br />
    <li>&gt;make install</li>
</ol>
</div>
<em onclick="copycode($('code7'));">复制代码</em></div>
<br />
<br />
安装php-5.1.4<br />
<div class="blockcode">
<div id="code8">
<ol>
    <li>&gt;tar -xzvf php-5.1.4.tar.gz<br />
    <li>&gt;cd php-5.1.4<br />
    <li>&gt;./configure --prefix=/usr/local/php \<br />
    <li>--with-apxs2=/usr/local/apache/bin/apxs \<br />
    <li>--with-gd \<br />
    <li>--with-jpeg-dir \<br />
    <li>--with-ttf \<br />
    <li>--with-zlib-dir \<br />
    <li>--with-png-dir \<br />
    <li>--enable-track-vars \<br />
    <li>--enable-mbstring=all \<br />
    <li>--with-mysql=/usr/local/mysql<br />
    <li>--------<br />
    <li>&gt;make<br />
    <li>&gt;make install</li>
</ol>
</div>
<em onclick="copycode($('code8'));">复制代码</em></div>
<br />
<div class="blockcode">
<div id="code9">
<ol>
    <li>&gt;libtool --finish /root/php-5.1.4/<br />
    <li>&gt;chmod 755 /usr/local/apache/modules/libphp5.so<br />
    <li>&gt;cp php.ini-dist /usr/local/php/lib/php.ini<br />
    <li>－－－－－－－－－－－－－－－－－－<br />
    <li>AddType application/x-httpd-php .php<br />
    <li>AddType application/x-httpd-php-source .phps<br />
    <li><br />
    <li>LoadModule php5_module modules/libphp5.so<br />
    <li><br />
    <li>DirectoryIndex index.html index.html.var index.php<br />
    <li>－－－－－－－－－－－－－－－－－－－－<br />
    <li>再找<br />
    <li>#ServerName<br />
    <li>把#去掉,后面的IP改成你的IP.<br />
    <li><br />
    <li>找到<br />
    <li>"/usr/local/apache/htdocs"<br />
    <li>把两个"/usr/local/apache/htdocs"改为你存放网页文件的路径<br />
    <li><br />
    <li>保存httpd.conf文件.<br />
    <li><br />
    <li>启动它<br />
    <li># /usr/local/apache2/bin/apachectl start<br />
    <li>如果没有出错,写一个测试页放到你网页目录下, 我的就是上面所说的&lt;? phpinfo(); ?&gt;<br />
    <li>保存.试试在测试器里打IP进去就可以看到PHPINFO页了<br />
    <li><br />
    <li>把Apache2加入系统服务<br />
    <li>#cd /etc/rc.d/init.d<br />
    <li>#cp /usr/local/apache/bin/apachectl ./httpd<br />
    <li>用文本编辑/etc/rc.d/init.d/httpd<br />
    <li>在头部加入<br />
    <li>#chkconfig: 345 79 15<br />
    <li>#description: Activates/Deactivates Apache Web Server<br />
    <li># processname: httpd<br />
    <li>#chkconfig --add httpd</li>
</ol>
</div>
<em onclick="copycode($('code9'));">复制代码</em></div>
<br />
<br />
安装Zend: ZendOptimizer-3.0.1-linux-glibc21-i386.tar.gz<br />
<div class="blockcode">
<div id="code10">
<ol>
    <li>&gt;tar -xzvf ZendOptimizer-3.0.1-linux-glibc21-i386.tar.gz<br />
    <li>&gt;cd ZendOptimizer-3.0.1-linux-glibc21-i386<br />
    <li>&gt;./install.sh<br />
    <li>--------------------------------<br />
    <li>/usr/local/php/lib/<br />
    <li>-------------------------------<br />
    <li>successed!!</li>
</ol>
</div>
<em onclick="copycode($('code10'));">复制代码</em></div>
<br />
<br />
为了便于管理，大家也可以自行安装一个phpmyadmin及webmin的管理程序。<br />
 <img src ="http://www.blogjava.net/jvict/aggbug/305386.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jvict/" target="_blank">Documents</a> 2009-12-10 10:56 <a href="http://www.blogjava.net/jvict/articles/305386.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>CentOS 5.0下自动安装MYSQL+APACHE+PHP+ZEND+GD</title><link>http://www.blogjava.net/jvict/articles/305365.html</link><dc:creator>Documents</dc:creator><author>Documents</author><pubDate>Thu, 10 Dec 2009 01:38:00 GMT</pubDate><guid>http://www.blogjava.net/jvict/articles/305365.html</guid><wfw:comment>http://www.blogjava.net/jvict/comments/305365.html</wfw:comment><comments>http://www.blogjava.net/jvict/articles/305365.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jvict/comments/commentRss/305365.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jvict/services/trackbacks/305365.html</trackback:ping><description><![CDATA[<a href="http://www.linuxdiyf.com/viewarticle.php?id=104550">原文：http://www.linuxdiyf.com/viewarticle.php?id=104550</a><br />
适合操作系统CENTOS 带YUM功能的LINUX<br />
<br />
实验系统为:CENTOS5 最小化安装,就是用第一张CD装 不提示要第2张的那种<br />
<br />
需要使用ROOT用户安装<br />
<br />
希望能给大家帮助,本人初学LINUX,欢迎对文档进行2次更改发布<br />
<br />
请先运行yum程序安装所需软件包(以下为标准的RPM包名称)<br />
<br />
# yum install ntp vim-enhanced gcc gcc-c++ flex bison autoconf automake bzip2-devel ncurses-devel libjpeg-devel libpng-devel libtiff-devel freetype-devel pam-devel kernel netconfig<br />
<br />
脚本下载地址<br />
# wget <a href="http://www.zzlan.cn/httpd/lmapz.sh" target="_blank">http://www.zzlan.cn/httpd/lmapz.sh</a><br />
<br />
把脚本里的 yourpassword 更改成你的MYSQL_ROOT用户密码<br />
# chmod 700 lmapz.sh<br />
# ./lmapz.sh<br />
<br />
脚本如下<br />
<center>
<table cellspacing="0" cellpadding="0" width="90%" border="0">
    <tbody>
        <tr>
            <td>
            <div class="codetop">CODE:</div>
            <div class="codemain">#!/bin/bash<br />
            # BY ESUN<br />
            # QQ:667302<br />
            # MAIL:esunnet@qq.com<br />
            # BLOG:http://hi.baidu.com/667302/<br />
            # Please manual operation yum of before Operation.....<br />
            <br />
            # yum install ntp vim-enhanced gcc gcc-c++ flex bison autoconf \<br />
            # automake bzip2-devel ncurses-devel libjpeg-devel libpng-devel \<br />
            # libtiff-devel freetype-devel pam-devel kernel netconfig <br />
            <br />
            #########################################<br />
            ntpdate 210.72.145.44<br />
            mkdir /home/temp/<br />
            cd /home/temp/<br />
            <br />
            wget http://www.openssl.org/source/openssl-0.9.8g.tar.gz<br />
            wget http://mirror.mcs.anl.gov/openssh/portable/openssh-4.7p1.tar.gz<br />
            <br />
            wget http://apache.mirror.phpchina.com/httpd/httpd-2.2.6.tar.gz<br />
            wget http://cn2.php.net/distributions/php-5.2.4.tar.gz<br />
            wget http://download.discuz.net/env/mysql-5.0.27.tar.gz<br />
            wget http://downloads.phpchina.com/zend/optimizer/3.3.0/ZendOptimizer-3.3.0-linux-glibc21-i386.tar.gz<br />
            <br />
            wget http://www.libgd.org/releases/oldreleases/gd-2.0.34.tar.gz<br />
            wget ftp://xmlsoft.org/libxml2/libxml2-2.6.29.tar.gz<br />
            wget http://jaist.dl.sourceforge.net/sourceforge/mcrypt/libmcrypt-2.5.8.tar.bz2<br />
            wget http://cronolog.org/download/cronolog-1.6.2.tar.gz<br />
            <br />
            #########################################<br />
            # TAR <br />
            tar -xzvf httpd-2.2.6.tar.gz<br />
            tar -xzvf mysql-5.0.27.tar.gz<br />
            tar -xzvf php-5.2.4.tar.gz<br />
            tar -xzvf ZendOptimizer-3.3.0-linux-glibc21-i386.tar.gz<br />
            <br />
            tar -xzvf gd-2.0.34.tar.gz<br />
            tar -xzvf libxml2-2.6.29.tar.gz<br />
            tar -xjvf libmcrypt-2.5.8.tar.bz2<br />
            tar -xzvf cronolog-1.6.2.tar.gz<br />
            <br />
            tar -xzvf openssl-0.9.8g.tar.gz<br />
            tar -xzvf openssh-4.7p1.tar.gz<br />
            <br />
            <br />
            #########################################<br />
            # INSTALL GD<br />
            cd gd-2.0.34<br />
            ./configure \<br />
            "--prefix=/usr/local/gd2"<br />
            make<br />
            make install<br />
            <br />
            #########################################<br />
            # INSTALL LibXML2<br />
            cd ../libxml2-2.6.29<br />
            ./configure \<br />
            "--prefix=/usr/local/libxml2"<br />
            make <br />
            make install<br />
            #########################################<br />
            # INSTALL LibMcrypt<br />
            cd ../libmcrypt-2.5.8<br />
            ./configure \<br />
            "--prefix=/usr/local/libmcrypt"<br />
            make<br />
            make install<br />
            <br />
            #########################################<br />
            # INSTALL cronolog<br />
            cd ../cronolog-1.6.2<br />
            ./configure \<br />
            "--prefix=/usr/local/cronolog"<br />
            make<br />
            make install<br />
            <br />
            #########################################<br />
            # INSTALL OpenSSL<br />
            cd ../openssl-0.9.8g<br />
            ./configure \<br />
            "--prefix=/usr/local/openssl"<br />
            make<br />
            make test<br />
            make install<br />
            <br />
            #########################################<br />
            # INSTALL OpenSSH<br />
            cd ../openssh-4.7p1<br />
            ./configure \<br />
            "--prefix=/usr" \<br />
            "--with-pam" \<br />
            "--with-zlib" \<br />
            "--sysconfdir=/etc/ssh" \<br />
            "--with-ssl-dir=/usr/local/openssl" \<br />
            "--with-md5-passwords"<br />
            make<br />
            make install<br />
            <br />
            #########################################<br />
            # INSTALL MYSQL<br />
            cd ../mysql-5.0.27<br />
            <br />
            ./configure \<br />
            "--prefix=/usr/local/mysql" \<br />
            "--localstatedir=/var/lib/mysql" \<br />
            "--with-comment=Source" \<br />
            "--with-server-suffix=-ESUN_SERVER" \<br />
            "--with-mysqld-user=mysql" \<br />
            "--without-debug" \<br />
            "--with-big-tables" \<br />
            "--with-charset=gbk" \<br />
            "--with-collation=gbk_chinese_ci " \<br />
            "--with-extra-charsets=all" \<br />
            "--with-pthread" \<br />
            "--enable-static" \<br />
            "--enable-thread-safe-client" \<br />
            "--with-client-ldflags=-all-static" \<br />
            "--with-mysqld-ldflags=-all-static" \<br />
            "--enable-assembler" \<br />
            "--without-isam" \<br />
            "--without-innodb" \<br />
            "--without-ndb-debug"<br />
            make<br />
            make install <br />
            <br />
            # MYSQL ZERO<br />
            /usr/local/mysql/bin/mysql_install_db <br />
            <br />
            # ADD MYSQL URL<br />
            useradd -M -o -r -d /var/lib/mysql -s /bin/bash -c "MySQL Server" -u 27 mysql<br />
            <br />
            # copy mysql cnf<br />
            cp /usr/local/mysql/share/mysql/my-large.cnf /etc/my.cnf <br />
            <br />
            # CHOWN MYSQL <br />
            chown -R mysql:mysql /var/lib/mysql <br />
            <br />
            # add mysql init.d service<br />
            cp /usr/local/mysql/share/mysql/mysql.server /etc/rc.d/init.d/mysqld<br />
            chkconfig --add mysqld<br />
            chkconfig --level 3 mysqld on<br />
            service mysqld start <br />
            <br />
            # Change mysql root password<br />
            /usr/local/mysql/bin/mysqladmin -uroot password 'yourpassword'<br />
            <br />
            #########################################<br />
            #INSTALL apache<br />
            cd ../httpd-2.2.6<br />
            <br />
            ./configure \<br />
            "--prefix=/usr/local/apache2" \<br />
            "--with-included-apr" \<br />
            "--enable-so" \<br />
            "--enable-deflate=shared" \<br />
            "--enable-expires=shared" \<br />
            "--enable-rewrite=shared" \<br />
            "--enable-static-support" \<br />
            "--disable-userdir"<br />
            <br />
            make<br />
            make install <br />
            <br />
            # jianli ruanliejie<br />
            ln -s /usr/local/apache2/bin/apachectl /usr/sbin/apachectl<br />
            ln -s /usr/local/apache2/bin/httpd /usr/sbin/httpd<br />
            ln -s /usr/local/apache2/conf/httpd.conf /etc/httpd.conf<br />
            <br />
            cp /home/temp/httpd-2.2.6/build/rpm/httpd.init /etc/init.d/httpd<br />
            chkconfig --add httpd<br />
            chkconfig --level 3 httpd on<br />
            service httpd start<br />
            <br />
            # edit httpd.conf<br />
            sed -i 's/#ServerName www.example.com:80/ServerName 127.0.0.1/g' /etc/httpd.conf<br />
            <br />
            # add index.php to default. <br />
            sed -i 's/ DirectoryIndex index.html/ DirectoryIndex index.php index.html index.htm/g' /etc/httpd.conf<br />
            echo "AddType application/x-httpd-php .php" &gt;&gt; /etc/httpd.conf<br />
            <br />
            #########################################<br />
            # INSTALL PHP<br />
            cd ../php-5.2.4<br />
            <br />
            ./configure \<br />
            "--prefix=/usr/local/php" \<br />
            "--with-apxs2=/usr/local/apache2/bin/apxs" \<br />
            "--with-config-file-path=/usr/local/php/etc" \<br />
            "--with-mysql=/usr/local/mysql" \<br />
            "--with-libxml-dir=/usr/local/libxml2" \<br />
            "--with-gd=/usr/local/gd2" \<br />
            "--with-jpeg-dir" \<br />
            "--with-png-dir" \<br />
            "--with-bz2" \<br />
            "--with-freetype-dir" \<br />
            "--with-iconv-dir" \<br />
            "--with-zlib-dir " \<br />
            "--with-openssl=/usr/local/openssl" \<br />
            "--with-mcrypt=/usr/local/libmcrypt" \<br />
            "--enable-soap" \<br />
            "--enable-gd-native-ttf" \<br />
            "--enable-memory-limit" \<br />
            "--enable-ftp" \<br />
            "--enable-mbstring" \<br />
            "--enable-exif" \<br />
            "--disable-ipv6" \<br />
            "--disable-cgi" \<br />
            "--disable-cli"<br />
            <br />
            make<br />
            make install<br />
            cp php.ini-dist /usr/local/php/etc/php.ini<br />
            ln -s /usr/local/php/etc/php.ini /etc/php.ini<br />
            <br />
            #########################################<br />
            # INSTALL ZendOptimizer<br />
            cd ../ZendOptimizer-3.3.0-linux-glibc21-i386<br />
            ./install<br />
            <br />
            echo "LINUX+MYSQL+APACHE2+PHP5+ZEND INSTALL OK"<br />
            <br />
            #rm -rf /home/temp/</div>
            </td>
        </tr>
    </tbody>
</table>
</center>
 <img src ="http://www.blogjava.net/jvict/aggbug/305365.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jvict/" target="_blank">Documents</a> 2009-12-10 09:38 <a href="http://www.blogjava.net/jvict/articles/305365.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>转:基于CentOS的LAMP</title><link>http://www.blogjava.net/jvict/articles/305364.html</link><dc:creator>Documents</dc:creator><author>Documents</author><pubDate>Thu, 10 Dec 2009 01:27:00 GMT</pubDate><guid>http://www.blogjava.net/jvict/articles/305364.html</guid><wfw:comment>http://www.blogjava.net/jvict/comments/305364.html</wfw:comment><comments>http://www.blogjava.net/jvict/articles/305364.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jvict/comments/commentRss/305364.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jvict/services/trackbacks/305364.html</trackback:ping><description><![CDATA[<p>基于CentOS的LAMP 作者:NetSeek <br />
&nbsp;&nbsp; 大纲:<br />
一、系统安装<br />
二、编译安装基本环境<br />
三、配置虚拟主机及基本性能调优<br />
四、基本安全设置<br />
五、附录及相关介绍</p>
<p>一、系统安装<br />
1. 分区<br />
&nbsp;&nbsp;&nbsp;&nbsp; /boot 100M左右<br />
&nbsp;&nbsp;&nbsp;&nbsp; SWAP 物理内存的2倍(如果你的物理内存大于4G以上，分配4G即可)<br />
&nbsp;&nbsp;&nbsp;&nbsp; /&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 15G<br />
&nbsp;&nbsp;&nbsp;&nbsp; /usr/local 20G (用于安装软件)<br />
&nbsp;&nbsp;&nbsp;&nbsp; /data 剩余所有空间</p>
<p>2. 系统初始化脚本(根据具体需求关闭不需要的服务)<br />
&nbsp;&nbsp; <br />
代码:<br />
#vi init.sh<br />
-------------------cut begin-------------------------------------------<br />
#welcome<br />
cat &lt;&lt; EOF<br />
+--------------------------------------------------------------+<br />
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; === Welcome to Centos System init ===&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |<br />
+--------------http://www.linuxtone.org------------------------+<br />
+----------------------Author:NetSeek--------------------------+<br />
EOF</p>
<p>#disable ipv6<br />
cat &lt;&lt; EOF<br />
+--------------------------------------------------------------+<br />
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; === Welcome to Disable IPV6 ===&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |<br />
+--------------------------------------------------------------+<br />
EOF<br />
echo "alias net-pf-10 off" &gt;&gt; /etc/modprobe.conf<br />
echo "alias ipv6 off" &gt;&gt; /etc/modprobe.conf<br />
/sbin/chkconfig --level 35 ip6tables off<br />
echo "ipv6 is disabled!"</p>
<p>#disable selinux<br />
sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config <br />
echo "selinux is disabled,you must reboot!"</p>
<p>#vim<br />
sed -i "8 s/^/alias vi='vim'/" /root/.bashrc<br />
echo 'syntax on' &gt; /root/.vimrc</p>
<p>#zh_cn<br />
sed -i -e 's/^LANG=.*/LANG="zh_CN.GB18030"/'&nbsp;&nbsp; /etc/sysconfig/i18n</p>
<p>#tunoff services<br />
#--------------------------------------------------------------------------------<br />
cat &lt;&lt; EOF<br />
+--------------------------------------------------------------+<br />
|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; === Welcome to Tunoff services ===&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |<br />
+--------------------------------------------------------------+<br />
EOF<br />
#---------------------------------------------------------------------------------<br />
for i in `ls /etc/rc3.d/S*`<br />
do<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CURSRV=`echo $i|cut -c 15-`</p>
<p>echo $CURSRV<br />
case $CURSRV in<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; crond | irqbalance | microcode_ctl | network | random | sendmail | <br />
sshd | syslog | local | mysqld )<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo "Base services, Skip!"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo "change $CURSRV to off"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; chkconfig --level 235 $CURSRV off<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; service $CURSRV stop<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;;<br />
esac<br />
done<br />
-------------------cut end-------------------------------------------<br />
#sh init.sh (执行上面保存的脚本，仍后重启)<br />
脚本就是只留这几个服务 <br />
crond | irqbalance | microcode_ctl | network | random | sendmail | sshd | <br />
syslog | local | mysqld<br />
二、编译安装基本环境</p>
<p>1. 安装准备<br />
&nbsp;&nbsp;&nbsp;&nbsp; 1) 系统约定<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 软件源代码包存放位置&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /usr/local/src<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 源码包编译安装位置(prefix)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /usr/local/software_name<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 脚本以及维护程序存放位置&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /usr/local/sbin<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MySQL 数据库位置&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /data/mysql/data（可按情况设置）<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Apache 网站根目录&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /data/www/wwwroot（可按情况设置）<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Apache 虚拟主机日志根目录&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /data/www/logs（可按情况设置）<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Apache 运行账户&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; www:www (useradd -d /data/www/;chown <a href="http://www.www/">www.www</a> <br />
/data/www/wwwroot)</p>
<p>&nbsp;&nbsp;&nbsp; 2) 系统环境部署及调整<br />
&nbsp;&nbsp;&nbsp;&nbsp; 检查系统是否正常<br />
&nbsp;&nbsp;&nbsp;&nbsp; # tail -n100 /var/log/messages&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; （检查有无系统级错误信息）<br />
&nbsp;&nbsp;&nbsp;&nbsp; # dmesg （检查硬件设备是否有错误信息）<br />
&nbsp;&nbsp;&nbsp;&nbsp; # ifconfig（检查网卡设置是否正确）<br />
&nbsp;&nbsp;&nbsp;&nbsp; # ping <a href="http://www.linuxtone.org/">www.linuxtone.org</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; （检查网络是否正常）</p>
<p>&nbsp;&nbsp;&nbsp; 3) 使用 yum 程序安装所需开发包（以下为标准的 RPM 包名称）<br />
&nbsp;&nbsp;&nbsp;&nbsp; #rpm --import <a href="http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5">http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5</a><br />
&nbsp;&nbsp;&nbsp;&nbsp; #yum install ntp vim-enhanced gcc gcc-c++ gcc-g77 flex bison autoconf <br />
automake bzip2-devel \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ncurses-devel zlib-devel libjpeg-devel libpng-devel libtiff-devel <br />
freetype-devel libXpm-devel \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gettext-devel pam-devel kernel</p>
<p>&nbsp;</p>
<p>&nbsp;&nbsp;&nbsp; 4) 定时校正服务器时钟，定时与中国国家授时中心授时服务器同步<br />
&nbsp;&nbsp;&nbsp;&nbsp; # crontab -e<br />
&nbsp;&nbsp;&nbsp;&nbsp; 加入一行：<br />
&nbsp;&nbsp;&nbsp;&nbsp; 15 3 * * * /usr/sbin/ntpdate 210.72.145.44 &gt; /dev/null 2&gt;&amp;1</p>
<p>2. 编译安装软件包<br />
&nbsp;&nbsp;&nbsp;&nbsp; 源码编译安装所需包(Source)<br />
&nbsp;&nbsp;&nbsp;&nbsp; 1) GD2<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # cd /usr/local/src<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # tar xvf gd-2.0.35.tar.gz<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # cd gd-2.0.35<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # ./configure --prefix=/usr/local/gd2<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # make<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # make install</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 2) LibXML2<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # cd /usr/local/src<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # tar xvf libxml2-2.6.29.tar.bz2<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # cd libxml2-2.6.29<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # ./configure --prefix=/usr/local/libxml2<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # make<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # make install</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 3) LibMcrypt<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # cd /usr/local/src<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # tar xvf libmcrypt-2.5.8.tar.bz2<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # cd libmcrypt-2.5.8<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # ./configure --prefix=/usr/local/libmcrypt<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # make<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # make install</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 4) Apache日志截断程序<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # cd /usr/local/src<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # tar xvf cronolog-1.6.2.tar.gz<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # cd cronolog-1.6.2<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # ./configure --prefix=/usr/local/cronolog<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # make<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # make install</p>
<p>&nbsp;</p>
<p>3. 升级OpenSSL和OpenSSH<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # cd /usr/local/src<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # tar xvf openssl-0.9.8g.tar.gz <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # cd openssl-0.9.8g<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # ./config --prefix=/usr/local/openssl<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # make<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # make test<br />
# make install<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # cd ..<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # tar xvf openssh-5.0p1.tar.gz <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # cd openssh-5.0p1<br />
# ./configure \<br />
"--prefix=/usr" \<br />
"--with-pam" \<br />
"--with-zlib" \<br />
"--sysconfdir=/etc/ssh" \<br />
"--with-ssl-dir=/usr/local/openssl" \<br />
"--with-md5-passwords"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # make<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # make install<br />
&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; 1) 禁用 SSH V1 协议<br />
&nbsp;&nbsp;&nbsp; 找到#Protocol 2,1改为：Protocol 2</p>
<p>&nbsp;&nbsp;&nbsp; 2) 禁用服务器端GSSAPI<br />
&nbsp;&nbsp;&nbsp; 找到以下两行，并将它们注释：<br />
&nbsp;&nbsp;&nbsp; GSSAPIAuthentication yes<br />
&nbsp;&nbsp;&nbsp; GSSAPICleanupCredentials yes</p>
<p>&nbsp;&nbsp;&nbsp; 3) 禁用 DNS 名称解析<br />
找到：#UseDNS yeas改为：UseDNS no</p>
<p>&nbsp;&nbsp;&nbsp; 4)禁用客户端 GSSAPI<br />
&nbsp;&nbsp;&nbsp; # vi /etc/ssh/ssh_config 找到：GSSAPIAuthentication yes 将这行注释掉。<br />
&nbsp;&nbsp;&nbsp; 最后，确认修改正确后重新启动 SSH 服务<br />
&nbsp;&nbsp;&nbsp; # service sshd restart<br />
&nbsp;&nbsp;&nbsp; # ssh -v <br />
&nbsp;&nbsp;&nbsp; 确认 OpenSSH 以及 OpenSSL 版本正确。</p>
<p>以上SSH配置可利用以下脚本自动修改:<br />
代码:<br />
-------------------cut begin-------------------------------------------<br />
#init_ssh<br />
ssh_cf="/etc/ssh/sshd_config" <br />
sed -i -e '74 s/^/#/' -i -e '76 s/^/#/' $ssh_cf<br />
sed -i "s/#UseDNS yes/UseDNS no/" $ssh_cf<br />
#client<br />
sed -i -e '44 s/^/#/' -i -e '48 s/^/#/' $ssh_cf<br />
echo "ssh is init is ok.............."<br />
-------------------cut end---------------------------------------------<br />
三、编译安装A.M.P环境</p>
<p>1.下载软件编译安装<br />
&nbsp;&nbsp;&nbsp; 1)下载软件<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # cd /usr/local/src<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; httpd-2.2.8.tar.gz <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mysql-5.0.51b.tar.gz&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; php-5.2.6.tar.bz2<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz</p>
<p>&nbsp;&nbsp;&nbsp; 2) 安装MySQL<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 查看分析你的CPU型号:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://gentoo-wiki.com/Safe_Cflags">http://gentoo-wiki.com/Safe_Cflags</a> 查找您的GCC编译参数.<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 确定系统CPU类型：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # cat /proc/cpuinfo | grep "model name"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 执行后会看到系统中CPU的具体型号，记下CPU型号。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # tar xvf mysql-5.0.51b.tar.gz&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # cd mysql-5.0.51b<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # vi mysql.sh<br />
代码:<br />
-------------------cut begin-------------------------------------------<br />
CHOST="i686-pc-linux-gnu"<br />
CFLAGS="-march=prescott -O2 -pipe -fomit-frame-pointer"<br />
CXXFLAGS="${CFLAGS}"<br />
./configure \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--prefix=/usr/local/mysql" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--localstatedir=/data/mysql/data" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--with-comment=Source" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--with-server-suffix=-LinuxTone" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--with-mysqld-user=mysql" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--without-debug" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--with-big-tables" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--with-charset=gbk" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--with-collation=gbk_chinese_ci" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--with-extra-charsets=all" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--with-pthread" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--enable-static" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--enable-thread-safe-client" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--with-client-ldflags=-all-static" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--with-mysqld-ldflags=-all-static" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--enable-assembler" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--without-isam" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--without-innodb" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--without-ndb-debug"<br />
make &amp;&amp; make install<br />
mkdir -p /data/mysql/data<br />
useradd mysql -d /data/mysql -s /sbin/nologin<br />
/usr/local/mysql/bin/mysql_install_db --user=mysql<br />
cd /usr/local/mysql<br />
chown -R root:mysql .<br />
chown -R mysql /data/mysql/data<br />
cp share/mysql/my-huge.cnf /etc/my.cnf<br />
cp share/mysql/mysql.server /etc/rc.d/init.d/mysqld<br />
chmod 755 /etc/rc.d/init.d/mysqld<br />
chkconfig --add mysqld<br />
/etc/rc.d/init.d/mysqld start</p>
<p>cd /usr/local/mysql/bin<br />
for i in *; do ln -s /usr/local/mysql/bin/$i /usr/bin/$i; done</p>
<p>-------------------cut end---------------------------------------------<br />
#sh mysql.sh 即可开始编译.</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 3) 编译安装Apache<br />
# cd /usr/local/src<br />
# tar xvf httpd-2.2.8.tar.gz <br />
# cd httpd-2.2.8<br />
&nbsp;&nbsp; <br />
代码:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # ./configure \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--prefix=/usr/local/apache2" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--with-included-apr" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--enable-so" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--enable-deflate=shared" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--enable-expires=shared" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--enable-rewrite=shared" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--enable-static-support" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--disable-userdir"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # make<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # make install<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # echo '/usr/local/apache2/bin/apachectl start ' &gt;&gt; /etc/rc.local<br />
&nbsp;&nbsp; 4.)编译安装PHP<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # cd /usr/local/src<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # tar xjvf php-5.2.6.tar.bz2<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # cd php-5.2.6<br />
&nbsp;&nbsp; <br />
代码:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # ./configure \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--prefix=/usr/local/php" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--with-apxs2=/usr/local/apache2/bin/apxs" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--with-config-file-path=/usr/local/php/etc" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--with-mysql=/usr/local/mysql" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--with-libxml-dir=/usr/local/libxml2" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--with-gd=/usr/local/gd2" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--with-jpeg-dir" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--with-png-dir" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--with-bz2" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--with-freetype-dir" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--with-iconv-dir" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--with-zlib-dir " \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--with-openssl=/usr/local/openssl" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--with-mcrypt=/usr/local/libmcrypt" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--enable-soap" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--enable-gd-native-ttf" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--enable-ftp" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--enable-mbstring" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--enable-exif" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--disable-ipv6" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--disable-cgi" \<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "--disable-cli"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #禁掉ipv6,禁掉cli模式，提升速度和安全性.请根据具体需求定制相关的编译数.<br />
# make<br />
# make install<br />
# mkdir /usr/local/php/etc<br />
# cp php.ini-dist /usr/local/php/etc/php.ini<br />
&nbsp;&nbsp; 5)Xcache的安装.<br />
&nbsp;&nbsp;&nbsp; #tar xvf xcache-1.2.2.tar.gz<br />
&nbsp;&nbsp; <br />
代码:<br />
&nbsp;&nbsp;&nbsp; #/usr/local/php/bin/phpize <br />
&nbsp;&nbsp;&nbsp; ./configure --enable-xcache --enable-xcache-coverager <br />
--with-php-config=/usr/local/php/bin/php-config \<br />
&nbsp;&nbsp;&nbsp; --enable-inline-optimization --disable-debug<br />
&nbsp;&nbsp; <br />
代码:<br />
&nbsp;&nbsp;&nbsp; #/usr/local/php/bin/phpize <br />
&nbsp;&nbsp;&nbsp; ./configure --enable-xcache --enable-xcache-coverager <br />
--with-php-config=/usr/local/php/bin/php-config \<br />
&nbsp;&nbsp;&nbsp; --enable-inline-optimization --disable-debug<br />
&nbsp;&nbsp; <br />
代码:<br />
-------------------cut begin-------------------------------------------<br />
[xcache-common]<br />
zend_extension&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = <br />
/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/xcache.so</p>
<p>[xcache.admin]<br />
xcache.admin.user&nbsp;&nbsp; = "admin"<br />
;如何生成md5密码: echo -n "password"| md5sum<br />
xcache.admin.pass&nbsp;&nbsp; = "035d849226a8a10be1a5e0fec1f0f3ce" #密码为52netseek</p>
<p>[xcache]<br />
; Change xcache.size to tune the size of the opcode cache<br />
xcache.size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 24M<br />
xcache.shm_scheme&nbsp;&nbsp; = "mmap"<br />
xcache.count&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 4<br />
xcache.slots&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 8K<br />
xcache.ttl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 0<br />
xcache.gc_interval = 0</p>
<p>; Change xcache.var_size to adjust the size of variable cache<br />
xcache.var_size&nbsp;&nbsp;&nbsp;&nbsp; = 8M<br />
xcache.var_count&nbsp;&nbsp;&nbsp; = 1<br />
xcache.var_slots&nbsp;&nbsp;&nbsp; = 8K<br />
xcache.var_ttl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 0<br />
xcache.var_maxttl&nbsp;&nbsp; = 0<br />
xcache.var_gc_interval =&nbsp;&nbsp;&nbsp;&nbsp; 300<br />
xcache.test&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = Off<br />
xcache.readonly_protection = On<br />
xcache.mmap_path&nbsp;&nbsp;&nbsp; = "/tmp/xcache"<br />
xcache.coredump_directory =&nbsp;&nbsp; ""<br />
xcache.cacher&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = On<br />
xcache.stat&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = On<br />
xcache.optimizer&nbsp;&nbsp;&nbsp; = Off</p>
<p>[xcache.coverager]<br />
xcache.coverager&nbsp;&nbsp;&nbsp; = On<br />
xcache.coveragedump_directory = ""<br />
-------------------cut end---------------------------------------------<br />
&nbsp;&nbsp; 6) 安装Zend Optimizer<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # cd /usr/local/src<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # tar xzvf ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # ./ZendOptimizer-3.3.3-linux-glibc23-i386/install.sh<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 安装Zend Optimizer过程的最后不要选择重启Apache。</p>
<p><br />
2. 整合Apache与PHP及系统初化配置.<br />
&nbsp;&nbsp;&nbsp;&nbsp; 1)整合Apache与PHP<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # vi /usr/local/apache2/conf/httpd.conf<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 找到：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AddType application/x-gzip .gz .tgz<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在该行下面添加<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AddType application/x-httpd-php .php</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 找到：<br />
&nbsp;&nbsp;&nbsp;&nbsp; &lt;IfModule dir_module&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DirectoryIndex index.html<br />
&nbsp;&nbsp;&nbsp;&nbsp; &lt;/IfModule&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp; 将该行改为<br />
&nbsp;&nbsp;&nbsp;&nbsp; &lt;IfModule dir_module&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DirectoryIndex index.html index.htm index.php<br />
&nbsp;&nbsp;&nbsp;&nbsp; &lt;/IfModule&gt;</p>
<p>找到：<br />
#Include conf/extra/httpd-mpm.conf<br />
#Include conf/extra/httpd-info.conf<br />
#Include conf/extra/httpd-vhosts.conf (虚拟主机配置文件存放目录.)<br />
#Include conf/extra/httpd-default.conf<br />
去掉前面的&#8220;#&#8221;号，取消注释。<br />
注意：以上 4 个扩展配置文件中的设置请按照相关原则进行合理配置！</p>
<p>修改完成后保存退出。<br />
# /usr/local/apache2/bin/apachectl restart</p>
<p>&nbsp;&nbsp;&nbsp; 2)查看确认L.A.M.P环境信息、提升 PHP 安全性<br />
&nbsp;&nbsp;&nbsp;&nbsp; 在网站根目录放置 info.php 脚本，检查phpinfo中的各项信息是否正确。<br />
&nbsp;&nbsp;&nbsp;&nbsp; &lt;?php<br />
&nbsp;&nbsp;&nbsp;&nbsp; phpinfo();<br />
&nbsp;&nbsp;&nbsp;&nbsp; ?&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp; 确认 PHP 能够正常工作后，在 php.ini 中进行设置提升 PHP 安全性,禁掉危险的函数.<br />
&nbsp;&nbsp;&nbsp;&nbsp; # vi /etc/php.ini找到：disable_functions <br />
=设置为：phpinfo,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server</p>
<p>3)脚本自动完成初始化配置(以上配置可以用脚本自动化完成)<br />
#cat init_apache_php.sh<br />
&nbsp;&nbsp; <br />
代码:<br />
-------------------cut begin-------------------------------------------<br />
#!/bin/bash<br />
#Written by :NetSeek <a href="http://www.linuxtone.org/">http://www.linuxtone.org</a><br />
#init_httpd.conf<br />
http_cf="/usr/local/apache2/conf/httpd.conf"<br />
sed -i -e "s/User daemon/User www/" -i -e "s/Group daemon/Group www/" $http_cf<br />
sed -i -e '121 s/^/#/' -i -e '122 s/^/#/' $http_cf<br />
sed -i 's#DirectoryIndex index.html# DirectoryIndex index.php index.html <br />
index.htm#/g' $http_cf<br />
sed -i -e '374 s/^#//g' -i -e '389 s/^#//g' -i -e '392 s/^#//g' -i -e '401 <br />
s/^#//g' $http_cf<br />
#init_php(PHP安全设置及隐藏PHP版本)<br />
php_cf="/usr/local/php/etc/php.ini"<br />
sed -i '205 s#;open_basedir =#open_basedir = /data/www/wwwroot:/tmp#g' $php_cf<br />
sed -i '210 s#disable_functions =#disable_functions = <br />
phpinfo,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server#g' <br />
$php_cf <br />
sed -i '/expose_php/s/On/Off/' $php_cf<br />
sed -i '/display_errors/s/On/Off/' $php_cf<br />
-------------------cut end-------------------------------------------<br />
&nbsp;&nbsp; 三、配置虚拟主机及基本性能调优<br />
1) 配置虚拟主机:<br />
#vi /usr/local/apache2/conf/extra/httpd-vhosts.conf<br />
代码:<br />
NameVirtualHost *:80</p>
<p>&lt;VirtualHost *:80&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ServerAdmin <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#99;&#110;&#115;&#101;&#101;&#107;&#64;&#103;&#109;&#97;&#105;&#108;&#46;&#99;&#111;&#109;">cnseek@gmail.com</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DocumentRoot "/data/www/wwwroot/linuxtone.org"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ServerName <a href="http://www.linuxtone.org/">www.linuxtone.org</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ServerAlias bbs.linxutone.org<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ErrorLog "logs/dummy-host.example.com-error_log"<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CustomLog "|/usr/sbin/cronolog /data/logs/access_www.linuxtone.org.%Y%m%d" <br />
combined <br />
&lt;/VirtualHost&gt;2).基本性能调优参考:(更多的调优相关文章请关注:http://bbs.linuxtone.org/index.html性能调优相关的贴子)<br />
#vi /usr/local/apache2/conf/extra/httpd-default.conf<br />
复制内容到剪贴板<br />
代码:<br />
Timeout 15<br />
KeepAlive Off<br />
MaxKeepAliveRequests 50<br />
KeepAliveTimeout 5<br />
UseCanonicalName Off<br />
AccessFileName .htaccess<br />
ServerTokens Prod <br />
ServerSignature Off <br />
HostnameLookups Off<br />
#vi /usr/local/apache2/conf/extra/httpd-mpm.conf<br />
复制内容到剪贴板<br />
代码:<br />
&lt;IfModule mpm_prefork_module&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ServerLimit&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2000<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; StartServers&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 10<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MinSpareServers&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 10<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MaxSpareServers&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 15<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MaxClients&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2000<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MaxRequestsPerChild&nbsp;&nbsp; 10000<br />
&lt;/IfModule&gt;<br />
3).Apache日志处理相关问题汇总贴(<a href="http://bbs.linuxtone.org/thread-102-1-1.html">http://bbs.linuxtone.org/thread-102-1-1.html</a>)<br />
&nbsp;&nbsp;&nbsp;&nbsp; 利用awstats分析网站日志:http://bbs.linuxtone.org/thread-56-1-1.html</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 忽略不需要的日志配置参考具体请据据具体问题分析：<br />
&nbsp;&nbsp;&nbsp;&nbsp; LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %&gt;s %b \"%{Referer}i\" <br />
\"%{User-Agent}i\"" combined<br />
&nbsp;&nbsp;&nbsp;&nbsp; #下面加入如下内容:<br />
复制内容到剪贴板<br />
代码:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # filter the localhost visit<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SetEnvIf Remote_Addr "127\.0\.0\.1" dontlog<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # filter some special directories<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SetEnvIf Request_URI "^ZendPlatform.*$" dontlog<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SetEnvIf Request_URI \.healthcheck\.html$ dontlog<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SetEnvIf Remote_Addr "::1" dontlog<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SetEnvIf Request_URI "\.getPing.php$" dontlog<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SetEnvIf Request_URI "^/error\.html$" dontlog<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SetEnvIf Request_URI "\.gif$" dontlog<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SetEnvIf Request_URI "\.jpg$" dontlog<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SetEnvIf Request_URI "\.css$" dontlog<br />
4). Apache防盗链(Apache防盗链相关问题汇总:http://bbs.linuxtone.org/thread-101-1-1.html)<br />
复制内容到剪贴板<br />
代码:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RewriteEngine on<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RewriteCond %{HTTP_REFERER} !^$<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RewriteCond %{HTTP_REFERER} !^http://(www\.)?mydomain.com/.*$ [NC]<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RewriteRule \.(gif|jpg)$ http://网站域名/nolink.png [R,L]<br />
四、基本安全设置<br />
&nbsp;&nbsp;&nbsp; 1)iptables 封锁相关端口(推荐读CU白金大哥的两小时玩转iptables)<br />
&nbsp;&nbsp;&nbsp; 2)SSH全安(修改SSH端口限制来源IP登陆，或者参考<a href="http://bbs.linuxtone.org/thread-106-1-1.html">http://bbs.linuxtone.org/thread-106-1-1.html</a>)<br />
&nbsp;&nbsp;&nbsp; 3)Linux防Arp攻击策略(<a href="http://bbs.linuxtone.org/thread-41-1-1.html">http://bbs.linuxtone.org/thread-41-1-1.html</a>)<br />
&nbsp;&nbsp;&nbsp; 4)注意(还是那句老话:安全工作从细节做起!)<br />
&nbsp;&nbsp;</p>
 <img src ="http://www.blogjava.net/jvict/aggbug/305364.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jvict/" target="_blank">Documents</a> 2009-12-10 09:27 <a href="http://www.blogjava.net/jvict/articles/305364.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Windows下ZendFramework 运行环境配置详解</title><link>http://www.blogjava.net/jvict/articles/305267.html</link><dc:creator>Documents</dc:creator><author>Documents</author><pubDate>Wed, 09 Dec 2009 04:35:00 GMT</pubDate><guid>http://www.blogjava.net/jvict/articles/305267.html</guid><wfw:comment>http://www.blogjava.net/jvict/comments/305267.html</wfw:comment><comments>http://www.blogjava.net/jvict/articles/305267.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jvict/comments/commentRss/305267.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jvict/services/trackbacks/305267.html</trackback:ping><description><![CDATA[原文：http://www.okpython.com/views-tid-1607.html<br />
<br />
1．系统要求 <br />
Win2k、Winxp或Win2003操作系统 <br />
<br />
2．软件列表 <br />
<br />
apache_2.0.58-win32-x86-no_ssl.msi <br />
php-5.1.4-Win32 <br />
mysql-4.1.20-win32.zip <br />
ZendFramework-0.1.5.zip <br />
<br />
开始安装： <br />
<br />
　　一．安装Apache，全部选择默认安装后，打开浏览器：http://localhost/，如显示Apache迎页面则安装成功。 <br />
　　二．将php-5.1.4-Win32.zip解压到C:\PHP目录下，然后把&#8221;php.ini-dist:&#8221;重命名为&#8221;php.ini&#8221;，很多文章都讲的是要把php.ini复制到C:\Windows或C:\Winnt目录下，其实复不复制都可以。 <br />
<br />
Apache的配置： <br />
<br />
编辑httpd.conf文件 <br />
首先找到DirectoryIndex index.html index.html.var 并更改为 <br />
DirectoryIndex index.php index.html index.htm index.html.var，这样才能让 Apache找到首页 <br />
再找到 将DocumentRoot &#8220;C:\Program files\Apache Groiup\Apache2\htdocs&#8221; 更改为你的目录。 <br />
<br />
然后找到 <br />
<br />
LoadModule rewrite_module modules/mod_rewrite.so 这行并将前面的&#8221;<br />
&#8221;去掉，因为要使用Zend Framework就必须这样，至少现在如此。 <br />
<br />
在文件末尾加上以下几行：（根据自己的情况更改路径） <br />
ScriptAlias /php/ "C:/PHP/" <br />
AddType application/x-httpd-php .php <br />
Action application/x-httpd-php "/php/php-cgi.exe" <br />
这样才能正常运行PHP5程序 <br />
最后找到 <br />
AllowOverride None <br />
更改为： <br />
AllowOverride All，才能让/htaccess文件起作用 <br />
到此Apache的配置完成 <br />
<br />
重新启动Apache服务器，编辑index.php如下： <br />
<br />
<br />
代码片段 <br />
<?php <br />
phpinfo(); <br />
?&gt; <br />
<br />
放到你的网站根目录里，打开浏览器并输入：http://localhost回车，如出现PHP基本配置信息则说明配置成功，继续下一步。 <br />
<br />
<br />
<br />
三．安装MySQL <br />
<br />
<br />
全部默认安装即可。 <br />
<br />
<br />
<br />
四． <br />
<br />
将ZendFramework-0.1.5.zip解压到一个目录（我这里是C:\ZendFramework-0.1.5） <br />
<br />
配置php.ini文件： <br />
因为我们没有安装PDO模块，所以现在必须安装，将C:\PHP\ext目录下的php_mysql.dll、php_mysqli.dll、php_pdo.dll、php_pdo_mysql.dll 和C:\PHP目录下的libmysql.dll、php5ts.dll几个文件复制到系统目录下，即C:\Windows\system32或C:\Winnt\system32。其实只要是dll都可以复制。然找到 <br />
;extension=php_mysql.dll <br />
;extension=php_pdo.dll <br />
;extension=php_pdo_mysql.dll <br />
这几行并将前面的分号去掉 <br />
最后再找到： <br />
;include_path=".;C:\PHP\pear;c:\php\includes "将前面的分号去掉并更改为 <br />
include_path=".;C:\PHP\pear;c:\php\includes ;C:\ZendFramework-0.1.5\library"，注意C前面加了个分号。 <br />
最后编辑文件.htaccess如下： <br />
RewriteEngine on <br />
RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php并放到网站根目录。 <br />
<br />
到此为止，所有的配置完成。在下也是初学者，错误在所难免，请多指教。 <br />
 <img src ="http://www.blogjava.net/jvict/aggbug/305267.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jvict/" target="_blank">Documents</a> 2009-12-09 12:35 <a href="http://www.blogjava.net/jvict/articles/305267.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>vnc的使用</title><link>http://www.blogjava.net/jvict/articles/305176.html</link><dc:creator>Documents</dc:creator><author>Documents</author><pubDate>Tue, 08 Dec 2009 07:41:00 GMT</pubDate><guid>http://www.blogjava.net/jvict/articles/305176.html</guid><wfw:comment>http://www.blogjava.net/jvict/comments/305176.html</wfw:comment><comments>http://www.blogjava.net/jvict/articles/305176.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jvict/comments/commentRss/305176.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jvict/services/trackbacks/305176.html</trackback:ping><description><![CDATA[<p>&nbsp;</p>
<p>linux下的远程桌面－－使用VNC server进行服务器的远程管理</p>
<p>VNC最初由AT&amp;T开发，是一个对系统进行远程管理的软件。其操作方式类似于现在Windows下常见的远程桌面，当然其资格比Windows的远程桌面更老。在Windows下的VNC软件有RealVNC等。<br />
linux系统当然不支持Windows的远程桌面登录，那么我们如何用一台Windows的笔记本来管理一台linux的服务器呢？<br />
首先，我们当然会考虑SSH，在linux下安装SSH服务器，然后在windows下使用puTTY登录进行管理。但是现在，我们不满足仅仅使用命令行方式，我们同样想使用GUI界面。那么：</p>
<p>1.在linux系统下安装VNC Server，大多数linux发行版都带了VNC Server的发行包。只要选择安装就可以了。</p>
<p>2. 在Windows下安装VNC 客户端，以RealVNC为例，VNC客户端叫做VNC Viewer。VNC的使用相对比较简单，输入客户端的IP，然后VNC会进行连接，然后弹出密码框输入密码。没有问题的话就连接上了。</p>
<p>3. 配置linux VNC Server。</p>
<p>（1）启动VNC 服务。通过puTTY以SSH方式登录服务器，假设用户名为test<br />
login as: test test@MyServer's<br />
password:<br />
[test@localhost ~]$ /etc/init.d/vncserver start<br />
Starting VNC server: no displays configured [ OK ]</p>
<p>（2）运行vncserver命令，如果第一次配置VNC Server，会要求提供登录VNC使用的密码。以后也可以使用vncpasswd来修改密码。</p>
<p>[test@localhost ~]$ vncserver<br />
You will require a password to access your desktops.<br />
Password:123456<br />
Verify:123456<br />
xauth: creating new authority file /home/test/.Xauthority<br />
New 'localhost.localdomain:1 (test)' desktop is localhost.localdomain:1<br />
Creating default startup script /home/test/.vnc/xstartup<br />
Starting applications specified in /home/test/.vnc/xstartup<br />
Log file is /home/test/.vnc/localhost.localdomain:1.log</p>
<p>（3）此时就可以在Windows使用VNC viewer登录了</p>
<p>输入服务器地址：192.168.0.64:1<br />
然后提示输入密码，输入你刚才设定的密码就好了，如123456</p>
<p>注意：IP地址后面的:1的意思是linux上面VNC设定的Display No。每运行一个vncserver就会多创建一个Display，Display No也就会加一。</p>
<p>虽然此时可以登录，但是登录后看到的界面是X term的界面，还不是正常的X Window界面，我们要修改配置，使之使用X Window</p>
<p>（4）修改配置文件/home/test/.vnc/xstartup，</p>
<p>把最后一行的注释掉</p>
<p>#twm &amp;</p>
<p>添加一行<br />
gnome-session &amp;</p>
<p>（5）保存文件，在puTTY终端中输入vncserver，让VNC打开一个新的Display</p>
<p>[test@localhost ~]$ vncserver<br />
New 'localhost.localdomain:1 (test)' desktop is localhost.localdomain:2<br />
Starting applications specified in /home/test/.vnc/xstartup<br />
Log file is /home/test/.vnc/localhost.localdomain:2.log</p>
<p>（6）使用VNC Viewer重新登录</p>
<p>输入服务器地址：192.168.0.64:2<br />
然后提示输入密码，如123456 服务器地址后面的Display No是根据第（5）步运行的vncserver命令的结果来的<br />
New 'localhost.localdomain:1 (test)' desktop is localhost.localdomain:2<br />
所以Display No就是2，别忘记加冒号哦。</p>
<p>然后就看到你想要的界面了吧。 以后如果服务器重新启动后，要重新输入vncserver后登录。如果服务器一直开机，就不用了。</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><br />
1 问题如下 <br />
/etc/sysconfig/vncservers---配置文件作用去掉最后两行的注释 <br />
no route to host <br />
是防火墙的原因---必须得研究好防火墙 <br />
本地可以vnc，本地可以访问zhanglinux.org:1158/em <br />
我一直以为是没有路由导致的 <br />
route&nbsp;&nbsp; add&nbsp;&nbsp; default&nbsp;&nbsp; gw&nbsp;&nbsp; 192.168.0.254 <br />
经过一系列的测试发现是防火墙的问题。以后在研究网络问题时，首先要注意防火墙的设置。先取消防火墙的设置，在没有防火墙的基础上，实现连通。之后再设置防火墙。防火墙对于网络的安全控制，以及网络访问上都至关重要。这是个基础性的问题。从今天的实践可以看出，基础的把握能力不够。 <br />
2 软件下载 <br />
windows vnc---http://download.pchome.net/php/tdownload2.php?sid=2603&amp;url=/internet/server/remote/vnc-3.3.7-x86_win32.zip&amp;svr=1&amp;typ=0 <br />
linux vnc--http://mirror.etf.bg.ac.yu/fedora/development/i386/Fedora/RPMS/vnc-4.1.1-34.i386.rpm <br />
ps: http://rpmfind.net 找需要的包。由于学校的proxy服务器设置老出问题，本来用yum install -y 通用包名--非常方便，不得不用老土的rpm -Uvh , rpm -q 这两条命令都非常重要了。 </p>
<p>3 安装: rpm -Uvh *rpm <br />
注意依赖~~~ <br />
4 在X桌面下设置服务器允许连接，同时可以设置连接密码。 <br />
http://www.linuxsir.org/bbs/showthread.php?t=262457 <br />
上面的问题，我这里是由于firewall导致的---可在X桌面设置防火墙 </p>
<p>－－－－－－－－－－－－－－－－－－－－具体使用方法－－－－－－－－－－－－ <br />
启vncserver: vncserver即可，第一次会提示你输入密码; <br />
关闭: <br />
vncserver -kill :桌面号 <br />
或者使用系统自带脚本： <br />
补充VNCServer的命令行启动、关闭方法： <br />
1)服务器端启动： <br />
#vncserver <br />
$vncserver <br />
注意到每个用户都可以启动自己的vncserver，每个用户可以启动多个vncserver，用显示端口号:1，:2，:3等等来标识。 <br />
2) 客户端： <br />
a）在linux下，运行vncviewer命令即可，服务器地址的写法形如192.168.3.119:1 <br />
b）在windows下，运行windows版本的vncviewer即可，用法与linux下相近。 <br />
c）用浏览器（平台无关），作为java applet来实现，以形如http://192.168.3.119:5801的方式来启动 <br />
3) 密码修改： <br />
第一次启动vncserver会提示输入密码，以后要修改的话，运行： <br />
#vncpassword <br />
4) 停止vnc server： <br />
#vncserver -kill :1 <br />
#vncserver -kill :2 <br />
注意到vncserver只能由启动它的用户来关闭，即时是root也不能关闭其它用户开启的vncserver，除非用kill命令暴力杀死进程。 <br />
5) 指定显示端口号启动VNC server： <br />
#vncserver :3 <br />
$vncserver :6 <br />
6) 设置VNC server分辨率： <br />
#vncserver -geometry 800x600 <br />
#vncserver -geometry 640x480 <br />
7) 设置vncserver的色深： <br />
8位为256色，16位为64k色 <br />
#vncserver -depth 8 <br />
#vncserver -depth 16 <br />
稳定性设置： <br />
vncserver默认在多个客户机连接同一个vncserver的显示端口时，vncserver端口旧连接，而为新连接服务，可通过-dontdisconnect拒绝新连接请求而保持旧的连接。 <br />
9) 设置vncserver的同一个显示端口可以连接多个客户机 <br />
#vncserver -alwaysshared </p>
<p>10) 默认远程登陆启动的是kde桌面（如果安装系统时安装了的话），如果修改登陆的图形界面？当在oracle用户下面启用vncserver的时候，在 oracle用户的家目录下会自动创建一个.vnc的文件夹，在该文件夹下面有一个文件，是xstartup,编辑这个文件，将所有的行都注释掉，然后在最后加一行： <br />
gnome-session &amp; <br />
保存文件，重启vncserver，就会发现登陆的图形界面已经变成了你想要的样式了。 <br />
比如： <br />
服务端 <br />
[root@zhanglinux .vnc]# vncserver :3 </p>
<p>You will require a password to access your desktops. </p>
<p>Password: <br />
Password must be at least 6 characters - try again <br />
Password: <br />
Password must be at least 6 characters - try again <br />
Password: <br />
Verify: <br />
New 'zhanglinux.org:3 (root)' desktop is zhanglinux.org:3 </p>
<p>Creating default startup script /root/.vnc/xstartup <br />
Starting applications specified in /root/.vnc/xstartup <br />
Log file is /root/.vnc/zhanglinux.org:3.log </p>
<p>客户端 <br />
登录时:vncviewer ip:3 <br />
登录之后，查看默认端口5900 对应进程名vnc-serv <br />
[root@zhanglinux .vnc]# netstat -na | grep 5900 <br />
tcp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 202.116.130.243:5900&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 202.116.130.241:1729&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ESTABLISHED <br />
退出vncviewer <br />
[root@zhanglinux .vnc]# netstat -na | grep 5900 <br />
tcp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0 0.0.0.0:5900&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.0.0.0:*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LISTEN </p>
<p>---------------------------------------------------------------------------- <br />
终于解决了vnc启动时加入服务的问题 [http://bbs.chinaunix.net/viewthread.php?tid=149091] <br />
我就没做了，个人觉得没多大必要，需要才启动。 <br />
vi /etc/rc.d/init.d/vncserver 服务启动相关设置<br />
文章出处：http://www.diybl.com/course/6_system/linux/Linuxjs/2008727/133989.html</p>
<p>&nbsp;</p>
<p>本文来自CSDN博客，转载请标明出处：http://blog.csdn.net/yazi0127/archive/2008/12/25/3603349.aspx</p>
<img src ="http://www.blogjava.net/jvict/aggbug/305176.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jvict/" target="_blank">Documents</a> 2009-12-08 15:41 <a href="http://www.blogjava.net/jvict/articles/305176.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>linux双网卡负载均衡及冗余配置</title><link>http://www.blogjava.net/jvict/articles/305163.html</link><dc:creator>Documents</dc:creator><author>Documents</author><pubDate>Tue, 08 Dec 2009 06:48:00 GMT</pubDate><guid>http://www.blogjava.net/jvict/articles/305163.html</guid><wfw:comment>http://www.blogjava.net/jvict/comments/305163.html</wfw:comment><comments>http://www.blogjava.net/jvict/articles/305163.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jvict/comments/commentRss/305163.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jvict/services/trackbacks/305163.html</trackback:ping><description><![CDATA[<div>Linux下双网卡绑定技术实现负载均衡和失效保护 <br />
cgweb <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 保持服务器的高可用性是企业级 IT 环境的重要因素。其中最重要的一点是服务器网络连接的高可用性。网卡（NIC）绑定技术有助于保证高可用性特性并提供其它优势以提高网络性能。 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 我们在这介绍的Linux双网卡绑定实现就是使用两块网卡虚拟成为一块网卡，这个聚合起来的设备看起来是一个单独的以太网接口设备，通俗点讲就是两块网卡具有相同的IP地址而并行链接聚合成一个逻辑链路工作。其实这项技术在Sun和Cisco中早已存在，被称为Trunking和Etherchannel技术，在Linux的2.4.x的内核中也采用这这种技术，被称为bonding。bonding技术的最早应用是在集群——beowulf上，为了提高集群节点间的数据传输而设计的。下面我们讨论一下bonding 的原理,什么是bonding需要从网卡的混杂(promisc)模式说起。我们知道，在正常情况下，网卡只接收目的硬件地址(MAC Address)是自身Mac的以太网帧，对于别的数据帧都滤掉，以减轻驱动程序的负担。但是网卡也支持另外一种被称为混杂promisc的模式，可以接收网络上所有的帧，比如说tcpdump，就是运行在这个模式下。bonding也运行在这个模式下，而且修改了驱动程序中的mac地址，将两块网卡的Mac地址改成相同，可以接收特定mac的数据帧。然后把相应的数据帧传送给bond驱动程序处理。 <br />
&nbsp;&nbsp;&nbsp;&nbsp; 说了半天理论，其实配置很简单，一共四个步骤： <br />
实验的操作系统是Redhat Linux Enterprise 3.0 <br />
绑定的前提条件：芯片组型号相同，而且网卡应该具备自己独立的BIOS芯片 <br />
<br />
双网卡邦定的拓朴图(见下图) <br />
1.新建/etc/sysconfig/network-scripts/ifcfg-bond0文件<br />
DEVICE=bond0<br />
ONBOOT=yes<br />
BOOTPROTO=static<br />
IPADDR=192.168.0.23<br />
NETMASK=255.255.255.224<br />
GATEWAY=192.168.128.233<br />
USERCTL=no</div>
<div>这里要主意，不要指定单个网卡的IP 地址、子网掩码或网卡 ID。将上述信息指定到虚拟适配器(bonding)中即可。</div>
<div></div>
<div>2.更改/etc/sysconfig/network-scripts/ifcfg-eth0网卡属性 <br />
DEVICE=eth0<br />
ONBOOT=yes<br />
BOOTPROTO=none<br />
MASTER=bond0<br />
USERCTL=no <br />
<br />
3.更改/etc/sysconfig/network-scripts/ifcfg-eth1网卡的属性<br />
DEVICE=eth1<br />
ONBOOT=yes<br />
BOOTPROTO=none<br />
MASTER=bond0<br />
USERCTL=no</div>
<div>文章出处：DIY部落</div>
<div></div>
<div>4 # vi /etc/modules.conf <br />
编辑 /etc/modules.conf 文件，加入如下一行内容，以使系统在启动时加载bonding模块，对外虚拟网络接口设备为 bond0 <br />
　 <br />
加入下列两行 <br />
alias bond0 bonding <br />
options bond0 miimon=100 mode=1 <br />
说明：miimon是用来进行链路监测的。 比如:miimon=100，那么系统每100ms监测一次链路连接状态，如果有一条线路不通就转入另一条线路；mode的值表示工作模式，他共有0，1,2,3四种模式，常用的为0,1两种。 <br />
&nbsp;&nbsp;&nbsp; mode=0表示load balancing (round-robin)为负载均衡方式，两块网卡都工作。 <br />
&nbsp;&nbsp;&nbsp; mode=1表示fault-tolerance (active-backup)提供冗余功能，工作方式是主备的工作方式,也就是说默认情况下只有一块网卡工作,另一块做备份.&nbsp;&nbsp; <br />
bonding只能提供链路监测，即从主机到交换机的链路是否接通。如果只是交换机对外的链路down掉了，而交换机本身并没有故障，那么bonding会认为链路没有问题而继续使用</div>
<div></div>
<div>5 # vi /etc/rc.d/rc.local <br />
加入两行 <br />
ifenslave bond0 eth0 eth1 <br />
route add -net 172.31.3.254 netmask 255.255.255.0 bond0</div>
<div></div>
<div>6 到这时已经配置完毕重新启动机器. <br />
重启会看见以下信息就表示配置成功了 <br />
................ <br />
Bringing up interface bond0 OK <br />
Bringing up interface eth0 OK <br />
Bringing up interface eth1 OK</div>
<div></div>
<div>7 说明</div>
<div>miimon是用来进行链路监测的。 比如:miimon=100，那么系统每100ms监测一次链路连接状态，如果 <br />
有一条线路不通就转入另一条线路</div>
<div></div>
<div>
<p>下面我们讨论以下mode分别为0,1时的情况 <br />
mode=1工作在主备模式下,这时eth1作为备份网卡是no arp的 <br />
[root@rhas-13 network-scripts]# ifconfig&nbsp;&nbsp; 验证网卡的配置信息 <br />
bond0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Link encap:Ethernet&nbsp;&nbsp; HWaddr 00:0E:7F:25:D9:8B <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; inet addr:172.31.0.13&nbsp;&nbsp; Bcast:172.31.3.255&nbsp;&nbsp; Mask:255.255.252.0 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UP BROADCAST RUNNING MASTER MULTICAST&nbsp;&nbsp; MTU:1500&nbsp;&nbsp; Metric:1 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RX packets:18495 errors:0 dropped:0 overruns:0 frame:0 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TX packets:480 errors:0 dropped:0 overruns:0 carrier:0 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; collisions:0 txqueuelen:0 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RX bytes:1587253 (1.5 Mb)&nbsp;&nbsp; TX bytes:89642 (87.5 Kb) <br />
<br />
eth0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Link encap:Ethernet&nbsp;&nbsp; HWaddr 00:0E:7F:25:D9:8B <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; inet addr:172.31.0.13&nbsp;&nbsp; Bcast:172.31.3.255&nbsp;&nbsp; Mask:255.255.252.0 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UP BROADCAST RUNNING SLAVE MULTICAST&nbsp;&nbsp; MTU:1500&nbsp;&nbsp; Metric:1 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RX packets:9572 errors:0 dropped:0 overruns:0 frame:0 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TX packets:480 errors:0 dropped:0 overruns:0 carrier:0 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; collisions:0 txqueuelen:1000 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RX bytes:833514 (813.9 Kb)&nbsp;&nbsp; TX bytes:89642 (87.5 Kb) <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Interrupt:11 <br />
<br />
eth1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Link encap:Ethernet&nbsp;&nbsp; HWaddr 00:0E:7F:25:D9:8B <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; inet addr:172.31.0.13&nbsp;&nbsp; Bcast:172.31.3.255&nbsp;&nbsp; Mask:255.255.252.0 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UP BROADCAST RUNNING NOARP SLAVE MULTICAST&nbsp;&nbsp; MTU:1500&nbsp;&nbsp; Metric:1 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RX packets:8923 errors:0 dropped:0 overruns:0 frame:0 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; collisions:0 txqueuelen:1000 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RX bytes:753739 (736.0 Kb)&nbsp;&nbsp; TX bytes:0 (0.0 b) <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Interrupt:15 <br />
&nbsp;&nbsp;&nbsp;&nbsp; 那也就是说在主备模式下,当一个网络接口失效时(例如主交换机掉电等),不回出现网络中断,系统会按照cat /etc/rc.d/rc.local里指定网卡的顺序工作,机器仍能对外服务,起到了失效保护的功能. <br />
<br />
在mode=0&nbsp;&nbsp;&nbsp;&nbsp; 负载均衡工作模式,他能提供两倍的带宽,下我们来看一下网卡的配置信息 <br />
[root@rhas-13 root]# ifconfig <br />
bond0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Link encap:Ethernet&nbsp;&nbsp; HWaddr 00:0E:7F:25:D9:8B <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; inet addr:172.31.0.13&nbsp;&nbsp; Bcast:172.31.3.255&nbsp;&nbsp; Mask:255.255.252.0 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UP BROADCAST RUNNING MASTER MULTICAST&nbsp;&nbsp; MTU:1500&nbsp;&nbsp; Metric:1 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RX packets:2817 errors:0 dropped:0 overruns:0 frame:0 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TX packets:95 errors:0 dropped:0 overruns:0 carrier:0 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; collisions:0 txqueuelen:0 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RX bytes:226957 (221.6 Kb)&nbsp;&nbsp; TX bytes:15266 (14.9 Kb) <br />
<br />
eth0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Link encap:Ethernet&nbsp;&nbsp; HWaddr 00:0E:7F:25:D9:8B <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; inet addr:172.31.0.13&nbsp;&nbsp; Bcast:172.31.3.255&nbsp;&nbsp; Mask:255.255.252.0 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UP BROADCAST RUNNING SLAVE MULTICAST&nbsp;&nbsp; MTU:1500&nbsp;&nbsp; Metric:1 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RX packets:1406 errors:0 dropped:0 overruns:0 frame:0 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TX packets:48 errors:0 dropped:0 overruns:0 carrier:0 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; collisions:0 txqueuelen:1000 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RX bytes:113967 (111.2 Kb)&nbsp;&nbsp; TX bytes:7268 (7.0 Kb) <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Interrupt:11 <br />
<br />
eth1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Link encap:Ethernet&nbsp;&nbsp; HWaddr 00:0E:7F:25:D9:8B <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; inet addr:172.31.0.13&nbsp;&nbsp; Bcast:172.31.3.255&nbsp;&nbsp; Mask:255.255.252.0 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UP BROADCAST RUNNING SLAVE MULTICAST&nbsp;&nbsp; MTU:1500&nbsp;&nbsp; Metric:1 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RX packets:1411 errors:0 dropped:0 overruns:0 frame:0 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TX packets:47 errors:0 dropped:0 overruns:0 carrier:0 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; collisions:0 txqueuelen:1000 <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; RX bytes:112990 (110.3 Kb)&nbsp;&nbsp; TX bytes:7998 (7.8 Kb) <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Interrupt:15 <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在这种情况下出现一块网卡失效,仅仅会是服务器出口带宽下降,也不会影响网络使用. <br />
<br />
<br />
<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 通过查看bond0的工作状态查询能详细的掌握bonding的工作状态 <br />
[root@rhas-13 bonding]# cat /proc/net/bonding/bond0 <br />
bonding.c:v2.4.1 (September 15, 2003) <br />
<br />
Bonding Mode: load balancing (round-robin) <br />
MII Status: up <br />
MII Polling Interval (ms): 0 <br />
Up Delay (ms): 0 <br />
Down Delay (ms): 0 <br />
Multicast Mode: all slaves <br />
<br />
Slave Interface: eth1 <br />
MII Status: up <br />
Link Failure Count: 0 <br />
Permanent HW addr: 00:0e:7f:25:d9:8a <br />
<br />
Slave Interface: eth0 <br />
MII Status: up <br />
Link Failure Count: 0 <br />
Permanent HW addr: 00:0e:7f:25:d9:8b <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Linux下通过网卡邦定技术既增加了服务器的可靠性,又增加了可用网络带宽,为用户提供不间断的关键服务。用以上方法均在redhat的多个版本测试成功,而且效果良好.心动不如行动，赶快一试吧！ <br />
参考文档： <br />
/usr/share/doc/kernel-doc-2.4.21/networking/bonding.txt</p>
<p><span><img class="blogimg" src="http://hiphotos.baidu.com/coolhayy/pic/item/768fa663538a7c4f0d33fa01.jpg" border="0" small="0"  alt="" /><br />
</span></p>
</div>
<img src ="http://www.blogjava.net/jvict/aggbug/305163.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jvict/" target="_blank">Documents</a> 2009-12-08 14:48 <a href="http://www.blogjava.net/jvict/articles/305163.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>CentOS Yum 命令详解</title><link>http://www.blogjava.net/jvict/articles/305149.html</link><dc:creator>Documents</dc:creator><author>Documents</author><pubDate>Tue, 08 Dec 2009 05:55:00 GMT</pubDate><guid>http://www.blogjava.net/jvict/articles/305149.html</guid><wfw:comment>http://www.blogjava.net/jvict/comments/305149.html</wfw:comment><comments>http://www.blogjava.net/jvict/articles/305149.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jvict/comments/commentRss/305149.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jvict/services/trackbacks/305149.html</trackback:ping><description><![CDATA[<div class="cnt">
<p>总所周知，Redhat和Fedora的软件安装命令是rpm，但是用rpm安 装软件最大的麻烦就是需要手动寻找安装该软件所需要的一系列依赖关系，超级麻烦不说，要是软件不用了需要卸载的话由于卸载掉了某个依赖关系而导致其他的软 件不能用是非常恼人的。令人高兴的是，Fedora终于推出了类似于ubuntu中的apt的命令yum，令Fedora的软件安装变得简单容易。<br />
<font face="NSimsun"><code>yum有一下特点：<br />
*可以同时配置多个资源库(Repository)<br />
*简洁的配置文件(/etc/yum.conf)<br />
*自动解决增加或删除rpm包时遇到的倚赖性问题<br />
*使用方便<br />
*保持与RPM数据库的一致性</code></font></p>
<blockquote>
<p>yum，是Yellow dog Updater Modified的简称，起初是由yellow dog这一发行版的开发者Terra Soft研发，用python写成，那时还叫做yup(yellow dog updater)，后经杜克大学的Linux@Duke开发团队进行改进，遂有此名。yum的宗旨是自动化地升级，安装/移除rpm包，收集rpm包的相 关信息，检查依赖性并自动提示用户解决。yum的关键之处是要有可靠的repository，顾名思义，这是软件的仓库，它可以是http或ftp站点， 也可以是本地软件池，但必须包含rpm的header， header包括了rpm包的各种信息，包括描述，功能，提供的文件，依赖性等.正是收集了这些 header并加以分析，才能自动化地完成余下的任务。</p>
</blockquote>
<p>1.yum的一切配置信息都储存在一个叫yum.conf的配置文件中，通常位于/etc目 录下，这是整个yum系统的重中之重，我在的F7中查看了这一文件，大家一起来看下：</p>
<blockquote>
<p><code><font face="NSimsun">[hanlong@wh_eric F7常用文档]$ sudo more /etc/yum.conf<br />
[main]<br />
cachedir=/var/cache/yum<br />
keepcache=0<br />
debuglevel=2<br />
logfile=/var/log/yum.log<br />
exactarch=1<br />
obsoletes=1<br />
gpgcheck=1<br />
plugins=1<br />
metadata_expire=1800<br />
# PUT YOUR REPOS HERE OR IN separate files named file.repo<br />
# in /etc/yum.repos.d</font></code></p>
</blockquote>
<p>下面简单的对这一文件作简要的说明：<br />
cachedir：yum缓存的目录，yum在此存储下载的rpm包和数据库，一般是/var/cache/yum。<br />
debuglevel：除错级别，0──10,默认是2<br />
logfile：yum的日志文件，默认是/var/log/yum.log。<br />
exactarch，有两个选项1和0,代表是否只升级和你安装软件包cpu体系一致的包，如果设为1，则如你安装了一个i386的rpm，则yum不会用686的包来升级。<br />
gpgchkeck= 有1和0两个选择，分别代表是否是否进行gpg校验，如果没有这一项，默认好像也是检查的。</p>
<p>2.好了，接下来就是yum的使用了，首先用yum来升级软件，yum的操作大都须有超级用户的权限，当然可以用sudo。<br />
yum update，这一步是必须的，yum会从服务器的header目录下载rpm的header，放在本地的缓存中，这可能会花费一定的时间，但比起yum 给我们带来方便，这些时间的花费又算的了什么呢？header下载完毕，yum会判断是否有可更新的软件包，如果有，它会询问你的意见，是否更新，还是说 y吧，把系统始终up to date总是不错的，这时yum开始下载软件包并使用调用rpm安装，这可能要一定时间，取决于要更新软件的数目和网络状况，万一网络断了，也没关系，再 进行一次就可以了。升级完毕，以后每天只要使用yum check-update检查一下有无跟新，如果有，就用yum update进行跟新，时刻保持系统为最新，堵住一切发现的漏洞。用yum update packagename 对某个单独包进行升级。<br />
现在简单的把yum软件升级的一些命令罗列一下：</p>
<blockquote>
<p><code><font face="NSimsun">(更新：我在安装wine的时候是用rpm一个一个安装的，先安装以来关系，然后在安装wine的主包，但是刚刚在论坛上发现来一个好的帖子，就yum的本地安装。参数是-localinstall<br />
$yum localinstall wine-*<br />
这样的话，yum会自动安装所有的依赖关系，而不用rpm一个一个的安装了，省了好多工作。<br />
还有一个与他类似的参数：<br />
$yum localupdate wine-*<br />
如果有wine的新版本，而且你也下载到来本地，就可以这样本地更新wine了。)</font></code></p>
</blockquote>
<blockquote>
<p>1.列出所有可更新的软件清单</p>
<p>命令：<font color="#0000ff">yum check-update</font></p>
<p>2.安装所有更新软件</p>
<p>命令：yum update</p>
<p>3.仅安装指定的软件</p>
<p>命令：yum install
<package_name></package_name>
</p>
<p>4.仅更新指定的软件</p>
<p>命令：yum update
<package_name></package_name>
</p>
<p>5.列出所有可安裝的软件清单</p>
<p>命令：yum list</p>
</blockquote>
<p>3.使用yum安装和卸载软件，有个前提是yum安装的软件包都是rpm格式的。<br />
安装的命令是，yum install xxx，yum会查询数据库，有无这一软件包，如果有，则检查其依赖冲突关系，如果没有依赖冲突，那么最好，下载安装;如果有，则会给出提示，询问是否要同时安装依赖，或删除冲突的包，你可以自己作出判断<br />
删除的命令是，yum remove xxx，同安装一样，yum也会查询数据库，给出解决依赖关系的提示。</p>
<blockquote>
<p>1<font color="#0000ff">.用YUM安装软件包</font></p>
<p><font color="#0000ff">命令：yum install
<package_name></package_name>
</font></p>
<p><font color="#0000ff">2.用YUM删除软件包</font></p>
<p><font color="#0000ff">命令：yum remove </font>
<package_name></package_name>
</p>
</blockquote>
<p>4.用yum查询想安装的软件<br />
我们常会碰到这样的情况，想要安装一个软件，只知道它和某方面有关，但又不能确切知道它的名字。这时yum的查询功能就起作用了。你可以用 yum search keyword这样的命令来进行搜索，比如我们要则安装一个Instant Messenger，但又不知到底有哪些，这时不妨用 yum search messenger这样的指令进行搜索，yum会搜索所有可用rpm的描述，列出所有描述中和messeger有关的rpm包，于是我们可能得到 gaim，kopete等等，并从中选择。<br />
有时我们还会碰到安装了一个包，但又不知道其用途，我们可以用yum info packagename这个指令来获取信息。</p>
<blockquote>
<p>1.<font color="#0000ff">使用YUM查找软件包<br />
命令：yum search <keyword></keyword></font><br />
2.列出所有可安装的软件包<br />
命令：yum list<br />
3.列出所有可更新的软件包<br />
命令：yum list updates<br />
4.列出所有已安装的软件包<br />
命令：<font color="#0000ff">yum list installed</font><br />
5.列出所有已安装但不在 Yum Repository 內的软件包<br />
命令：yum list extras<br />
6.列出所指定的软件包<br />
命令：yum list
<package_name></package_name>
</p>
<p><font color="#0000ff">7.使用YUM获取软件包信息<br />
命令：yum info </font></p>
<p>
<package_name></package_name>
8.列出所有软件包的信息<br />
命令：yum info<br />
9.列出所有可更新的软件包信息<br />
命令：yum info updates<br />
10.<font color="#0000ff">列出所有已安裝的软件包信息<br />
命令：yum info installed</font><br />
11.列出所有已安裝但不在 Yum Repository 內的软件包信息<br />
命令：yum info extras<br />
12.列出软件包提供哪些文件<br />
命令：yum provides
<package_name></package_name>
</p>
</blockquote>
<p>5.清除YUM缓存</p>
<p>yum 会把下载的软件包和header存储在cache中，而不会自动删除。如果我们觉得它们占用了磁盘空间，可以使用yum clean指令进行清除，更精确的用法是yum clean headers清除header，yum clean packages清除下载的rpm包，<font color="#0000ff">yum clean all</font> 清除所有</p>
<blockquote>
<p>1.清除缓存目录(/var/cache/yum)下的软件包</p>
<p>命令：yum clean packages</p>
<p>2.清除缓存目录(/var/cache/yum)下的 headers</p>
<p>命令：yum clean headers</p>
<p>3.清除缓存目录(/var/cache/yum)下旧的 headers</p>
<p>命令：yum clean oldheaders</p>
<p>4.清除缓存目录(/var/cache/yum)下的软件包及旧的headers</p>
<p>命令：yum clean, yum clean all (= yum clean packages; yum clean oldheaders)</p>
</blockquote>
<p>以上所有命令参数的使用都可以用man来查看：</p>
<blockquote>
<p><code><font face="NSimsun">[hanlong@wh_eric F7常用文档]$ man yum</font></code></p>
<p>&nbsp;</p>
<p><code><font face="NSimsun">FROM:http://han-long.cn/blog/archives/45</font></code></p>
<p>&nbsp;</p>
</blockquote></div>
<strong>yum特点</strong>
<ul class="ubb-list">*可以同时配置多个资源库(Repository)<br />
    *简洁的配置文件(/etc/yum.conf)<br />
    *自动解决增加或删除rpm包时遇到的倚赖性问题<br />
    *使用方便<br />
    *保持与RPM数据库的一致性</ul>
    <strong>yum安装</strong>,哈哈，Fedora自带哦！<br />
    #rpm -ivh yum-2.0.4-2.noarch.rpm<br />
    <br />
    四. yum配置<br />
    注:修改和增加配置文件中的资源库,加快下载速度和拥有更多可更新的rpm包<br />
    将/etc/yum.conf的内容全部替换为<br />
    [main]<br />
    cachedir=/var/cache/yum<br />
    debuglevel=2<br />
    logfile=/var/log/yum.log<br />
    pkgpolicy=newest<br />
    distroverpkg=fedora-release<br />
    tolerant=1<br />
    exactarch=1<br />
    <br />
    [fedora-us-1]<br />
    name=Fedora Core 1 -- Fedora US mirror<br />
    baseurl=ftp://mirrors.kernel.org/fedora.us/fedora/fedora/1/i386/yum/os<br />
    <br />
    [fedora-us-1-updates]<br />
    name=Fedora Core 1 updates -- Fedora US mirror<br />
    baseurl=ftp://mirrors.kernel.org/fedora.us/fedora/fedora/1/i386/yum/updates<br />
    <br />
    [fedora-us-1-stable]<br />
    name=Fedora Linux (stable) for Fedora Core 1 -- Fedora US mirror<br />
    baseurl=ftp://mirrors.kernel.org/fedora.us/fedora/fedora/1/i386/yum/stable<br />
    <br />
    [freshrpms]<br />
    name=Fedora Linux $releasever - $basearch - freshrpms<br />
    baseurl=http://ayo.freshrpms.net/fedora/linux/$releasever/$basearch/freshrpms<br />
    <br />
    五. yum应用<br />
    注:当第一次使用yum或yum资源库有更新时,yum会自动下载所有所需的headers放置于/var/cache/yum目录下,所需时间可能较长.<br />
    <br />
    检查有哪些可更新的rpm包<br />
    #yum check-update<br />
    <br />
    安装rpm包,使xmms可以播放mp3<br />
    #yum install xmms-mp3<br />
    <br />
    安装mplayer,同时自动安装相关的软件<br />
    #yum install mplayer<br />
    <br />
    删除licq包,同时删除与该包有倚赖性的包<br />
    #yum remove licq<br />
    注:同时会提示删除licq-gnome,licq-qt,licq-text,非常方便<br />
    <br />
    系统更新(更新所有可以升级的rpm包,包括kernel)<br />
    #yum -y update<br />
    <br />
    <font color="#0000ff">每天定期执行系统更新<br />
    #chkconfig yum on</font><br />
    #service yum start<br />
    <br />
    六. yum指令详解<br />
    *rpm包的更新<br />
    <br />
    检查可更新的rpm包<br />
    #yum check-update<br />
    <br />
    更新所有的rpm包<br />
    #yum update<br />
    <br />
    更新指定的rpm包,如更新kernel和kernel source<br />
    #yum update kernel kernel-source<br />
    <br />
    大规模的版本升级,与yum update不同的是,连旧的淘汰的包也升级<br />
    #yum upgrade<br />
    <br />
    *rpm包的安装和删除<br />
    <br />
    安装rpm包,如xmms-mp3<br />
    #yum install xmms-mp3<br />
    <br />
    删除rpm包,包括与该包有倚赖性的包<br />
    #yum remove licq<br />
    注:同时会提示删除licq-gnome,licq-qt,licq-text<br />
    <br />
    *yum暂存(/var/cache/yum/)的相关参数<br />
    清除暂存中rpm包文件<br />
    #yum clean packages<br />
    <br />
    清除暂存中rpm头文件<br />
    #yum clean headers<br />
    <br />
    清除暂存中旧的rpm头文件<br />
    #yum clean oldheaders<br />
    <br />
    清除暂存中旧的rpm头文件和包文件<br />
    #yum clean 或#yum clean all<br />
    注:相当于yum clean packages + yum clean oldheaders<br />
    <br />
    *rpm包列表<br />
    <br />
    列出资源库中所有可以安装或更新的rpm包<br />
    #yum list<br />
    <br />
    列出资源库中特定的可以安装或更新以及已经安装的rpm包<br />
    #yum list mozilla<br />
    #yum list mozilla*<br />
    注:可以在rpm包名中使用匹配符,如列出所有以mozilla开头的rpm包<br />
    <br />
    列出资源库中所有可以更新的rpm包<br />
    #yum list updates<br />
    <br />
    列出已经安装的所有的rpm包<br />
    #yum list installed<br />
    <br />
    列出已经安装的但是不包含在资源库中的rpm包<br />
    #yum list extras<br />
    注:通过其它网站下载安装的rpm包<br />
    <br />
    *rpm包信息显示(info参数同list)<br />
    <br />
    列出资源库中所有可以安装或更新的rpm包的信息<br />
    #yum info<br />
    <br />
    列出资源库中特定的可以安装或更新以及已经安装的rpm包的信息<br />
    #yum info mozilla<br />
    #yum info mozilla*<br />
    注:可以在rpm包名中使用匹配符,如列出所有以mozilla开头的rpm包的信息<br />
    <br />
    列出资源库中所有可以更新的rpm包的信息<br />
    #yum info updates<br />
    <br />
    列出已经安装的所有的rpm包的信息<br />
    #yum info installed<br />
    <br />
    列出已经安装的但是不包含在资源库中的rpm包的信息<br />
    #yum info extras<br />
    注:通过其它网站下载安装的rpm包的信息<br />
    <br />
    *搜索rpm包<br />
    搜索匹配特定字符的rpm包<br />
    #yum search mozilla<br />
    注:在rpm包名,包描述等中搜索<br />
    <br />
    搜索有包含特定文件名的rpm包<br />
    #yum provides realplay<br />
    <br />
    七. 安全的更新freshrpms.net的rpm包<br />
    安装freshrpms.net的GPG key<br />
    #rpm --import <a title="http://freshrpms.net/packages/RPM-GPG-KEY.txt" href="http://freshrpms.net/packages/RPM-GPG-KEY.txt" target="_blank">http://freshrpms.net/packages/RPM-GPG-KEY.txt</a><br />
    <br />
    编辑/etc/yum.conf,增加以下信息到尾部<br />
    [freshrpms]<br />
    name=Fedora Linux $releasever - $basearch - freshrpms<br />
    baseurl=http://ayo.freshrpms.net/fedora/linux/$releasever/$basearch/freshrpms<br />
    gpgcheck=1<br />
    <br />
    注:<br />
    检查GPG Key<br />
    # rpm -qa gpg-pubkey*<br />
    <br />
    显示Key信息<br />
    #rpm -qi gpg-pubkey-e42d547b-3960bdf1<br />
    <br />
    删除Key<br />
    #rpm -e gpg-pubkey-e42d547b-3960bdf1
<img src ="http://www.blogjava.net/jvict/aggbug/305149.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jvict/" target="_blank">Documents</a> 2009-12-08 13:55 <a href="http://www.blogjava.net/jvict/articles/305149.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>redhat 修改i18n</title><link>http://www.blogjava.net/jvict/articles/261995.html</link><dc:creator>Documents</dc:creator><author>Documents</author><pubDate>Thu, 26 Mar 2009 00:29:00 GMT</pubDate><guid>http://www.blogjava.net/jvict/articles/261995.html</guid><wfw:comment>http://www.blogjava.net/jvict/comments/261995.html</wfw:comment><comments>http://www.blogjava.net/jvict/articles/261995.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jvict/comments/commentRss/261995.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jvict/services/trackbacks/261995.html</trackback:ping><description><![CDATA[<p>中文简体: </p>
<div>[root@linux ~]# more /etc/sysconfig/i18n</div>
<div>LANG="zh_CN.GB18030"</div>
<div>LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"</div>
<div>SUPPORTED="zh_CN.UTF-8:zh_CN:zh:zh_TW.UTF-8:zh_TW:zh:en_US.UTF-8:en_US:en"</div>
<div>SYSFONT="lat0-sun16"</div>
<div>&nbsp;<wbr></div>
<div>中文繁体:</div>
<div>[root@linux ~]# more /etc/sysconfig/i18n</div>
<div>LANG="en_US.UTF-8"</div>
<div>SUPPORTED="zh_CN.UTF-8:zh_CN:zh:zh_TW.UTF-8:zh_TW:zh:en_US.UTF-8:en_US:en"<br />
SYSFONT="latarcyrheb-sun16"</div>
<div>&nbsp;<wbr></div>
<div>英文:</div>
<div>[root@linux ~]# more /etc/sysconfig/i18n</div>
<div>LANG="zh_TW.UTF-8"</div>
<div>UPPORTED="zh_CN.UTF-8:zh_CN:zh:zh_TW.UTF-8:zh_TW:zh:en_US.UTF-8:en_US:en"<br />
SYSFONT="lat0-sun16"<br />
</div>
<img src ="http://www.blogjava.net/jvict/aggbug/261995.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jvict/" target="_blank">Documents</a> 2009-03-26 08:29 <a href="http://www.blogjava.net/jvict/articles/261995.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Linux服务cannot change directory错误解决方法,关于在FC6启用Vsftpd服务碰到的问题及解决方法</title><link>http://www.blogjava.net/jvict/articles/261630.html</link><dc:creator>Documents</dc:creator><author>Documents</author><pubDate>Tue, 24 Mar 2009 01:00:00 GMT</pubDate><guid>http://www.blogjava.net/jvict/articles/261630.html</guid><wfw:comment>http://www.blogjava.net/jvict/comments/261630.html</wfw:comment><comments>http://www.blogjava.net/jvict/articles/261630.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jvict/comments/commentRss/261630.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jvict/services/trackbacks/261630.html</trackback:ping><description><![CDATA[<p><a href="http://blog.csdn.net/dotjox/archive/2007/06/03/1636731.aspx">原文: http://blog.csdn.net/dotjox/archive/2007/06/03/1636731.aspx</a><br />
原文:http://blog.csdn.net/cywosp/archive/2008/10/05/3017302.aspx<br />
<br />
在安装完vsftp服务后登陆时可能遇到cannot change directory后面是登陆者的目录的错误。这是因为SE设置的关闭了ftp的原因。 使用命令 getsebool ftpd_disable_trans 可以查看当前的状态如果不是on 那么是输入命令 setsebool ftpd_disable_trans 1 当然也可以加入-P参数 以便不需要每次开机都输入这个命令 setsebool -P ftpd_disable_trans 1 同理如果smb服务也遇到相同的问题<br />
<br />
在安装完vsftp服务后登陆时可能遇到cannot change directory后面是登陆者的目录的错误。这是因为SE设置的关闭了ftp的原因。<br />
<br />
使用命令<br />
<br />
getsebool ftpd_disable_trans<br />
<br />
可以查看当前的状态如果不是on<br />
<br />
那么是输入命令<br />
<br />
setsebool ftpd_disable_trans 1<br />
<br />
当然也可以加入-P参数 以便不需要每次开机都输入这个命令<br />
<br />
setsebool -P ftpd_disable_trans 1<br />
<br />
同理 如果smb服务也遇到相同的问题 ，也可以这么做。<br />
<br />
setsebool -P samba_enable_home_dirs=1<br />
<br />
selinux的问题也可以使用 管理工具中的 selinux management 来调整相关设置。<br />
<br />
服务器端：<br />
首先检查FC上是否已经安装了vsftpd服务程序，<br />
[root@localhost ~]# rpm -qa |grep vsftpd<br />
vsftpd-2.0.5-8<br />
若要让ftp服务每次开机时自动启动，敲入<br />
[root@localhost ~]# chkconfig vsftpd on<br />
启动vsftpd服务，提示OK<br />
[root@localhost ~]# service vsftpd start<br />
Starting vsftpd for vsftpd:&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;&nbsp; [ OK ]<br />
<br />
客户端：<br />
在Windows的命令行用系统用户登录：<br />
C:\Documents and Settings\Administrator&gt;ftp 192.168.1.112<br />
Connected to 192.168.1.112.<br />
220 (vsFTPd 2.0.5)<br />
User (192.168.1.112:(none)): dog<br />
331 Please specify the password.<br />
Password:<br />
500 OOPS: cannot change directory:/home/dog<br />
Login failed.<br />
ftp&gt; bye<br />
500 OOPS: child died<br />
提示登录失败。<br />
<br />
找到网上流行的解决方法：<br />
[root@localhost ~]#<span style="color: rgb(255,0,0)">setsebool ftpd_disable_trans 1</span><br />
为避免每次开机都要作这个操作，可在setsebool命令后面加上-P选项，使改动永久有效。<br />
查看SE选项值可以用<br />
[root@localhost ~]# getsebool ftpd_disable_trans<br />
ftpd_disable_trans --&gt; on<br />
重启vsftpd服务<br />
[root@localhost ~]# service vsftpd restart<br />
Shutting down vsftpd:&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [ OK ]<br />
Starting vsftpd for vsftpd:&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;&nbsp; [ OK ]<br />
<br />
重新登录：<br />
C:\Documents and Settings\Administrator&gt;ftp 192.168.1.112<br />
Connected to 192.168.1.112.<br />
220 (vsFTPd 2.0.5)<br />
User (192.168.1.112:(none)): dog<br />
331 Please specify the password.<br />
Password:<br />
230 Login successful.<br />
ftp&gt; pwd<br />
257 "/home/dog"<br />
ftp&gt; mkdir ftp<br />
257 "/home/dog/ftp" created<br />
ftp&gt; ls<br />
200 PORT command successful. Consider using PASV.<br />
150 Here comes the directory listing.<br />
Desktop<br />
ftp<br />
226 Directory send OK.<br />
ftp: 收到 14 字节，用时 0.00Seconds 14000.00Kbytes/sec.<br />
ftp&gt; bye<br />
221 Goodbye.<br />
<br />
但是如果在FirstBoot时，选择了合适的策略，就不会出现这个问题。 <br />
<img alt="" src="http://p.blog.csdn.net/images/p_blog_csdn_net/dotjox/309095/o_firstboot.jpg" /><br />
<br />
在下次开机时重新设置FirstBoot选项的方法：<br />
#rm /etc/sysconfig/firstboot，然后重启<br />
firstboot命令在管理目录/usr/sbin下。</p>
<img src ="http://www.blogjava.net/jvict/aggbug/261630.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jvict/" target="_blank">Documents</a> 2009-03-24 09:00 <a href="http://www.blogjava.net/jvict/articles/261630.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转] PHP5及Discuz的附件大小限制修改</title><link>http://www.blogjava.net/jvict/articles/261540.html</link><dc:creator>Documents</dc:creator><author>Documents</author><pubDate>Mon, 23 Mar 2009 08:15:00 GMT</pubDate><guid>http://www.blogjava.net/jvict/articles/261540.html</guid><wfw:comment>http://www.blogjava.net/jvict/comments/261540.html</wfw:comment><comments>http://www.blogjava.net/jvict/articles/261540.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jvict/comments/commentRss/261540.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jvict/services/trackbacks/261540.html</trackback:ping><description><![CDATA[建的论坛上传附件的时候发现文件大了传不上,最大只能是2M.
<p>我的论坛是用Discuz!6.0.0建立的,在Windows下用Apache+Mysql+php。没改太多的配置.</p>
<p>出现了这个问题,我到网上找了些解决方法,但都没修改成功,到学校内的一个论坛上发了个帖子,很快有人帮我解决了这个问题,我就整理下,写在这里.</p>
<p>首先需要在PHP.ini里设置以下几项:<br />
1. post_max_size =10M </p>
<p>表单提交最大数据为10M.此项不是限制上传单个文件的大小,而是针对整个表单的提交数据进行限制的.<br />
限制范围包括表单提交的所有内容.例如:发表贴子时,贴子标题,内容,附件等...</p>
<p>2.file_uploads = On&nbsp;&nbsp;</p>
<p>是否允许上传文件,如果为OFF您将不能上传文件.</p>
<p>3.upload_tmp_dir = "D:/APM/PHP/uploadtemp/"&nbsp;&nbsp;</p>
<p>上传文件时系统使用的缓存目录.如果此目录所在磁盘空间不足的话您将不能上传文件.</p>
<p>4.upload_max_filesize =2M </p>
<p>最大上传文件大小,此项针对上传文件时单个文件的大小.</p>
<p>与post_max_size之间的关系:<br />
在论坛发表贴子时,您post_max_size 设为10M,而此项设成了2M,那么您只能上传最大为2M的附件,且可以同时上传5个.</p>
<p>注意:很多人遇到修改php.ini后重应WEB服务后仍然不能生效.这种情况应该先确认一下所改的php.ini是不是当前PHP所使用的.<br />
您可以在WEB目录下建立一个php文件,内容很简单就一句话 </p>
<p>为了确定让更改有效，我重启了Apache。</p>
<p>然后在到"用户管理"----&gt;分组与级别下的"用户组"---&gt;系统用户组---&gt;点击每个用户组的详情编辑，找到附件相关的&#8220;最大附件尺寸(字节):&#8221;修改就行了。</p>
<img src ="http://www.blogjava.net/jvict/aggbug/261540.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jvict/" target="_blank">Documents</a> 2009-03-23 16:15 <a href="http://www.blogjava.net/jvict/articles/261540.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转]rhel5/cento5下远程桌面(VNC)配置</title><link>http://www.blogjava.net/jvict/articles/261438.html</link><dc:creator>Documents</dc:creator><author>Documents</author><pubDate>Mon, 23 Mar 2009 01:48:00 GMT</pubDate><guid>http://www.blogjava.net/jvict/articles/261438.html</guid><wfw:comment>http://www.blogjava.net/jvict/comments/261438.html</wfw:comment><comments>http://www.blogjava.net/jvict/articles/261438.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jvict/comments/commentRss/261438.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jvict/services/trackbacks/261438.html</trackback:ping><description><![CDATA[VNC(Virtual Network Computing)虚拟网络计算工具，本质上来说是一个远程显示系统，管理员通过它不仅仅可以在运行程序的本地机上察看桌面环境，而且可以从 Internet上的任何地方察看远程机器的运行情况，而且它具有跨平台的特性。 Linux 要使用远程桌面需要安装VNC，好在rhel5/centos5 已经自带了VNC，默认也已经安装了，只要配置一下就可以了。但是Windows客户端还是要安装的。 <br />
<br />
步骤1、启动VNCServer <br />
打开终端，执行以下命令 <br />
#vncserver <br />
<br />
第一次运行vncserver会提示输入密码，如果再次修改密码，请用vncpasswd <br />
<br />
#vncpasswd <br />
<br />
每次运行vncserver后都会给我们开放一个新的X-display号，通常会有your-server:3（your-server是你服务器的名 称或者IP地址）之类的提示信息，意思是给我们开放新的X-display号3；通常上我们只运行一次vncserver就可以了，也就是开放X- display号1给我们使用，如果需要多个X-display号，再次运行vncserver即可。<br />
<br />
你也可以在系统启动的时候运行vncserver，执行如下的命令让系统每次启动的时候自动运行vncserver <br />
<br />
#chkconfig --level 35 vncserver on <br />
<br />
删除某个X-display号，执行vncserver -kill X-display，如 <br />
#vncserver -kill :3 <br />
<br />
步骤2、启动Linux桌面 <br />
默认情况下VNC Viewer只能看到 VNC Server的命令行。 要VNC Viewer上可以看到Linux桌面需要做如下设置： 打开/root/.vnc/xstartup文件，取消下面两行的注释即可 <br />
<br />
unset SESSION_MANAGER <br />
exec /etc/X11/xinit/xinitrc <br />
<br />
把最后一行的"twm &amp;"替换成"gnome-session &amp;"，把twm窗口管理器换成gome，这一步不是必须的，设置完成后好像要重启机器，建议不要做这步操作，而实际上这步好像没什么效果。 <br />
<br />
步骤3、修改配置文件 <br />
打开vncserver <br />
#vi /etc/sysconfig/vncservers <br />
<br />
去掉下面这两行的注释 <br />
VNCSERVERS="1:root" <br />
VNCSERVERARGS[1]="-geometry 800x600"（这里注意一下，默认系统配置里有 &#8211;nolisten tcp 和 &#8211;nohttpd ，这两个是阻止Xwindows登陆和HTTP方式VNC登陆的，如果需要图形界面，那就删除这部分） <br />
上面表示X-display号1的运行特性，你可以配置多个X-display号的运行特性，如果X-display号没有配置的话，将以缺省配置的方式运行，比如分辨率为1024&#215;768等。 <br />
<br />
步骤4、VNC端口配置 <br />
如果需要从外网控制内网的某台Linux，则需要打开防火墙相应的端口，VNC给浏览器的端口是5800+N，给vncviewer的端口是 5900+N，N是你设置的X-display号，图形化开放端口更直观，进入gnome桌面，菜单选择：系统-&gt;管理-&gt;安全级别和防火墙 <br />
<br />
在弹出页面的"防火墙"选项卡的"其他端口"区域中，增加5900+X-display号，比如开放5901端口等。 <br />
<br />
步骤5、VNC客户端 <br />
Windows 客户端 VNC Viewer 的配置： <br />
<br />
1.从 <a href="http://www.realvnc.com/download.html" target="_blank"><font color="#22229c">http://www.realvnc.com/download.html</font></a>下载VNC Free Edition for Windows Version <br />
<br />
2.打开 VNCViewer，输入your-server:X-display号，如192.168.1.19:1即可。
<img src ="http://www.blogjava.net/jvict/aggbug/261438.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jvict/" target="_blank">Documents</a> 2009-03-23 09:48 <a href="http://www.blogjava.net/jvict/articles/261438.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>linux查看及改变运行级别</title><link>http://www.blogjava.net/jvict/articles/261426.html</link><dc:creator>Documents</dc:creator><author>Documents</author><pubDate>Mon, 23 Mar 2009 01:17:00 GMT</pubDate><guid>http://www.blogjava.net/jvict/articles/261426.html</guid><wfw:comment>http://www.blogjava.net/jvict/comments/261426.html</wfw:comment><comments>http://www.blogjava.net/jvict/articles/261426.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jvict/comments/commentRss/261426.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jvict/services/trackbacks/261426.html</trackback:ping><description><![CDATA[Linux运行级别从0～6，共7个。<br />
<br />
0：关机。不能将系统缺省运行级别设置为0，否则无法启动。<br />
<br />
1：单用户模式，只允许root用户对系统进行维护。<br />
<br />
2：多用户模式，但不能使用NFS（相当于Windows下的网上邻居）<br />
<br />
3：字符界面的多用户模式。<br />
<br />
4：未定义。<br />
<br />
5：图形界面的多用户模式。<br />
<br />
6：重启。不能将系统缺省运行级别设置为0，否则会一直重启。<br />
<br />
<br />
<br />
查看运行级别命令：<br />
<br />
runlevel<br />
<br />
先后显示系统上一次和当前运行级别。如果不存在上一次运行级别，则用N表示。<br />
<br />
<br />
<br />
改变提供运行级别命令：<br />
<br />
init ［0123456］ <br />
<br />
关于运行等级<br />
这个问题似乎和这篇文章的的主题无关，但是介于现在越来越多的linux新手遇到linux图形界面的问题，而且在中文输入法设置过程中也牵涉到这些问题，因此想顺便提一下。<br />
现在的linux安装完成后，默认就运行在第5个系统运行级别。在SYSTEM V 风格的UNIX系统中，系统被分为不同的运行级别，这和BSD分支的UNIX有所不同，常用的为0~6七个级别:<br />
0　关机<br />
1　单用户<br />
2　不带网络的多用户<br />
3　带网络的多用户<br />
4　保留，用户可以自给定义<br />
5　图形界面的多用户<br />
6　重起系统<br />
由于现在的Linux系统安装完后就运行在第5个级别，即系统启动后直接进入图形界面，而不用在字符模式下登录后用startx或者xinit 来起动图形界面。这样看起来很方便。但是有什么坏处呢？　一旦你改变了某些设置，显示出问题的时候，系统不断在图形和字符间派徊，新手又不知道如何应对， 十分麻烦，而且对于学习研究Linux的人来说，这样不利于了解和学习Linux底层的一些东西。很早就用Linux的老用户都知道，过去的Linux如 redhat6.0，都是默认运行接别为3，即使后来的RedHat9.0也可以在安装时候选默认字符登录还是图形登录。但现在的FC系列和其他大多数版 本都不管三七二十一直接帮用户选择了直接图形界面登录。虽然对于大多数菜鸟来说，Linux确实越来越简单了，但是很多乐趣，那些新手也体验不到了。<br />
也许你不相信，直接图形登录到系统确实会有很多问题，建议在系统安装完成后把系统的默认运行等级设置在第3级，在字符终端登录后，再手工输入<strong>startx </strong>命令起动图形界面。可以用如下的方法修改：<br />
用文本编辑器修改　<u>/etc/inittab</u>文件，把
<p>代码:</p>
<p>id:5:initdefault:这一行，修改成</p>
<p>代码:</p>
<p>id:3:initdefault:保存后就<strong>reboot</strong>重起，系统就默认起动到字符界面。不同运行级别之间的差别的在于系统默认起动的服务的不同，如运行级别3默认不启动X图形界面服务，而运行级别5 却默认起动。本质上是没有区别的，更无所谓不同级别间功能强弱的问题。用户完全可自给定义不同级别的默认服务。在任何运行级别，用户都可用init 命令来切换到其他运行级别</p>
<img src ="http://www.blogjava.net/jvict/aggbug/261426.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jvict/" target="_blank">Documents</a> 2009-03-23 09:17 <a href="http://www.blogjava.net/jvict/articles/261426.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>linux常见命令的列表</title><link>http://www.blogjava.net/jvict/articles/261424.html</link><dc:creator>Documents</dc:creator><author>Documents</author><pubDate>Mon, 23 Mar 2009 01:16:00 GMT</pubDate><guid>http://www.blogjava.net/jvict/articles/261424.html</guid><wfw:comment>http://www.blogjava.net/jvict/comments/261424.html</wfw:comment><comments>http://www.blogjava.net/jvict/articles/261424.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jvict/comments/commentRss/261424.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jvict/services/trackbacks/261424.html</trackback:ping><description><![CDATA[原文：http://hi.baidu.com/fghubuntu/blog/item/886e7fa9242383b9ca130c70.html<br />
这是一个linux常见命令的列表。转自 http://www.pixelbeat.org/cmdline_zh_CN.html<br />
<br />
那些有&#8226; 标记的条目，你可以直接拷贝到终端上而不需要任何修改，因此你最好开一个终端边读边<a href="http://www.pixelbeat.org/docs/xclipboard.html">剪切&amp;拷贝</a>。<br />
所有的命令已在Fedora和Ubuntu下做了测试<br />
<br />
<table class="pixelbeat">
    <tbody>
        <tr class="pbtitle">
            <td colspan="2">命令</td>
            <td>描述</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">apropos whatis</td>
            <td>显示和word相关的命令。 参见<a href="http://www.pixelbeat.org/scripts/threadsafe">线程安全</a></td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw"><a href="http://www.pixelbeat.org/lkdb/less.html">man</a> -t man | ps2pdf - &gt; man.pdf</td>
            <td>生成一个PDF格式的帮助文件</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">which command</td>
            <td>显示命令的完整路径名</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">time command</td>
            <td>计算命令运行的时间</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">time cat</td>
            <td>开始计时. Ctrl-d停止。参见<a href="http://www.pixelbeat.org/scripts/sw">sw</a></td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">nice <a href="http://www.pixelbeat.org/lkdb/info.html">info</a></td>
            <td>运行一个低优先级命令（这里是info）</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">renice 19 -p $$</td>
            <td>使脚本运行于低优先级。用于非交互任务。</td>
        </tr>
        <tr class="pbtitle">
            <td colspan="3">目录操作</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">cd -</td>
            <td>回到前一目录</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">cd</td>
            <td>回到用户目录</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">(cd dir &amp;&amp; command)</td>
            <td>进入目录dir，执行命令command然后回到当前目录</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">pushd <strong>.</strong></td>
            <td>将当前目录压入栈，以后你可以使用popd回到此目录</td>
        </tr>
        <tr class="pbtitle">
            <td colspan="3">文件搜索</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw"><a href="http://www.pixelbeat.org/settings/.bashrc">alias</a> l='ls -l --color=auto'</td>
            <td>单字符文件列表命令</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">ls -lrt</td>
            <td>按日期显示文件. 参见<a href="http://www.pixelbeat.org/scripts/newest">newest</a></td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">ls /usr/bin | pr -T9 -W$COLUMNS</td>
            <td>在当前终端宽度上打印9列输出</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">find -name '*.[ch]' | xargs grep -E 'expr'</td>
            <td>在当前目录及其子目录下所有.c和.h文件中寻找'expr'. 参见<a href="http://www.pixelbeat.org/scripts/findrepo">findrepo</a></td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">find -type f -print0 | xargs -r0 grep -F 'example'</td>
            <td>在当前目录及其子目录中的常规文件中查找字符串'example'</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">find -maxdepth 1 -type f | xargs grep -F 'example'</td>
            <td>在当前目录下查找字符串'example'</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">find -maxdepth 1 -type d | while <a href="http://www.pixelbeat.org/programming/readline/">read</a> dir; do echo $dir; echo cmd2; done</td>
            <td>对每一个找到的文件执行多个命令(使用while循环)</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">find -type f ! -perm -444</td>
            <td>寻找所有不可读的文件(对网站有用)</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">find -type d ! -perm -111</td>
            <td>寻找不可访问的目录(对网站有用)</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">locate -r 'file[^/]*\.txt'</td>
            <td>使用locate 查找所有符合*file*.txt的文件</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">look reference</td>
            <td>在（有序）字典中快速查找</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">grep <a href="http://www.pixelbeat.org/settings/.bashrc">--color</a> reference /usr/share/dict/words</td>
            <td>使字典中匹配的正则表达式高亮</td>
        </tr>
        <tr class="pbtitle">
            <td colspan="3">归档 and compression</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">gpg -c file</td>
            <td>文件加密</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">gpg file.gpg</td>
            <td>文件解密</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">tar -c dir/ | bzip2 &gt; dir.tar.bz2</td>
            <td>将目录dir/压缩打包</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">bzip2 -dc dir.tar.bz2 | tar -x</td>
            <td>展开压缩包 (对tar.gz文件使用gzip而不是bzip2)</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">tar -c dir/ | gzip | gpg -c | ssh user@remote 'dd of=dir.tar.gz.gpg'</td>
            <td>目录dir/压缩打包并放到远程机器上</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">find dir/ -name '*.txt' | tar -c --files-from=- | bzip2 &gt; dir_txt.tar.bz2</td>
            <td>将目录dir/及其子目录下所有.txt文件打包</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">find dir/ -name '*.txt' | xargs cp -a --target-directory=dir_txt/ --parents</td>
            <td>将目录dir/及其子目录下所有.txt按照目录结构拷贝到dir_txt/</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">( tar -c /dir/to/copy ) | ( cd /where/to/ &amp;&amp; tar -x -p )</td>
            <td>拷贝目录copy/到目录/where/to/并保持文件属性</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">( cd /dir/to/copy &amp;&amp; tar -c <strong>.</strong> ) | ( cd /where/to/ &amp;&amp; tar -x -p )</td>
            <td>拷贝目录copy/下的所有文件到目录/where/to/并保持文件属性</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">( tar -c /dir/to/copy ) | ssh -C user@remote 'cd /where/to/ &amp;&amp; tar -x -p'</td>
            <td>拷贝目录copy/到远程目录/where/to/并保持文件属性</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">dd bs=1M if=/dev/sda | gzip | ssh user@remote 'dd of=sda.gz'</td>
            <td>将整个硬盘备份到远程机器上</td>
        </tr>
        <tr class="pbtitle">
            <td colspan="3">rsync (使用 --dry-run选项进行测试)</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">rsync -P rsync://rsync.server.com/path/to/file file</td>
            <td>只获取diffs.当下载有问题时可以作多次</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">rsync --bwlimit=1000 fromfile tofile</td>
            <td>有速度限制的本地拷贝，对I/O有利</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">rsync -az -e ssh --delete ~/public_html/ remote.com:'~/public_html'</td>
            <td>镜像网站(使用压缩和加密)</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">rsync -auz -e ssh remote:/dir/ <strong>.</strong> &amp;&amp; rsync -auz -e ssh <strong>.</strong> remote:/dir/</td>
            <td>同步当前目录和远程目录</td>
        </tr>
        <tr class="pbtitle">
            <td colspan="3"><strong>ssh</strong> (安全 Shell)</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">ssh $USER@$HOST command</td>
            <td>在$Host主机上以$User用户运行命令(默认命令为Shell)</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">ssh -f -Y $USER@$HOSTNAME xeyes</td>
            <td>在名为$HOSTNAME的主机上以$USER用户运行GUI命令</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">scp -p -r $USER@$HOST: file dir/</td>
            <td>拷贝到$HOST主机$USER'用户的目录下</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">ssh -g -L 8080:localhost:80 root@$HOST</td>
            <td>由本地主机的8080端口转发到$HOST主机的80端口</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">ssh -R 1434:imap:143 root@$HOST</td>
            <td>由主机的1434端口转发到imap的143端口</td>
        </tr>
        <tr class="pbtitle">
            <td colspan="3">wget (多用途下载工具)</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">(cd cmdline &amp;&amp; wget -nd -pHEKk http://www.pixelbeat.org/cmdline.html)</td>
            <td>在当前目录中下载指定网页及其相关的文件使其可完全浏览</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">wget -c http://www.example.com/large.file</td>
            <td>继续上次未完的下载</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">wget -r -nd -np -l1 -A '*.jpg' http://www.example.com/</td>
            <td>批量下载文件到当前目录中</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">wget ftp://remote/file[1-9].iso/</td>
            <td>下载FTP站上的整个目录</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">wget -q -O- http://www.pixelbeat.org/timeline.html | grep 'a href' | head</td>
            <td>直接处理输出</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">echo 'wget url' | at 01:00</td>
            <td>在下午一点钟下载指定文件到当前目录</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">wget --limit-rate=20k url</td>
            <td>限制下载速度(这里限制到20<a href="http://www.pixelbeat.org/speeds.html">KB/s</a>)</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">wget -nv --spider --force-html -i bookmarks.html</td>
            <td>检查文件中的链接是否存在</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">wget --mirror http://www.example.com/</td>
            <td>更新网站的本地拷贝(可以方便地用于cron)</td>
        </tr>
        <tr class="pbtitle">
            <td colspan="3">网络(ifconfig, route, mii-tool, nslookup 命令皆已过时)</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw"><acronym title="usually in /sbin/">ethtool</acronym> eth0</td>
            <td>显示网卡eth0的状态</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">ethtool --change eth0 autoneg off speed 100 duplex full</td>
            <td>手动设制网卡速度</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw"><acronym title="usually in /sbin/">iwconfig</acronym> eth1</td>
            <td>显示无线网卡eth1的状态</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">iwconfig eth1 rate 1Mb/s fixed</td>
            <td>手动设制无线网卡速度</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw"><acronym title="usually in /sbin/">iwlist</acronym> scan</td>
            <td>显示无线网络列表</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw"><acronym title="通常在目录/sbin/中">ip</acronym> link show</td>
            <td>显示interface列表</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">ip link set dev eth0 name wan</td>
            <td>重命名eth0为wan</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">ip link set dev eth0 up</td>
            <td>启动interface eth0(或关闭)</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">ip addr show</td>
            <td>显示网卡的IP地址</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">ip addr add 1.2.3.4/24 brd + dev eth0</td>
            <td>添加ip和掩码(255.255.255.0)</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">ip route show</td>
            <td>显示路由列表</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">ip route add default via 1.2.3.254</td>
            <td>设置默认网关1.2.3.254</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw"><acronym title="通常在目录/sbin/下">tc</acronym> qdisc add dev lo root handle 1:0 netem delay 20msec</td>
            <td>增加20ms传输时间到loopback设备(调试用)</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">tc qdisc del dev lo root</td>
            <td>移除上面添加的传输时间</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">host pixelbeat.org</td>
            <td>查寻主机的DNS IP地址</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">hostname -i</td>
            <td>查寻本地主机的IP地址(同等于host `hostname`)</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">whois pixelbeat.org</td>
            <td>查寻某主机或莫IP地址的whois信息</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">netstat -tupl</td>
            <td>列出系统中的internet服务</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">netstat -tup</td>
            <td>列出活跃的连接</td>
        </tr>
        <tr class="pbtitle">
            <td colspan="3">windows networking (samba提供所有windows相关的网络支持)</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">smbtree</td>
            <td>寻找一个windows主机. 参见findsmb</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">nmblookup -A 1.2.3.4</td>
            <td>寻找一个指定ip的windows (netbios)名</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">smbclient -L windows_box</td>
            <td>显示在windows主机或samba服务器上的所有共享</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">mount -t smbfs -o fmask=666,guest //windows_box/share /mnt/share</td>
            <td>挂载一个windows共享</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">echo 'message' | smbclient -M windows_box</td>
            <td>发送一个弹出信息到windows主机(XP sp2默认关闭此功能)</td>
        </tr>
        <tr class="pbtitle">
            <td colspan="3">文本操作 (sed使用标准输入和标准输出，如果想要编辑文件，则需添加<em>&lt;oldfile &gt;newfile</em>)</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">sed 's/string1/string2/g'</td>
            <td>使用string2替换string1</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">sed 's/\(.*\)1/\12/g'</td>
            <td>将任何以1结尾的字符串替换为以2结尾的字符串</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">sed '/ *#/d; /^ *$/d'</td>
            <td>删除注释和空白行</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">sed ':a; /\\$/N; s/\\\n//; ta'</td>
            <td>连接结尾有\的行和其下一行</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">sed 's/[ \t]*$//'</td>
            <td>删除每行后的空白</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">sed 's/\([\\`\\"$\\\\]\)/\\\1/g'</td>
            <td>将所有转义字符之前加上\</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">seq 10 | sed "s/^/&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /; s/ *\(.\{7,\}\)/\1/"</td>
            <td>向右排N(任意数)列</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">sed -n '1000p;<acronym title="quit ASAP">1000q</acronym>'</td>
            <td>输出第一千行</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">sed -n '10,20p;<acronym title="quit ASAP">20q</acronym>'</td>
            <td>输出第10-20行</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">sed -n 's/.*&lt;title&gt;\(.*\)&lt;\/title&gt;.*/\1/ip;<acronym title="quit after match">T;q</acronym>'</td>
            <td>输出HTML文件的&lt;title&gt;&lt;/title&gt;字段中的 内容</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">sort -t. -k1,1n -k2,2n -k3,3n -k4,4n</td>
            <td>排序IPV4地址</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">echo 'Test' | tr '[:lower:]' '[:upper:]'</td>
            <td>转换成大写</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">tr -dc '[:print:]' &lt; /dev/urandom</td>
            <td>过滤掉不能打印的字符</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">history | wc -l</td>
            <td>计算指定单词出现的次数</td>
        </tr>
        <tr class="pbtitle">
            <td colspan="3">集合操作 (如果是英文文本的话<a href="http://www.pixelbeat.org/docs/env.html">export LANG=C</a>可以提高速度)</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">sort file1 file2 | uniq</td>
            <td>两个未排序文件的<acronym title="在file1或file2中">并集</acronym></td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">sort file1 file2 | uniq -d</td>
            <td>两个未排序文件的<acronym title="在file1和file2中">交集</acronym></td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">sort file1 file1 file2 | uniq -u</td>
            <td>两个未排序文件的<acronym title="在file2中但不在file1中">差 集</acronym></td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">sort file1 file2 | uniq -u</td>
            <td>两个未排序文件的<acronym title="只在一个文件中">对称差集</acronym></td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">join -a1 -a2 file1 file2</td>
            <td>两个有序文件的并集</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">join file1 file2</td>
            <td>两个有序文件的交集</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">join -v2 file1 file2</td>
            <td>两个有序文件的差集</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">join -v1 -v2 file1 file2</td>
            <td>两个有序文件的对称差集</td>
        </tr>
        <tr class="pbtitle">
            <td colspan="3">数学</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">echo '(1 + sqrt(5))/2' | bc -l</td>
            <td>方便的计算器(计算 &#966;)</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">echo 'pad=20; min=64; (100*10^6)/((pad+min)*8)' | bc</td>
            <td>更复杂地计算，这里计算了最大的FastE包率</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">echo 'pad=20; min=64; print (100E6)/((pad+min)*8)' | python</td>
            <td>Python处理数值的科学表示法</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">echo 'pad=20; plot [64:1518] (100*10**6)/((pad+x)*8)' | gnuplot -persist</td>
            <td>显示FastE包率相对于包大小的图形</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">echo 'obase=16; ibase=10; 64206' | bc</td>
            <td>进制转换(十进制到十六进制)</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">echo $((0x2dec))</td>
            <td>进制转换(十六进制到十进制)((shell数学扩展))</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">units -t '100m/9.72s' 'miles/hour'</td>
            <td>单位转换(公尺到英尺)</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">units -t '500GB' 'GiB'</td>
            <td>单位转换(<acronym title="powers of 10">SI</acronym> 到<acronym title="powers of 2">IEC</acronym> 前缀)</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">units -t '1 googol'</td>
            <td>定义查找</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">seq 100 | (tr '\n' +; echo 0) | bc</td>
            <td>加N(任意数)列. 参见 <a href="http://www.pixelbeat.org/scripts/add">add</a> and <a href="http://www.pixelbeat.org/scripts/funcpy">funcpy</a></td>
        </tr>
        <tr class="pbtitle">
            <td colspan="3">日历</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">cal -3</td>
            <td>显示一日历</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">cal 9 1752</td>
            <td>显示指定月，年的日历</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">date -d fri</td>
            <td>这个星期五是几号. 参见<a href="http://www.pixelbeat.org/scripts/day">day</a></td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">date --date='25 Dec' +%A</td>
            <td>今年的圣诞节是星期几</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">date --date '1970-01-01 UTC 2147483647 seconds'</td>
            <td>将一相对于1970-01-01 00：00的秒数转换成时间</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">TZ=':America/Los_Angeles' date</td>
            <td>显示当前的美国西岸时间(使用tzselect寻找时区)</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">echo "mail -s 'get the train' P@draigBrady.com &lt; /dev/null" | at 17:45</td>
            <td>在指定的时间发送邮件</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">echo "DISPLAY=$DISPLAY xmessage cooker" | at "NOW + 30 minutes"</td>
            <td>在给定的时间弹出对话框</td>
        </tr>
        <tr class="pbtitle">
            <td colspan="3">locales</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">printf "%'d\n" 1234</td>
            <td>根据locale输出正确的数字分隔</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">BLOCK_SIZE=\'1 ls -l</td>
            <td>用ls命令作类适于locale()文件分组</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">echo "I live in `locale territory`"</td>
            <td>从locale数据库中展开信息</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">LANG=en_IE.utf8 locale int_prefix</td>
            <td>查找指定地区的locale信息。参见<a href="http://www.pixelbeat.org/scripts/ccodes">ccodes</a></td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">locale | cut -d= -f1 | xargs locale -kc | less</td>
            <td>显示在locale数据库中的所有字段</td>
        </tr>
        <tr class="pbtitle">
            <td colspan="3">recode (iconv, dos2unix, unix2dos 已经过时了)</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">recode -l | less</td>
            <td>显示所有有效的字符集及其别名</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">recode windows-1252.. file_to_change.txt</td>
            <td>转换Windows下的ansi文件到当前的字符集(自动进行回车换行符的转换)</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">recode utf-8/CRLF.. file_to_change.txt</td>
            <td>转换Windows下的ansi文件到当前的字符集</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">recode iso-8859-15..utf8 file_to_change.txt</td>
            <td>转换Latin9（西欧）字符集文件到utf8</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">recode ../b64 &lt; file.txt &gt; file.b64</td>
            <td>Base64编码</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">recode /qp.. &lt; file.txt &gt; file.qp</td>
            <td>Quoted-printable格式解码</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">recode ..HTML &lt; file.txt &gt; file.html</td>
            <td>将文本文件转换成HTML</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">recode -lf windows-1252 | grep euro</td>
            <td>在<a href="http://www.pixelbeat.org/docs/utf8.html">字符表</a>中查找欧元符号</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">echo -n 0x80 | recode latin-9/x1..dump</td>
            <td>显示字符在latin-9中的字符映射</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">echo -n 0x20AC | recode ucs-2/x2..latin-9/x</td>
            <td>显示latin-9编码</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">echo -n 0x20AC | recode ucs-2/x2..utf-8/x</td>
            <td>显示utf-8编码</td>
        </tr>
        <tr class="pbtitle">
            <td colspan="3">光盘</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">gzip &lt; /dev/cdrom &gt; cdrom.iso.gz</td>
            <td>保存光盘拷贝</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">mkisofs -V LABEL -r dir | gzip &gt; cdrom.iso.gz</td>
            <td>建立目录dir的光盘镜像</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">mount -o loop cdrom.iso /mnt/dir</td>
            <td>将光盘镜像挂载到 /mnt/dir (只读)</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">cdrecord -v dev=/dev/cdrom blank=fast</td>
            <td>清空一张CDRW</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">gzip -dc cdrom.iso.gz | cdrecord -v dev=/dev/cdrom -</td>
            <td>烧录光盘镜像 (使用 dev=ATAPI -scanbus 来确认该使用的 dev)</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">cdparanoia -B</td>
            <td>在当前目录下将光盘音轨转录成wav文件</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">cdrecord -v dev=/dev/cdrom -audio *.wav</td>
            <td>将当前目录下的wav文件烧成音乐光盘 (参见cdrdao)</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">oggenc --tracknum='track' track.cdda.wav -o 'track.ogg'</td>
            <td>将wav文件转换成ogg格式</td>
        </tr>
        <tr class="pbtitle">
            <td colspan="3">磁盘空间 (参见<a href="http://www.pixelbeat.org/fslint/">FSlint</a>)</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">ls -lSr</td>
            <td>按文件大小降序显示文件</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">du -s * | sort -k1,1rn | head</td>
            <td>显示当前目录下占用空间最大的一批文件. 参见<a href="http://www.pixelbeat.org/scripts/dutop">dutop</a></td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">df -h</td>
            <td>显示空余的磁盘空间</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">df -i</td>
            <td>显示空余的inode</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw"><acronym title="通常在目录/sbin/中">fdisk</acronym> -l</td>
            <td>显示磁盘分区大小和类型（在root下执行）</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw"><a href="http://www.pixelbeat.org/docs/packaging.html">rpm</a> -q -a --qf '%10{SIZE}\t%{NAME}\n' | sort -k1,1n</td>
            <td>显示所有在rpm发布版上安装的<a href="http://www.pixelbeat.org/docs/packaging.html">包</a>，并以包字节大小为序</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw"><a href="http://www.pixelbeat.org/docs/packaging.html">dpkg</a>-query -W -f='${Installed-Size;10}\t${Package}\n' | sort -k1,1n</td>
            <td>显示所有在deb发布版上安装的<a href="http://www.pixelbeat.org/docs/packaging.html">包</a>，并以KB包大小为序</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">dd bs=1 seek=2TB if=/dev/null of=ext3.test</td>
            <td>建立一个大的测试文件（不占用空间）. 参见<a href="http://www.pixelbeat.org/scripts/truncate">truncate</a></td>
        </tr>
        <tr class="pbtitle">
            <td colspan="3">监视/调试</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">tail -f /var/log/messages</td>
            <td><a href="http://www.pixelbeat.org/docs/web/access_log/monitoring.html">监视Messages</a>日志文件</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">strace -c ls &gt;/dev/null</td>
            <td>总结/剖析命令进行的系统调用</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">strace -f -e open ls &gt;/dev/null</td>
            <td>显示命令进行的系统调用</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">ltrace -f -e getenv ls &gt;/dev/null</td>
            <td>显示命令调用的库函数</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw"><acronym title="通常在目录/usr/sbin/中">lsof</acronym> -p <acronym title="process id of current shell">$$</acronym></td>
            <td>显示当前进程打开的文件</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">lsof ~</td>
            <td>显示打开用户目录的进程</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">tcpdump not port 22</td>
            <td>显示除了ssh外的网络交通. 参见<a href="http://www.pixelbeat.org/scripts/tcpdump_not_me">tcpdump_not_me</a></td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">ps -e -o pid,args --forest</td>
            <td>以树状结构显示进程</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">ps -e -o pcpu,cpu,nice,state,cputime,args --sort pcpu | sed '/^ 0.0 /d'</td>
            <td>以CPU占用率为序显示进程</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">ps -e -orss=,args= | sort -b -k1,1n | pr -TW$COLUMNS</td>
            <td>以内存使用量为序显示进程. 参见<a href="http://www.pixelbeat.org/scripts/ps_mem.py">ps_mem.py</a></td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">ps -C firefox-bin -L -o pid,tid,pcpu,state</td>
            <td>显示指定进程的所有线程信息</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">ps -p 1,2</td>
            <td>显示指定进程ID的进程信息</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">last reboot</td>
            <td>显示系统重启记录</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">free -m</td>
            <td>显示(剩余的)内存总量(-m以MB为单位显示)</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">watch -n.1 'cat /proc/interrupts'</td>
            <td>监测文件/proc/interrupts的变化</td>
        </tr>
        <tr class="pbtitle">
            <td colspan="3">系统信息 (参见<a href="http://www.pixelbeat.org/scripts/sysinfo">sysinfo</a>)</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">uname -a</td>
            <td>查看内核/操作系统/CPU信息</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">head -n1 /etc/issue</td>
            <td>查看操作系统版本</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">cat /proc/partitions</td>
            <td>显示所有在系统中注册的分区</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">grep MemTotal /proc/meminfo</td>
            <td>显示系统可见的内存总量</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">grep "model name" /proc/cpuinfo</td>
            <td>显示CPU信息</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw"><acronym title="通常在目录/sbin/中">lspci</acronym> -tv</td>
            <td>显示PCI信息</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw"><acronym title="通常在目录/sbin/中">lsusb</acronym> -tv</td>
            <td>显示USB信息</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">mount | column -t</td>
            <td>显示所有挂载的文件系统并对齐输出</td>
        </tr>
        <tr>
            <td>#</td>
            <td class="nw">dmidecode -q | less</td>
            <td>显示SMBIOS/DMI 信息</td>
        </tr>
        <tr>
            <td>#</td>
            <td class="nw">smartctl -A /dev/sda | grep Power_On_Hours</td>
            <td>系统开机的总体时间</td>
        </tr>
        <tr>
            <td>#</td>
            <td class="nw">hdparm -i /dev/sda</td>
            <td>显示关于磁盘sda的信息</td>
        </tr>
        <tr>
            <td>#</td>
            <td class="nw">hdparm -tT /dev/sda</td>
            <td>检测磁盘sda的读取速度</td>
        </tr>
        <tr>
            <td>#</td>
            <td class="nw">badblocks -s /dev/sda</td>
            <td>检测磁盘sda上所有的坏扇区</td>
        </tr>
        <tr class="pbtitle">
            <td colspan="3">交互 (参见<a href="http://www.pixelbeat.org/lkdb/">linux keyboard shortcut database</a>)</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw"><a href="http://www.pixelbeat.org/lkdb/readline.html">readline</a></td>
            <td>Line editor used by bash, python, bc, gnuplot, ...</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw"><a href="http://www.pixelbeat.org/lkdb/screen.html">screen</a></td>
            <td>多窗口的虚拟终端, ...</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw"><a href="http://www.pixelbeat.org/lkdb/mc.html">mc</a></td>
            <td>强大的文件管理器，可以浏览rpm, tar, ftp, ssh, ...</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw"><a href="http://www.pixelbeat.org/docs/web/access_log/analyzing.html">gnuplot</a></td>
            <td>交互式并可进行脚本编程的画图工具</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">links</td>
            <td>网页浏览器</td>
        </tr>
        <tr class="pbtitle">
            <td colspan="3">miscellaneous</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw"><a href="http://www.pixelbeat.org/settings/.bashrc">alias</a> hd='od -Ax -tx1z -v'</td>
            <td>方便的十六进制输出。 (用法举例: &#8226; hd /proc/self/cmdline | less)</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw"><a href="http://www.pixelbeat.org/settings/.bashrc">alias</a> realpath='readlink -f'</td>
            <td>显示符号链接指向的真实路径((用法举例: &#8226; realpath ~/../$USER)</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">set | grep $USER</td>
            <td>在当前<a href="http://www.pixelbeat.org/docs/env.html">环境</a>中查找</td>
        </tr>
        <tr>
            <td></td>
            <td class="nw">touch -c -t 0304050607 file</td>
            <td>改变文件的时间标签 (YYMMDDhhmm)</td>
        </tr>
        <tr>
            <td>&#8226;</td>
            <td class="nw">python -c "import SimpleHTTPServer as ws; ws.test()"</td>
            <td>Serve current directory tree at http://$HOSTNAME:8000/</td>
        </tr>
    </tbody>
</table>
<img src ="http://www.blogjava.net/jvict/aggbug/261424.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jvict/" target="_blank">Documents</a> 2009-03-23 09:16 <a href="http://www.blogjava.net/jvict/articles/261424.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>RHEL 5.1 LAMP DISCUZ搭建相关问题</title><link>http://www.blogjava.net/jvict/articles/261414.html</link><dc:creator>Documents</dc:creator><author>Documents</author><pubDate>Mon, 23 Mar 2009 00:46:00 GMT</pubDate><guid>http://www.blogjava.net/jvict/articles/261414.html</guid><wfw:comment>http://www.blogjava.net/jvict/comments/261414.html</wfw:comment><comments>http://www.blogjava.net/jvict/articles/261414.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jvict/comments/commentRss/261414.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jvict/services/trackbacks/261414.html</trackback:ping><description><![CDATA[<p><strong style="color: red">&#183;vsftpd无法正常访问，经设置环境变量后正常。</strong><br />
</p>
<p>cannot change directory:/home/***<br />
ftp服务器连接失败,错误提示:<br />
500 OOPS: cannot change directory:/home/*******<br />
500 OOPS: child died</p>
<p>解决方法:<br />
在终端输入命令：<br />
setsebool ftpd_disable_trans 1 <br />
service vsftpd restart<br />
</p>
<p>为了重启后不输入上述命令,加-P标志<br />
setsebool -P ftpd_disable_trans 1<br />
<br />
<strong style="color: red">&#183;putty等远程访问后，界面出现中文乱码，修改文件i18n后正常<br />
</strong># more /etc/sysconfig/i18n<br />
# English<br />
LANG="en_US.UTF-8"<br />
LANGUAGE="en_US.UTF-8:en_US"<br />
SUPPORTED="zh_CN.UTF-8:en_US:en"</p>
<p># Chinese<br />
#LANG="zh_CN.UTF-8"<br />
LANG="zh_CN.GB18030"<br />
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"<br />
SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"</p>
<p>SYSFONT="lat0-sun16"<br />
SYSFONTACM="iso15"<br />
<br />
<span style="color: red"><strong>&#183;根目录下的子目录无法访问<br />
</strong></span></p>
<h1 class="documentFirstHeading"><font size="2">SELinux雖然可以提供給系統相當的安全性。但是，在很多時候也容易造成一些使用的問題。本文要簡單的說明兩個方式來關閉這個工具。</font></h1>
<div class="plain">我們有兩種方式可以關閉這個工具，第一個是透過/etc/sysconfig/selinux這個設定檔來將SELinux disable掉。這是最標準的方式。這個檔案會有如下的內容：<br />
<br />
<pre># SELINUX= can take one of these three values:<br />
# enforcing - SELinux security policy is enforced.<br />
# permissive - SELinux prints warnings instead of enforcing.<br />
# disabled - No SELinux policy is loaded.<br />
SELINUX=<u><strong>disabled</strong></u><br />
# SELINUXTYPE= type of policy in use. Possible values are: </pre>
只要像上面這樣就可以把SELinux關閉了。<br />
<br />
另外也可以透過Kernel的命令列參數的方式設定。也就是利用Boot loader設定這個參數。以常用的GRUB來說，就可以在/etc/grub.conf中，進行下面的設定：<br />
<br />
<pre>kernel /boot/vmlinuz-2.6.1 ro <u><strong>selinux=0</strong></u> root=LABEL=/ </pre>
</div>
<p><br />
所用命令解析： <br />
ls -Z -d public_html/<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ＃显示文件／目录的安全语境－Z, --context <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Display&nbsp; security context so it fits on most displays.&nbsp; Displays only mode, user, group, security&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; context and file name.-d, --directory<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; list directory entries instead of contents, and do not dereference symbolic links </p>
<p><br />
chcon -R -t httpd_user_content_t public_html/<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ＃修改文件／目录的安全语境-R, --recursive<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; change files and directories recursively-t, --type<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; set type TYPE in the target security context </p>
<p><br />
&nbsp;<span style="color: red"><strong>&#183;安装discuz时说服务器不支持mysql<br />
</strong></span>安装php-pdo-5.1.6-5.el5.i386.rpm和php-mysql-5.1.6-5.el5.i386.rpm后问题解决</p>
<img src ="http://www.blogjava.net/jvict/aggbug/261414.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jvict/" target="_blank">Documents</a> 2009-03-23 08:46 <a href="http://www.blogjava.net/jvict/articles/261414.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>rhel5 LAMP整体环境搭建（discuz）</title><link>http://www.blogjava.net/jvict/articles/261160.html</link><dc:creator>Documents</dc:creator><author>Documents</author><pubDate>Sat, 21 Mar 2009 01:29:00 GMT</pubDate><guid>http://www.blogjava.net/jvict/articles/261160.html</guid><wfw:comment>http://www.blogjava.net/jvict/comments/261160.html</wfw:comment><comments>http://www.blogjava.net/jvict/articles/261160.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jvict/comments/commentRss/261160.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jvict/services/trackbacks/261160.html</trackback:ping><description><![CDATA[<p><strong><font style="font-size: 16px"><a href="http://blog.sina.com.cn/s/blog_517e2e1b0100b9jc.html">原文: http://blog.sina.com.cn/s/blog_517e2e1b0100b9jc.html</a><br />
<br />
一、拷贝软件到服务器</font></strong>（Discuz、UCenter、mysql、 php、apache、ZendOptimizer）</p>
<p><font style="font-size: 16px"><strong>二、修改远程登录显示乱码</strong></font></p>
<p>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> 1.编辑：/etc/sysconfig/il8n</p>
<p>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> 2.把UTF-8改成GB18030</p>
<p><strong><font style="font-size: 16px">三、关闭不需要的服务（discuz可选）</font></strong></p>
<p># ntsysv</p>
<p>以下仅列出需要启动的服务，未列出的服务一律推荐关闭：</p>
<p>atd</p>
<p>crond</p>
<p>irqbalance</p>
<p>microcode_ctl</p>
<p>network</p>
<p>sendmail</p>
<p>sshd</p>
<p>syslog</p>
<p>&nbsp;<wbr><font style="font-size: 16px"><strong>四、重启</strong></font></p>
<p>&nbsp;<wbr>#init 6</p>
<p><strong><font style="font-size: 16px">五、安装mysql</font></strong></p>
<p>&nbsp;<wbr>1.如果有老版本的rpm包，给他卸载了</p>
<p>&nbsp;<wbr># rpm -e mysql-5.0.45-7.el5 --nodeps</p>
<p>&nbsp;<wbr>--nodeps：参数安装和卸载的时候不考虑依赖关系</p>
<p>&nbsp;<wbr>2. 解压</p>
<p>&nbsp;<wbr>&nbsp;<wbr> #tar -zxvf mysql-5.0.56.tar.gz -C /usr/local/src/</p>
<p>&nbsp;<wbr>&nbsp;<wbr> -C: 解压到制定目录</p>
<p>&nbsp;<wbr>3.进入目录</p>
<p>&nbsp;<wbr> # cd /usr/local/src/mysql-5.0.56/<br />
&nbsp;<wbr>4. 配置安装 (配置前先建立一个mysql文件夹)</p>
<p>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr># ./configure --prefix=/usr/local/mysql/ \<br />
&nbsp;<wbr>&nbsp;<wbr> &gt; --with-extra-charsets=all \</p>
<p>&nbsp;<wbr>&nbsp;<wbr> &gt; --sysconfdir=/etc&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>配置文件的路径</p>
<p>（出现Thank you for choosing MySQL!就成功了）</p>
<p>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>以下可选：</p>
<p>&nbsp;<wbr>&nbsp;<wbr>--localstatedir=/usr/local/mysql/data \&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> 数据库存放的路径<br />
&gt; --enable-assembler \&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> 使用一些字符函数的汇编版本<br />
&gt; --with-mysqld-ldflags=-all-static \&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> 以纯静态方式编译服务端<br />
&gt; --with-charset=utf8 \&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> 添加utf8字符支持<br />
&gt; --with-extra-charsets=all&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> 添加所有字符支持</p>
<p><br />
&nbsp;<wbr>5 make</p>
<p>&nbsp;<wbr>6 make install</p>
<p>&nbsp;<wbr>7 拷贝一个配置文件，当作以后mysql的配置文件</p>
<p>&nbsp;<wbr>&nbsp;<wbr> # cp /usr/local/mysql/share/mysql/my-large.cnf /etc/my.cnf（出现cp: overwrite `/etc/my.cnf'? y问是否覆盖，因为rpm装过所以有一个原来的，选择y是）</p>
<p>&nbsp;<wbr>！这里添加一个选择项，如果没有用rpm装过，那么系统本身不会有mysql的用户和组，所以要自己建立。</p>
<p>&nbsp;<wbr>&nbsp;<wbr> groupadd mysql</p>
<p>&nbsp;<wbr>&nbsp;<wbr> useradd -g mysql -d m/usr/local/var mysql</p>
<p>&nbsp;<wbr>8 改Mysql用户的宿主目录</p>
<p>&nbsp;<wbr>&nbsp;<wbr> # vi /etc/passwd 找mysql用户，把宿主目录的路径改成/usr/local/mysql/var （var文件夹要自己建立# mkdir /usr/local/mysql/var）</p>
<p>&nbsp;<wbr>&nbsp;<wbr> 建立完了用ll -d var/看下文件夹的属性，发现属主和属组不对，应该是mysql</p>
<p>&nbsp;<wbr>9 改mysql用户宿主目录的属主和属组</p>
<p>&nbsp;<wbr>&nbsp;<wbr> chown -R mysql:mysql /usr/local/mysql/var/</p>
<p>&nbsp;<wbr>&nbsp;<wbr> -R:递归处理</p>
<p>&nbsp;<wbr> 10 切换到mysql用户</p>
<p>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> # su - mysql&nbsp;<wbr></p>
<p>&nbsp;<wbr></p>
<p>&nbsp;<wbr>11 初始化mysql服务器中的数据库，也就是安装数据库</p>
<p>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> $ /usr/local/mysql/bin/mysql_install_db</p>
<p>&nbsp;<wbr>12 启动mysql</p>
<p>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> $ /usr/local/mysql/bin/mysqld_safe &amp;（出现Starting mysqld daemon with databases from /usr/local/var，多按几下回车）</p>
<p><br />
&nbsp;<wbr>13 测试下是否运行</p>
<p>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> $ netstat -tnl |grep 3306&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> （看到 3306 就是mysql 的默认端口，显示3306端口表示成功启动了mysql）</p>
<p>14 登陆mysql</p>
<p>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> $ mysql -uroot</p>
<p>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> 显示所有数据库：mysql&gt; show databases;</p>
<p>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> \q:退出</p>
<p>15 设置自动启动</p>
<p>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>1. su - 换成管理员身份</p>
<p>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> # echo "/usr/local/bin/mysqld_safe &amp;" &gt;&gt; /etc/rc.local</p>
<p>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> more /etc/rc.local&nbsp;<wbr> 查看是否添加成功</p>
<p>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr>2.这是另外一种方法</p>
<p>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> 在<font face="Arial">MySQL</font>二进制包里面有一个叫<font face="Arial">myslq.server</font>的启动脚本程序。把它复制到<font face="Arial">/etc/rc.d/init.d</font>目录里面</p>
<p>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> #cp /usr/local/src/mysql-5.0.56/support-files/mysql.server /etc/rc.d/init.d/mysqld （cp: overwrite `/etc/rc.d/init.d/mysqld'? y询问是否覆盖，选y是）</p>
<p>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> 修改/etc/rc.d/init.d/mysqld文件的权限</p>
<p>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> # chmod 700 /etc/rc.d/init.d/mysqld</p>
<p>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> 使用 chkconfig<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> #chkconfig --level 35 mysqld on</p>
<p>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> # chkconfig --list mysqld</p>
<p><strong><font style="font-size: 16px">六、安装apache</font></strong></p>
<p>&nbsp;<wbr><wbr> 1 查看gcc环境：#rpm -q gcc</p>
<p>&nbsp;<wbr><wbr>&nbsp;<wbr>2 <wbr><wbr><wbr>将源码包拷贝到/usr/local/src/目录下</p>
<p>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr> #mv httpd-2.2.9.tar.gz php-5.2.6.tar.gz /usr/local/src/</p>
<p>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr><wbr><wbr>3 <wbr>解压</p>
<p>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr> #tar zxvf httpd-2.2.9.tar.gz</p>
<p>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr>4 <wbr><wbr>进入目录</p>
<p>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>#cd httpd-2.2.9</p>
<p>&nbsp;<wbr>&nbsp;<wbr> 5 新建apache2文件夹</p>
<p>&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> mkdir /usr/local/apache2</p>
<p>&nbsp;<wbr>&nbsp;<wbr> 6 编译前的配置</p>
<p>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr> #./configure --prefix=/usr/local/apache2 --enable-so --enable-rewrite</p>
<p>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr> --prefix=:指定apache安装的目录（如果不指定，就安装到=/usr/local目录下）</p>
<p>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr> --enable-so ：开启动态加载模块功能</p>
<p>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr> --enable-rewrite:开启rewrite功能</p>
<p>&nbsp;<wbr>&nbsp;<wbr> 7 编译程序</p>
<p>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr> #make</p>
<p>&nbsp;<wbr>&nbsp;<wbr> 8 安装已编译好的程序</p>
<p>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr> #make install&nbsp;<wbr>&nbsp;<wbr></p>
<p>&nbsp;<wbr>&nbsp;<wbr> 9 apache启动</p>
<p>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr> #/usr/local/apache2/bin/apachectl start</p>
<p>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr> 查看：#ps -All |grep httpd</p>
<p>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr> 在浏览器测试一下，因该能看见：It works!</p>
<p>&nbsp;<wbr><strong><font style="font-size: 16px">七、以模块方式安装php</font></strong></p>
<p>&nbsp;<wbr> 1 解压</p>
<p>&nbsp;<wbr>&nbsp;<wbr> # tar -zxvf php-5.2.6.tar.gz -C /usr/local/src/</p>
<p>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr> -C ：配合tar命令，把源码包释放到指定目录</p>
<p>&nbsp;<wbr>&nbsp;<wbr> 2 进入目录</p>
<p>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr> # cd /usr/local/src/php-5.2.6&nbsp;<wbr></p>
<p>&nbsp;<wbr>&nbsp;<wbr> 3 编译前配置</p>
<table style="width: 80%" cellspacing="1" cellpadding="3" border="1">
    <tbody>
        <tr>
            <td>
            <p>&nbsp;<wbr># cd php-5.2.6/<br />
            [root@localhost php-5.2.6]# ./configure --prefix=/usr/local/php5 \<br />
            &gt; --with-apxs2=/usr/local/apache2/bin/apxs \<br />
            &gt; --with-config-file-path=/usr/local/php5 \</p>
            <p>&gt; --with-mysql=/usr/local/mysql/</p>
            </td>
        </tr>
    </tbody>
</table>
<p>&nbsp;<wbr></p>
--with-apxs2 ：设置php为apache服务器提供的模块安装的位置
<p><wbr><wbr><wbr>--with-config-file-path ：设置php程序的配置文件所在位置。</p>
<p>--with-mysql=/usr/local/mysql/：设置php为mysql提供模块的位置</p>
<p>&nbsp;<wbr> 4 编译和安装</p>
<p>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr>#<wbr>make ；make install</p>
<p>&nbsp;<wbr> 5 拷贝模板配置文件</p>
<p>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr> 因为安装完成后，还没有配置文件，所以把php源码包里的php.ini-dist文件拷贝出来</p>
<p>&nbsp;<wbr>&nbsp;<wbr> # cp php.ini-dist /usr/local/php5/php.ini</p>
<p>&nbsp;<wbr> 6 apache设置</p>
<p>&nbsp;<wbr>&nbsp;<wbr> 打开apache配置文件：/usr/local/apache2/conf/httpd.conf</p>
<p>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>看看是否存在这行：LoadModule php5_module&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr> modules/libphp5.so</p>
<p>&nbsp;<wbr>&nbsp;<wbr> 再加入一行 AddType application/x-httpd-php .php （加在AddType application/x-compress .Z<br />
&nbsp;<wbr>&nbsp;<wbr>&nbsp;<wbr> AddType application/x-gzip .gz .tgz下面就行）</p>
<p>&nbsp;<wbr>&nbsp;<wbr> 再找到&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>DirectoryIndex关键字：添加 index.php</p>
<p>&nbsp;<wbr> 7 重启apache服务</p>
<p>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr> [root@localhost php5]# /usr/local/apache2/bin/apachectl stop<br />
&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>[root@localhost php5]# /usr/local/apache2/bin/apachectl start</p>
<p>&nbsp;<wbr> 8 测试一下</p>
<p>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr>&nbsp;<wbr><wbr> 在/usr/local/apache2/htdocs下建立test.php文件</p>
<p>&nbsp;<wbr></p>
<table style="width: 80%" cellspacing="1" cellpadding="3" border="1">
    <tbody>
        <tr>
            <td>&nbsp;<wbr>&lt;?php<br />
            phpinfo();<br />
            ?&gt;</td>
        </tr>
    </tbody>
</table>
<p>&nbsp;<wbr>&nbsp;<wbr> 八 安装ZendOptimizer</p>
<p>&nbsp;<wbr>&nbsp;<wbr>1 解压</p>
<p>&nbsp;<wbr> # tar zxvf ZendOptimizer-3.3.0a-linux-glibc21-i386.tar.gz -C /usr/local/src/</p>
<p>&nbsp;<wbr> 2 进入目录</p>
<p>&nbsp;<wbr> #cd /usr/local/src/ZendOptimizer-3.3.0a-linux-glibc21-i386</p>
<p>&nbsp;<wbr>&nbsp;<wbr>3 安装</p>
<p>&nbsp;<wbr>&nbsp;<wbr> ./install</p>
<p>然后一路回车，看到这个，php.ini的路径，要写的是目录路径</p>
<p><a href="http://photo.blog.sina.com.cn/showpic.html#blogid=517e2e1b0100b9jc&amp;url=http://static14.photo.sina.com.cn/orignal/517e2e1bt59d40f803d5d" target="_blank"><img src="http://static14.photo.sina.com.cn/bmiddle/517e2e1bt59d40f803d5d"  alt="" /></a></p>
<p>然后再一路回车</p>
<p>&nbsp;<wbr>&nbsp;<wbr> 4 测试下，做个php测试页</p>
<p>&nbsp;<wbr> # vi /usr/local/apache2/htdocs/testZend.php</p>
<p>&nbsp;<wbr>&nbsp;<wbr> 5 访问下看看</p>
<p>&nbsp;<wbr> 应该看到，红框里的内容</p>
<p>&nbsp;<wbr> <a href="http://photo.blog.sina.com.cn/showpic.html#blogid=517e2e1b0100b9jc&amp;url=http://static15.photo.sina.com.cn/orignal/517e2e1bt59d4326ad9ce" target="_blank"><img src="http://static15.photo.sina.com.cn/bmiddle/517e2e1bt59d4326ad9ce"  alt="" /> </a></p>
<p>&nbsp;<wbr> <a href="http://photo.blog.sina.com.cn/showpic.html#blogid=517e2e1b0100b9jc&amp;url=http://static2.photo.sina.com.cn/orignal/517e2e1bt59d438d2f8c1" target="_blank"><img src="http://static2.photo.sina.com.cn/bmiddle/517e2e1bt59d438d2f8c1"  alt="" /></a></p>
<p>&nbsp;<wbr>&nbsp;<wbr>九 安装ucenter</p>
<p>&nbsp;<wbr> 1 解压ucenter</p>
<p>&nbsp;<wbr>&nbsp;<wbr> #unzip UCenter_1.0.0_SC_GBK.zip -d ucenter</p>
<p>&nbsp;<wbr>&nbsp;<wbr> -d：解压的目录，不指定-d，解压出来的文件都是分散的。</p>
<p>&nbsp;<wbr> 2 进入ucenter文件夹</p>
<p>&nbsp;<wbr>&nbsp;<wbr> #cd /root/ucenter</p>
<p>&nbsp;<wbr> 3 把upload文件夹放到apache文档目录</p>
<p>&nbsp;<wbr>&nbsp;<wbr> # mv upload/ /usr/local/apache2/htdocs/uc</p>
<p>&nbsp;<wbr>&nbsp;<wbr>4 给data文件加777的权限</p>
<p>&nbsp;<wbr>&nbsp;<wbr> #ll -d usr/local/apache2/htdocs/uc/data</p>
<p>&nbsp;<wbr>&nbsp;<wbr> # chmod 777 -R data/</p>
<p>&nbsp;<wbr>&nbsp;<wbr>5 安装ucenter</p>
<p>&nbsp;<wbr>&nbsp;<wbr> 在浏览器里输入<a href="http://192.168.254.35/uc/install/">http://192.168.254.35/uc/install/</a><a href="http://192.168.254.35/uc/install"></a>&nbsp;<wbr>&nbsp;<wbr></p>
<p>&nbsp;<wbr>&nbsp;<wbr>6&nbsp;<wbr>填写相关配置</p>
<p>&nbsp;<wbr>&nbsp;<wbr> <a href="http://photo.blog.sina.com.cn/showpic.html#blogid=517e2e1b0100b9jc&amp;url=http://static8.photo.sina.com.cn/orignal/517e2e1bt5a743e79b267" target="_blank"><img src="http://static8.photo.sina.com.cn/bmiddle/517e2e1bt5a743e79b267"  alt="" /></a></p>
<p>如果没有初始密码，这里就空着</p>
<p>&nbsp;<wbr> <a href="http://photo.blog.sina.com.cn/showpic.html#blogid=517e2e1b0100b9jc&amp;url=http://static13.photo.sina.com.cn/orignal/517e2e1bt5a744dc56b9c" target="_blank"><img src="http://static13.photo.sina.com.cn/bmiddle/517e2e1bt5a744dc56b9c"  alt="" /> </a></p>
<p>&nbsp;<wbr></p>
<p><font style="font-size: 18px">十 安装discuz</font></p>
<p><font style="font-size: 14px" size="4">&nbsp;<wbr>1 解压discuz</font></p>
<p>&nbsp;<wbr># unzip Discuz_6.1.0_SC_GBK.zip -d discuz6</p>
<p>&nbsp;<wbr>2 把upload文件夹放到apache文档目录（随便来个名字）</p>
<p>&nbsp;<wbr> # mv upload/ /usr/local/apache2/htdocs/bbs</p>
<p>&nbsp;<wbr>3 改bbs目录分配777权限</p>
<p>&nbsp;<wbr> # chmod 777 -R /usr/local/apache2/htdocs/bbs/</p>
<p>&nbsp;<wbr>4 安装过程</p>
<p>输入这个<a href="http://192.168.254.35/bbs/install/">http://192.168.254.35/bbs/install/</a>&nbsp;<wbr>（不要忘了install，否则会报mysql错误）</p>
<p>&nbsp;<wbr><a href="http://photo.blog.sina.com.cn/showpic.html#blogid=517e2e1b0100b9jc&amp;url=http://static16.photo.sina.com.cn/orignal/517e2e1bt5a752be93fbf" target="_blank"><img src="http://static16.photo.sina.com.cn/bmiddle/517e2e1bt5a752be93fbf"  alt="" /></a></p>
<p>&nbsp;<wbr>设置数据库时，要改用户名是root，然后密码是空，就不填。</p>
<p>然后就ok了！</p>
 <img src ="http://www.blogjava.net/jvict/aggbug/261160.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jvict/" target="_blank">Documents</a> 2009-03-21 09:29 <a href="http://www.blogjava.net/jvict/articles/261160.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>