Linux 通过编译安装apache服务以及配置
Linux 编译安装apache服务
一、安装
1.通过编译安装,首先需要下载源代码安装包
apache下载链接:http://httpd.apache.org/download.cgi
2.解开源代码封装包
tar zxvf httpd-2.2.17.tar.gz -C /usr/src/
3.配置选择安装的功能和安装目录等信息
--prefix:指定将httpd服务程序安装到哪个目录,如/usr/local/httpd。
--enable-so:启用动态加载模块支持,使httpd具备进一步扩展功能的能力。
--enable-rewrite:启用网页地址重写功能,用于网站优化及目录迁移维护。
--enable-charset-lite:启动字符集支持,以便支持使用各种字符集编码的网页。
--enable-cgi:启用CGI脚本程序支持,便于扩展网站的应用访问能力
cd /usr/src/httpd-2.2.17/
./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi
 
4.生成二进制文件 make
  
5.安装生成的二进制文件
 
6.优化执行路径
ln -s /usr/local/httpd/bin/* /usr/local/bin/
  
7.添加httpd系统服务
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd(apache服务的控制脚本)开机启动apache
 
8. 修改/etc/init.d/httpd配置文件 chkconfig: 35 85 15(使其能够支持chkconfig来进行管理),添加如下两行
  
9.调整启动级别
chkconfig --add httpd(调整启动级别)
chkconfig --list httpd(查看启动状态)
  
10.启动服务测试apache服务是否正常
二、配置web服务
httpd服务的目录结构
服务目录:/usr/local/httpd/
主配置文件:/usr/local/httpd/conf/httpd.conf
网页目录:/usr/local/httpd/htdocs/
服务脚本:/usr/local/httpd/bin/apachectl
执行程序:/usr/local/httpd/bin/httpd
访问日志: /usr/local/httpd/log/access_log
错误日志: /usr/local/httpd/log/error_log
httpd.conf配置文件
常用的全局配置参数
		ServerRoot:服务目录
ServerAdmin:管理员邮箱
User:运行服务的用户身份
Group:运行服务的组身份
ServerName:网站服务器的域名
DocumentRoot:网页文档的根目录
Listen:监听的IP地址、端口号
PidFile:保存httpd进程PID号的文件
DirectoryIndex:默认的索引页文件
ErrorLog:错误日志文件的位置
CustomLog:访问日志文件的位置
LogLevel:记录日志的级别,默认为warn
Timeout:网络连接超时,默认为300秒
KeepAlive:是否保持连接,可选On或Off
MaxKeepAliveRequests:每次连接最多请求文件数
KeepAliveTimeout:保持连接状态时的超时时间
Include:需要包含进来的其他配置文件
区域配置项
		<Directory  "/usr/local/httpd/htdocs">
   		 Options FollowSymLinks  	#控制选项,允许使用符号链接
   		 AllowOverride None		#不允许隐含控制文件中的覆盖配置
   		 Order deny,allow		#访问控制策略的应用顺序
   		 Deny from all			#禁止任何人访问此区域
		</Directory>
httpd服务访问控制
	作用:
		控制对网站资源的访问
		为特定的网站目录添加访问授权
常用访问控制方式:
		客户机地址限制
		用户授权限制
1)基于客户端地址的访问控制
Order配置项,定义控制顺序
 		先允许后拒绝,默认拒绝所有:Order allow,deny
		先拒绝后允许,默认允许所有:Order deny,allow
2)用户授权限制
cd /usr/local/httpd/bin
htpasswd -c /usr/local/httpd/conf/.htpass webadmin
			(-c,只在添加首个用户时使用)
		cat /usr/local/httpd/conf/.htpass
3)对网站目录添加授权
		vi /usr/local/httpd/conf/httpd.conf
<Directory  "/usr/local/httpd/htdocs">
    		  AuthName "www.yuzly.com"
    		  AuthType Basic
    		  AuthUserFile /usr/local/httpd/conf/.awspwd
    		  require valid-user
		</Directory>
4)重启网站服务
	  	/etc/init.d/httpd restart   或者
		/usr/local/httpd/bin/apachectl restart	或者
		service  httpd  restart
1.在/usr/local/httpd/htdocs目录下新建一个admin文件夹,然后创建一个index.html文件用于充当后台管理页面
2.httpd服务访问控制,这里只对后台管理页面做限制,首页不做限制
限制特定IP地址访问
  
3.测试,下图可以看到,只有特定IP才能访问admin下的网页,说明限制有效
 
 
4.限制通过用户登录才能访问网页(用户授权访问)
首先创建用于访问网页的账户和密码
htpasswd -c /usr/local/httpd/conf/.htpass yuzly #-c 只在添加首个用户时使用
 
5.对网站目录添加授权
  
6.重启网站服务,测试用户授权是否有效
  
Linux 通过编译安装apache服务以及配置的更多相关文章
- Linux下编译安装Apache Http Server
		
Linux下编译安装Apache Http Server [TOC] 1.下载httpd-2.4.12.tar.bz2 wget http://mirror.bit.edu.cn/apache/htt ...
 - linux中编译安装Apache、PHP、MySQL(上)
		
1.简介 在阿里云买了个云服务器,一直没时间折腾.过了近十天了吧,才有时间好好玩玩这个云服务器.自己是做Web开发的,所以我需要的开发环境是LAMP.之前打算是采用yum安装,不过yum安装apach ...
 - Linux下编译安装Apache 2.4
		
Linux一般会自带httpd服务,但是版本一般不是最新,性能也不是最好,生产中建议手动安装官方源码包,安装Apache官方包之前首先要停止之前的httpd服务,停止后也可以卸载之前的版本 准备工作做 ...
 - Linux下编译安装Apache及模块
		
Apache是时下最流行的Webserver软件之中的一个,支持多平台,可高速搭建web服务,并且稳定可靠.并可通过简单的API扩充.就能够集成PHP/Python等语言解释器. 文章这里解说怎样在l ...
 - linux下编译安装apache
		
在linux(CentOS6.5)上安装Apache,要首先确保以下程序事先安装 apr:The mission of the Apache Portable Runtime (APR) projec ...
 - Linux下编译安装Apache报APR not found错误的解决办法
		
我在编译安装完Nginx.MySQL和PHP(见之前一篇博客:LNMP环境搭建详细教程)之后,进行apache的编译安装: cd /usr/local/src wget http:.tar.gz ta ...
 - 03 编译安装apache的简易配置
		
1.监听端口,默认为80,在主配置文件 /etc/httpd24/httpd.conf中可以更改 2.持久连接 Include /etc/httpd24/extra/httpd-default.con ...
 - LINUX系统yum安装SVN服务及其配置
		
待: http://oplinux.com/app/svn/linux-yum-install-svn.html //基础设置及流程 http://files.cnblogs.com/logon/s ...
 - Linux编译安装Apache+PHP
		
Linux编译安装Apache+PHP 来自:自学it网,http://www.zixue.it/. 1]编译安装Apache+PHP 1.安装程序依赖库和开发环境 为了省事把所需要的库文件全都安 ...
 
随机推荐
- Spring Boot 2.0 教程 | AOP 切面统一打印请求日志
			
欢迎关注微信公众号: 小哈学Java 文章首发于个人网站 https://www.exception.site/springboot/spring-boot-aop-web-request 本节中,您 ...
 - Java核心技术及面试指南 多线程并发部分的面试题总结以及答案
			
7.2.10.1有T1.T2.T3三个线程,如何保证T2在T1执行完后执行,T3在T2执行完后执行? 用join语句,在t3开始前join t2,在t2开始前join t1. 不过,这会破坏多线程的并 ...
 - 微信小程序使用nginx方向代理实现内嵌非业务域名
			
通过上一篇文章简单介绍了一下微信小程序的新组件<web-view>,实现了在小程序中内嵌业务域名的功能.但是boss要的小程序中不仅想内嵌业务域名,还想要打开一些非业务域名(无法操作web ...
 - Python爬虫入门教程 39-100 天津市科技计划项目成果库数据抓取 scrapy
			
爬前叨叨 缘由 今天本来没有打算抓取这个网站的,无意中看到某个微信群有人问了一嘴这个网站,想看一下有什么特别复杂的地方,一顿操作下来,发现这个网站除了卡慢,经常自己宕机以外,好像还真没有什么特殊的.. ...
 - Error: Default interface methods are only supported starting with Android N (--min-api 24): java.io.InputStream org.apache.poi.sl.usermodel.ObjectShape.readObjectData()
			
项目运行的时候,如果报错 Error: Default interface methods are only supported starting with Android N (--min-api ...
 - .net core下使用FastHttpApi构建web聊天室
			
一般在dotnet core下构建使用web服务应用都使用asp.net core,但通过FastHttpApi组建也可以方便地构建web服务应用,在FastHttpApi功能的支持下构建多人聊天室是 ...
 - CentOS安装FTP服务
			
最近公司有一个内部比赛(黑客马拉松),报名参加了这么一个赛事,在准备参赛作品的同时(参赛服务器需要自己搭建),借着这个机会,决定把tomcat部署相关的知识从0到1重新捋一遍.就当备忘录了. FTP服 ...
 - Chapter 4 Invitations——13
			
"Thank you," I said icily. “谢谢你”,我冰冷的说道. His eyes narrowed. 他眯着眼睛. "You're welcome,&q ...
 - 设计模式总结篇系列:外观模式(Facade)
			
张三自从毕业后开始做软件开发,做着做着发现不爽了,钱赚不了太多,头发也白了.于是拿着一点小资本,想着做点小生意.瞅着眼前的餐饮行业还不错,于是打算开一家餐馆.开参观可不是一件容易的事,仅仅行政类的审批 ...
 - java开发知识IO知识之输入输出流以及文件
			
目录 java开发知识IO知识之输入输出流以及文件 一丶流概述 二丶输入流讲解 InputStream类. 1. 输入流以及类层次结构 2.文件操作.使用输入流读取 三丶输出流 OutputStrea ...