==============
安装和基本配制
==============
因为是最小安装FC1 很多包都没有装 而且FC1里面自带的 MYSQL是3.x版本的 有次改成4.x版本的后发现 php连接数据库错误 因为mysql版本的原因 所以 这次没有用rpm包来装了
如果 系统中已经安装了这两个的话 可以
rpm -e rpmName --nodeps
来卸载后安装
一些URL资料
# apache 安装手册 包括核心模块列表 扩展模块列表
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 shell > ./configure --prefix=/usr/local/apache \ --mandir=/usr/share/man \ --enable-mods-shared=all \ --enable-so # 选择所有模块 核心和扩展模块都支持
# 如果是linux的2.0以上的APACHE最好使用worker方式 运行apache --with-mpm=worker shell > ./make install |
安装PHP
进入PHP源码目录 shell > ./configure --with-mysql=/usr/local/mysql \ --with-apxs2=/usr/local/apache/bin/apxs \ --with-gd --enable-gd-native-ttf \ --enable-gd-jis-conv \ --with-freetype-dir=/usr/local/freetype \ --with-jpeg-dir=/usr/local/jpeg-6b \ --with-png-dir=/usr/local/libpng \ --with-zlib=/usr/local/zlib \ --with-bz2=/usr/local/bzip2 \ --with-inifile --with-hyperwave \ --enable-xml --enable-track-vars \ --enable-dba --enable-dbase \ --enable-filepro --enable-ftp \ --enable-versioning \ --enable-memory-limit \ --enable-calendar \ --enable-session \ --enable-sockets \ --enable-sysvsem \ --enable-sysvshm \ --enable-tokenizer \ --enable-overload \ --enable-ctype \ --enable-sigchild \ --enable-magic-quotes \ --disable-debug
shell > make shell > make install
make install 后可以看到会把libphp4.so从./lib目录拷贝到/usr/local/apache/modules下面 其他相关路径 也会输出在屏幕上 Wrote PEAR system config file at: /usr/local/etc/pear.conf You may want to add: /usr/local/lib/php to your php.ini include_path Installing build environment: /usr/local/lib/php/build/ Installing header files: /usr/local/include/php/ Installing helper programs: /usr/local/bin/ program: phpize program: php-config Installing man pages: /usr/local/man/man1/ page: phpize.1 page: php-config.1
|
安装完成后 可以把mysql apache 的bin目录下的可执行文件做个连接
ln -sf /usr/local/mysql/bin/* /sbin
ln -sf /usr/local/apache/bin/* /sbin
修改apache/conf/httpd.conf
1.加入php支持 LoadModule php4_module modules/libphp4.so AddType application/x-httpd-php .php
2. 默认主页 DirectoryIndex index.html index.html.var index.php 当默认主页不存在的时候是否显示目录列表 Options indexes 是否可以使用连接 Options FollowSymLinks 也可以两个一起用 Options indexes FollowSymLinks
3. 默认语言 AddDefaultCharset GB2312 |
=======================
用户验证的配置
====================
用户验证的配制 1> 指定验证配置文件 AccessFileName .htaccess
2> 指定某目录使用验证 Alias /mrtg/ "/var/www/html/mrtg/"
Options Indexes AllowOverride AuthConfig
3> 创建密码文件 htpasswd -c $apache/conf/passwords juey htpasswd $apache/conf/passwords yida
4> 编辑需要验证目录下面的配置文件 vi /var/www/html/mrtg/.htaccess AuthType Basic AuthName "Restricted Files" AuthUserFile /usr/local/apache/conf/passwords Require user juey #Require valid-user # all valid user
说明: AllowOverride : 指定一些参数可以被覆盖,一般有 Options 如Indexes , ExecCGI .. 等 AuthConfig 网页认证 Limit 安全的设定 All 上面的规定都可以使用.htaccess来设定 None 不允许.htaccess来设定
如我们对每个用户主目录下的网页的配置 vi /usr/local/apache/conf/httpd.conf AccessFileName .htaccess #访问规则配置文件 # 防止.htaccess和.htpassword 文件被客户浏览器访问到 Order allow,deny Deny from all
#匹配用户主目录下面的public_html AllowOverride AuthConfig #允许使用AccessFile的设定 .htaccess Order allow,deny Allow from all
添加密码 su - test mkdir public_html cd public_html echo "Hello " > test.html htpasswd -c ~/apache.passwd test
配置访问规则文件 vi .htaccess AuthName "Protect test by .htaccess" #注释说明 Authtype Basic AuthUserFile /home/test/apache.passwd Require valid-user
测试时 要注意文件的属性问题 chmod 755 /home/user chmod 755 /home/user/public_html |
==============
虚拟主机配置
==============
apache手册中虚拟主机
一些帖子:
=虚拟主机
=虚拟主机
==============
为什么APACHE的options属性没有生效
==============
问题分析:Options属性有一个非常特别的功能:如果你没有用“+”或者“-”来增加或者减少一个功能的时候,每个之前定义的Options的所有功能都会被取消,直到你又为它指定一些功能。所以options属性在整体设置和虚拟主机设置的是不相关的,互相不起作用,因为他们在特定的范围内被重载了。
解决:如果要在虚拟主机里面使用在整体设置中的Options的设置,那么就不要在虚拟主机设置中指定Options属性。如果要增加或者减少功能,那么用“+”或者“-”符号来实现。例如:
Options Includes ExecCGI
Options Indexes
整体设置的Options属性是Includes和ExecCGI,而在/www/htdosc目录里面的Options属性只有Indexes。如果要让 /www/htdocs目录具有Includes和ExecCGI以及Indexes属性,除了单独指定以外,还可以使用下面的方法:
Options Includes ExecCGI
Options +Indexes
==============
其他问题:
阅读(1812) | 评论(0) | 转发(0) |