一、基本概念

Apache(或httpd)是Internet上使用最多的Web服务器技术之一,使用的传输协议是http超文本传输协议(一个基于超文本的协议),用于通过网络连接来发送和接受对象。

有两个版本:

  • http:超文本传输协议,通过线路以明文形式发送,默认情况下使用80/TCP(也可以使用其他端口)
  • https:经TLS/SSL安全加密的超文本传输协议,默认情况下使用端口443/TCP

二、了解Apache的配置文件

1、配置文件的分类

在Linux系统中配置服务,其实就是修改服务的配置文件,httpd服务程序的主要配置文件及存放位置如下:

配置文件的名称 存放位置
服务目录 /etc/httpd
主配置文件 /etc/httpd/conf/httpd.conf
网站数据目录 /var/www/html
访问日志 /var/log/httpd/access_log
错误日志 /var/log/httpd/error_log

2、主配置文件的重要参数

主配置文件/etc/httpd/conf/httpd.conf

参数 用途
ServerRoot 服务目录
ServerAdmin 管理员邮箱
User 运行服务的用户
Group 运行服务的用户组
ServerName 网站服务器的域名
DocumentRoot 文档根目录(网站数据目录)
Directory 网站数据目录的权限
Listen 监听的IP地址与端口号
DirectoryIndex 默认的索引页页面
ErrorLog 错误日志文件
CustomLog 访问日志文件
Timeout 网页超时时间,默认为300秒

3、Directory标签

<Directory "/var/www/html">
AllowOverride None #设置.htaccess文件中的指令类型,None表示禁止使用.htaccess,该参数一般不改
Require all granted #设置权限,默认开启所有客户机访问权限
</Directory>

三、如何配置Apache服务器

首先准备:主机名、网络、yum源

1、更改主机名:

[root@localhost ~]# hostnamectl set-hostname $主机名
[root@localhost ~]# bash #环境变量重载

2、配置网络

(1)虚拟交换机、网络适配器选择仅主机模式,并且配置为192.168.100.0网段;

(2)编辑网络配置文件:

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
修改: BOOTPROTO=static #改为静态IP地址
ONBOOT=yes #改为开机自启
IPADDR=192.168.100.10
PREFIX=24 或者 NETMASK=255.255.255.0

(3)重启网络服务:

[root@localhost ~]# systemctl restart network

3、配置yum源

(1)先在VMware里面把系统镜像文件连接到虚拟机的光驱上;

(2)挂载光驱里的镜像:

[root@localhost ~]# mount /dev/cdrom /media

(3)修改yum源配置文件:

[root@localhost ~]# vim /etc/yum.repos.d/local.repo
[rhel]
name=rhel
baseurl=file:///media
enabled=1
gpgcheck=0

(4)清空yum源缓存信息:

[root@localhost ~]# yum clean all

(5)检索当前yum源信息:

[root@localhost ~]# yum repolist

任务一:配置简单的httpd服务

1、安装httpd服务

[root@server ~]# yum -y install httpd

2、启动httpd服务

[root@server ~]# systemctl restart httpd
[root@server ~]# systemctl enable httpd

3、配置防火墙

[root@server ~]# firewall-cmd --permanent --add-service=http
[root@server ~]# firewall-cmd --reload

4、关闭SELinux

[root@server ~]# setenforce 0

5、客户端测试

[root@client ~]# firefox http://IP地址  或者  curl http://IP地址

任务二:配置基于用户的个人网站

注意:该用户必须在Linux系统中存在

1、新建一个用户(网站基于该用户)

[root@server ~]# useradd user0
[root@server ~]# passwd user0

2、修改用户的家目录权限,使其他用户具有读取和执行的权限

[root@server ~]# chmod -R 705 /home/user0

3、创建存放用户个人主页空间的目录,写user0的网页文件

[root@server ~]# mkdir /home/user0/public_html
[root@server ~]# cd /home/user0/public_html
[root@server ~]# echo "this is user0's web">>index.html

4、修改基于用户的httpd配置文件

[root@server ~]# vim  /etc/httpd/conf.d/userdir.conf
修改: UserDir enabled #开启,表示让httpd服务程序开启个人用户主页功能
UserDir public_html #去注释,UserDir参数表示网站数据在用户家目录中的保存目录名称

5、配置防火墙(同上)

[root@server ~]# firewall-cmd --permanent --add-service=http
[root@server ~]# firewall-cmd --reload

6、修改selinux权限

[root@server ~]# getsebool -a|grep home
[root@server ~]# setsebool httpd_enable_homedirs

7、重启服务

[root@server ~]# systemctl restart httpd

8、客户端测试

[root@client ~]# firefox http://IP地址/~username  或者curl http://IP地址/~username

