bjghzly 发表于 2018-11-22 13:35:17

apache编译

  ./configure
--with-apr=/usr/local/apr                   #apr可移植运行库解决高访问时,对资源的过度使用
--with-apr-util=/usr/local/apr-util         # aprapr-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_modulemodules/mod_dav_svn.so
  

  -----------------------------------------------------------------------------------------
  
ServerName phpmyadmin.com
DocumentRoot /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


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

  apache 和php

  # vi /usr/local/apache/conf/httpd.conf
  修改此文件,更改以下指令为:
  DirectoryIndex index.html index.shtml index.cgi index.php index.phtml index.php3
ServerName12.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   //配置源代码树
–prefix=/usr/local/apache2   //体系无关文件的顶级安装目录PREFIX ,也就Apache的安装目录。
–enable-module=so   //打开 so 模块,so 模块是用来提 DSO 支持的 apache 核心模块
–enable-deflate=shared   //支持网页压缩
–enable-expires=shared   //支持 HTTP 控制
–enable-rewrite=shared   //支持 URL 重写
–enable-cache //支持缓存
–enable-file-cache //支持文件缓存
–enable-mem-cache //支持记忆缓存
–enable-disk-cache //支持磁盘缓存
–enable-static-support   //支持静态连接(默认为动态连接)
–enable-static-htpasswd   //使用静态连接编译 htpasswd – 管理用于基本认证的用户文件
–enable-static-htdigest   //使用静态连接编译 htdigest – 管理用于摘要认证的用户文件
–enable-static-rotatelogs   //使用静态连接编译 rotatelogs – 滚动 Apache 日志的管道日志程序
–enable-static-logresolve   //使用静态连接编译 logresolve – 解析 Apache 日志中的IP地址为主机名
–enable-static-htdbm   //使用静态连接编译 htdbm – 操作 DBM 密码数据库
–enable-static-ab   //使用静态连接编译 ab – Apache HTTP 服务器性能测试工具
–enable-static-checkgid   //使用静态连接编译 checkgid
–disable-cgid   //禁止用一个外部 CGI 守护进程执行CGI脚本
–disable-cgi   //禁止编译 CGI 版本的 PHP
–disable-userdir   //禁止用户从自己的主目录中提供页面
–with-mpm=worker // 让apache以worker方式运行
–enable-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的安装目录(–prefix选项值或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的安装目录




页: [1]
查看完整版本: apache编译