APACHE + PHP相关
时间:2006-01-16 来源:ruiqingzheng
安装和基本配制
==============
因为是最小安装FC1 很多包都没有装 而且FC1里面自带的 MYSQL是3.x版本的 有次改成4.x版本的后发现 php连接数据库错误 因为mysql版本的原因 所以 这次没有用rpm包来装了 如果 系统中已经安装了这两个的话 可以 rpm -e rpmName --nodeps 来卸载后安装
一些URL资料 # apache 安装手册 包括核心模块列表 扩展模块列表
http://doc.chinahtml.com/Manual/ApacheManual/install.html
http://man.chinaunix.net/newsoft/ApacheManual/install.html # apache + mysql + php 安装
http://www.freelamp.com/1003235699/index_html
http://www.discuz.net/viewthread.php?tid=83360&extra=page%3D1
http://dev.smth.org/doc/INSTALL apache 模块
Apache是模块化的服务器,核心服务器种只包含了功能最常用的模块,而扩展功能由其他模块提供。设置过程中,你必须指定需要包含的模块。文档中有模块清单备查,其中状态为"Base"的模块会被默认地包含进核心服务器,如果你不需要包含某个模块(比如mod_userdir),则必须明确地禁用它;其他状态的模块(比如mod_expires),也必须明确启用以使之包含进核心服务器。 Apache有两种使用模块的方法,其一是永久性包含进核心;如果操作系统支持动态共享对象(DSO),而且能为autoconf所检测,则模块还可以被动态编译。DSO模块的存储是独立与核心的,可以被核心使用由mod_so模块提供的运行时刻配置指令包含或排除。如果编译中包含有任何动态模块,则mod_so模块会被自动包含进核心。如果希望核心能够装载DSO,而不实际编译任何动态模块,需要明确指定-- enable-so。
DBM
Apache的某些功能,如mod_auth_dbm和 mod_rewrite中的DBM RewriteMap使用简单的 键/值数据库来实现信息快速检索。Apache内置了支持SDBM的源代码,所以数据库总是被支持的。如果要使用其他数据库类型,可以使用的configure 选项有:
--with-gdbm[=path]
--with-ndbm[=path]
--with-berkeley-db[=path]
如果没有指定path,Apache会在常规搜索路径中寻找头文件和库;明确地指定path会引导Apache到path/lib和path/include中寻找这些文件,另外,path可以指定特定的头文件和库的路径,并用冒号隔开。
shell > cd httpd-2.0.50
# 如果是linux的2.0以上的APACHE最好使用worker方式 |
进入PHP源码目录 |
安装完成后 可以把mysql apache 的bin目录下的可执行文件做个连接 ln -sf /usr/local/mysql/bin/* /sbin
ln -sf /usr/local/apache/bin/* /sbin
修改apache/conf/httpd.conf
1.加入php支持
2. 默认主页
3. 默认语言 |
用户验证的配置
====================
用户验证的配制
2> 指定某目录使用验证
3> 创建密码文件
4> 编辑需要验证目录下面的配置文件
说明:
如我们对每个用户主目录下的网页的配置
</Dirctory "/home/*/public_html/"> #匹配用户主目录下面的public_html
添加密码
配置访问规则文件
测试时 要注意文件的属性问题 |
==============
虚拟主机配置
============== apache手册中虚拟主机
http://w.yi.org/ftp/FAPM/apache/Apache2/zh/vhosts/name-based.html
一些帖子:
http://bbs.chinaunix.net/viewthread.php?tid=627525&highlight=虚拟主机
http://bbs.chinaunix.net/viewthread.php?tid=609973&highlight=虚拟主机
==============
为什么APACHE的options属性没有生效
==============
问题分析:Options属性有一个非常特别的功能:如果你没有用“+”或者“-”来增加或者减少一个功能的时候,每个之前定义的Options的所有功能都会被取消,直到你又为它指定一些功能。所以options属性在整体设置和虚拟主机设置的是不相关的,互相不起作用,因为他们在特定的范围内被重载了。
解决:如果要在虚拟主机里面使用在整体设置中的Options的设置,那么就不要在虚拟主机设置中指定Options属性。如果要增加或者减少功能,那么用“+”或者“-”符号来实现。例如:
Options Includes ExecCGI
<Directory /www/htdocs>
Options Indexes
</Directory>
整体设置的Options属性是Includes和ExecCGI,而在/www/htdosc目录里面的Options属性只有Indexes。如果要让 /www/htdocs目录具有Includes和ExecCGI以及Indexes属性,除了单独指定以外,还可以使用下面的方法:
Options Includes ExecCGI
<Directory /www/htdocs>
Options +Indexes
</Directory>
============== 其他问题: ==============
一篇优化的文章:
http://blog.linuxeden.com/post/102235/3593