任务三:配置基于域名访问的虚拟主机

1、新建虚拟主机的网页文件

[root@server ~]# mkdir /www/one /www/two
[root@server ~]# cd /www/one
[root@server ~]# echo "this is a web for virtual host one">>index.html
[root@server ~]# cd /www/two
[root@server ~]# echo "this is a web for virtual host two">>index.html
[root@server ~]# chmod o+x /www

2、配置虚拟主机的文件

[root@server ~]# cd /etc/httpd/conf.d
[root@server ~]# vim vhost.conf
<Directory /www/one> #设置网站目录权限
Require all granted #开启所有客户机访问权限
</Directory>
<VirtualHost 192.168.100.10> #虚拟主机
ServerName one.example.com #定义服务器名称
DocumentRoot /www/one/ #网站数据目录
</VirtualHost>
<Directory /www/two>
Require all granted
</Directory>
<VirtualHost 192.168.100.11>
ServerName two.example.com
DocumentRoot /www/two/
</VirtualHost>

3、做域名解析文件

server/client

[root@server ~]# vim /etc/hosts
192.168.100.10 one.example.com
192.168.100.11 two.example.com

4、配置防火墙(同上)

[root@server ~]# firewall-cmd --permanent --add-service=http
[root@server ~]# firewall-cmd --reload

5、修改虚拟主机网页文件的selinux上下文类型

[root@server ~]# semanage fcontext -a -t httpd_sys_content_t '/www(/.*)?'
[root@server ~]# restorecon -RFv /www

6、重启服务

[root@server ~]# systemctl restart httpd

7、使用浏览器访问

http://one.example.com

http://two.example.com


任务四:配置基于端口访问的虚拟主机

1——新建虚拟主机的网页文件

[root@server ~]# mkdir  /www/8088
[root@server ~]# echo "this is a web for port 8088 ">>index.html
[root@server ~]# mkdir /www/8089
[root@server ~]# echo "this is a web for port 8089 ">>index.html

2——配置虚拟主机的文件

[root@server ~]# cd /etc/httpd/conf.d
[root@server ~]# vim vhost.conf
<Directory /www/8088/>
Require all granted
</Directory>
<virtualHost 192.168.100.10:8088>
DocumentRoot /www/8088/
</virtualHost>
<Directory /www/8089/>
Require all granted
</Directory>
<virtualHost 192.168.100.10:8089>
DocumentRoot /www/8089/
</virtualHost>

3、配置防火墙

[root@server ~]# firewall-cmd --permanent --zone=public --add-port=8089/tcp
[root@server ~]# firewall-cmd --permanent --zone=public --add-port=8088/tcp
[root@server ~]# firewall-cmd --reload

4、关闭SELinux

[root@server ~]# setenforce 0

5、重启服务

[root@server ~]# systemctl restart httpd

6、使用浏览器访问

http://192.168.100.10:8088

http://192.168.100.10:8089


任务五:配置基于TLS加密的虚拟主机

注意:经TLS/SSL安全加密的超文本传输协议,默认情况下使用端口443/TCP

1、安装TLS加密软件,网站内容不用明文传输

[root@server ~]# yum -y install mod_ssl

2、生成密钥

[root@server ~]# openssl genrsa >tlsweb.key

3、生成证书请求文件

[root@server ~]# openssl req -new -key tlsweb.key > tlsweb.csr

4、生成证书文件

[root@server ~]# openssl req -x509 -days 365 -key tlsweb.key -in tlsweb.csr >tlsweb.crt

5、修改ssl.conf配置文件

[root@server ~]# vim /etc/httpd/conf.d/ssl.conf
SSLCertificateFile /etc/pki/tls/certs/tlsweb.crt
SSLCertificateKeyFile /etc/pki/tls/private/tlsweb.key

6、把证书文件拷贝到ssl.conf配置文件里的对应路径下面

[root@server ~]# cp tlsweb.crt /etc/pki/tls/certs/

7、把秘钥文件拷贝到ssl.conf配置文件里的对应路径下面

[root@server ~]# cp tlsweb.key /etc/pki/tls/private/

8、使用浏览器访问

https://192.168.100.10

