apache编译

./configure
--with-apr=/usr/local/apr                   #apr  可移植运行库  解决高访问时,对资源的过度使用
--with-apr-util=/usr/local/apr-util         # apr  apr-util    apr-iconv  三个完整的开发包
--with-pcre                                 #perl兼容正则表达式库 PRCE
--prefix=/usr/modules/httpd/apache2         #安装目录
--enable-mods-shared=all                    #两种使用模块的方法:一是静态连接进核心,二是作为DSO模块动态加载;     这里使用了DSO动态加载所有模块
--enable-proxy                              #代理服务器   提供HTTP/1.1的代理/网关功能支持
--enable-proxy-http                         #代理服务器   mod_proxy的HTTP支持模块
--disable-ssl                               #安全套接字层(SSL)和传输层安全(TLS)协议实现高强度加密传输
--disable-charset-lite                      #允许对页面进行字符集转换功能模块
--enable-vhost-alias                        #提供大容量虚拟主机的动态配置
--enable-rewrite                            #一个基于一定规则的实时重写URL请求的引擎
--enable-deflate                            #压缩发送给客户端的内容
--enable-expires                            #允许通过配置文件控制HTTP的"Expires:"和"Cache-Control:"头内容
--disable-asis                              #发送自己包含HTTP头内容的文件
--enable-so                                 #允许运行时加载DSO模块

------------------------------------------------------------------------------------------

原因:这个问题应该是没有在 /etc/httpd/conf/httpd.conf 中设定 ServerName。所以apache会用主机上的名称来取代,首先会去找 /etc/hosts 中有没有主机的定义。

解决办法:

(1)可以设定httpd.conf文件中的 ServerName,如下:ServerName localhost:80                        

(2)在 /etc/hosts 中填入自己的主机名称 bogon,如下:127.0.0.1 shiwei (用户名称)  *


-----------------------------------------------------------------------------------------
apache 添加模块

将动态连接   .so文件复制到    modules/中   
在httpd.conf中添加
LoadModule dav_svn_module  modules/mod_dav_svn.so


-----------------------------------------------------------------------------------------

<VirtualHost *:80>
  ServerName phpmyadmin.com
  DocumentRoot /home/www-root/phpmysql
 <Directory "/home/www-root/phpmysql">
 Options Indexes FollowSymLinks
 AllowOverride None
 Order allow,deny
 Allow from 211.68.121.0/24
 Allow from all
 AuthType "Basic"
 AuthName "require authorization,please input username and password"
 AuthUserFile "/etc/phpmyadmin.pass"
 Require user cucas_cool
 </Directory>
</VirtualHost>

-------------------------------------------------------------------------------------------

apache 和php

# vi /usr/local/apache/conf/httpd.conf

修改此文件,更改以下指令为:

DirectoryIndex index.html index.shtml index.cgi index.php index.phtml index.php3
ServerName  12.34.56.78:80  //这里的ip和端口号视实际情况而定

Options FollowSymLinks MultiViews //为安全起见,去掉"Indexes"

 

找到AddType处,并添加以下2行:

AddType application/x-httpd-php .php .php3 .phtml .inc
AddType application/x-httpd-php-source .phps

 

vi /usr/local/lib/php.ini

更改以下指令为:

register_globals = On


-------------------------------------------------------------------------------------------

常用编译参数一览

