2018-01-31 Linux学习之Apache服务部署静态网站

一、Apache服务

Apache程序是一种可以在服务器部署静态网站的一项服务,可以运行在Linux、UNIX、Windows平台,支持基于IP、域名及端口号的虚拟主机功能,支持多种认证方式,集成有代理服务器模块、安全socket(SSL),能够实时监视服务状态与定制日志消息。

下面是Apache服务基金会的LOGO图,名字取自于美国印第安人的土著语,寓意着拥有高超的作战策略与无穷的耐性。

图一 logo图

二、部署静态网站

1.安装httpd服务

yum install httpd

2.启动httpd服务

RHEL 7 版本:

systemctl start httpd //启动httpd服务

systemctl enable httpd //将httpd服务加入开机启动项

RHEL 6 及RHEL早期版本:

service httpd start //启动httpd服务

chkconfig http on //将httpd服务加入开机启动项

此时,在gnome版本的服务器系统里,在浏览器输入本地回环地址:127.0.0.1,则可看到以下界面:(此刻说明服务启动及安装成功)

图一 初始页面

3.配置服务参数

httpd服务安装完成并启动完成,接下来需要对其配置文件的修改,下图是关于httpd服务配置文件的存放位置:

图二 配置文件位置

下面详细介绍一下主配置文件/etc/httpd/conf/httpd.conf

在这个主配置文件中,主要存在三类信息:注释行信息、全局配置、区域配置,如下图所示:

图三 示例

在httpd服务程序主配置文件中,最为常用的参数如下图所示:

图四 常用参数
图五 常用参数

Apache服务默认的网站数据目录是在/var/www/html,如果没有任何需求要修改默认网站数据目录,你需要把自己的写的网页html文件,css,jsp,全部放入默认网站数据目录,此时访问127.0.0.1就会变成你自己的网页,如图所示:

图六 网站示意图

此时最简单的网站部署就实现了,是不是很简单。

三、高级部署

1.修改网站数据默认目录

默认目录为/var/www/html,假设将目录设置为/home/myhtml,

(1)修改配置文件/etc/httpd/conf/httpd.conf,大约在119-131行左右:

图一 修改参数

(2)关闭SELinux安全子系统

可以用setenforce [0|1]命令修改SELinux当前的运行模式(0为禁用,1为启用),这种修改方式只是临时的,在系统重启之后就会失效。

图二 修改SELinux

刷新网页,就会出现我们的新网页:

图三 刷新网页

①什么是SELinux安全子系统

使各个服务进程受到约束,使其获取本应该获取的资源。SELinux域限制可以确保服务程序做不了出格的事情,例如美图软件不可能监视和记录键盘操作;SELinux上下文可以限制文件被服务随意访问,使服务只能访问自己功能内的文件。

本次实验就是将/var/www/html目录更换为了/home/myhtml,一般/home目录是家目录,只有用户才能访问,一般服务并没有权限访问,所以说如果不关闭SELinux安全子系统的话,httpd服务是不可能获取到/home/myhtml下的index.html文件,以至于网页就不能正常显示。

②SELinux服务有三种配置模式:

enforcing:强制启用安全策略模式,将拦截服务的不合法请求

permissive:遇到服务越权访问时,只发出警告而不强制拦截

disabled:对于越权的行为不警告也不拦截

③SELinux服务配置文件

所在目录/etc/selinux/config,如图所示:

图四 SELinux配置文件

getenforce  //获取当前SELinux状态

setenforce [0|1] //修改SELinux当前的运行模式(0为禁用,1为启用)

(3)为了系统的安全性,一般在生产环境中是不会存在关闭SELinux安全子系统的情况的,所以在不关闭SELinux安全子系统的情况下,可以对目录的SELinux上下文进行修改,让httpd服务能访问/home/myhtml目录。

①ls -Zd 目录 //查看目录的SELinux上下文

首先查看/var/www/html SELinux上下文是什么:

图五 查看上下文

再次查看/home/myhtml上下文是什么:

