搭建LAMP架构之Apache2.4.4安装及管理
2013-10-10 23:54
495 查看
web网站服务
Apache在Linux系统中通过Apache来搭建web网站服务特点:开放源代码、跨平台应用支持多种网页编程语言模块化设计、运行稳定、良好的安全性
安装Apache源码包安装Apache(确保系统没有安装rpm包的Apache服务)安装前准备
解压包apache软件包
解压插件apr和apr-util压缩包,并复制到apache源码目录下的srclib目录下,并去掉版本号
安装编译工具:gcc、gcc-c++、make、pcre-devel
1.配置./configure--prefix=/usr/local/apache--enable-so
--enable-ewrite--enable-harset-list--enable-mods-shared=most--with-mpm=worker
(--enable-mods-shared=most动态编译为DSO模块
--with-mpm=worker配置apache以何种模式编译--prefix=/usr/local/apache2安装位置--enable-so支持动态加载模块--enable﹔ewrite支持URL重写--enable-charse-lite支持字符集)
2.编译make
3.安装makeinstall
Apache的安装目录和文件
服务目录:/usr/local/apache/(配置时指定的)主配置文件:/usr/local/apache/conf/httpd.conf网页目录:/usr/local/apache/htdocs/服务脚本:/usr/local/apache/bin/apchectl执行程序:/usr/local/apache/bin/httpd访问日志:/usr/local/apache/logs/access_log错误日志:/usr/local/apache/logs/error_log
源码包安装apache服务后,为了更方便得管理,可以把程序脚本添加到默认搜索路径,即修改PATH变量,或者给程序脚本创建链接到PATH中存在的目录中。
修改PATH变量:PATH=$PATH:/usr/local/apache/bin
(此修改在重启系统后失效,可以写在/etc/profile等文件中)
创建链接:
ln‐s/usr/local/apache/bin/*/usr/local/bin
管理:apachectl{start|restart|stop}
也可以将apachectl拷贝到/etc/init.d/目录中,并添加为系统服务,通过service和chkconfig来管理。
cp/usr/local/apache/bin/apachectl/etc/init.d/httpd
编辑/etc/init.d/httpd
主配置文件中的常用全局配置项
ServerRoot:httpd服务的根目录Listen:监听的端口号,默认为80User和Group:运行httpd进程的用户和组身份ServerAdmin:管理员邮箱ServerName:网站服务器的域名(FQDN)DocumentRoot:网页文档的根目录DirectoryIndex:默认文档,多个以空格隔开Include:include引入其他配置文件PidFile:保存httpd进程PID号的文件ErrorLog:错误日志文件的位置CustomLog:访问日志文件的位置LogLevel:记录日志的级别,默认为warnTimeout:网络连接超时,默认为300秒KeepAlive:是否保持连接,可选On或OffMaxKeepAliveRequests:每次连接最多请求文件数KeepAliveTimeout:保持连接状态时的超时时间
区域配置项:<Directory/var/www>OptionsFollowSymLinks控制选项,允许使用符号链接AllowOverrideNone不允许隐含控制文件中覆盖配置Orderdeny,allow访问控制类型Denyfromall禁止任何人访问Requireallgranted授权所有用户访问</Directory>
Options:访问链接方式,有多种,例如OptionsIndexes表示允许以目录形式访问,即如果没有默认文档,就以目录形式直接访问此目录中的文件内容。
区域配置项针对某一个网页目录设置,以<Directory>开始,以</Directory>结尾,选项配置在中间,有点类似html的标签,在标签中指定网页目录,例如<Directory/var/www>,就是针对/var/www目录做的设置。
Require:要求授权用户才能访问,allgranted表示授权所有用户,alldenied则表示都不授权
Order:用来配置客户机的访问限制,控制选项有两种
allow,deny:拒绝所有未明确允许的客户机(白名单)deny,allow:允许所有未明确拒绝的客户机(黑名单)通过Denyfrom来列出拒绝/允许的主机列表。可以是IP地址、IP网段、主机名、域名等,多个以空格隔开。使用“all”表示任意主机。
例如:(只允许192.168.1.0网段和192.168.2.9的主机访问)
Orderallow,deny
allowfrom192.168.1.0/24192.168.2.9
虚拟主机(一台主机上管理多个不同的网站)
虚拟主机和虚拟目录等区域性配置一般写在单独的配置文件中,然后在主配置文件中使用include引入,方便管理
(注:在主配置文件中的所有相对路径都是基于apache的根目录的,也就是/usr/local/apache)
虚拟主机的三种实现方式:基于IP、端口号、主机名
配置(httpd.conf)
虚拟主机的配置和区域配置一样,配置项写在在一对标签<VirtualHost></VirtualHost>中。
<VirtualHost192.168.1.1>DocumentRoot/var/www/benetServerNamewww.ibm.com</VirtualHost>
DocumentRoot:指定网站的根目录
ServerName:网站的域名
其它配置选项和全局配置中一样
l基于IP的虚拟主机
通过不同IP访问不同的网站
2基于不同端口虚拟主机首先httpd服务要监听设定端口在主配置文件中通过
Listen选项设置
Listen8001Listen8002
通过http://192.168.1.1:端口号进行访问
3基于域名的虚拟主机
通过域名进行访问
注:基于域名的虚拟主机需要DNS支持,且设置了域名虚拟主机,再通过IP进行访问时,访问的是第一个虚拟主机。
虚拟目录通过Alias来定义
访问:http://域名/虚拟目录名例如:http://www.benet.com/vdir
本文出自 “远航” 博客,请务必保留此出处http://huyongjun.blog.51cto.com/7380612/1307122
Apache在Linux系统中通过Apache来搭建web网站服务特点:开放源代码、跨平台应用支持多种网页编程语言模块化设计、运行稳定、良好的安全性
安装Apache源码包安装Apache(确保系统没有安装rpm包的Apache服务)安装前准备
解压包apache软件包
解压插件apr和apr-util压缩包,并复制到apache源码目录下的srclib目录下,并去掉版本号
安装编译工具:gcc、gcc-c++、make、pcre-devel
1.配置./configure--prefix=/usr/local/apache--enable-so
--enable-ewrite--enable-harset-list--enable-mods-shared=most--with-mpm=worker
(--enable-mods-shared=most动态编译为DSO模块
--with-mpm=worker配置apache以何种模式编译--prefix=/usr/local/apache2安装位置--enable-so支持动态加载模块--enable﹔ewrite支持URL重写--enable-charse-lite支持字符集)
2.编译make
3.安装makeinstall
Apache的安装目录和文件
服务目录:/usr/local/apache/(配置时指定的)主配置文件:/usr/local/apache/conf/httpd.conf网页目录:/usr/local/apache/htdocs/服务脚本:/usr/local/apache/bin/apchectl执行程序:/usr/local/apache/bin/httpd访问日志:/usr/local/apache/logs/access_log错误日志:/usr/local/apache/logs/error_log
源码包安装apache服务后,为了更方便得管理,可以把程序脚本添加到默认搜索路径,即修改PATH变量,或者给程序脚本创建链接到PATH中存在的目录中。
修改PATH变量:PATH=$PATH:/usr/local/apache/bin
(此修改在重启系统后失效,可以写在/etc/profile等文件中)
创建链接:
ln‐s/usr/local/apache/bin/*/usr/local/bin
管理:apachectl{start|restart|stop}
也可以将apachectl拷贝到/etc/init.d/目录中,并添加为系统服务,通过service和chkconfig来管理。
cp/usr/local/apache/bin/apachectl/etc/init.d/httpd
编辑/etc/init.d/httpd
主配置文件中的常用全局配置项
ServerRoot:httpd服务的根目录Listen:监听的端口号,默认为80User和Group:运行httpd进程的用户和组身份ServerAdmin:管理员邮箱ServerName:网站服务器的域名(FQDN)DocumentRoot:网页文档的根目录DirectoryIndex:默认文档,多个以空格隔开Include:include引入其他配置文件PidFile:保存httpd进程PID号的文件ErrorLog:错误日志文件的位置CustomLog:访问日志文件的位置LogLevel:记录日志的级别,默认为warnTimeout:网络连接超时,默认为300秒KeepAlive:是否保持连接,可选On或OffMaxKeepAliveRequests:每次连接最多请求文件数KeepAliveTimeout:保持连接状态时的超时时间
区域配置项:<Directory/var/www>OptionsFollowSymLinks控制选项,允许使用符号链接AllowOverrideNone不允许隐含控制文件中覆盖配置Orderdeny,allow访问控制类型Denyfromall禁止任何人访问Requireallgranted授权所有用户访问</Directory>
Options:访问链接方式,有多种,例如OptionsIndexes表示允许以目录形式访问,即如果没有默认文档,就以目录形式直接访问此目录中的文件内容。
区域配置项针对某一个网页目录设置,以<Directory>开始,以</Directory>结尾,选项配置在中间,有点类似html的标签,在标签中指定网页目录,例如<Directory/var/www>,就是针对/var/www目录做的设置。
Require:要求授权用户才能访问,allgranted表示授权所有用户,alldenied则表示都不授权
Order:用来配置客户机的访问限制,控制选项有两种
allow,deny:拒绝所有未明确允许的客户机(白名单)deny,allow:允许所有未明确拒绝的客户机(黑名单)通过Denyfrom来列出拒绝/允许的主机列表。可以是IP地址、IP网段、主机名、域名等,多个以空格隔开。使用“all”表示任意主机。
例如:(只允许192.168.1.0网段和192.168.2.9的主机访问)
Orderallow,deny
allowfrom192.168.1.0/24192.168.2.9
虚拟主机(一台主机上管理多个不同的网站)
虚拟主机和虚拟目录等区域性配置一般写在单独的配置文件中,然后在主配置文件中使用include引入,方便管理
(注:在主配置文件中的所有相对路径都是基于apache的根目录的,也就是/usr/local/apache)
虚拟主机的三种实现方式:基于IP、端口号、主机名
配置(httpd.conf)
虚拟主机的配置和区域配置一样,配置项写在在一对标签<VirtualHost></VirtualHost>中。
<VirtualHost192.168.1.1>DocumentRoot/var/www/benetServerNamewww.ibm.com</VirtualHost>
DocumentRoot:指定网站的根目录
ServerName:网站的域名
其它配置选项和全局配置中一样
l基于IP的虚拟主机
通过不同IP访问不同的网站
2基于不同端口虚拟主机首先httpd服务要监听设定端口在主配置文件中通过
Listen选项设置
Listen8001Listen8002
通过http://192.168.1.1:端口号进行访问
3基于域名的虚拟主机
通过域名进行访问
注:基于域名的虚拟主机需要DNS支持,且设置了域名虚拟主机,再通过IP进行访问时,访问的是第一个虚拟主机。
虚拟目录通过Alias来定义
访问:http://域名/虚拟目录名例如:http://www.benet.com/vdir
本文出自 “远航” 博客,请务必保留此出处http://huyongjun.blog.51cto.com/7380612/1307122
相关文章推荐
- Apache按天截断日志工具,无法生成访问日志
- Mint15(或Ubuntu)下搭建LAMP(Apache+PHP+MYSQL)开发环境
- 使用apache htpasswd命令
- 错误解决 org.apache.cxf.interceptor.Fault: net/sf/json/JSONArray
- Nagios实战-部署apache服务器 开启web网页服务
- cubieboard服务器配置(配置Apache+PHP+MySQL)
- linux mint 安装apache2.4
- 第三章 Apache可移植运行时库
- apache 的apr函数库简单学习
- Apache的rewrite规则详细介绍
- 【转】Apache 2.2 +&nbs…
- apache (order allow,deny or deny,allow)
- 安装apache遇到的几个错误及解决办法 [error] Apache2.2: Service is already installed. (OS 1060)指定的服务未安装。 : Apache2.2
- #Lucene# org.apache.lucene.util.BitUtil.pop(long x) 笔记
- apache 启动不了
- apache学习资料查看位置
- 用Apache htpasswd管理SVN帐户
- 使用Apache Avro
- apache prefork和worker
- ubuntu安装apache2的步骤及发生的问题解决方法