./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的安装目录