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.安装程序依赖库和开发环境 为了省事把所需要的库文件全都安 ...
随机推荐
- 数据攻略●R语言自述
(注明:以下文章均在Linux操作系统下执行) 一.R语言简介 R语言是用于统计分析,图形表示和报告的编程语言和软件环境.R语言由Ross Ihaka和Robert Gentleman在新西兰奥克兰大 ...
- 洛谷P1036选数(素数+组合数)
题目链接:https://www.luogu.org/problemnew/show/P1036 主要考两个知识点:判断一个数是否为素数.从n个数中选出m个数的组合 判断一个数是否为素数: 素数一定是 ...
- Vue中实现一个无限加载列表
参考 https://www.jianshu.com/p/0a3aebd63a14 一个需要判断的地方就是加载中再次触发滚动的时候,不要获取数据. <!DOCTYPE html> < ...
- 解决classNotFound的问题的思路
用Ctrl+Shift+t可以查看class,对于报错信息,我们把没有找到的class放到查找框里进行查看,找到之后把这个jar包放到WEB-INF的lib目录下,build path一下就可以了. ...
- RSA算法原理——(2)RSA简介及基础数论知识
上期为大家介绍了目前常见加密算法,相信阅读过的同学们对目前的加密算法也算是有了一个大概的了解.如果你对这些解密算法概念及特点还不是很清晰的话,昌昌非常推荐大家可以看看HTTPS的加密通信原理,因为HT ...
- Eclipse debug Source not found
点击打开链接最近开始慢慢转向idea开发了,但是因为旧项目是在eclipse里面.就没有在idea导入,所以旧项目就用eclipse,新项目就用idea.然而最近几天eclipse似乎不干了,每次de ...
- python安装whl文件
在命令指示符下(cmd)的Python3安装命令为: pip3 install 文件名.whl 安装出错: matplotlib-2.0.0-cp34-cp34m-win_amd64.whl is n ...
- 4.DOM
定义 文档对象模型(Document Object Model)是一种用于HTML和XML文档的编程接口. 查找元素 1.直接查找 document.getElementById 根据ID获取一个标签 ...
- 看完Andoird9.0 Pie的隐藏特性,我买了SSL证书
今年 8 月,Google 正式公布了 Android 9.0 ,新的甜点名称也正式揭晓——Pie.这次的大版本升级中,藏着一个不起眼的特性:默认使用 HTTPS 为了将所有网络流量从明文(未加密的 ...
- Unity资源 ----加载最好需要做哪些事
先上图解 一.基本关键词 1)AssetBundle:一种保存“一个或多个资源的转变为某种利于传输等的特殊格式(二进制之类)”的文件.(我这边是使用Unity制作手游的角度来说明) 简称AB. 2)对 ...