Centos 7搭建HTTP(1) 基础搭建

  1. 简介

httpd是Apache服务器的主程序

默认端口:80

systemctl {start|stop|restart|status} httpd.service

  1. 网站文件

配置文件名称

位置

服务目录

/etc/httpd/

主配置文件

/etc/httpd/conf/httpd.conf

网站数据目录

/var/www/html

访问日志

/var/log/httpd/access_log

错误日志

/var/log/httpd/error_log

  1. 配置文件参数

ServerRoot "/etc/httpd"

服务主目录

Listen 80

监听的 IP 地址与端口号

Include conf.modules.d/*.conf

子配置文件

User apache

Group apche

运行服务的用户

运行服务的用户组

ServerAdmin root@localhost

管理员邮箱

ServerName www.example.com:80

网站域名

DocumentRoot "/var/www/html"

网络根目录

ErrorLog "logs/error_log"

错误日志文件

CustomLog "logs/access_log" common

访问记录日志文件

LoadModule php7

加载php的模块

LogLevel warn

AddDefaultCharset UTF-8

EnableSendfile on

  1. 简单搭建

查看网络根目录位置

[root@localhost ~]# cat /etc/httpd/conf/httpd.conf | grep DocumentRoot | grep -Ev "#|$&"DocumentRoot "/var/www/html"

在网站根目录下写入一个index.html文件,内容自定义

[root@localhost ~]# echo hello >> /var/www/html/index.html
  1. 自定义修改默认文件

[root@localhost 桌面]# cat /etc/httpd/conf/httpd.conf | grep DirectoryIndex | grep -Ev "#|$&"
    DirectoryIndex shell.html            //默认是index.html
  1. 自定义修改默认发布目录

[root@localhost ~]# mkdir /www/html -p
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf 

[root@localhost ~]# cat /etc/httpd/conf/httpd.conf | grep /www/html
DocumentRoot "/www/html"
<Directory "/www/html">
<Directory "/www/html">
[root@localhost ~]# vim /www/html/index.html
[root@localhost ~]# cat /www/html/index.html 
woshi index.html
[root@localhost ~]# vim /www/html/123.html
[root@localhost ~]# cat /www/html/123.html 
woshi 123.html
root@localhost ~]# systemctl restart httpd.service 

访问是发现没有直接读取index.html文件

提示没有访问权限,我们尝试给index.html这个文件加上一个可读可执行权限

[root@localhost ~]# chmod 777 /www/html/index.html & chmod 777 /www/html/123.html 
[3] 36157
[3]   完成                  chmod 777 /www/html/index.html
[root@localhost ~]# ll /www/html/
总用量 8
-rwxrwxrwx. 1 root root 15 7月  19 22:20 123.html
-rwxrwxrwx. 1 root root 17 7月  19 22:14 index.html
[root@localhost ~]# curl 10.1.82.10/index.html
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access /index.html 
on this server.</p>
</body></html>

加入满权限之后还是不能,这是因为centos系统有一个安全子系统(SELinux)对服务程序功能进行了限制,我们只要关掉即可

[root@localhost ~]# vim /etc/selinux/config
[root@localhost ~]# setenforce 0
[root@localhost ~]# cat /etc/selinux/config | grep -Ev  "#|$&" | grep disabled
SELINUX=disabled
[root@localhost ~]# getenforce 
Permissive

但是由于公司生产环境需要我们不能关闭SELinux,杜绝黑客攻击进来进行提权操作

[root@localhost ~]# vim /etc/selinux/config 
[root@localhost ~]# setenforce 1

[root@localhost ~]# getenforce 
Enforcing
[root@localhost ~]# cat /etc/selinux/config | grep -Ev "#|$&" | grep enforcing
SELINUX=enforcing

我们把 SELinux 服务恢复到强制启用安全策略模式,然后分别查看原始网站数据的保存目录与当前网站数据的保存目录是否拥有不同的 SELinux 安全上下文值

[root@localhost ~]# ll -ldZ /var/www/html/
drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 /var/www/html/
[root@localhost ~]# ll -ldZ /www/html/
drwxr-xr-x. root root unconfined_u:object_r:default_t:s0 /www/html/
[root@localhost ~]# chcon -R --reference=/var/www/html/ /www/html/
[root@localhost ~]# ll -ldZ /www/html/
drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 /www/html/
  • 用户段 system_u 代表系统进程的身份

  • 角色段 object_r 代表文件目录的角色,

  • 类型段 httpd_sys_content_t 代表网站服务的系统文件

除了chcon命名之外semanage命名也可以进行SELinux的安全上下文的修改

//修改回来
[root@localhost ~]# semanage fcontext -a -t default_t /www/html
[root@localhost ~]# ll -ldZ /www/html/
drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 /www/html/
[root@localhost ~]# restorecon -Rv /www/html/
restorecon reset /www/html context system_u:object_r:httpd_sys_content_t:s0->system_u:object_r:default_t:s0
restorecon reset /www/html/index.html context system_u:object_r:httpd_sys_content_t:s0->system_u:object_r:default_t:s0
restorecon reset /www/html/123.html context system_u:object_r:httpd_sys_content_t:s0->system_u:object_r:default_t:s0
//改类型段
[root@localhost ~]# semanage fcontext -a -t httpd_sys_content_t /www/html

[root@localhost ~]# semanage fcontext -a -t httpd_sys_content_t /www/html/*
[root@localhost ~]# restorecon -Rv /www/html/
restorecon reset /www/html context system_u:object_r:default_t:s0->system_u:object_r:httpd_sys_content_t:s0
[root@localhost ~]# ll -ldZ /www/html/
drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 /www/html/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: CentOS 7是一款基于Linux的操作系统,用于服务器和桌面应用。它具有良好的稳定性、可靠性和安全性,因此在企业和个人使用中广泛受到青睐。搭建基础环境主要包括安装、配置和管理各种软件和服务,如Apache、MySQL、PHP、SSH等。此外,还需要了解和掌握Linux常用操作命令和文件系统基本知识,以保证系统的正常运行和安全。 ### 回答2: Linux是一种开源的操作系统,因为其稳定性、安全性、高效性和灵活性等特点,被广泛应用于各种软件开发、服务器管理、数据分析等领域。在Linux中,CentOS是一种比较常见的版本之一,为了使用CentOS,我们需要对基础环境进行搭建,下面是对CentOS7基础环境搭建的简单介绍。 1. 下载CentOS 7的ISO镜像文件 在网站上下载CentOS7的ISO镜像文件,下载后可以刻录到光盘或者U盘上安装。也可以直接使用虚拟机软件进行安装。 2. 安装CentOS 7 CentOS 7安装时,需要注意选择相应的软件包,包括Minimal(最小化安装)和Server with GUI(包含图形界面的服务器),可以根据自己的需求来选择。 3. 设置网络 配置CentOS7的网络可以使用命令行或者图形界面进行配置,具体方法如下: ① 命令行方式:使用ifconfig命令或ip addr命令设置网络信息; ② 图形界面方式:在设置中找到网络,然后进行设置。 4. 更新系统 yum update可以更新系统的软件包。 5. 安装常用软件 安装一些常用的软件,例如: vim(文本编辑器), gcc(编译工具), cron(定时任务), wget(下载工具)等常用软件可以通过yum install来进行安装。 6. 安装LAMP环境 LAMP环境包括Linux、Apache、MySQL和PHP,可以通过yum命令来安装。 7. 配置防火墙 CentOS 7.0 默认开启了防火墙,在对服务器进行访问时防火墙可能会限制请求,可以使用firewalld来进行配置。 以上是对CentOS7基础环境搭建的简单介绍,了解这些方面的知识可以方便我们更好地使用CentOS,提高Linux的运用能力。 ### 回答3: CentOS是基于Linux内核的免费和开源服务器操作系统,它是一个强大而又稳定的操作系统,由于它的稳定性、可靠性和灵活性,在服务器领域被广泛使用。在CentOS7中,主要采用了systemd来管理系统服务,通过systemd可以更方便地管理和控制系统。 以下是CentOS7基础环境搭建的步骤: 一、安装CentOS7系统 首先,我们需要下载CentOS 7的安装镜像文件,然后可以使用U盘或者DVD刻录工具将安装镜像刻录到U盘或者DVD上。然后,我们需要在计算机中将U盘或DVD插入并启动计算机。如果计算机已经启动,可以将U盘或DVD插入,并重新启动计算机来进入安装界面。 在安装界面中,按照提示进行设置,如选择安装位置、设置密码、安装软件包等。安装完成后,需要在启动时选择CentOS 7来启动。 二、安装必要的软件 安装一些旨在提高系统性能和功能的基本软件是基础环境的基本部分。这些软件包括:net-tools、vim、telnet、nmap等。可以通过以下命令来安装这些软件包: yum install net-tools yum install vim yum install telnet yum install nmap 安装完成后,可以进入vim来编辑文件,使用telnet测试服务器是否正常连接,使用nmap进行网络扫描等操作。 三、安装更新软件包 安装基本软件之后,可以使用以下命令来更新系统的软件包,以确保所有的软件包都是最新的: yum update 四、安装配置防火墙 CentOS7中默认安装了firewalld防火墙。在开启firewalld防火墙之后,需要在防火墙中添加允许的端口,否则可能会阻止某些服务(如SSH)的访问。 可以使用以下命令来启动并配置防火墙: systemctl start firewalld.service #启动防火墙 systemctl enable firewalld.service #开机自启动防火墙 firewall-cmd --zone=public --add-port=80/tcp --permanent #添加端口80 firewall-cmd --zone=public --add-port=22/tcp --permanent #添加端口22 firewall-cmd --reload #重启防火墙 以上命令将80端口和22端口添加到防火墙中,并且重启防火墙以使更改生效。 五、设置NTP同步时间 在使用计算机时,时间同步是非常重要的。我们可以使用NTP(网络时间协议)来同步时间。CentOS7默认安装了chrony,它是一种轻量级的NTP客户端。使用以下命令可以启动chrony,并将其设置为自动同步时间: systemctl start chronyd.service #启动chrony systemctl enable chronyd.service #开机自启动chrony 六、设置SELinux CentOS7默认启用的SELinux是一种安全加固功能,它有助于保护系统。需要在nic慎重考虑后进行禁用或更改。如果确定要禁用,请使用以下命令: vi /etc/selinux/config #编辑SELinux设置文件 SELINUX=disabled #禁用SELinux systemctl stop firewalld.service #停止防火墙服务(由于SELinux启用会影响防火墙) 以上是CentOS7基础环境的搭建步骤。长期以来,CentOS7已经成为了许多人的首选操作系统,因为它稳定、可靠、安全。通过这些基础环境,用户可以更方便地提高系统的性能和功能,并为后续的安装和配置打下基础

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值