图六 查看上下文

②semanage命令

-l 查询

-a 添加

-m 修改

-d 删除

semanage fcontext -a -t httpd_sys_content_t /home/myhtml //使httpd服务能够访问/home/myhtml目录

semanage fcontext -a -t httpd_sys_content_t /home/myhtml/* //使httpd服务能够访问/home/myhtml/下的所有文件

restorecon -Rv /home/myhtml //更新目录上下文

图七 semanage操作

2.个人用户主页功能

用户主页功能是指当用户想要访问自己个人网站不被别人影响时候所启用的功能,需要用户名和密码,如下图所示:

图一 登陆页面

操作步骤:

(1)修改/etc/httpd/conf.d/userdir.conf中的参数,大约将17行的UserDir disbaled前的#去掉,24行的UserDir public_html前的#去掉

图二 修改配置文件

(2)在自己用户家目录下建立文件夹public_html,即路径为/home/用户名/public_html,在public_html文件夹下放入自己的网站数据,并修改/home/用户名目录权限,使其他组别的用户也有读权限,关闭SELinux安全子系统。

chmod 755 /home/用户名/  //修改权限

setenforce 0 //关闭SELinux

(3)本地生成密钥,设置密码

htpasswd -c /etc/httpd/passwd 用户名 //生成本地密钥,设置密码

(4)将生成的密钥库写入配置文件/etc/http/conf.d/userdir.conf,如下图所示:

图三 修改配置文件

(5)切换root用户,重启httpd服务,打开IP地址:服务器地址/~用户名

systemctl restart httpd

图四 显示页面

3.虚拟主机功能(简单介绍一下)

虚拟主机功能可以把一台处于运行状态的物理服务器分割成多个“虚拟服务器”,基于用户请求的不同IP地址,主机域名或端口号。

(1)基于IP地址

在httpd服务的配置文件大约在113行后加入配置信息,格式如下:

<VirtualHost IP地址1>

DocumentRoot 网站目录 例如:/home/www/html1

ServerName 域名

<Directory 网站目录>

AllowOverride None

Require all granted

</Directory>

</VirtualHost>

如图所示:

图一 修改配置文件

(2)基于域名

将基于IP地址模板中的域名修改即可,其他跟基于IP地址一样

(3)基于端口号

①添加要监听的端口号

在/etc/httpd/conf/http.conf中的43行之后添加要监听的端口,格式如下:

Listen 端口号

图二 添加端口号

②添加配置文件,大约在113行,格式如下:

<VirtualHost IP地址1:端口号>

DocumentRoot 网站目录 例如:/home/www/html1

ServerName 域名

<Directory 网站目录>

AllowOverride None

Require all granted

</Directory>

</VirtualHost>

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,761评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,953评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,998评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,248评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,130评论 4 356
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,145评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,550评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,236评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,510评论 1 291
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,601评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,376评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,247评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,613评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,911评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,191评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,532评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,739评论 2 335

推荐阅读更多精彩内容

  • 1、第八章 Samba服务器2、第八章 NFS服务器3、第十章 Linux下DNS服务器配站点,域名解析概念命令:...
    哈熝少主阅读 3,677评论 0 10
  • http协议及Apache服务 http协议 什么是http? http全称为超文件传输协议(Hyper text...
    魏镇坪阅读 2,237评论 0 1
  • 基础命令 为了在 sudo 中设置权限提升,您需要编辑 sudoers 文件。 你不应该直接编辑文件,而是使用:s...
    米开朗基乐阅读 1,875评论 0 5
  • 不愿睡去,白天和黑夜都太短 二十四小时,模糊的概念 眼睛里住进一粒沙子 未来,就看不清楚了 滚烫的心,暖不热对生活...
    叮咚的你阅读 147评论 0 1
  • 第五章 至爱之妻 11.“加码”和“双保险”,原来是这个意思 干部科长带着人事员又一次找胡莉谈话。来到胡莉的办公室...
    王文韬阅读 291评论 0 0