博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
apache 2.0.47 安装笔记(转)
阅读量:2451 次
发布时间:2019-05-10

本文共 6123 字,大约阅读时间需要 20 分钟。

apache 2.0.47 安装笔记(转)[@more@]

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

压缩除图片以外的所有输出内容

SetOutputFilter DEFLATE

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

BrowserMatch ^Mozilla/4.0[678] no-gzip

BrowserMatch MSIE !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

DeflateFilterNote Input instream

DeflateFilterNote Output outstream

DeflateFilterNote Ratio ratio

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

CustomLog logs/deflate_log deflate

ExtendedStatus On

mod_limitipconn模块的配置,适当的修改一下

MaxConnPerIP 3 最大ip并发连接数

NoIPLimit image/* 对image目录下文件不限制

MaxConnPerIP 1

OnlyIPLimit audio/mpeg video 只对audio/mpeg类型文件限制

# vi startup.pl 添加一个startup.pl文件预先加载perl模块

use Apache2 ();

# use lib qw(/home/httpd/perl);

# enable if the mod_perl 1.0 compatibility is needed

use Apache::compat ();

# preload all mp2 modules

# use ModPerl::MethodLookup;

# ModPerl::MethodLookup::preload_all_modules();

use ModPerl::Util ();

use Apache::RequestRec ();

use Apache::RequestIO ();

use Apache::RequestUtil ();

use Apache::Server ();

use Apache::ServerUtil ();

use Apache::Connection ();

use Apache::Log ();

use APR::Table ();

use ModPerl::Registry ();

use Apache::Const -compile => ':common';

use APR::Const -compile => ':common';

1;

还有就是zend optimizer和zend performance suite 的安装,很easy的,直接执行install就ok了, zend performance suite效果不错,使用他自带的测试程序测试加速很多,看上去感觉很舒服,虽然我不知道是否速度到底提升了多少,网上有下载的,去google搜索一下"zend performance suite 商业版"关键字就知道了,不过里面的license文件就不好找了,ttdown.com这个站上的license只有php加速和压缩的功能,没有缓冲功能模块的许可, zend performance suite 的压缩输出模块使用我发现phpbb的论坛没法正常工作了,建议还是不要使用.

JSP的配置如果是RESIN就很简单的,配置和APACHE的连接就configure --with-apxs/make/make install三部就ok了,然后修改一下resin的配置文件,修改其doc变量指向apache的web文档目录,比tomcat简单多了,我就不多说了,网上很多教程的。做好连接后要记得屏蔽resin的8080端口,因为从这个端口直接访问你的php这类脚本文件,程序源代码会直接显示出来的

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8225414/viewspace-937929/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/8225414/viewspace-937929/

你可能感兴趣的文章
亚马逊移除订单_如何存档和更好地管理您的亚马逊订单
查看>>
apple pay 技术_如何在Apple Watch上设置和使用Apple Pay
查看>>
zimbra web 版本_如何获得Zimbra的版本?
查看>>
如何在Python中将纪元时间戳转换为人类可读的日期格式?
查看>>
gdb32和gdb_GDB备忘单
查看>>
xen nfs挂载_如何在没有Xen的Linux上附加和挂载Xen DomU的磁盘分区?
查看>>
caliber读书软件_如何在无头服务器上运行gitbook(使Caliber在无头服务器上运行)?...
查看>>
Windows 7 64位无法在状态码为0xc0000225的VirtualBox / Linux上安装
查看>>
n字节对齐 代码_大但正确对齐和优化的代码比每指令/操作码打包的字节少的代码快...
查看>>
火狐 旧版sync同步服务_如何设置Firefox Sync?
查看>>
python的smiley_SmIley面对iPhone
查看>>
电脑备份iphone_如何在Linux上备份iPhone?
查看>>
latex在编译公式_如何在Linux上编译Latex
查看>>
同步主目录
查看>>
hadoop单机映射_如何在命令行中设置Hadoop的映射器和缩减器的数量?
查看>>
安装fedora在u盘_如何在Fedora Linux上安装Scala
查看>>
如何使用ffmpeg将flv转换为mp4?
查看>>
ocaml_如何使用OCaml作为脚本语言?
查看>>
fedora下使用deb_如何在Fedora上安装.deb软件包?
查看>>
刘昕 hkust_在Linux上配置HKUST的sMobileNet
查看>>