Linux——搭建Apache(httpd)服务器的更多相关文章

  1. CentOS6.5环境下搭建Apache httpd服务器

    前期准备: 1.CentOS6.5虚拟系统: 2.CentOS6.5 IP地址:192.168.2.99 3.虚拟系统能上外网 下面我们就开始配置: 第一步:安装 首先我们需要把Apache http ...

  2. Linux—搭建Apache(httpd)服务

    1.httpd简介? http是Apache超文本传输协议服务器的主程序.它是一个独立的后台进程,能够处理请求的子进程和线程. http常用用的两个版本是httpd-2.2和httpd-2.4 Cen ...

  3. 关于Apache (httpd)服务器防DDOS模块mod_evasive的使用说明

    关于Apache (httpd)服务器防DDOS模块mod_evasive的使用说明 1. mod_evasive 介绍: mod_evasive 是Apache(httpd)服务器的防DDOS的一个 ...

  4. Linux下编译,安装Apache httpd服务器

    环境:ubuntu 16.0.4 Apache官网下载Apache httpd压缩包:httpd-2.4.27.tar.gz,安装之前请确定安装了make工具,我安装的是GNU make 解压文件 s ...

  5. linux搭建apache服务并修改默认路径

    该篇文章主要讲解如何在linux服务器上搭建apache服务器,并修改指定的apache路径到自定义路径下 一:检查服务器上是否已安装apache,停止并卸载系统自带apache服务 命令为:rpm ...

  6. 【转】Linux下apache/httpd服务启动与停止

    apache服务,或者说httpd服务,如何启动,如何开机启动. 转来转去,找不到原文.. 操作系统环境:红帽5,具体如下:# uname -a Linux machine1 2.6.18-164.e ...

  7. WINDOWS代理服务器搭建 - Apache httpd

    1.检查电脑系统类型 检查电脑版本是为 32位操作系统 还是 64位操作系统 2.下载安装Apache Httpd 下载地址:https://www.apachehaus.com/cgi-bin/do ...

  8. linux 搭建apache 服务器

    1.查看apache服务器 /etc/init.d/httpd status 若没有,则使用yum  -y install httpd  安装软件 2.设置开机启动 chkconfig httpd o ...

  9. 【Linux】Apache Httpd 服务管理

    基本的操作方法: 本文假设你的apahce安装目录为/usr/local/apache2,这些方法适合任何情况 apahce启动命令: 推荐 [user@master1 ~]$  /usr/local ...

随机推荐

  1. Bert文本分类实践(二):魔改Bert,融合TextCNN的新思路

    写在前面 ​ 文本分类是nlp中一个非常重要的任务,也是非常适合入坑nlp的第一个完整项目.虽然文本分类看似简单,但里面的门道好多好多,博主水平有限,只能将平时用到的方法和trick在此做个记录和分享 ...

  2. 使用mobaXtrem显示CentOS图形

    安装环境 yum install -y xorg-x11-xauth xorg-x11-fonts-* xorg-x11-font-utils xorg-x11-fonts-Type1 \mesa-l ...

  3. FFT 的一些技巧

    三次变两次 FFT 我们发现: \[(F(x)+iG(x))^2=F(x)^2-G(x)^2+2iF(x)G(x) \] 也就是说,我们把 \(F(x)\) 作为实部,\(G(x)\) 作为虚部,那么 ...

  4. 洛谷2805 [NOI2009]植物大战僵尸 (拓扑排序+最小割)

    坚决抵制长题面的题目! 首先观察到这个题目中,我们会发现,我们对于原图中的保护关系(一个点右边的点对于这个点也算是保护) 相当于一种依赖. 那么不难看出这个题实际上是一个最大权闭合子图模型. 我们直接 ...

  5. SpringBoot-MVC自动配置原理

    SpringBoot对SpringMVC做了哪些配置,如何扩展,如何定制? 文档地址 :https://docs.spring.io/spring-boot/docs/2.2.5.RELEASE/re ...

  6. Spring Boot 整合 Apache Ignite

    关于Ignite的介绍,这边推荐三个链接进行学习了解. https://ignite.apache.org/,首选还是官网,不过是英文版,如果阅读比较吃力可以选择下方两个链接. https://www ...

  7. Java多线程编程实战指南 核心篇 读书笔记

    锁 volatile CAS final static 原子性保障 具备 具备 具备 不涉及 不涉及 可见性保障 具备 具备 不具备 不具备 具备① 有序性保证 具备 具备 不涉及 具备 具备② 上下 ...

  8. c语言中“ld返回值1退回状态”

    在c语言运行中我们经常会看到error:ld return 1 exit status的运行错误,其翻译为"ld返回值1退回状态".在生成程序时.有多个工具参与到步骤的运行中以创建 ...

  9. freemarker自定义指令

    最近项目中使用了spring boot搭建项目,使用spring security管理项目中的权限,使用freemarker作为视图层.为了将权限控制到按钮上,因此考虑直接使用spring secur ...

  10. 矩阵n次幂的计算

    1.归纳法 两大数学归纳法 题目一 2.递推关系 题目一 题目二 3.方阵 题目一 4.矩阵对角化(重点) 题目一 题目二 题目三 题目四 5.矩阵性质(综合) 题目一 题目二 对于副对角线: 题目三