《Apache Cookbook》学习笔记

第1章  安装
http://httpd.apache.org/download.cgi:下载源代码
% tar xzvf httpd-2.0.59.tar.gz
% ./buildconf
% ./configure --prefix=/usr/local/apache
> --with-layout=Apache --enable-modules=most --enable-mods-shared=all \
> --with-mpm=prefork:--prefix,指定文件被安装到文件系统中的目录名,--enable-layout,选择一个预先定义好的文件系统结构,--enable-mods-shared,决定各module是以DSO的方式加载还是被静态地编译到服务器中,--with-mpm,定义服务器是以多线程(Worker)还是以多进程(Prefork)方式处理请求
% make
% make install
apachectl start: 开启服务器
apachectl graceful: 重新加载配置文件,并重起服务器,会等待当前打开的活动连接完成操作以后再关闭该连接
apachectl restart: 同上,但当前存在的连接会被立即中断
apachectl stop: 停止服务器,所有存在的连接立即被中断
172.0.0.1: 测试服务器是否开启
源代码目录树最上层的config.layout文件:查看安装位置

第2章  增加常用模块
2.2 安装mod_dav

        DAVLockDB /var/lib/dav/lockdb


        Dav On
: 将配置增加到/etc/httpd/conf.d/mod_dav.conf
# chgrp apache dav-test
# chmod g+w dav-test: 创建dav-test临时目录,更改所属组和访问权限
# apachectl graceful: 重启服务器
# setenforce 0: 关闭SELinux
# getenforce: 获取当前SELinux运行状态
% cd /tmp
% echo "Plain text" > dav-test.txt
% cadaver
dav:! open http://localhost/dav-test
dav:/dav-test/> put dav-test.txt
dav:/dav-test/> propset dav-test.txt MyProp 1023
dav:/dav-test/> propget dav-test.txt MyProp
dav:/dav-test/> propdel dav-test.txt MyProp
dav:/dav-test/> close
dav:!> exit: 通过cadaver工具测试WebDAV请求  
2.4 安装mod_perl
% perl Makefile.PL MP_APXS=/usr/local/apache/bin/apxs MP_CCOPTS=-fgnu89-inline MP_APR_CONFIG=/usr/local/src/httpd-2.4.20/srclib/apr/apr-config
% make
# make install
LoadModule perl_module /usr/local/apache/modules/mod_perl.so: 将配置增加到/etc/httpd/conf.modules.d/11-perl.conf
Alias /perl/ /var/www/html/perl/

      SetHandler perl-script
      PerlResponseHandler ModPerl::Registry
      PerlOptions +ParseHeaders
      Options +ExecCGI
      Order allow,deny
      Allow from all
: 将配置增加到/etc/httpd/conf.d/mod_perl.conf
#!/usr/bin/perl
print "Content-type: text/plain\n\n";
print "mod_perl 2.0 rocks!\n";: 将脚本增加到/var/www/html/perl/rock.pl
% chmod a+rx /var/www/html/perl/rock.pl: 改变文件权限
firefox http://localhost/perl/rock.pl: 测试mod_perl
2.5 安装mod_php
http://php.net: 下载php-7.0.8
% cd php-7.0.8
% ./configure --with-apxs2=/usr/local/apache/bin/apxs
% make
% make install
LoadModule php7_module /usr/local/apache/modules/libphp7.so: 增加到/etc/httpd/conf.modules.d/11-php.conf

    SetHandler application/x-httpd-php
: 增加到/etc/httpd/conf.d/libphp7.conf
: 增加到/var/www/html/php/info.php
firefox http://localhost/php/info.php: 测试mod_php
2.7 安装mod_ssl
yum install openssl-devel: 安装openssl-devel
% ./configure --prefix=/usr/local/apache --with-layout=Apache --enable-modules=most --enable-mods-shared=all --with-mpm=prefork --enable-ssl
% make
% make install: ./configure 后增加--enable-ssl
2.9 安装mod_security
http://modsecurity.org: 下载modsecurity-2.9.1
下载并安装apr-util-1.5.4
# ./configure --with-apxs=/usr/local/apache --with-apr=/usr/local/src/httpd-2.4.20/srclib/apr/apr-config
# make
# make install
LoadFile /usr/lib64/libxml2.so
LoadFile /usr/lib64/liblua-5.3.so
LoadModule security2_module /usr/local/apache/modules/mod_security2.so: 增加到/etc/httpd/conf.modules.d/11-security.conf

第3章  日志
"%h %l %u %t \"%r\" %>s %b": 通用日志格式,客户端的主机名称或IP地址、在客户端上的用户名称、验证客户端所用的用户名称、接收到请求的时间、设计的HTTP请求行的内容、服务器处理请求的最后状态,以及在服务器的响应中所传送的网页内容的字节数
"%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"{User-agent}i\"": 组合日志格式,Referer为连接到所请求文件网页的URL,User-agent为提出请求的浏览器或其他客户端软件的名称与版本
CustomLog logs/access_log combined: 日志文件以组合日志格式来启用记录日志功能
LogLevel Debug: 设置错误日志记录等级为debug, emerg紧急状况,alert必须立即采取措施,crit危机的状况,error错误的状况,warn警告的状况,info只提供信息,debug调试级信息
3.3 记录网页的PO

你可能感兴趣的:(《Apache Cookbook》学习笔记)