当前位置:web 服务器 > Apache >>

apache2.0.47安装笔记

apache 2.0.47 安装笔记

  cloud/2003.10.23

  mail:flashc@21cn.com

  欢迎转载,转载请保留以上信息,谢谢

  个人水平有限,文中难有遗漏错误的地方,欢迎指出。笔记系后期整理,不能保证完全可用,主要是apache的conf文件,不知道是否有遗漏,请大家见谅。

  解压软件

  # tar zxvf httpd-2.0.47.tar.gz -C /setup

  mod_limitipconn是一个限制同一IP连接次数的模块

  # tar zxvf mod_limitipconn-0.22.tar.gz -C /setup

  # cd /setup/httpd-2.0.47

  给apache打补丁,支持同一ip连接的代理跟踪

  # patch -p1 < ../mod_limitipconn/apachesrc.diff

  # ./configure --prefix=/web/httpd \ 安装目录

  --datadir=/www \ 发布网页目录

  --enable-so \ 启用共享模块功能,安装php.mod_perl必需

  --enable-deflate \ 启用压缩支持

  --with-mpm=worker \ 启用线程和进程混合的多道处理模块worker,默认是prefock,即1.3里面的纯进程工作模式,注意,这里如果选择worker的话,那么后面编译PHP的时候是不能选择MM(使用内存来保存会话信息)的支持的! ZendPerformanceSuite只能工作在prefock工作模式!!!

  --with-module=aaa:../mod_limitipconn-0.22/mod_limitipconn.c \ 静态编译mod_limitipconn模块到httpd内部(如果你想动态加载安装那就自己去看看README好了,很简单的)

  --enable-forward 激活同一ip的代理连接跟踪,打的补丁也是针对这个的

  # make

  # make install

  # cd /web/httpd

  # bin/httpd -l

  查看编译的模块,注意一下是否有mod_limitipconn的输出。

  # tar zxvf mm-1.3.0.tar.gz -C /setup

  # tar jxvf php-4.3.3.tar.bz -C /setup

  # tar zxvf gd-2.0.15.tar.gz -C /setup

  # tar zxvf jpeg-v6b.tar.gz -C /setup

  # tar zxvf libpng-1.2.5.tar.gz -C /setup

  # tar zxvf zlib-1.1.4.tar.gz -C /setup

  # tar jxvf freetype-2.1.5.tar.bz2 -C /setup

  # cd /setup/mm-1.3.0

  # ./configure --prefix=/web/mm

  # make && make install

  # echo "/web/mm/lib" >> /etc/ld.so.conf

  # ldconfig

  # ldconfig -p | grep mm

  查找mm库的输出

  # cd ../libpng-1.2.5

  # cp scripts/makefile.gcmmx makefile (makefile.gcmmx是针对MMX指令集优化的,具体看INSTALL文件)

  # cd ../jpeg-6b

  # mkdir /usr/local/man/man1

  # make && make install && make install-lib

  # cd ../gd-2.0.15

  # ./configure

  配置完成后,注意输出的信息是否如下:

  Xpm库我总是安装不成功,不管它了,也很少用,一般PNG/JPEG/FREETYPE三个库打开支持就行了

  ** Configuration summary for gd 2.0.15:

  Support for PNG library: yes

  Support for JPEG library: yes

  Support for Freetype 2.x library: yes

  Support for Xpm library: no

  # make && make install

  # cp gd.h /usr/local/lib \\编译PHP的时候会缺少这个文件出错

  # cd ../zlib-1.1.4

  # ./configure --shared \\shared生成zlib的共享库文件

  # make && make install

  # cd ../freetype-2.1.5.tar.bz2 -C /setup

  # ./configure

  # make && make install

  # echo "/usr/local/lib" >> /etc/ld.so.conf

  # ldconfig

  # cd ../php-4.3.3

  # # ./configure --with-apxs2=/web/httpd/bin/apxs

  --enable-track-vars (打开变量跟踪功能)

  --with-zlib-dir=/usr/local/lib

  --with-gd=/usr/local/lib

  --with-mm=/web/mm (如果你编译apache选择了worker的mpm模块,那么就不要加上mm的支持,mm是不支持线程工作的,否则编译的时候会出错的)

  --enable-sysvmsg

  --enable-sockets

  --enable-sysvshm

  --enable-sysvsem

  --enable-gd-native-ttf

  --with-ttf=/usr/lib

  --disable-debug

  --with-tiff-dir=/usr/lib

  --with-jpeg-dir=/usr/local/lib

  --with-png-dir=/usr/local/lib

  --with-mysql=/web/mysql

  --with-xml

  --with-gdbm-dir=/usr/lib

  --enable-ftp

  --enable-inline-optimization

  --with-gettext=/usr/lib

  --enable-magic-quotes

  --enable-safe-mode \\激活安全模式

  --enable-bcmath \\打开bcmath函数支持

  --enable-memory-limit=yes \\打开运行时内存限制

  --enable-wddx \\wddx是一种网站间XML数据交换支持技术,原文意思大致如此

  --enable-thread-safety \\配合apache的worker模块

  --with-freetype-dir=/usr/local/lib \\打开freetype库支持

  # make

  # make install

  # cp php.ini-recommended /usr/local/lib/php/php.ini

  # vi php.ini \\适当的修改php.ini文件

  safe_mode = Off \\是否使用安全模式

  register_globals = Off \\是否允许注册全局变量

  max_execution_time = 30 \\脚本最大执行时间

  max_input_time = 60 \\脚本最大输出时间

  memory_limit = 20M \\php使用的内存限制

  post_max_size = 8M \\php最大传递数据

  file_uploads = On \\是否允许http文件传输

  upload_max_filesize = 2M \\http件传输文件大小限制

  allow_url_fopen = On \\PHP的远程文件打开功能,如果服务器有多用户使用,最好关闭

  session.save_handler = mm \\如果编译时加上了mm的共享内存支持,请修改成mm

  error_reporting = E_ALL & ~E_NOTICE \\脚本出错报告格式,如果要加强安全,可修改成E_ALL

  display_errors = On \\是否显示脚本执行错误

  log_errors = On \\是否允许日志记录错误

  error_log = /usr/local/apache/logs/php_error.log \\错误日志存放地址

  disable_functions = phpinfo, get_cfg_var \\禁止phpinfo,get_cfg_var函数的使用,如果你的服务器就自己一个用就不需要了

  # tar zxvf mod_perl-2.0-curent.tar.gz -C /setup

  # cd /setup/mod_perl-1.99_10

  # perl Makefile.PL MP_APXS=/web/httpd/bin/apxs

  # make

  # make install

  # vi /web/httpd/conf/httpd.conf

  \\修改apache配置文件

  LoadModule php4_module modules/libphp4.so

  LoadModule perl_module modules/mod_perl.so

  AddDefaultCharset GB2312

  AddHandler cgi-script .cgi

  AddHandler cgi-script .pl

  PerlRequire "/web/httpd/conf/startup.pl"

  AddType application/x-httpd-php .php

  AddType text/html .shtml

  AddOutputFilter INCLUDES .shtml

  DirectoryIndex index.html index.cgi index.shtml index.php

  <IfModule mod_deflate.c> \\压缩除图片以外的所有输出内容

  <Location />

  SetOutputFilter DEFLATE

  BrowserMatch ^Mozilla/4 gzip-only-text/html

  BrowserMatch ^Mozilla/4\.0[678] no-gzip

  BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

  SetEnvIfNoCase Request_URI \

  \.(?:gif|jpe?g|png)$ no-gzip dont-vary

  Header append Vary User-Agent env=!dont-vary

  </Location>

  DeflateFilterNote Input instream

  DeflateFilterNote Output outstream

  DeflateFilterNote Ratio ratio

  LogFormat '"%r" %{outstream}n/%{instream}n (%{ratio}n%%)' deflate

  CustomLog logs/deflate_log deflate

  </IfModule>

  ExtendedStatus On

  <IfModule mod_limitipconn.c> \\mod_limitipconn模块的配置,适当的修改一下

  <Location /somewhere>

  MaxConnPerIP 3 \\最大ip并发连接数

  NoIPLimit image/* \\对image目录下文件不限制
Apache
IIS
Nginx
Tomcat
如果你遇到web 服务器难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,