<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>和谐空间-咖啡奇趣 &#187; apache</title>
	<atom:link href="http://blog.vpear.com/index.php/tag/apache/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.vpear.com</link>
	<description>喝着咖啡、香茶，看着奇闻趣事，欣赏着美图，很好！很好！</description>
	<lastBuildDate>Fri, 06 Jan 2012 08:50:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>如何设置apache的最大空闲进程数</title>
		<link>http://blog.vpear.com/index.php/2010/12/16/15194</link>
		<comments>http://blog.vpear.com/index.php/2010/12/16/15194#comments</comments>
		<pubDate>Thu, 16 Dec 2010 03:43:08 +0000</pubDate>
		<dc:creator>一品少掌柜</dc:creator>
				<category><![CDATA[.]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://blog.vpear.com/?p=15194</guid>
		<description><![CDATA[当一个请求完成的时候，apache的对应的服务进程就进入空闲（idel）状态，如何设置apache，使得避免出现大量的空闲进程导致系统资源的浪费？ 修改httpd.conf，在里面设置： MaxSpareServers n 其中n是一个整数。这样当空闲进程超过n的时候，apache主进程会杀掉多余的空闲进程而保持空闲进程在n，节省了系统资源。如果在一个apache非常繁忙的站点调节这个参数才是必要的，但是在任何时候把这个参数调到很大都不是一个好主意。 同时也可以设置： MinSpareServers n 来限制最少空闲进程数目来加快反应速度。]]></description>
			<content:encoded><![CDATA[<div>
<p style="text-align: left;">当一个请求完成的时候，apache的对应的服务进程就进入空闲（idel）状态，如何设置apache，使得避免出现大量的空闲进程导致系统资源的浪费？</p>
<p style="text-align: left;">修改httpd.conf，在里面设置：</p>
<p style="text-align: left;">MaxSpareServers n</p>
<p style="text-align: left;">其中n是一个整数。这样当空闲进程超过n的时候，apache主进程会杀掉多余的空闲进程而保持空闲进程在n，节省了系统资源。如果在一个apache非常繁忙的站点调节这个参数才是必要的，但是在任何时候把这个参数调到很大都不是一个好主意。</p>
<p style="text-align: left;">同时也可以设置：</p>
<p style="text-align: left;">MinSpareServers n</p>
<p style="text-align: left;">来限制最少空闲进程数目来加快反应速度。</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.vpear.com/index.php/2010/12/16/15194/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>密码保护：windows学习笔记learning</title>
		<link>http://blog.vpear.com/index.php/2010/12/16/11227</link>
		<comments>http://blog.vpear.com/index.php/2010/12/16/11227#comments</comments>
		<pubDate>Thu, 16 Dec 2010 03:42:13 +0000</pubDate>
		<dc:creator>一品少掌柜</dc:creator>
				<category><![CDATA[.]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[asp]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[usb]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://blog.vpear.com/?p=11227</guid>
		<description><![CDATA[无法提供摘要。这是一篇受保护的文章。]]></description>
			<content:encoded><![CDATA[<form action="http://blog.vpear.com/wp-pass.php" method="post">
<p>这是一篇受密码保护的文章。您需要提供访问密码：</p>
<p><label for="pwbox-11227">密码：<br />
<input name="post_password" id="pwbox-11227" type="password" size="20" /></label><br />
<input type="submit" name="Submit" value="提交" /></p></form>
]]></content:encoded>
			<wfw:commentRss>http://blog.vpear.com/index.php/2010/12/16/11227/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>密码保护：linux学习笔记learning</title>
		<link>http://blog.vpear.com/index.php/2010/12/16/8601</link>
		<comments>http://blog.vpear.com/index.php/2010/12/16/8601#comments</comments>
		<pubDate>Thu, 16 Dec 2010 03:31:28 +0000</pubDate>
		<dc:creator>一品少掌柜</dc:creator>
				<category><![CDATA[.]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[redhat]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://blog.vpear.com/?p=8601</guid>
		<description><![CDATA[无法提供摘要。这是一篇受保护的文章。]]></description>
			<content:encoded><![CDATA[<form action="http://blog.vpear.com/wp-pass.php" method="post">
<p>这是一篇受密码保护的文章。您需要提供访问密码：</p>
<p><label for="pwbox-8601">密码：<br />
<input name="post_password" id="pwbox-8601" type="password" size="20" /></label><br />
<input type="submit" name="Submit" value="提交" /></p></form>
]]></content:encoded>
			<wfw:commentRss>http://blog.vpear.com/index.php/2010/12/16/8601/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>修改Apache的最大连接数，默认为256个。</title>
		<link>http://blog.vpear.com/index.php/2010/04/21/15087</link>
		<comments>http://blog.vpear.com/index.php/2010/04/21/15087#comments</comments>
		<pubDate>Wed, 21 Apr 2010 06:39:10 +0000</pubDate>
		<dc:creator>一品少掌柜</dc:creator>
				<category><![CDATA[.]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[liunx]]></category>

		<guid isPermaLink="false">http://blog.vpear.com/?p=15087</guid>
		<description><![CDATA[  Apache的最大连接数，默认为256个。     修改apache的最大连接数，方法如下：         步骤一：先修改./apache/conf/httpd.conf文件。         # vi httpd.conf         将“#Include conf/extra/httpd-mpm.conf”前面的 # 去掉。         保存。         步骤二：再修改./apache/conf/extra/httpd-mpm.conf文件。         # vi httpd-mpm.conf        找到&#60;IfModule mpm_prefork_module&#62; 这一行           原：              &#60;IfModule mpm_prefork_module&#62;               StartServers         5               MinSpareServers      5               MaxSpareServers      10               MaxClients           150               MaxRequestsPerChild  0            &#60;/IfModule&#62;         修改后             &#60;IfModule [...]]]></description>
			<content:encoded><![CDATA[<p>  Apache的最大连接数，默认为256个。</p>
<p>    修改apache的最大连接数，方法如下：<br />
   <br />
    步骤一：先修改./apache/conf/httpd.conf文件。<br />
        # vi httpd.conf<br />
        将“#Include conf/extra/httpd-mpm.conf”前面的 # 去掉。<br />
        保存。<br />
   <br />
    步骤二：再修改./apache/conf/extra/httpd-mpm.conf文件。<br />
        # vi httpd-mpm.conf<br />
       找到&lt;IfModule mpm_prefork_module&gt; 这一行<br />
          原：<br />
             &lt;IfModule mpm_prefork_module&gt;<br />
              StartServers         5<br />
              MinSpareServers      5<br />
              MaxSpareServers      10<br />
              MaxClients           150<br />
              MaxRequestsPerChild  0<br />
           &lt;/IfModule&gt;</p>
<p>        修改后<br />
            &lt;IfModule mpm_prefork_module&gt;<br />
              ServerLimit          2500<br />
              StartServers         10<br />
              MinSpareServers      5<br />
              MaxSpareServers      10<br />
              MaxClients           2500<br />
              MaxRequestsPerChild  0<br />
           &lt;/IfModule&gt;</p>
<p><span style="color: #ff0000;">注意：要同时修改ServerLimit这个选项</span><br />
             <span style="color: #ff0000;">修改后，一定不要apachectl restart，而是先 apachectl stop 然后再 apachectl start才可以。 </span></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vpear.com/index.php/2010/04/21/15087/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux下的Apache、mysql和PHP安装设置</title>
		<link>http://blog.vpear.com/index.php/2009/05/18/7901</link>
		<comments>http://blog.vpear.com/index.php/2009/05/18/7901#comments</comments>
		<pubDate>Mon, 18 May 2009 05:40:48 +0000</pubDate>
		<dc:creator>一品少掌柜</dc:creator>
				<category><![CDATA[.]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://blog.vpear.com/?p=7901</guid>
		<description><![CDATA[先配置环境 以redhat 5.3 和CentOS 5.2 为例： LINUX创建用户的命令 useradd -g test -d /home/test1 -s /etc/bash -m test1 注解：-g 所属组  -d 家目录  -s 所用的SHELL 删除用户命令 userdel -r test1  注解：-r 是删除用户家目录 创建密码命令 passwd 先关闭系统SeLinux，以便能顺利安装软件。/etc/selinux/config 把 SELINUX=enforcing 注释掉：#SELINUX=enforcing ，然后新加一行为：SELINUX=disabled libgomp-4.1.2-42.el5.i386.rpm kernel-headers-2.6.18-128.16.el5.i386.rpm glibc-headers-2.5-2.4.i386.rpm glibc-devel-2.5-2.4.i386.rpm gcc-4.1.2-42.el5.i386.rpm zlib-devel-1.2.3-3.i386.rpm zlib-1.2.3-3.i386.rpm libstdc++-devel-4.1.2-42.el5.i386.rpm libstdc++-4.1.2-42.el5.i386.rpm gcc-c++-4.1.2-42.el5.i386.rpm &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; apache2 httpd-2.2.11 ./configure \ &#8211;prefix=/data/apache2 \ &#8211;enable-module=so \ &#8211;enable-deflate=shared [...]]]></description>
			<content:encoded><![CDATA[<p>先配置环境 以redhat 5.3 和CentOS 5.2 为例：</p>
<p>LINUX创建用户的命令<br />
useradd -g test -d /home/test1 -s /etc/bash -m test1<br />
注解：-g 所属组  -d 家目录  -s 所用的SHELL<br />
删除用户命令<br />
userdel -r test1 <br />
注解：-r 是删除用户家目录<br />
创建密码命令<br />
passwd</p>
<p>先关闭系统SeLinux，以便能顺利安装软件。/etc/selinux/config<br />
把 SELINUX=enforcing 注释掉：#SELINUX=enforcing ，然后新加一行为：SELINUX=disabled<br />
libgomp-4.1.2-42.el5.i386.rpm<br />
kernel-headers-2.6.18-128.16.el5.i386.rpm<br />
glibc-headers-2.5-2.4.i386.rpm<br />
glibc-devel-2.5-2.4.i386.rpm<br />
gcc-4.1.2-42.el5.i386.rpm<br />
zlib-devel-1.2.3-3.i386.rpm<br />
zlib-1.2.3-3.i386.rpm<br />
libstdc++-devel-4.1.2-42.el5.i386.rpm<br />
libstdc++-4.1.2-42.el5.i386.rpm<br />
gcc-c++-4.1.2-42.el5.i386.rpm<br />
<span style="color: #ff6600;">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</span><br />
apache2 httpd-2.2.11<br />
./configure \<br />
&#8211;prefix=/data/apache2 \<br />
&#8211;enable-module=so \<br />
&#8211;enable-deflate=shared \<br />
&#8211;enable-expires=shared \<br />
&#8211;enable-rewrite=shared \<br />
&#8211;enable-cache \<br />
&#8211;enable-file-cache \<br />
&#8211;enable-mem-cache \<br />
&#8211;enable-disk-cache \<br />
&#8211;enable-static-support \<br />
&#8211;enable-static-htpasswd \<br />
&#8211;enable-static-htdigest \<br />
&#8211;enable-static-rotatelogs \<br />
&#8211;enable-static-logresolve \<br />
&#8211;enable-static-htdbm \<br />
&#8211;enable-static-ab \<br />
&#8211;enable-static-checkgid \<br />
&#8211;disable-cgid \<br />
&#8211;disable-cgi \<br />
&#8211;disable-userdir \<br />
&#8211;with-mpm=worker \<br />
&#8211;enable-authn-dbm=shared \<br />
&#8211;enable-authn-anon=shared \<br />
&#8211;enable-authn-dbd=shared \<br />
&#8211;enable-auth-basic=shared</p>
<p>注释<br />
./configure //配置源代码树<br />
&#8211;prefix=/usr/local/apache2<br />
&#8211;enable-module=so //打开 so 模块，so 模块是用来提 DSO 支持的 apache 核心模块<br />
或者用下面的参数，因为是在php时，可能生成不了libphp5.so的错误，如有错误时可以试改一下看看。<br />
&#8211;with-enable=so<br />
&#8211;enable-deflate=shared //支持网页压缩<br />
&#8211;enable-expires=shared //支持 HTTP 控制<br />
&#8211;enable-rewrite=shared //支持 URL 重写<br />
&#8211;enable-cache   //支持缓存<br />
&#8211;enable-file-cache   //支持文件缓存<br />
&#8211;enable-mem-cache   //支持记忆缓存<br />
&#8211;enable-disk-cache   //支持磁盘缓存<br />
&#8211;enable-static-support //支持静态连接(默认为动态连接)<br />
&#8211;enable-static-htpasswd //使用静态连接编译 htpasswd &#8211; 管理用于基本认证的用户文件<br />
&#8211;enable-static-htdigest //使用静态连接编译 htdigest &#8211; 管理用于摘要认证的用户文件<br />
&#8211;enable-static-rotatelogs //使用静态连接编译 rotatelogs &#8211; 滚动 Apache 日志的管道日志程序<br />
&#8211;enable-static-logresolve //使用静态连接编译 logresolve &#8211; 解析 Apache 日志中的IP地址为主机名<br />
&#8211;enable-static-htdbm //使用静态连接编译 htdbm &#8211; 操作 DBM 密码数据库<br />
&#8211;enable-static-ab //使用静态连接编译 ab &#8211; Apache HTTP 服务器性能测试工具<br />
&#8211;enable-static-checkgid //使用静态连接编译 checkgid<br />
&#8211;disable-cgid //禁止用一个外部 CGI 守护进程执行CGI脚本<br />
&#8211;disable-cgi //禁止编译 CGI 版本的 PHP<br />
&#8211;disable-userdir //禁止用户从自己的主目录中提供页面<br />
&#8211;with-mpm=worker // 让apache以worker方式运行<br />
&#8211;enable-authn-dbm=shared // 对动态数据库进行操作。Rewrite时需要。</p>
<p>make<br />
make install</p>
<p>然后<br />
apache2/bin/apachectl start</p>
<p>如出现下面错误<br />
httpd: Could not reliably determine the server&#8217;s fully qualified domain name, using 127.0.0.1 for ServerName</p>
<p>就在apache配置文件httpd.conf中找到#ServerName www.example.com 这一行 把前面的#去掉。<br />
修改www.example.com为自己的域名或者是ip地址，出现 这种现象的原因是安装的机器名不是localhost，修改过机器名引起的。<br />
设置开机自动启动<br />
然后在apachectl文件第二行添加以下几行（大概在文件顶部，约第二行的地方）：<br />
在第2行加入<br />
# chkconfig: &#8211; 85 15<br />
# description: Apache is a World Wide Web server.  It is used to serve \<br />
#              HTML files and CGI.<br />
最后，运行chkconfig把Apache添加到系统的启动服务组里面：<br />
ln -s apachectl /etc/init.d/httpd<br />
不好时就直接拷贝<br />
cp apachectl /etc/init.d/httpd<br />
# chkconfig &#8211; -del httpd<br />
# chkconfig &#8211; -add httpd<br />
# chkconfig &#8211; -level 345 httpd on</p>
<p>或者编辑/etc/rc.d/rc.local<br />
把/server/apache2/bin/apachectl start 加入进去</p>
<p>apache2.2以后的虚拟主机配置在extra目录下httpd-vhost.conf，不是在conf/httpd.conf里修改。<br />
<span style="color: #ff6600;">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</span><br />
mysql5 安装<br />
mysql（二进制源码包安装，不需要编译）</p>
<p>以root身份登录<br />
1.#adduser 新建一个用户mysql，组mysql<br />
2.把下载的mysql-XXX.tar.gz拷贝到 /usr/local/下<br />
3.# cd /usr/local/<br />
# gunzip &lt; mysql-XXX.tar.gz | tar xvf-<br />
# ln -s mysql-XXX mysql<br />
# cd mysql<br />
# 从support-files目录拷贝个my-*.cnf文件到/etc/my.cnf下</p>
<p>mysql下面有5个my-xxxx.cnf文件<br />
my-small.cnf 最小配置安装，内存&lt;=64M，数据数量最少<br />
my-large.cnf 内存=512M<br />
my-medium.cnf 32M&lt;内存&lt;64M，或者内存有128M，但是数据库与web服务器公用内存<br />
my-huge.cnf 1G&lt;内存&lt;2G，服务器主要运行mysql<br />
my-innodb-heavy-4G.cnf 最大配置安装，内存至少4G</p>
<p># groupadd mysql #建立mysql组<br />
# useradd mysql -g mysql #建立mysql用户并且加入到mysql组中</p>
<p>建立用户后我们就初始化表 (注意:必须先执行本步骤后才能进行以下步骤)</p>
<p># ./scripts/mysql_install_db &#8211;user=mysql #初试化表并且规定用mysql用户来访问</p>
<p>初始化表以后就开始给mysql和root用户设定访问权限, 我们先到安装mysql的目录:</p>
<p># cd /usr/local/mysql</p>
<p>然后设置权限</p>
<p># chown -R root . #设定root能访问/usr/local/mysql<br />
# chown -R mysql data #设定mysql用户能访问/usr/local/mysql/data ,里面存的是mysql的数据库文件<br />
# chown -R mysql data/. #设定mysql用户能访问/usr/local/mysql/data下的所有文件<br />
# chown -R mysql data/mysql/. #设定mysql用户能访问/usr/local/mysql/data/mysql下的所有文件<br />
# chgrp -R mysql . #设定mysql组能够访问/usr/local/mysql</p>
<p>设置完成后,基本上就装好了,好了,我们运行一下我们的mysql:</p>
<p># /usr/local/mysql/bin/mysqld_safe &#8211;user=mysql &amp;</p>
<p>如果没有问题的话,应该会出现类似这样的提示:</p>
<p>[1] 42264<br />
# Starting mysqld daemon with databases from /usr/local/mysql/var<br />
这就证明你安装成功了,如果出现:</p>
<p>[1] 42264<br />
# Starting mysqld daemon with databases from /usr/local/mysql/var<br />
040818 10:53:45 mysqld ended</p>
<p>则证明你的mysql运行不来,请查看错误日志: /usr/local/mysql/data/*.err 然后确定安装是否成功,如果没有成功,请检查上面的步<br />
骤是否正确.</p>
<p>bin/mysqladmin -u root password “password”<br />
修改root用户的密码<br />
bin/mysql -u root -p<br />
如果正常的话，用这个名字可以登录，在输入密码后，出现mysql &gt; 的提示符表明登录成功。用quit命令可退出</p>
<p>以下命令用于设置mysql开机自动运行<br />
cd mysql<br />
再次进入解压后的目录，即源码目录。<br />
cp support-files/mysql.server /etc/init.d/mysql<br />
将mysql.server这个文件copy到/etc/init.d/目录下，并更名为mysql<br />
chmod 755 /etc/init.d/mysql<br />
给/etc/init.d/mysql这个文件赋予“执行”权限<br />
(注意 ：如果你安装的不在/usr/local下 ，需要修改拷贝到 /etc/init.d/mysql中的路径，不然就会出现下面的错误。<br />
# If you install MySQL on some other places than /usr/local/mysql, then you</p>
<p>basedir=/data/mysql</p>
<p>datadir=/data/mysql/data<br />
改路径</p>
<p>/etc/init.d/mysql: line 260: my_print_defaults: command not found<br />
/etc/init.d/mysql: line 263: my_print_defaults: command not found<br />
/etc/init.d/mysql: line 292: cd: /usr/local/mysql: 没有那个文件或目录<br />
Starting MySQLCouldn&#8217;t find MySQL manager (./bin/mysqlmanager) or server (./bin/mysqld_safe)<br />
[失败]<br />
)<br />
chkconfig &#8211;level 345 mysql on<br />
加入到开机自动运行，运行级别为3 4 5<br />
service mysql restart<br />
重启mysql服务</p>
<p>如果没有加入chkconfig的话，停止和重起用下面的命令<br />
mysqladmin -u root -p shutdown<br />
mysqld_safe &#8211;user=mysql &amp;</p>
<p>另一种开机后立即启动！<br />
[root@test mysql]# vi /etc/rc.d/rc.local<br />
# 将底下这一行加入这个档案的最后面一行喔！<br />
cd /usr/local/mysql; /usr/local/mysql/bin/safe_mysqld &#8211;user=mysql &amp;<br />
# 这样一来，每次开机就可以自动的启动 MySQL ?！<br />
# 注：由于很多网友回复之问题中发现，如果没有加上 cd /usr/local/mysql 时，<br />
# 会导致无法自动于开机的时候启动，因此，请大家记得加上这个动作呢！<br />
<span style="color: #ff6600;">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
</span>安装GD-2.0.33 (需要先安装下面的包)</p>
<p>安装ZLIB2<br />
cd /home/biaoest<br />
tar -zxvf zlib-1.2.3.tar.gz<br />
cd zlib-1.2.3<br />
./configure<br />
不要用&#8211;prefix自定义安装目录，否则可能会影响后面安装，可能出现的错误：<br />
configure: error: zlib not installed<br />
安装完后还需安装 libbzip2-level 和 libbzip2 ，可以在安装盘中找rpm包。</p>
<p>安装libpng-1.2.10<br />
tar -zxvf libpng-1.2.10.tar.gz<br />
./configure &#8211;prefix=/data/apache2/modlib/png<br />
make<br />
make install<br />
如果出现下面错误：<br />
configure: error: zlib not installed<br />
请回到zlib，重新安装一次，最好先make clean</p>
<p>如果你的机器是64位，并且在安装png时候出现下面错误：<br />
/usr/bin/ld: /usr/local/lib/libz.a(compress.o): relocation R_X86_64_32 can not be used when making a shared object;<br />
recompile with -fPIC<br />
/usr/local/lib/libz.a: could not read symbols: Bad value<br />
collect2: ld returned 1 exit status</p>
<p>修补办法（接上面步骤）：<br />
vi Makefile<br />
找到 CFLAGS=-O3 -DUSE_MMAP<br />
在后面加入-fPIC，即变成CFLAGS=-O3 -DUSE_MMAP -fPIC<br />
接下面步骤<br />
tar -zxvf libpng-1.2.10.tar.gz<br />
./configuer &#8211;prefix=/data/apache2/modlib/png<br />
make<br />
make install</p>
<p>安装JPEG6<br />
先建立目录，否则可能会出现类型下面错误:<br />
/usr/bin/install -c cjpeg /server/apache2/modlib/jpeg6/bin/cjpeg<br />
/usr/bin/install: cannot create regular file `/server/apache2/modlib/jpeg6/bin/cjpeg&#8217;: No such file or directory<br />
make: *** [install] Error 1</p>
<p>解决办法：<br />
mkdir /usr/local/apache2/modlib<br />
mkdir /usr/local/apache2/modlib/jpeg6<br />
mkdir /usr/local/apache2/modlib/jpeg6/bin<br />
mkdir /usr/local/apache2/modlib/jpeg6/lib<br />
mkdir /usr/local/apache2/modlib/jpeg6/include<br />
mkdir /usr/local/apache2/modlib/jpeg6/man<br />
mkdir /usr/local/apache2/modlib/jpeg6/man/man1</p>
<p>tar -zxvf jpegsrc.v6b.tar.gz<br />
cd jpegsrc.v6b.<br />
./configure &#8211;prefix=/data/apache2/modlib/jpeg6</p>
<p>在php编译的时候，可能会出现configure: error: libjpeg.(a|so) not found.<br />
重新编译一下你的libjpeg</p>
<p>如果你的机器是64位，并且在安装gd时候出现下面错误：<br />
/usr/bin/ld: /server/apache2/modlib/jpeg6//lib/libjpeg.a(compress.o): relocation R_X86_64_32 can not be used when<br />
making a shared object; recompile with -fPIC<br />
/server/apache2/modlib/jpeg6//lib/libjpeg.a: could not read symbols: Bad value<br />
collect2: ld returned 1 exit status<br />
make[2]: *** [libgd.la] Error 1</p>
<p>解决办法：<br />
vi Makefile<br />
找到 CFLAGS= -O2 -I$(srcdir)<br />
在后面加入-fPIC，即变成CFLAGS= -O2 -I$(srcdir) –fPIC</p>
<p>make<br />
make install-lib  ****重要！<br />
make install<br />
安装freetype<br />
cd /home/biaoest<br />
tar -zxvf freetype-2.2.1.tar.gz<br />
cd freetype-2.2.1<br />
./configure &#8211;prefix=/data/apache2/modlib/freetype<br />
make<br />
出现这个错误，忽略不管，意思是错把系统内核当成unix<br />
make: Nothing to be done for `unix&#8217;.</p>
<p>make install<br />
安装GD<br />
cd /home/biaoest<br />
tar -zxvf gd-2.0.33.tar.gz<br />
cd gd-2.0.33<br />
./configure \<br />
&#8211;prefix=/data/apache2/modlib/gd2 \<br />
&#8211;with-jpeg=/data/apache2/modlib/jpeg6 \<br />
&#8211;with-png=/data/apache2/modlib/png \<br />
&#8211;with-zlib \<br />
&#8211;with-freetype=/data/apache2/modlib/freetype</p>
<p>make</p>
<p>如果出现下面错误：<br />
gd_png.c:825: warning: data definition has no type or storage class<br />
make[2]: *** [gd_png.lo] Error 1<br />
需要修改vi gd_png.c,找到 #include “png.h”改成#include “/data/apache2/modlib/png/include/png.h” ，就是添加路径。</p>
<p>make install<br />
<span style="color: #ff6600;">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</span><br />
安装libiconv<br />
应该先安装这个，不然可能下面的 libxml2无法安装，libiconv的 版本一定要新，系统自带的libiconv函数支持有时不好 ，所以才<br />
使用这个东西，当然，也可以使用其他版本的libiconv库。<br />
除提供对西欧字符集的支持外，libiconv库还提供了对各种亚洲字符集（包括汉字、日文、韩文）的支持：<br />
Chinese<br />
EUC-CN, HZ, GBK, GB18030, EUC-TW, BIG5, CP950, BIG5-HKSCS, ISO-2022-CN, ISO-2022-CN-EXT<br />
Japanese<br />
EUC-JP, SHIFT_JIS, CP932, ISO-2022-JP, ISO-2022-JP-2, ISO-2022-JP-1<br />
Korean<br />
EUC-KR, CP949, ISO-2022-KR, JOHAB 。<br />
tar -zxvf libiconv-1.9.2.tar.gz<br />
./configure &#8211;enable-static=yes<br />
make<br />
make install</p>
<p>增加”—enable-static=yes”选项是为了生成静态库。完成配置后，执行make编译libiconv库。<br />
完成编译后，可以通过”make install”命令安装libiconv环境。<br />
安装libmcrypt 支持mcrypt 扩展<br />
libmcrypt-2.5.8.tar<br />
./configure  使用默认安装<br />
make<br />
make install<br />
<span style="color: #ff6600;">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</span><br />
安装Libxml2<br />
libxml2-2.6.30.tar.gz<br />
./configure 使用默认安装<br />
make<br />
make install</p>
<p>安装Libxslt 1.1.24<br />
./configure &#8211;prefix=/data/apache2/modlib/libxslt &#8211;with-libxml</p>
<p>make<br />
make install<br />
安装 Bzip2-1.0.2<br />
简单的办法直接到安装盘中找。</p>
<p>Bzip2的内容<br />
Bzip2 是块排序文件压缩器，比传统的gzip生成更高压缩比的文件。</p>
<p>安装下列程序: bunzip2 (link to bzip2), bzcat (link to bzip2), bzcmp, bzdiff, bzegrep, bzfgrep, bzgrep, bzip2,<br />
bzip2recover, bzless 和 bzmore</p>
<p>安装下列库文件: libbz2.a, libbz2.so (link to libbz2.so.1.0), libbz2.so.1.0 (link to libbz2.so.1.0.2) 和<br />
libbz2.so.1.0.2</p>
<p>Bzip2 安装依赖关系<br />
Bzip2 依赖于: Bash, Binutils, Coreutils, Diffutils, GCC, Glibc, Make.</p>
<p>安装 Bzip2<br />
Bzip2软件包没有configure脚本。编译和安装它比较直接了当：</p>
<p>make PREFIX=/tools install</p>
<p>安装tiff<br />
tiff-3.8.1.tar.gz<br />
./configure<br />
make<br />
make install<br />
<span style="color: #ff6600;">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
</span>configure 和make时如有错误， collect2: ld returned 1 exit status  make: *** [libphp5.la] Error 1 ，这时应从新解压一次包，在安装，可能是解压的包有问题。如不是在考虑其他的问题。</p>
<p>php<br />
./configure \<br />
&#8211;prefix=/data/php \<br />
&#8211;with-apxs2=/data/apache2/bin/apxs \<br />
&#8211;with-zlib-dir \<br />
&#8211;with-bz2 \<br />
&#8211;with-libxml-dir \<br />
&#8211;with-gd=/data/apache2/modlib/gd2 \<br />
&#8211;with-freetype-dir=/data/apache2/modlib/freetype \<br />
&#8211;with-jpeg-dir=/data/apache2/modlib/jpeg6 \<br />
&#8211;with-png-dir=/data/apache2/modlib/png \<br />
&#8211;with-ttf \<br />
&#8211;enable-mbstring \<br />
如果不能用时改成<br />
&#8211;enable-mbstring=all \<br />
&#8211;with-mcrypt \<br />
&#8211;with-mysql=/data/mysql \<br />
&#8211;with-mysqli=/data/mysql/bin/mysql_config \<br />
&#8211;with-config-file-path=/etc \ 指定php.ini文件所在的目录，cp php.ini-dist文件时就到这里,改名php.ini<br />
&#8211;with-iconv \ 调用libiconv函数库 ，支持多种字符集转换。<br />
&#8211;enable-static=yes \ =yes是和前面static编译的一样，如果编译的是其他的，对应改一下，不加=yes这个参数，可能编译不了。用于变量，声明这个变量的存储单元静态分配，从程序运算开始到结束这个变量的存储单元不变化。static常用<br />
于全局量，一是存在里面的值始终有效，不因进退出子程序数值消失，另外static的变量运算速度比非静态分配的快。<br />
libsepol-devel-1.15.2-1.el5.i386.rpm<br />
libselinux-devel-1.33.4-5.1.el5.i386<br />
e2fsprogs-devel-1.39-20.el5.i386.rpm<br />
keyutils-libs-devel-1.2-1.el5.i386.rpm<br />
krb5-devel-1.6.1-31.el5.i386.rpm<br />
openssl-devel-0.9.8e-7.el5.i386.rpm<br />
libidn-devel-0.6.5-1.1.i386.rpm<br />
curl-devel-7.15.5-2.el5.i386<br />
&#8211;with-curl=/data/apache2/modlib/curl 不用不安装<br />
&#8211;with-openssl \<br />
&#8211;with-xmlrpc \xml-rpc扩展已经集成在php中了,为了异构系统的通信而产生的，使用基于XML的HTTP的远程调用提供一种标准的机<br />
制，而省去建立一种新协议的需求。目前进行Web Service通信有两种协议标准，一种是XML-RPC，另外一种是SOAP。XML-RPC比较简<br />
单，出现时间比较早，SOAP比较复杂，主要是一些需要稳定、健壮、安全并且复杂交互的时候使用。</p>
<p>&#8211;disable-debug \<br />
其中 &#8211;disable-debug 一定要, 因为下面的 zend optimizer 优化工具,在php- disable -debug状态下才能运行.. 你的 phpinfo() 才会显示 with-zend optimizer..</p>
<p>下面几项一直没测试通<br />
&#8211;disable-ipv6 \ 支持 ipv6<br />
&#8211;with-tiff-dir \<br />
cp php.ini-dist /etc/php.ini   cp的位置就是&#8211;with-config-file-path=/etc，这个地方不要错了，不然zend安不上.</p>
<p>整合apache 与php<br />
# vi /data/apache2/conf/httpd.conf<br />
在最后一行加上：<br />
AddType application/x-httpd-php .php<br />
查找：(设置 WEB 默认文件)<br />
DirectoryIndex index.html<br />
替换为：<br />
DirectoryIndex index.php index.html index.htm //在 WEB 目录不到默认文件，httpd 就会执行 /var/www/error/noindex.html<br />
找到这一段：<br />
# AllowOverride controls what directives may be placed in .htaccess files.<br />
# It can be “All”, “None”, or any combination of the keywords:<br />
# Options FileInfo AuthConfig Limit<br />
#<br />
AllowOverride none<br />
更改为AllowOverride all<br />
允许apache rewrite<br />
保存httpd.conf，退出。<br />
# /data/apache2/bin/apachectl restart //重启 Apache<br />
<span style="color: #ff6600;">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</span><br />
安装 Zend Optimizer<br />
# tar xzvf ZendOptimizer-3.2.0-linux-glibc21-i386.tar.gz<br />
# ./ZendOptimizer-3.2.0-linux-glibc21-i386/install.sh<br />
按照它的提示一步步进行就行了。</p>
<p>Zend的安装目录请自行设置，之后会询问php.ini文件所在目录、apach的安装目录下的bin目录，请确认无误后输入。<br />
安装完成后会询问要不要重起apache。<br />
php.ini文件会被转移到Zend目录下的etc目录下，原来的php.ini文件被改名为php.ini-zend_optimizer.bak。</p>
<p>配置Apache的虚拟目录</p>
<p>&lt;VirtualHost 127.0.0.1&gt;<br />
ServerName www.yourdomain.com<br />
DocumentRoot “/opt/iNewS4/htdocs” #域名的根目录直接指向静态目录，这样就可以直接使用域名访问静态首页<br />
Alias /admincp “/opt/iNewS4\AdminCP” #这个是iNewS的后台管理地址，可以复杂一点<br />
Alias /Install “/opt/iNewS4\Install” #这个可以在安装完成删除<br />
&lt;/VirtualHost&gt;</p>
<p>将上面的内容放到httpd.conf中好使了，但是和网上说的不太一致<br />
如果改端口，要在Listen 80 下面增设其他监听端口，如 Listen 81</p>
<p>出现 apache 403错误 You don&#8217;t have permission to access on this server.</p>
<p>配置文件httpd.conf，找到这么一段：<br />
&lt;Directory /&gt;<br />
Options FollowSymLinks<br />
AllowOverride None<br />
Order deny,allow<br />
deny from all<br />
Satisfy all<br />
&lt;/Directory&gt;<br />
然后试着把deny from all中的deny改成了allow，保存后重起了apache。</p>
<p>以上配置还在测试。<br />
<span style="color: #ff6600;">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</span><br />
ssh安装</p>
<p># cd /usr/src/usr.bin<br />
# tar xvfz &#8230;/openssh-5.2.tar.gz<br />
# cd ssh<br />
# make obj<br />
# make cleandir<br />
# make depend<br />
# make<br />
# make install<br />
# cp ssh_config sshd_config /etc/ssh<br />
# /etc/init.d/ssh start</p>
<p># vi /etc/ssh/sshd_config　 ← 用vi打开SSH的配置文件</p>
<p>#Protocol 2,1　← 找到此行将行头“#”删除，再将行末的“,1”删除，只允许SSH2方式的连接<br />
↓<br />
Protocol 2　← 修改后变为此状态，仅使用SSH2</p>
<p>#ServerKeyBits 768　← 找到这一行，将行首的“#”去掉，并将768改为1024<br />
↓<br />
ServerKeyBits 1024　← 修改后变为此状态，将ServerKey强度改为1024比特</p>
<p>#PermitRootLogin yes 　← 找到这一行，将行首的“#”去掉，并将yes改为no<br />
↓<br />
PermitRootLogin no 　← 修改后变为此状态，不允许用root进行登录</p>
<p>#PasswordAuthentication yes　← 找到这一行，将yes改为no<br />
↓<br />
PasswordAuthentication no　← 修改后变为此状态，不允许密码方式的登录</p>
<p>#PermitEmptyPasswords no　 ← 找到此行将行头的“#”删除，不允许空密码登录<br />
↓<br />
PermitEmptyPasswords no　 ← 修改后变为此状态，禁止空密码进行登录</p>
<p>sshd_config祥解</p>
<p>Protocol 2 #使用协议版本2<br />
Port 22 #sshd监听22端口<br />
ListenAddress 192.168.7.1 #sshd只监听目标ip为192.168.7.1的请求<br />
AllowGroups wheel myguest #允许wheel组和myguest组的用户登录<br />
AllowUsers teczm authen@192.168.8.5 #允许来自以上组的teczm用户和authen用户登录，<br />
#且authen用户只能从主机192.168.8.5登录<br />
#DenyGroups #拒绝登录的组，参数设置和AllowGroups一样<br />
#DenyUsers #拒绝登录的用户，参数设置和AllowUsers一样<br />
#AllowTcpForwarding yes #是否转发的TCP包都被允许。默认是 “yes”。<br />
LoginGraceTime 60 #60秒内客户端不能登录即登录超时,sshd切断连接。<br />
KeyRegenerationInterval 1800 #1800秒(30分钟)后自动重新生成服务器的密匙。<br />
MaxStartups 3 #设置同时发生的未验证的并发量，即同时可以有几个<br />
UseDNS no #不使用DNS查询客户端。<br />
PermitRootLogin no #不允许root登录，root可由wheel组用户登录后su。<br />
X11Forwarding no #禁止用户运行远程主机上的X程序。<br />
UseLogin yes #禁止X11Forwarding<br />
#认证配置(口令认证、PAM认证、非对称密钥认证任选其一)<br />
#口令认证<br />
PubkeyAuthentication no #不使用非对称密钥认证<br />
PasswordAuthentication yes #使用口令认证<br />
PermitEmptyPasswords no #不允许使用空密码的用户登录<br />
#PAM认证<br />
PasswordAuthentication no #不使用口令认证<br />
UsePAM #使用pam认证<br />
ChallengeResponseAuthentication yes #允许挑战应答方式<br />
#非对称密钥认证<br />
PasswordAuthentication no #不使用口令认证<br />
PubkeyAuthentication yes #使用非对称密钥认证<br />
AuthorizedKeysFile .ssh/authorized_keys #用户认证使用的公钥。<br />
# su &#8211; centospub　← 登录为一般用户centospub</p>
<p>[centospub@sample ~]$ ssh-keygen -t rsa 　← 建立公钥与私钥<br />
Generating public/private rsa key pair.<br />
Enter file in which to save the key (/home/kaz/.ssh/id_rsa): 　← 钥匙的文件名，这里保持默认直接回车<br />
Created directory &#8216;/home/kaz/.ssh&#8217;<br />
Enter passphrase (empty for no passphrase): 　← 输入口令<br />
Enter same passphrase again: 　 ← 再次输入口令<br />
Your identification has been saved in /home/kaz/.ssh/id_rsa.<br />
Your public key has been saved in /home/kaz/.ssh/id_rsa.pub.<br />
The key fingerprint is:<br />
tf:rs:e3:7s:28:59:5s:93:fe:33:84:01:cj:65:3b:8e xxx</p>
<p><strong>ssh 其它软件key添加</strong><br />
<strong><span style="color: #ff6600;">F-Secure SSH Client 生成的key要用下面方法添加</span><br />
</strong>参数 _i -f 生成的文件将会清除原authorized_keys文件中的其它key，所以在用这个命令时先生成其它的文件名，然后再用cat XXX &gt;&gt; authorized_keys，合并文件即可。<br />
ssh-keygen -i -f XXX.pub(代表的客户端生成的文件) &gt; .ssh/XXX  XXX代表的是.ssh下的authorized_keys<br />
XXX如果后缀是.pub可能运行不了命令，将文件XXX.pub 改成XXX就可以了</p>
<p><a href="http://blog.vpear.com/index.php/2009/06/22/9242" target="_blank"><span style="color: #ff6600;"><strong>putty生成的key使用方法详解</strong></span></a></p>
<p>最后开启SeLinux<br />
允许下面的模块运行，命令：<br />
chcon -t textrel_shlib_t &#8216;/data/apache2/modlib/gd2/lib/libgd.so.2.0.0&#8242;<br />
chcon -t textrel_shlib_t &#8216;/data/mysql/lib/libmysqlclient_r.so.15&#8242;<br />
chcon -t textrel_shlib_t &#8216;/data/apache2/modules/libphp5.so&#8217;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vpear.com/index.php/2009/05/18/7901/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>保障Ubuntu Apache Web服务器安全</title>
		<link>http://blog.vpear.com/index.php/2009/03/05/6293</link>
		<comments>http://blog.vpear.com/index.php/2009/03/05/6293#comments</comments>
		<pubDate>Thu, 05 Mar 2009 02:19:28 +0000</pubDate>
		<dc:creator>一品少掌柜</dc:creator>
				<category><![CDATA[.]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.vpear.com/?p=6293</guid>
		<description><![CDATA[     在一个linux发行版本上设置一个web服务器是一个很快的过程，不过要让这种设置成为一种安全的过程可能就需要花点儿工夫。本文将向你展示如何有效地使用访问控制和身份验证策略，使你的apacheweb服务器更安全。下面所有的例子都假定你用的是ubuntu7.10，并对apache进行了基本的配置。不过，这些例子将帮助任何一位运行apache服务器的用户获得更大的安全性，因为其要领仍然适用于其它linux系统。本文中所涉及到的方法应当首先在一台测试服务器上进行试验，在成功之后才能迁移到一个实际使用的web服务器上。 　　一、文件许可和访问控制 　　1. 用户和组 　　首先要保障的是apache不要以root身份运行，因为如果apache被攻破的话，那么攻击者就可以控制root账户。下面让我们看一下apache正以何种用户和组的身份运行： 　　运行下面的命令：       # ps auwwfx &#124; grep apache www-data 25675 0.0 0.0 10348 508 ? s jan21 0:00 _ /usr/sbin/apache2 -k start 　　www-data 25686 0.0 0.2 231816 2208 ? sl jan21 0:00 _ /usr/sbin/apache2 -k start 　　www-data 25688 0.0 0.2 231816 2200 ? sl jan21 0:00 _ /usr/sbin/apache2 -k [...]]]></description>
			<content:encoded><![CDATA[<p>     在一个linux发行版本上设置一个web服务器是一个很快的过程，不过要让这种设置成为一种安全的过程可能就需要花点儿工夫。本文将向你展示如何有效地使用访问控制和身份验证策略，使你的apacheweb服务器更安全。下面所有的例子都假定你用的是ubuntu7.10，并对apache进行了基本的配置。不过，这些例子将帮助任何一位运行apache服务器的用户获得更大的安全性，因为其要领仍然适用于其它linux系统。本文中所涉及到的方法应当首先在一台测试服务器上进行试验，在成功之后才能迁移到一个实际使用的web服务器上。<br />
　　一、文件许可和访问控制</p>
<p>　　1. 用户和组</p>
<p>　　首先要保障的是apache不要以root身份运行，因为如果apache被攻破的话，那么攻击者就可以控制root账户。下面让我们看一下apache正以何种用户和组的身份运行：</p>
<p>　　运行下面的命令：</p>
<p>      # ps auwwfx | grep apache www-data 25675 0.0 0.0 10348 508 ? s jan21 0:00 _ /usr/sbin/apache2 -k start<br />
　　www-data 25686 0.0 0.2 231816 2208 ? sl jan21 0:00 _ /usr/sbin/apache2 -k start<br />
　　www-data 25688 0.0 0.2 231816 2200 ? sl jan21 0:00 _ /usr/sbin/apache2 -k start<br />
　　可以看出，www-data是运行apache的用户。不过，我们需要编辑apache的配置并创建一个新用户和组：</p>
<p>   # groupadd www-data<br />
　　# useradd -g www-data www-data<br />
　　# vi /etc/apache2/apache2.conf<br />
　　将user root group root改为：</p>
<p>      user www-data group www-data<br />
　　然后重新加载以使改变生效：</p>
<p>      # /etc/init.d/apache2 reload<br />
　　2. 服务文件准许</p>
<p>　　一个最易被忽视的安全问题是如何正确地使用chmod命令。例如，我们在apache 的html root目录中创建了一个index.cgi文件，不过在浏览器中打开这个文件时却被告知拒绝访问。为了让我们的index.cgi文件正常工作，我们执行一个chomod 777 index.cgi。在我们如此试验时，每一个apache管理员都在考虑这样安全吗?答案是否定的。不过，如何使这种许可足够安全并能允许index.cgi脚本正常运行呢?</p>
<p>　　apache需要得到准许来访问index.cgi文件。不过，我们不希望人人都能读写index.cgi。这个文件的所有者应当拥有读写这个文件的许可。为此我们需要下面的命令：</p>
<p>      # chmod 755 index.cgi<br />
　　将下面的一行加入到你的apache.conf文件中是很重要的：</p>
<p>       options followsymlinks allowoverride none<br />
　　注意：</p>
<p>　　1、上面的命令行防止apache访问root之外的文件。</p>
<p>　　2、有一些linux发行版本比其它版本拥有更好的安全性。engarde secure linux就是一个很好的例子，因为它默认情况下就在其apache配置文件中包含了上面的代码行。</p>
<p>　　我们并不想让用户在文件系统上的任何地方运行cgi脚本，不过我们确实需要它们在root中运行。对这个问题的解决办法是“options execcgi”指令。</p>
<p>　　例如，将下面的行添加到/etc/apache2/apache2.conf文件中:</p>
<p>      allowoverride none options execcgi order allow,deny allow from all<br />
　　重新加载apache：</p>
<p>      # /etc/init.d/apache2 reload<br />
　　那么，如果你拥有只应当被某个网络或ip地址访问的资源怎么办?对这个问题的解决办法是使用我们的apache配置来为你增强安全性：</p>
<p>　　先说一个只允许访问192.168.0.0网络的例子，需要改变/etc/apache2/apache2.conf文件中以下的一行：</p>
<p>      allowoverride none options execcgi order allow,deny allow from all<br />
　   将其改为：</p>
<p>allowoverride none options execcgi order deny,allow deny from all allow from 192.168.0.0/16<br />
　　然后重新加载以使更改生效：</p>
<p>      # /etc/init.d/apache2 reload<br />
　　现在只有你内部网络上的用户能够在/home/username/public_html/cgi-bin中运行cgi脚本。</p>
<p>       二、身份验证</p>
<p>　　我们怎样才能仅允许那些拥有正确口令和用户名的用户访问部分web root呢?下面的步骤将向你展示如何安全地做到这一点：</p>
<p>　　1. 基本验证</p>
<p>　　允许.htaccess：</p>
<p>      # vi /etc/apache2/apache2.conf<br />
　　将allowoveride none改为allowoveride authconfig</p>
<p>　　重新加载以使改变生效：</p>
<p>      # sudo /etc/init.d/apache2 reload<br />
　　创建一个口令文件：</p>
<p>   # mkdir /var/www/misc<br />
　　# chmod a+rx /var/www/misc<br />
　　# cd /var/www/misc<br />
　　# htpasswd -bc private.passwords username password adding password for user username<br />
　　创建.htaccess</p>
<p>      # cd /home/username/public_html/cgi-bin # vi .htaccess<br />
　　在.htaccess中增加下面的命令：</p>
<p>authname my private area” authtype basic authuserfile /var/www/misc/private.passwords authgroupfile /dev/null require valid-user<br />
　　将allowoverride none options execcgi order deny,allow deny from all allow from 192.168.0.0/16</p>
<p>　　改变为：allowoverride .htaccess options execcgi order deny,allow deny from all allow from 192.168.0.0/16</p>
<p>　　然后重新加载以使更改生效：</p>
<p>      # /etc/init.d/apache2 reload<br />
　　2、摘要验证(digest authentication)</p>
<p>　　另外一种验证方法称之为摘要验证。如果采用摘要验证，你的口令将不是以明文通过网络传送，因为它们总是作为用户口令的一个md5摘要传送的。如果采用这种方法，那么通过嗅探网络通信的方法就不能决定用户的口令了。</p>
<p>　　下面创建口令文件：</p>
<p>   # mkdir /var/www/misc<br />
　　# chmod a+rx /var/www/misc<br />
　　# cd /var/www/misc<br />
　　# htdigest -c private.passwords realm username adding password for username in realm realm. new password:<br />
　　创建 .htaccess ：</p>
<p>      # cd /home/username/public_html/cgi-bin # vi .htaccess<br />
　　在.htaccess中增加下面的内容：</p>
<p>authname “my private area” authtype digest authuserfile /var/www/misc/private.passwords authgroupfile /dev/null require valid-user<br />
　　注意：</p>
<p>　　1、一些老的浏览器并不支持摘要验证(digest authentication)</p>
<p>　　2、要完全地保护你的.htaccess就要使用ssl</p>
<p>　　三、总结</p>
<p>　　使apache更安全的下一步措施是使用apache的模块来帮助实现更好的安全性，例如mod_security 和 mod_chroot。此外，要保护我们的验证我们还需要配置ssl。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vpear.com/index.php/2009/03/05/6293/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apache+php+mysql在windows下的安装与配置图解</title>
		<link>http://blog.vpear.com/index.php/2009/01/04/3350</link>
		<comments>http://blog.vpear.com/index.php/2009/01/04/3350#comments</comments>
		<pubDate>Sun, 04 Jan 2009 06:44:31 +0000</pubDate>
		<dc:creator>一品少掌柜</dc:creator>
				<category><![CDATA[.]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://blog.vpear.com/?p=3350</guid>
		<description><![CDATA[先准备好软件： Apache官方下载地址：apache_2.0.55-win32-x86-no_ssl.msi， php官方下载地址：php-5.0.5-Win32.zip mysql官方下载地址：mysql-4.1.14-win32.zip一、安装Apache，配置成功一个 普通网站服务器 运行下载好的“apache_2.0.55-win32-x86-no_ssl.msi”，出现如下界面：    出现Apache HTTP Server 2.0.55的安装向导界面，点“Next”继续 确认同意软件安装使用许可条例，选择“I accept the terms in the license agreement”，点“Next”继续   将Apache安装到Windows上的使用须知，请阅读完毕后，按“Next”继续    设置系统信息，在Network Domain下填入您的域名（比如：goodwaiter.com），在Server Name下填入您的服务器名称（比如：www.goodwaiter.com，也就是主机名加上域名），在Administrator&#8217;s Email Address下填入系统管理员的联系电子邮件地址（比如：yinpeng@xinhuanet.com），上述三条信息仅供参考，其中联系电子邮件地址会在当系统故障时提供给访问者，三条信息均可任意填写，无效的也行。下面有两个选择，图片上选择的是为系统所有用户安装，使用默认的80端口，并作为系统服务自动启动；另外一个是仅为当前用户安装，使用端口8080，手动启动。一般选择如图所示。按“Next”继续。]    选择安装类型，Typical为默认安装，Custom为用户自定义安装，我们这里选择Custom，有更多可选项。按“Next”继续    出现选择安装选项界面，如图所示，左键点选“Apache HTTP Server 2.0.55”，选择“This feature, and all subfeatures, will be installed on local hard drive.”，即“此部分，及下属子部分内容，全部安装在本地硬盘上”。点选“Change&#8230;”，手动指定安装目录。    我这里选择安装在“D:\”，各位自行选取了，一般建议不要安装在操作系统所在盘，免得操作系统坏了之后，还原操作把Apache配置文件也清除了。选“OK”继续。    返回刚才的界面，选“Next”继续。   确认安装选项无误，如果您认为要再检查一遍，可以点“Back”一步步返回检查。点“Install”开始按前面设定的安装选项安装。    正在安装界面，请耐心等待，直到出现下面的画面。 安装向导成功完成，这时右下角状态栏应该出现了下面的这个绿色图标，表示Apache服务已经开始运行，按“Finish”结束Apache的软件安装   [...]]]></description>
			<content:encoded><![CDATA[<p>先准备好软件：</p>
<p>Apache官方下载地址：apache_2.0.55-win32-x86-no_ssl.msi，</p>
<p>php官方下载地址：php-5.0.5-Win32.zip</p>
<p>mysql官方下载地址：mysql-4.1.14-win32.zip一、安装Apache，配置成功一个</p>
<p>普通网站服务器</p>
<p>运行下载好的“apache_2.0.55-win32-x86-no_ssl.msi”，出现如下界面：</p>
<p><img class="alignnone size-large wp-image-3351" title="1" src="http://blog.vpear.com/wp-content/uploads/2009/01/1-450x347.gif" alt="1" width="450" height="347" /> </p>
<p style="text-indent: 2em;"> 出现Apache HTTP Server 2.0.55的安装向导界面，点“Next”继续</p>
<p><img class="alignnone size-large wp-image-3352" title="11" src="http://blog.vpear.com/wp-content/uploads/2009/01/11-450x346.gif" alt="11" width="450" height="346" /></p>
<p style="text-indent: 2em;">确认同意软件安装使用许可条例，选择“I accept the terms in the license agreement”，点“Next”继续<br />
<span id="more-3350"></span></p>
<p><img class="alignnone size-large wp-image-3354" title="12" src="http://blog.vpear.com/wp-content/uploads/2009/01/12-450x345.gif" alt="12" width="450" height="345" /> </p>
<p style="text-indent: 2em;">将Apache安装到Windows上的使用须知，请阅读完毕后，按“Next”继续 </p>
<p><img class="alignnone size-large wp-image-3355" title="13" src="http://blog.vpear.com/wp-content/uploads/2009/01/13-450x347.gif" alt="13" width="450" height="347" /> </p>
<p style="text-indent: 2em;">设置系统信息，在Network Domain下填入您的域名（比如：goodwaiter.com），在Server Name下填入您的服务器名称（比如：www.goodwaiter.com，也就是主机名加上域名），在Administrator&#8217;s Email Address下填入系统管理员的联系电子邮件地址（比如：<a href="mailto:yinpeng@xinhuanet.com">yinpeng@xinhuanet.com</a>），上述三条信息仅供参考，其中联系电子邮件地址会在当系统故障时提供给访问者，三条信息均可任意填写，无效的也行。下面有两个选择，图片上选择的是为系统所有用户安装，使用默认的80端口，并作为系统服务自动启动；另外一个是仅为当前用户安装，使用端口8080，手动启动。一般选择如图所示。按“Next”继续。]</p>
<p><img class="alignnone size-large wp-image-3356" title="14" src="http://blog.vpear.com/wp-content/uploads/2009/01/14-450x346.gif" alt="14" width="450" height="346" /> </p>
<p style="text-indent: 2em;"> 选择安装类型，Typical为默认安装，Custom为用户自定义安装，我们这里选择Custom，有更多可选项。按“Next”继续</p>
<p><img class="alignnone size-large wp-image-3357" title="15" src="http://blog.vpear.com/wp-content/uploads/2009/01/15-450x293.gif" alt="15" width="450" height="293" /> </p>
<p style="text-indent: 2em;"> 出现选择安装选项界面，如图所示，左键点选“Apache HTTP Server 2.0.55”，选择“This feature, and all subfeatures, will be installed on local hard drive.”，即“此部分，及下属子部分内容，全部安装在本地硬盘上”。点选“Change&#8230;”，手动指定安装目录。</p>
<p><img class="alignnone size-large wp-image-3358" title="16" src="http://blog.vpear.com/wp-content/uploads/2009/01/16-450x347.gif" alt="16" width="450" height="347" /> </p>
<p style="text-indent: 2em;"> 我这里选择安装在“D:\”，各位自行选取了，一般建议不要安装在操作系统所在盘，免得操作系统坏了之后，还原操作把Apache配置文件也清除了。选“OK”继续。</p>
<p> <img class="alignnone size-large wp-image-3360" title="18" src="http://blog.vpear.com/wp-content/uploads/2009/01/18-450x346.gif" alt="18" width="450" height="346" /></p>
<p style="text-indent: 2em;"> 返回刚才的界面，选“Next”继续。</p>
<p><img class="alignnone size-large wp-image-3359" title="17" src="http://blog.vpear.com/wp-content/uploads/2009/01/17-450x345.gif" alt="17" width="450" height="345" /> </p>
<p style="text-indent: 2em;">确认安装选项无误，如果您认为要再检查一遍，可以点“Back”一步步返回检查。点“Install”开始按前面设定的安装选项安装。 </p>
<p><img class="alignnone size-large wp-image-3361" title="19" src="http://blog.vpear.com/wp-content/uploads/2009/01/19-450x346.gif" alt="19" width="450" height="346" /> </p>
<p style="text-indent: 2em;">正在安装界面，请耐心等待，直到出现下面的画面。</p>
<p style="text-indent: 2em;">安装向导成功完成，这时右下角状态栏应该出现了下面的这个绿色图标，表示Apache服务已经开始运行，按“Finish”结束Apache的软件安装</p>
<p style="text-indent: 2em;"> <img class="alignnone size-full wp-image-3362" title="110" src="http://blog.vpear.com/wp-content/uploads/2009/01/110.gif" alt="110" width="39" height="29" /></p>
<p style="text-indent: 2em;">我们来熟悉一下这个图标，很方便的，在图标上左键单击，出现如下界面，有“Start（启动）”、“Stop（停止）”、“Restart（重启动）”三个选项，可以很方便的对安装的Apache服务器进行上述操作。 </p>
<p style="text-indent: 2em;"> <img class="alignnone size-full wp-image-3363" title="111" src="http://blog.vpear.com/wp-content/uploads/2009/01/111.gif" alt="111" width="170" height="78" /></p>
<p style="text-indent: 2em;">好了现在我们来测试一下按默认配置运行的网站界面，在IE地址栏打“http://127.0.0.1”，点“转到”，就可以看到欢迎页面，表示Apache服务器已安装成功。 </p>
<p style="text-indent: 2em;">现在开始配置Apache服务器，使它更好的替我们服务，事实上，如果不配置，你的安装目录下的Apache2\htdocs文件夹就是网站的默认根目录，在里面放入文件就可以了。这里我们还是要配置一下，有什么问题或修改，配置始终是要会的，如图所示，“开始”、“所有程序”、“Apache HTTP Server 2.0.55”、“Configure Apache Server”、“Edit the Apache httpd conf Configuration file”，点击打开。</p>
<p style="text-indent: 2em;">XP的记事本有了些小变化，很实用的一个功能就是可以看到文件内容的行、列位置，按下图所示，点“查看”，勾选“状态栏”，界面右下角就多了个标记，“Ln 78, Col 10”就表示“行 78，列 10”，这样可以迅速的在文件中定位，方便解说。当然，你也可以通过“编辑”，“查找”输入关键字来快速定位。每次配置文件的改变，保存后，必须在 Apache服务器重启动后生效，可以用前面讲的小图标方便的控制服务器随时“重启动”。</p>
<p> <img class="alignnone size-full wp-image-3364" title="112" src="http://blog.vpear.com/wp-content/uploads/2009/01/112.gif" alt="112" width="435" height="363" /></p>
<p style="text-indent: 2em;"> 现在正式开始配置Apache服务器，“Ln 228”，或者查找关键字“DocumentRoot”（也就是网站根目录），找到如下图所示地方，然后将”"内的地址改成你的网站根目录，地址格式请照图上的写，主要是一般文件地址的“\”在Apache里要改成“/”。</p>
<p><img class="alignnone size-full wp-image-3365" title="113" src="http://blog.vpear.com/wp-content/uploads/2009/01/113.gif" alt="113" width="431" height="366" /> </p>
<p style="text-indent: 2em;">“Ln 253”，同样，你也可以通过查找“</p>
<p><img class="alignnone size-full wp-image-3366" title="114" src="http://blog.vpear.com/wp-content/uploads/2009/01/114.gif" alt="114" width="433" height="363" /> </p>
<p style="text-indent: 2em;"> “Ln321”，DirectoryIndex（目录索引，也就是在仅指定目录的情况下，默认显示的文件名），可以添加很多，系统会根据从左至右的顺序来优先显示，以单个半角空格隔开，比如有些网站的首页是index.htm，就在光标那里加上“index.htm ”文件名是任意的，不一定非得“index.html”，比如“test.php”等，都可以。</p>
<p><img class="alignnone size-full wp-image-3367" title="115" src="http://blog.vpear.com/wp-content/uploads/2009/01/115.gif" alt="115" width="431" height="365" /> </p>
<p style="text-indent: 2em;"> 这里有一个选择配置选项，以前可能要配置，现在好像修正过来了，不用配置了，就是强制所有输出文件的语言编码，html文件里有语言标记（，这个就是设定文档语言为gb2312）的也会强制转换。如果打开的网页出现乱码，请先检查网页内有没有上述 html语言标记，如果没有，添加上去就能正常显示了。把“# DefaultLanguage nl”前面的“# ”去掉，把“nl”改成你要强制输出的语言，中文是“zh-cn”，保存，关闭。</p>
<p><img class="alignnone size-full wp-image-3368" title="116" src="http://blog.vpear.com/wp-content/uploads/2009/01/116.gif" alt="116" width="435" height="365" /> </p>
<p style="text-indent: 2em;"> 好了，简单的Apache配置就到此结束了，现在利用先前的小图标重启动，所有的配置就生效了，你的网站就成了一个网站服务器，如果你加载了防火墙，请打开80或8080端口，或者允许Apache程序访问网络，否则别人不能访问。如果你有公网IP（一般ADSL或电话拨号上网的都是），就可以邀请所有能上网的朋友访问使用http://你的IP地址你的网站了；如果你没有公网IP，也可以把内网IP地址告诉局域网内的其它用户，让他们通过http://你的内网IP地址，访问你的网站。</p>
<p style="text-indent: 2em;">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p style="text-indent: 2em;"><strong>二、php的安装、以module方式，将php与apache结合使你的网站服务器支持php服务器脚本程序</strong></p>
<p style="text-indent: 2em;">将下载的php安装文件<a href="http://cn2.php.net/get/php-5.0.5-Win32.zip/from/cn.php.net/mirror" target="_blank">php-5.0.5-Win32.zip</a>右键解压缩。</p>
<p style="text-indent: 2em;"> </p>
<p><img class="alignnone size-full wp-image-3371" title="117" src="http://blog.vpear.com/wp-content/uploads/2009/01/117.gif" alt="117" width="230" height="306" /> </p>
<p style="text-indent: 2em;"> </p>
<p style="text-indent: 2em;">指定解压缩的位置，我的设定在“D:\php”</p>
<p style="text-indent: 2em;"> </p>
<p><img class="alignnone size-large wp-image-3372" title="118" src="http://blog.vpear.com/wp-content/uploads/2009/01/118-450x397.gif" alt="118" width="450" height="397" /> </p>
<p style="text-indent: 2em;"> </p>
<p style="text-indent: 2em;">查看解压缩后的文件夹内容，找到“php.ini-dist”文件，将其重命名为“php.ini”，打开编辑，找到下面图中的地方， Ln385，有一个“register_globals = Off”值，这个值是用来打开全局变量的，比如表单送过来的值，如果这个值设为“Off”，就只能用“$_POST['变量名']、$_GET['变量名 ']”等来取得送过来的值，如果设为“On”，就可以直接使用“$变量名”来获取送过来的值，当然，设为“Off”就比较安全，不会让人轻易将网页间传送的数据截取。这个值是否改成“On”就看自己感觉了，是安全重要还是方便重要？<br />
<img class="alignnone size-full wp-image-3373" title="119" src="http://blog.vpear.com/wp-content/uploads/2009/01/119.gif" alt="119" width="431" height="365" /></p>
<p> </p>
<p style="text-indent: 2em;"> </p>
<p style="text-indent: 2em;">这里还有一个地方要编辑，功能就是使php能够直接调用其它模块，比如访问mysql，如下图所示，Ln563，选择要加载的模块，去掉前面的 “;”，就表示要加载此模块了，加载的越多，占用的资源也就多一点，不过也多不到哪去，比如我要用mysql，就要把“;extension= php_mysql.dll”前的“;”去掉。所有的模块文件都放在php解压缩目录的“ext”之下，我这里的截图是把所有能加载的模块都加载上去了，前面的“;”没去掉的，是因为“ext”目录下默认没有此模块，加载会提示找不到文件而出错。这里只是参考，一般不需要加载这么多，需要的加载上就可以了，编辑好后保存，关闭。<br />
<img class="alignnone size-full wp-image-3374" title="120" src="http://blog.vpear.com/wp-content/uploads/2009/01/120.gif" alt="120" width="429" height="739" /></p>
<p style="text-indent: 2em;"> </p>
<p> </p>
<p style="text-indent: 2em;"> </p>
<p style="text-indent: 2em;">如果上一步加载了其它模块，就要指明模块的位置，否则重启Apache的时候会提示“找不到指定模块”的错误，这里介绍一种最简单的方法，直接将php安装路径、里面的ext路径指定到windows系统路径中——在“我的电脑”上右键，“属性”，选择“高级”标签，点选“环境变量”，在“系统变量”下找到“Path”变量，选择，双击或点击“编辑”，将“;D:\php;D:\php\ext”加到原有值的后面，当然，其中的“D:\php” 是我的安装目录，你要将它改为自己的php安装目录，如下图所示，全部确定。系统路径添加好后要重启电脑才能生效，可以现在重启，也可以在所有软件安装或配置好后重启。<br />
<img class="alignnone size-large wp-image-3375" title="121" src="http://blog.vpear.com/wp-content/uploads/2009/01/121-450x353.gif" alt="121" width="450" height="353" /></p>
<p style="text-indent: 2em;"> </p>
<p> </p>
<p style="text-indent: 2em;"> </p>
<p style="text-indent: 2em;">现在开始将php以module方式与Apache相结合，使php融入Apache，照先前的方法打开Apache的配置文件，Ln 173，找到这里，添加进如图所示选中的两行，第一行“LoadModule php5_module D:/php/php5apache2.dll”是指以module方式加载php，第二行“PHPIniDir “D:/php””是指明php的配置文件php.ini的位置，是当然，其中的“D:/php”要改成你先前选择的php解压缩的目录。<br />
<img class="alignnone size-full wp-image-3376" title="122" src="http://blog.vpear.com/wp-content/uploads/2009/01/122.gif" alt="122" width="431" height="366" /></p>
<p style="text-indent: 2em;"> </p>
<p> </p>
<p style="text-indent: 2em;"> </p>
<p style="text-indent: 2em;">还是Apache的配置文件，Ln 757，加入“AddType application/x-httpd-php .php”、“AddType application/x-httpd-php .html”两行，你也可以加入更多，实质就是添加可以执行php的文件类型，比如你再加上一行“AddType application/x-httpd-php .htm”，则.htm文件也可以执行php程序了，你甚至还可以添加上一行“AddType application/x-httpd-php .txt”，让普通的文本文件格式也能运行php程序。<br />
<img class="alignnone size-full wp-image-3377" title="123" src="http://blog.vpear.com/wp-content/uploads/2009/01/123.gif" alt="123" width="430" height="362" /></p>
<p style="text-indent: 2em;"> </p>
<p> </p>
<p style="text-indent: 2em;"> </p>
<p style="text-indent: 2em;">前面所说的目录默认索引文件也可以改一下，因为现在加了php，有些文件就直接存为.php了，我们也可以把“index.php”设为默认索引文件，优先顺序就自己排了，我的是放在第一位。编辑完成，保存，关闭。<br />
<img class="alignnone size-full wp-image-3378" title="124" src="http://blog.vpear.com/wp-content/uploads/2009/01/124.gif" alt="124" width="431" height="365" /></p>
<p style="text-indent: 2em;"> </p>
<p> </p>
<p style="text-indent: 2em;"> </p>
<p style="text-indent: 2em;">现在，php的安装，与Apache的结合已经全部完成，用屏幕右下角的小图标重启Apache，你的Apache服务器就支持了php。</p>
<p style="text-indent: 2em;">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p style="text-indent: 2em;"><strong>三、mysql的安装，与php、Apache相结合</strong></p>
<p style="text-indent: 2em;">打开下载的mysql安装文件<a href="http://dev.mysql.com/get/Downloads/MySQL-4.1/mysql-4.1.14-win32.zip/from/http://download.softagency.net/MySQL/" target="_blank">mysql-4.1.14-win32.zip</a>，双击解压缩，运行“setup.exe”，出现如下界面</p>
<p style="text-indent: 2em;"> </p>
<p><img class="alignnone size-large wp-image-3379" title="125" src="http://blog.vpear.com/wp-content/uploads/2009/01/125-450x344.gif" alt="125" width="450" height="344" /> </p>
<p style="text-indent: 2em;"> </p>
<p style="text-indent: 2em;">mysql安装向导启动，按“Next”继续<br />
<img class="alignnone size-large wp-image-3380" title="126" src="http://blog.vpear.com/wp-content/uploads/2009/01/126-450x345.gif" alt="126" width="450" height="345" /></p>
<p style="text-indent: 2em;"> </p>
<p> </p>
<p style="text-indent: 2em;"> </p>
<p style="text-indent: 2em;">选择安装类型，有“Typical（默认）”、“Complete（完全）”、“Custom（用户自定义）”三个选项，我们选择“Custom”，有更多的选项，也方便熟悉安装过程</p>
<p style="text-indent: 2em;"> </p>
<p><img class="alignnone size-large wp-image-3381" title="127" src="http://blog.vpear.com/wp-content/uploads/2009/01/127-450x295.gif" alt="127" width="450" height="295" /> </p>
<p style="text-indent: 2em;"> </p>
<p style="text-indent: 2em;">在“Developer Components（开发者部分）”上左键单击，选择“This feature, and all subfeatures, will be installed on local hard drive.”，即“此部分，及下属子部分内容，全部安装在本地硬盘上”。在上面的“MySQL Server（mysql服务器）”、“Client Programs（mysql客户端程序）”、“Documentation（文档）”也如此操作，以保证安装所有文件。点选“Change&#8230;”，手动指定安装目录。</p>
<p style="text-indent: 2em;"> </p>
<p><img class="alignnone size-large wp-image-3382" title="128" src="http://blog.vpear.com/wp-content/uploads/2009/01/128-450x345.gif" alt="128" width="450" height="345" /> </p>
<p style="text-indent: 2em;"> </p>
<p style="text-indent: 2em;">填上安装目录，我的是“D:\mysql”，也建议不要放在与操作系统同一分区，这样可以防止系统备份还原的时候，数据被清空。按“OK”继续。</p>
<p style="text-indent: 2em;"> </p>
<p><img class="alignnone size-large wp-image-3383" title="129" src="http://blog.vpear.com/wp-content/uploads/2009/01/129-450x345.gif" alt="129" width="450" height="345" /> </p>
<p style="text-indent: 2em;"> </p>
<p style="text-indent: 2em;">返回刚才的界面，按“Next”继续。</p>
<p style="text-indent: 2em;"> </p>
<p><img class="alignnone size-large wp-image-3385" title="131" src="http://blog.vpear.com/wp-content/uploads/2009/01/131-450x345.gif" alt="131" width="450" height="345" /> </p>
<p style="text-indent: 2em;"> </p>
<p style="text-indent: 2em;">确认一下先前的设置，如果有误，按“Back”返回重做。按“Install”开始安装。</p>
<p style="text-indent: 2em;"> </p>
<p><img class="alignnone size-large wp-image-3386" title="132" src="http://blog.vpear.com/wp-content/uploads/2009/01/132-450x346.gif" alt="132" width="450" height="346" /> </p>
<p style="text-indent: 2em;"> </p>
<p style="text-indent: 2em;">正在安装中，请稍候，直到出现下面的界面</p>
<p style="text-indent: 2em;"> </p>
<p><img class="alignnone size-large wp-image-3387" title="133" src="http://blog.vpear.com/wp-content/uploads/2009/01/133-450x345.gif" alt="133" width="450" height="345" /> </p>
<p style="text-indent: 2em;"> </p>
<p style="text-indent: 2em;">这里是询问你是否要注册一个mysql.com的账号，或是使用已有的账号登陆mysql.com，一般不需要了，点选“Skip Sign-Up”，按“Next”略过此步骤。</p>
<p style="text-indent: 2em;"> </p>
<p><img class="alignnone size-large wp-image-3388" title="134" src="http://blog.vpear.com/wp-content/uploads/2009/01/134-450x342.gif" alt="134" width="450" height="342" /> </p>
<p style="text-indent: 2em;"> </p>
<p style="text-indent: 2em;">现在软件安装完成了，出现上面的界面，这里有一个很好的功能，mysql配置向导，不用向以前一样，自己手动乱七八糟的配置my.ini了，将 “Configure the Mysql Server now”前面的勾打上，点“Finish”结束软件的安装并启动mysql配置向导。</p>
<p style="text-indent: 2em;"> </p>
<p><img class="alignnone size-large wp-image-3389" title="135" src="http://blog.vpear.com/wp-content/uploads/2009/01/135-450x345.gif" alt="135" width="450" height="345" /> </p>
<p style="text-indent: 2em;"> </p>
<p style="text-indent: 2em;">mysql配置向导启动界面，按“Next”继续。</p>
<p style="text-indent: 2em;"> </p>
<p><img class="alignnone size-large wp-image-3390" title="136" src="http://blog.vpear.com/wp-content/uploads/2009/01/136-450x343.gif" alt="136" width="450" height="343" /> </p>
<p style="text-indent: 2em;"> </p>
<p style="text-indent: 2em;">选择配置方式，“Detailed Configuration（手动精确配置）”、“Standard Configuration（标准配置）”，我们选择“Detailed Configuration”，方便熟悉配置过程。</p>
<p style="text-indent: 2em;"> </p>
<p><img class="alignnone size-large wp-image-3391" title="137" src="http://blog.vpear.com/wp-content/uploads/2009/01/137-450x344.gif" alt="137" width="450" height="344" /> </p>
<p style="text-indent: 2em;"> </p>
<p style="text-indent: 2em;">选择服务器类型，“Developer Machine（开发测试类，mysql占用很少资源）”、“Server Machine（服务器类型，mysql占用较多资源）”、“Dedicated MySQL Server Machine（专门的数据库服务器，mysql占用所有可用资源）”，大家根据自己的类型选择了，一般选“Server Machine”，不会太少，也不会占满。</p>
<p style="text-indent: 2em;"> </p>
<p><img class="alignnone size-large wp-image-3392" title="138" src="http://blog.vpear.com/wp-content/uploads/2009/01/138-450x346.gif" alt="138" width="450" height="346" /> </p>
<p style="text-indent: 2em;"> </p>
<p style="text-indent: 2em;">选择mysql数据库的大致用途，“Multifunctional Database（通用多功能型，好）”、“Transactional Database Only（服务器类型，专注于事务处理，一般）”、“Non-Transactional Database Only（非事务处理型，较简单，主要做一些监控、记数用，对MyISAM数据类型的支持仅限于non-transactional），随自己的用途而选择了，我这里选择“Transactional Database Only”，按“Next”继续。</p>
<p style="text-indent: 2em;"> </p>
<p><img class="alignnone size-large wp-image-3393" title="139" src="http://blog.vpear.com/wp-content/uploads/2009/01/139-450x344.gif" alt="139" width="450" height="344" /> </p>
<p style="text-indent: 2em;"> </p>
<p style="text-indent: 2em;">对InnoDB Tablespace进行配置，就是为InnoDB 数据库文件选择一个存储空间，如果修改了，要记住位置，重装的时候要选择一样的地方，否则可能会造成数据库损坏，当然，对数据库做个备份就没问题了，这里不详述。我这里没有修改，使用用默认位置，直接按“Next”继续</p>
<p style="text-indent: 2em;"> </p>
<p><img class="alignnone size-large wp-image-3394" title="140" src="http://blog.vpear.com/wp-content/uploads/2009/01/140-450x344.gif" alt="140" width="450" height="344" /> </p>
<p style="text-indent: 2em;"> </p>
<p style="text-indent: 2em;">选择您的网站的一般mysql访问量，同时连接的数目，“Decision Support(DSS)/OLAP（20个左右）”、“Online Transaction Processing(OLTP)（500个左右）”、“Manual Setting（手动设置，自己输一个数）”，我这里选“Online Transaction Processing(OLTP)”，自己的服务器，应该够用了，按“Next”继续</p>
<p style="text-indent: 2em;"> </p>
<p><img class="alignnone size-large wp-image-3395" title="141" src="http://blog.vpear.com/wp-content/uploads/2009/01/141-450x345.gif" alt="141" width="450" height="345" /> </p>
<p style="text-indent: 2em;"> </p>
<p style="text-indent: 2em;">是否启用TCP/IP连接，设定端口，如果不启用，就只能在自己的机器上访问mysql数据库了，我这里启用，把前面的勾打上，Port Number：3306，按“Next”继续</p>
<p style="text-indent: 2em;"> </p>
<p><img class="alignnone size-large wp-image-3396" title="142" src="http://blog.vpear.com/wp-content/uploads/2009/01/142-450x477.gif" alt="142" width="450" height="477" /> </p>
<p style="text-indent: 2em;"> </p>
<p style="text-indent: 2em;">这个比较重要，就是对mysql默认数据库语言编码进行设置，第一个是西文编码，第二个是多字节的通用utf8编码，都不是我们通用的编码，这里选择第三个，然后在Character Set那里选择或填入“gbk”，当然也可以用“gb2312”，区别就是gbk的字库容量大，包括了gb2312的所有汉字，并且加上了繁体字、和其它乱七八糟的字——使用mysql的时候，在执行数据操作命令之前运行一次“SET NAMES GBK;”（运行一次就行了，GBK可以替换为其它值，视这里的设置而定），就可以正常的使用汉字（或其它文字）了，否则不能正常显示汉字。按 “Next”继续。</p>
<p style="text-indent: 2em;"> </p>
<p><img class="alignnone size-large wp-image-3397" title="143" src="http://blog.vpear.com/wp-content/uploads/2009/01/143-450x349.gif" alt="143" width="450" height="349" /> </p>
<p style="text-indent: 2em;"> </p>
<p style="text-indent: 2em;">选择是否将mysql安装为windows服务，还可以指定Service Name（服务标识名称），是否将mysql的bin目录加入到Windows PATH（加入后，就可以直接使用bin下的文件，而不用指出目录名，比如连接，“mysql.exe -uusername -ppassword;”就可以了，不用指出mysql.exe的完整地址，很方便），我这里全部打上了勾，Service Name不变。按“Next”继续。</p>
<p style="text-indent: 2em;"> </p>
<p><img class="alignnone size-large wp-image-3398" title="144" src="http://blog.vpear.com/wp-content/uploads/2009/01/144-450x346.gif" alt="144" width="450" height="346" /> </p>
<p style="text-indent: 2em;"> </p>
<p style="text-indent: 2em;">这一步询问是否要修改默认root用户（超级管理）的密码（默认为空），“New root password”如果要修改，就在此填入新密码（如果是重装，并且之前已经设置了密码，在这里更改密码可能会出错，请留空，并将“Modify Security Settings”前面的勾去掉，安装配置完成后另行修改密码），“Confirm（再输一遍）”内再填一次，防止输错。“Enable root access from remote machines（是否允许root用户在其它的机器上登陆，如果要安全，就不要勾上，如果要方便，就勾上它）”。最后“Create An Anonymous Account（新建一个匿名用户，匿名用户可以连接数据库，不能操作数据，包括查询）”，一般就不用勾了，设置完毕，按“Next”继续。</p>
<p> </p>
<p style="text-indent: 2em;"> </p>
<p style="text-indent: 2em;">确认设置无误，如果有误，按“Back”返回检查。按“Execute”使设置生效。</p>
<p style="text-indent: 2em;"> </p>
<p><img class="alignnone size-large wp-image-3399" title="145" src="http://blog.vpear.com/wp-content/uploads/2009/01/145-450x346.gif" alt="145" width="450" height="346" /> </p>
<p style="text-indent: 2em;"> </p>
<p style="text-indent: 2em;">设置完毕，按“Finish”结束mysql的安装与配置——这里有一个比较常见的错误，就是不能“Start service”，一般出现在以前有安装mysql的服务器上，解决的办法，先保证以前安装的mysql服务器彻底卸载掉了；不行的话，检查是否按上面一步所说，之前的密码是否有修改，照上面的操作；如果依然不行，将mysql安装目录下的data文件夹备份，然后删除，在安装完成后，将安装生成的 data文件夹删除，备份的data文件夹移回来，再重启mysql服务就可以了，这种情况下，可能需要将数据库检查一下，然后修复一次，防止数据出错。</p>
<p style="text-indent: 2em;">与Apache及php相结合，前面已提过，这里再说一下，在php安装目录下，找到先前重命名并编辑过的 php.ini，如下图所示，Ln563，把“;extension=php_mysql.dll”前的“;”去掉，加载mysql模块。保存，关闭后，重启apache就可以了。这里也可以选择其它要加载的模块，去掉前面的“;”，就表示要加载此模块了，加载的越多，占用的资源也就多一点，不过也多不到哪去。所有的模块文件都放在php解压缩目录的“ext”之下，我这里的截图是把所有能加载的模块都加载上去了，前面的“;”没去掉的，是因为“ext” 目录下默认没有此模块，加载会提示找不到文件而出错。这里只是参考，一般不需要加载这么多，需要的加载上就可以了，编辑好后保存，关闭。<br />
<img class="alignnone size-full wp-image-3400" title="146" src="http://blog.vpear.com/wp-content/uploads/2009/01/146.gif" alt="146" width="429" height="739" /></p>
<p> </p>
<p style="text-indent: 2em;"> </p>
<p style="text-indent: 2em;">同样，加载了模块后，就要指明模块的位置，否则重启Apache的时候会提示“找不到指定模块”的错误，这里介绍一种最简单的方法，直接将 php安装路径、里面的ext路径指定到windows系统路径中——在“我的电脑”上右键，“属性”，选择“高级”标签，点选“环境变量”，在“系统变量”下找到“Path”变量，选择，双击或点击“编辑”，将“;D:\php;D:\php\ext”加到原有值的后面，当然，其中的“D:\php”是我的安装目录，你要将它改为自己的php安装目录，如下图所示，全部确定。系统路径添加好后要重启电脑才能生效，可以现在重启，也可以在所有软件安装或配置好后重启。<br />
<img class="alignnone size-large wp-image-3401" title="147" src="http://blog.vpear.com/wp-content/uploads/2009/01/147-450x353.gif" alt="147" width="450" height="353" /></p>
<p style="text-indent: 2em;"> </p>
<p> </p>
<p style="text-indent: 2em;"> </p>
<p style="text-indent: 2em;">原文：<a href="http://www.isblog.cn/user1/1032/archives/2006/3127.html" target="_blank">http://www.isblog.cn/user1/1032/archives/2006/3127.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vpear.com/index.php/2009/01/04/3350/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>手动windows安装apache2.2.6+php5.25+mysql5.0.45详解</title>
		<link>http://blog.vpear.com/index.php/2008/12/15/399</link>
		<comments>http://blog.vpear.com/index.php/2008/12/15/399#comments</comments>
		<pubDate>Mon, 15 Dec 2008 08:29:44 +0000</pubDate>
		<dc:creator>一品少掌柜</dc:creator>
				<category><![CDATA[.]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://blog.vpear.com/?p=399</guid>
		<description><![CDATA[手动安装apache2.2.6+php5.25+mysql5.0.45详解 1.软件下载 mysql官方下载地址:www.mysql.org php下载地址:www.php.org apache下载地址:www.apache.org 注意下载apache时注意看清楚要下windows下的编译过的二进制文件，别下到源文件了哟。 下载回来的文件分别为: apache_2.2.6-win32-x86-no_ssl.msi php-5.2.5-Win32.zip mysql-noinstall-5.0.45-win32.zip 2.apache安装 apache的安装相当简单了，只是在安装是会询问你安装为80端口还是8080,如果你安装为80端口apache服务就会自动启动，否则你需手动启动apache服务。安装完成后输入http://localhost/(假设安装为80),如果看到”it works”就证明你的安装成功了。 3.php安装 a)将php解压到一个你想安装php的目录。 b)将目录下的php.ini-recommended改名为php.ini copy到windows目录下 c)把目录下的php5ts.dll复制到c:php/EXT目录 d)将php目录里的libmySQL.dll复制到C:WINDOWS\system32下 e)打开,编辑php.ini文件，修改: extension_dir = “php目录位置\phpext”(关键之处） doc_root = “x:\xxxx”(默认网站根目录，与apache网站根目录相同,安装APACHE时详细描述) 找到php_mysql.dll,将其前面的#取消 其他模块的取消自己找 f).然后保存php.ini 4.mysql安装 a)将mysql解压到一个你想安装mysql的目录，根据你的用途和机器配置在中选择一个文件重命名为my.ini并copy到windows目录下. b)将下面的代码加到my.ini的[mysqld]区域 #bof modified by keer default-character-set=UTF8 basedir=D:/mysql5 datadir=D:/mysql5/data #eof modified by keer 5.整合 a)修改配置文件httpd.conf(用记事本打开)： b)找到:#LoadModule ssl_module modules/mod_ssl.so在下面添加这么一行 LoadModule php5_module [php]/php5apache2_2.dll.dll(记住不要加#) c)找到:AddType application/x-tar .tgz在下面添加 AddType [...]]]></description>
			<content:encoded><![CDATA[<p>手动安装apache2.2.6+php5.25+mysql5.0.45详解<br />
1.软件下载<br />
mysql官方下载地址:www.mysql.org<br />
php下载地址:www.php.org<br />
apache下载地址:www.apache.org<br />
注意下载apache时注意看清楚要下windows下的编译过的二进制文件，别下到源文件了哟。<br />
下载回来的文件分别为:<br />
apache_2.2.6-win32-x86-no_ssl.msi<br />
php-5.2.5-Win32.zip<br />
mysql-noinstall-5.0.45-win32.zip</p>
<p>2.apache安装<br />
apache的安装相当简单了，只是在安装是会询问你安装为80端口还是8080,如果你安装为80端口apache服务就会自动启动，否则你需手动启动apache服务。安装完成后输入http://localhost/(假设安装为80),如果看到”it works”就证明你的安装成功了。</p>
<p>3.php安装<br />
a)将php解压到一个你想安装php的目录。<br />
b)将目录下的php.ini-recommended改名为php.ini copy到windows目录下<br />
c)把目录下的php5ts.dll复制到c:php/EXT目录<br />
d)将php目录里的libmySQL.dll复制到C:WINDOWS\system32下<br />
e)打开,编辑php.ini文件，修改:<br />
extension_dir = “php目录位置\phpext”(关键之处）<br />
doc_root = “x:\xxxx”(默认网站根目录，与apache网站根目录相同,安装APACHE时详细描述)<br />
找到php_mysql.dll,将其前面的#取消<br />
其他模块的取消自己找<br />
f).然后保存php.ini</p>
<p>4.mysql安装<br />
a)将mysql解压到一个你想安装mysql的目录，根据你的用途和机器配置在中选择一个文件重命名为my.ini并copy到windows目录下.<br />
b)将下面的代码加到my.ini的[mysqld]区域</p>
<p>#bof modified by keer<br />
default-character-set=UTF8<br />
basedir=D:/mysql5<br />
datadir=D:/mysql5/data<br />
#eof modified by keer</p>
<p>5.整合<br />
a)修改配置文件httpd.conf(用记事本打开)：<br />
b)找到:#LoadModule ssl_module modules/mod_ssl.so在下面添加这么一行<br />
LoadModule php5_module [php]/php5apache2_2.dll.dll(记住不要加#)<br />
c)找到:AddType application/x-tar .tgz在下面添加<br />
AddType application/x-httpd-php .php<br />
d)找到:DirectoryIndex * 这行，可以这样修改，添加默认的文件名：<br />
DirectoryIndex index.php default.php index.htm index.html default.htm default.html</p>
<p>e).修改默认目录,通常APACHE的默认目录都在X:/APACHE/APACHE2/HTDOCS下(X:/ 安装APACHE的盘符)<br />
找到DocumentRoot “X:/APACHE/APACHE2/HOTDOCS”<br />
将”X:/APACHE/APACHE2/HTDOCS”改成 “x:xxxx”(记住一定要和C:WINDOWS下的php.ini中的doc_root = “x:xxxx”一致)<br />
f)找到<br />
将X:/Program Files/Apache Software Foundation/Apache2.2/htdocs改成 “x:xxxx”(记住一定要和C:WINDOWS下的php.ini中的doc_root = “x:xxxx”一致)<br />
g).关闭APACHE重新启动.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vpear.com/index.php/2008/12/15/399/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>linux apache 安装笔记</title>
		<link>http://blog.vpear.com/index.php/2008/12/15/395</link>
		<comments>http://blog.vpear.com/index.php/2008/12/15/395#comments</comments>
		<pubDate>Mon, 15 Dec 2008 08:25:17 +0000</pubDate>
		<dc:creator>一品少掌柜</dc:creator>
				<category><![CDATA[.]]></category>
		<category><![CDATA[apache]]></category>

		<guid isPermaLink="false">http://blog.vpear.com/?p=395</guid>
		<description><![CDATA[ubuntu 6.10 sudo apt-get install gcc libc6-dev ./configure &#8211;prefix=/usr/local/apache &#8211;enable-module=so &#8211;enable-module=rewrite &#8211;enable-shared=max &#8211;htdocsdir=/var/www &#38;&#38; make &#38;&#38; make install #这里我们通过enable-module参数告诉设置脚本，我们需要启动so和rewrite模块，so模块是用来提DSO支持的apache核心模块，而rewrite模块则是用意实现地址重写的模块，由于rewrite模块需要DBM支持，如果在初次安装时没有编译进apache，以后需要用到时需要重新编译整个apache才可以实现。为此除非你可以确定以后不会用到rewrite模块，否则还是建议你在第一次编译的时候把rewrite模块编译好。 enable-shared=max 这个参数的作用时编译apache时，把除了so以外的所有apache的标准模块都编译成DSO模块。而不是编译进apache核心内。 &#8211;htdocsdir=/var/www只向自定义的网站目录 好了安装apache很简单的哦，启动apache看看 /usr/local/apache/bin/apachectl start 有两种方法可以让Apache在系统启动时自动启动。 1. 在/etc/rc.d/rc.local中增加启动apache的命令，例如：/usr/local/httpd/bin/apachectl start 2. 把/usr/local/apache/bin下的apachectl文件拷贝到/etc/init.d/httpd. 然后，要编辑/etc/init.d/httpd文件. 在文件的首行加入 # chkconfig: 345 79 15(其中所增加的三个数字第一个表示在运行级别3和4、5下启动apache，第二、三是关于启动和停止的优先级配置，无关紧要。) # description:Activitates/Deativates Apache Web server # processname:httpd 加上以上三行后。既可以启动httpd服务了。 开机自动启动服务器命令：chkconfig &#8211;add httpd.]]></description>
			<content:encoded><![CDATA[<p>ubuntu 6.10<br />
sudo apt-get install gcc libc6-dev</p>
<p>./configure &#8211;prefix=/usr/local/apache &#8211;enable-module=so &#8211;enable-module=rewrite &#8211;enable-shared=max &#8211;htdocsdir=/var/www &amp;&amp;<br />
make &amp;&amp; make install<br />
#这里我们通过enable-module参数告诉设置脚本，我们需要启动so和rewrite模块，so模块是用来提DSO支持的apache核心模块，而rewrite模块则是用意实现地址重写的模块，由于rewrite模块需要DBM支持，如果在初次安装时没有编译进apache，以后需要用到时需要重新编译整个apache才可以实现。为此除非你可以确定以后不会用到rewrite模块，否则还是建议你在第一次编译的时候把rewrite模块编译好。</p>
<p>enable-shared=max 这个参数的作用时编译apache时，把除了so以外的所有apache的标准模块都编译成DSO模块。而不是编译进apache核心内。</p>
<p>&#8211;htdocsdir=/var/www只向自定义的网站目录</p>
<p>好了安装apache很简单的哦，启动apache看看</p>
<p>/usr/local/apache/bin/apachectl start</p>
<p>有两种方法可以让Apache在系统启动时自动启动。</p>
<p>1. 在/etc/rc.d/rc.local中增加启动apache的命令，例如：/usr/local/httpd/bin/apachectl start</p>
<p>2. 把/usr/local/apache/bin下的apachectl文件拷贝到/etc/init.d/httpd.<br />
然后，要编辑/etc/init.d/httpd文件.<br />
在文件的首行加入<br />
# chkconfig: 345 79 15(其中所增加的三个数字第一个表示在运行级别3和4、5下启动apache，第二、三是关于启动和停止的优先级配置，无关紧要。)<br />
# description:Activitates/Deativates Apache Web server<br />
# processname:httpd<br />
加上以上三行后。既可以启动httpd服务了。<br />
开机自动启动服务器命令：chkconfig &#8211;add httpd.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vpear.com/index.php/2008/12/15/395/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux+Apache+PHP+MySQL+Zend Optimizer+PHPMyAdmin整合</title>
		<link>http://blog.vpear.com/index.php/2008/12/15/369</link>
		<comments>http://blog.vpear.com/index.php/2008/12/15/369#comments</comments>
		<pubDate>Mon, 15 Dec 2008 05:35:27 +0000</pubDate>
		<dc:creator>一品少掌柜</dc:creator>
				<category><![CDATA[.]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[zend]]></category>

		<guid isPermaLink="false">http://blog.vpear.com/?p=369</guid>
		<description><![CDATA[一、前言 发现本版中很多用户的问题都是关于空间搭建的，所以写了这篇作文希望对大家有所帮助，这也是版主职责嘛，呵呵。这篇文章所描述的整合过程是针对Discuz!而写的，旨在让Discuz!更好的运行。原则就是用不到的东西就不装、不编、不配，最大程度让系统干净快速。 二、准备程序 以下所有程序的版本都是推荐使用的，并且是截止到本文发布时最新的版本。 Apache 2.0.55 下载地址：http://apache.justdn.org/httpd/httpd-2.0.55.tar.gz PHP 4.4.1 下载地址：http://cn.php.net/get/php-4.4.1.tar.gz/from/cn2.php.net/mirror MySQL 4.0.26 下载地址： http://downloads.mysql.com/archi &#8230; t-4.0.26-0.i386.rpm http://downloads.mysql.com/archi &#8230; r-4.0.26-0.i386.rpm Zend Optimizer 2.6.0 下载地址：http://prdownloads.sourceforge.n &#8230; pl1.tar.gz?download PHPMyAdmin 2.7.0-pl1 下载地址：https://www.phpmyadmin.net 三、安装整合环境 1、准备工作： 由于Discuz!4.0的水印功能需要调用GD库实现，所以请先确定你的系统中已经安装了GD环境： # rpm -qa &#124; grep zlib # rpm -qa &#124; grep libpng # rpm -qa &#124; grep freetype # rpm -qa &#124; grep jpeg [...]]]></description>
			<content:encoded><![CDATA[<p>一、前言</p>
<p>发现本版中很多用户的问题都是关于空间搭建的，所以写了这篇作文希望对大家有所帮助，这也是版主职责嘛，呵呵。这篇文章所描述的整合过程是针对Discuz!而写的，旨在让Discuz!更好的运行。原则就是用不到的东西就不装、不编、不配，最大程度让系统干净快速。</p>
<p>二、准备程序</p>
<p>以下所有程序的版本都是推荐使用的，并且是截止到本文发布时最新的版本。</p>
<p>Apache 2.0.55<br />
下载地址：http://apache.justdn.org/httpd/httpd-2.0.55.tar.gz</p>
<p>PHP 4.4.1<br />
下载地址：http://cn.php.net/get/php-4.4.1.tar.gz/from/cn2.php.net/mirror</p>
<p>MySQL 4.0.26<br />
下载地址：<br />
http://downloads.mysql.com/archi &#8230; t-4.0.26-0.i386.rpm<br />
http://downloads.mysql.com/archi &#8230; r-4.0.26-0.i386.rpm</p>
<p>Zend Optimizer 2.6.0<br />
下载地址：http://prdownloads.sourceforge.n &#8230; pl1.tar.gz?download</p>
<p>PHPMyAdmin 2.7.0-pl1<br />
下载地址：https://www.phpmyadmin.net<br />
三、安装整合环境</p>
<p>1、准备工作：</p>
<p>由于Discuz!4.0的水印功能需要调用GD库实现，所以请先确定你的系统中已经安装了GD环境：</p>
<p># rpm -qa | grep zlib<br />
# rpm -qa | grep libpng<br />
# rpm -qa | grep freetype<br />
# rpm -qa | grep jpeg<br />
# rpm -qa | grep gd<br />
如果没有安装的话，可以按照下面的步骤手动安装：</p>
<p>(1) 安装zlib<br />
# tar zxvf zlib-1.2.2.tar.gz<br />
# cd zlib-1.2.2<br />
# ./configure<br />
# make<br />
# make install</p>
<p>(2) 安装libpng<br />
# tar zxvf libpng-1.2.7.tar.tar<br />
# cd libpng-1.2.7<br />
# cd scripts/<br />
# mv makefile.linux ../makefile<br />
# cd ..<br />
# make<br />
# make install<br />
注意，这里的makefile不是用./configure生成，而是直接从scripts/里复制一个。</p>
<p>(3) 安装freetype<br />
# tar zxvf freetype-2.1.9.tar.gz<br />
# cd freetype-2.1.9<br />
# ./configure<br />
# make<br />
# make install</p>
<p>(4) 安装Jpeg<br />
# tar zxvf jpegsrc.v6b.tar.gz<br />
# cd jpeg-6b/<br />
# ./configure &#8211;enable-shared<br />
# make<br />
# make test<br />
# make install<br />
注意：这里configure一定要带&#8211;enable-shared参数，不然，不会生成共享库</p>
<p>(5)安装GD<br />
# tar zxvf gd-2.0.33.tar.gz<br />
# cd gd-2.0.33<br />
# ./configure &#8211;with-png &#8211;with-freetype &#8211;with-jpeg<br />
# make install<br />
2、安装配置MySQL</p>
<p>在安装MySQL之前，首先检查系统中是否安装了随Linux安装光盘自带的MySQL RPM：</p>
<p># rpm -qa | grep mysql<br />
如果没有返回任何结果则说明系统中没有安装过MySQL RPM，如果返回有MySQL RPM信息，<br />
则需要先卸载它：</p>
<p># rpm -e MySQL-xxxxxx<br />
卸载过程中可能会提示有包依赖性问题而无法完成卸载，可以使用&#8211;nodeps或&#8211;force进行<br />
强制卸载。</p>
<p>当系统中的MySQL卸载完毕后我们开始安装新的版本：<br />
安装客户端：</p>
<p># rpm -ivh MySQL-client-4.0.26-0.i386.rpm<br />
安装服务端：</p>
<p># rpm -ivh MySQL-server-4.0.26-0.i386.rpm<br />
启动MySQL Server：</p>
<p># /etc/rc.d/init.d/mysql start<br />
设置root密码：</p>
<p># mysqladmin -u root password new_password_for_root<br />
3、安装配置Apache</p>
<p># tar xzvf httpd-2.0.55.tar.gz<br />
# cd httpd-2.0.55<br />
# ./configure &#8211;prefix=/usr/local/apache &#8211;enable-so （这里为了节省内存提高Apache性能只允许了加载动态模块参数，而没有加载其他的模块。<br />
如果需要什么模块，今后手动挂载上去就可以了。）<br />
# make<br />
# make install<br />
配置Apache：</p>
<p># vi /usr/local/apache/conf/httpd.conf<br />
以下只列出httpd.conf需要改动和配置的地方，其他地方暂时不用改动，略过。<br />
ServerAdmin 将此处改为服务器管理员的E-Mail地址（例如： webmaster@yourdomain.com ）</p>
<p>ServerName 将此处改为服务器的域名（例如：www.yourdomain.com:80）</p>
<p>DocumentRoot 将此处改为你的网站根目录（例如：”/var/www”）<br />
3、安装配置PHP</p>
<p># tar xzvf php-4.4.1.tar.gz<br />
# cd php-4.4.1<br />
# ./configure &#8211;prefix=/usr/local/php &#8211;with-apxs2=/usr/local/apache/bin/apxs &#8211;with-mysql &#8211;with-config-file-path=/usr/local/php/etc &#8211;with-gd &#8211;enable-gd-native-ttf &#8211;enable-gd-jis-conv &#8211;with-freetype-dir &#8211;with-jpeg-dir &#8211;with-png-dir &#8211;with-zlib &#8211;enable-xml &#8211;enable-mbstring<br />
# make<br />
# make install<br />
# cp php.ini-recommend /usr/local/php/etc/php.ini<br />
与Apache整合：<br />
编辑httpd.conf文件：</p>
<p># vi /usr/local/apache/conf/httpd.conf<br />
找到：<br />
DirectoryIndex<br />
在后面的默认文件中增加index.php</p>
<p>找到：<br />
AddType application/x-gzip .gz .tgz<br />
在下面添加一行：<br />
AddType application/x-httpd-php .php<br />
保存退出<br />
4、安装Zend Optimizer</p>
<p># tar xzvf Zend*.gz<br />
# rm -f Zend*.gz<br />
# cd Zend*<br />
# ./install.sh<br />
安装过程非常友好，很简单，但在输入php.ini文件路径的时候必须输入正确：/usr/local/php/etc</p>
<p>安装完成后Zend Optimizer会自动重新启动Apache。</p>
<p>5、安装配置PHPMyAdmin</p>
<p># tar xzvf phpMyAdmin-2.7.0-pl1.tar.gz<br />
将解压后的目录移动到服务器网站的根目录中（架设网站根目录为/var/www）<br />
# mv phpMyAdmin-2.7.0-pl1 /var/www/phpMyAdmin<br />
配置PHPMyAdmin：</p>
<p># cd /var/www/phpMyAdmin<br />
# vi config.inc.php<br />
修改：<br />
$cfg['PmaAbsoluteUri'] = &#8216;http://www.yourdomain.com/phpMyAdmin&#8217;; （写出访问phpMyAdmin的绝对URL）</p>
<p>$cfg['blowfish_secret'] = &#8216;cookie&#8217;; （使用cookie加密）</p>
<p>$cfg['Servers'][$i]['connect_type'] = &#8216;socket&#8217;; （以socket方式连接MySQL）</p>
<p>$cfg['Servers'][$i]['compress'] = TRUE; （启用压缩以提高速度，如果访问不正常请改回FALSE）</p>
<p>$cfg['Servers'][$i]['auth_type'] = &#8216;cookie&#8217;; （使用cookie进行身份验证）<br />
保存退出。</p>
<p>至此，环境构建完毕。可以上传Discuz!论坛程序开始安装论坛了。<br />
对于环境的优化由于因环境而异，所以请各位自己找一些优化文档看看，一定要根据自己的硬件配置和<br />
服务器负载有进行针对性的优化，不要生搬硬套，否则可能适得其反的。</p>
<p>本文来自: 有你友你论坛</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.vpear.com/index.php/2008/12/15/369/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