/configure   //配置源代码树
�Cprefix=/usr/local/apache2   //体系无关文件的顶级安装目录PREFIX ,也就Apache的安装目录。
�Cenable-module=so   //打开 so 模块,so 模块是用来提 DSO 支持的 apache 核心模块
�Cenable-deflate=shared   //支持网页压缩
�Cenable-expires=shared   //支持 HTTP 控制
�Cenable-rewrite=shared   //支持 URL 重写
�Cenable-cache //支持缓存
�Cenable-file-cache //支持文件缓存
�Cenable-mem-cache //支持记忆缓存
�Cenable-disk-cache //支持磁盘缓存
�Cenable-static-support   //支持静态连接(默认为动态连接)
�Cenable-static-htpasswd   //使用静态连接编译 htpasswd �C 管理用于基本认证的用户文件
�Cenable-static-htdigest   //使用静态连接编译 htdigest �C 管理用于摘要认证的用户文件
�Cenable-static-rotatelogs   //使用静态连接编译 rotatelogs �C 滚动 Apache 日志的管道日志程序
�Cenable-static-logresolve   //使用静态连接编译 logresolve �C 解析 Apache 日志中的IP地址为主机名
�Cenable-static-htdbm   //使用静态连接编译 htdbm �C 操作 DBM 密码数据库
�Cenable-static-ab   //使用静态连接编译 ab �C Apache HTTP 服务器性能测试工具
�Cenable-static-checkgid   //使用静态连接编译 checkgid
�Cdisable-cgid   //禁止用一个外部 CGI 守护进程执行CGI脚本
�Cdisable-cgi   //禁止编译 CGI 版本的 PHP
�Cdisable-userdir   //禁止用户从自己的主目录中提供页面
�Cwith-mpm=worker // 让apache以worker方式运行
�Cenable-authn-dbm=shared // 对动态数据库进行操作。Rewrite时需要。
以下是分门别类的更多参数注解,与上面的会有重复
用于apr的configure脚本的选项:
可选特性

--enable-experimental-libtool
    启用试验性质的自定义libtool
--disable-libtool-lock
    取消锁定(可能导致并行编译崩溃)
--enable-debug
    启用调试编译,仅供开发人员使用。
--enable-maintainer-mode
    打开调试和编译时警告,仅供开发人员使用。
--enable-profile
    打开编译profiling(GCC)
--enable-pool-debug[=yes|no|verbose|verbose-alloc|lifetime|owner|all]
    打开pools调试
--enable-malloc-debug
    打开BeOS平台上的malloc_debug
--disable-lfs
    在32-bit平台上禁用大文件支持(large file support)
--enable-nonportable-atomics
    若只打算在486以上的CPU上运行Apache ,那么使用该选项可以启用更加高效的基于互斥执行的原子操作。
--enable-threads
    启用线程支持,在线程型的MPM上必须打开它
--disable-threads
    禁用线程支持,如果不使用线程化的MPM ,可以关闭它以减少系统开销。
--disable-dso
    禁用DSO支持
--enable-other-child
    启用可靠子进程支持
--disable-ipv6
    禁用IPv6支持

可选的额外程序包

--with-gnu-ld
    指定C编译器使用 GNU ld
--with-pic
    只使用 PIC/non-PIC 对象[默认为两者都使用]
--with-tags[=TAGS]
    包含额外的配置
--with-installbuilddir=DIR
    指定APR编译文件的存放位置(默认值为:’${datadir}/build’)
--without-libtool
    禁止使用libtool连接库文件
--with-efence[=DIR]
    指定Electric Fence的安装目录
--with-sendfile
    强制使用sendfile(译者注:Linux2.4/2.6内核都支持)
--with-egd[=DIR]
    使用EDG兼容的socket
--with-devrandom[=DEV]
    指定随机设备[默认为:/dev/random]

用于apr-util的configure脚本的选项:
可选的额外程序包

--with-apr=PATH
    指定APR的安装目录(�Cprefix选项值或apr-config的路径)
--with-ldap-include=PATH
    ldap包含文件目录(带结尾斜线)
--with-ldap-lib=PATH
    ldap库文件路径
--with-ldap=library
    使用的ldap库
--with-dbm=DBM
    选择使用的DBM类型DBM={sdbm,gdbm,ndbm,db,db1,db185,db2,db3,db4,db41,db42,db43,db44}
--with-gdbm=PATH
    指定GDBM的位置
--with-ndbm=PATH
    指定NDBM的位置
--with-berkeley-db=PATH
    指定Berkeley DB的位置
--with-pgsql=PATH
    指定PostgreSQL的位置
--with-mysql=PATH
    参看INSTALL.MySQL文件的内容
--with-sqlite3=PATH
    指定sqlite3的位置
--with-sqlite2=PATH
    指定sqlite2的位置
--with-expat=PATH
    指定Expat的位置或’builtin’
--with-iconv=PATH
    iconv的安装目录

你可能感兴趣的:(apache编译安装)