Linux——搭建Apache(httpd)服务器
一、基本概念
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)服务器的更多相关文章
- CentOS6.5环境下搭建Apache httpd服务器
前期准备: 1.CentOS6.5虚拟系统: 2.CentOS6.5 IP地址:192.168.2.99 3.虚拟系统能上外网 下面我们就开始配置: 第一步:安装 首先我们需要把Apache http ...
- Linux—搭建Apache(httpd)服务
1.httpd简介? http是Apache超文本传输协议服务器的主程序.它是一个独立的后台进程,能够处理请求的子进程和线程. http常用用的两个版本是httpd-2.2和httpd-2.4 Cen ...
- 关于Apache (httpd)服务器防DDOS模块mod_evasive的使用说明
关于Apache (httpd)服务器防DDOS模块mod_evasive的使用说明 1. mod_evasive 介绍: mod_evasive 是Apache(httpd)服务器的防DDOS的一个 ...
- Linux下编译,安装Apache httpd服务器
环境:ubuntu 16.0.4 Apache官网下载Apache httpd压缩包:httpd-2.4.27.tar.gz,安装之前请确定安装了make工具,我安装的是GNU make 解压文件 s ...
- linux搭建apache服务并修改默认路径
该篇文章主要讲解如何在linux服务器上搭建apache服务器,并修改指定的apache路径到自定义路径下 一:检查服务器上是否已安装apache,停止并卸载系统自带apache服务 命令为:rpm ...
- 【转】Linux下apache/httpd服务启动与停止
apache服务,或者说httpd服务,如何启动,如何开机启动. 转来转去,找不到原文.. 操作系统环境:红帽5,具体如下:# uname -a Linux machine1 2.6.18-164.e ...
- WINDOWS代理服务器搭建 - Apache httpd
1.检查电脑系统类型 检查电脑版本是为 32位操作系统 还是 64位操作系统 2.下载安装Apache Httpd 下载地址:https://www.apachehaus.com/cgi-bin/do ...
- linux 搭建apache 服务器
1.查看apache服务器 /etc/init.d/httpd status 若没有,则使用yum -y install httpd 安装软件 2.设置开机启动 chkconfig httpd o ...
- 【Linux】Apache Httpd 服务管理
基本的操作方法: 本文假设你的apahce安装目录为/usr/local/apache2,这些方法适合任何情况 apahce启动命令: 推荐 [user@master1 ~]$ /usr/local ...
随机推荐
- IO之字节流
什么是字节流 像操作 图片 视频 mp4 文档(里面可能有图片) 等等 注意点 必须使用try catch finally 来包 不用throws(流是要关闭的 如果中途抛错 throws 无法将流关 ...
- 洛谷3703 SDOI2017树点涂色(LCT+线段树+dfs序)
又一道好题啊qwqqqq 一开始看这个题,还以为是一个树剖的什么毒瘤题目 (不过的确貌似可以用树剖啊) qwq这真是一道\(LCT\)维护颜色的好题 首先,我们来一个一个操作的考虑. 对于操作\(1\ ...
- luogu3888 GDOI2014拯救莫里斯 (状压dp)
题目描述 莫莉斯·乔是圣域里一个叱咤风云的人物,他凭借着自身超强的经济头脑,牢牢控制了圣域的石油市场. 圣域的地图可以看成是一个n*m的矩阵.每个整数坐标点(x , y)表示一座城市\(( 1\le ...
- Mybatis一级缓存的锅
问题背景 项目开发中有一个树形数据结构,不像经典组织结构树.菜单级别树,我们这个树形结构是用户后期手动建立起来的关系.因此数据库表结构为两张表:数据记录表.记录关系表,通过业务规则限制,形成的树形结构 ...
- Linux tomcat 部署war包
将打包好的 war包放在 webapps的文件夹下 在tomcat/conf 文件夹下的 server.xml 里填加 <Context path="" docBase=&q ...
- 电脑(windows)端口被占用如何解决
问题: 今天在启动项目的时候,控制台提示"8080端口被占用",此时我并没有启动其他项目.那么8080端口被占用解决方法如下: 1.点击左下角"开始",在搜索框 ...
- 请问:c语言中d=1/3*3.0;与d=1.0/3*3;d=?有什么区别
请问:c语言中d=1/33.0;与d=1.0/33;d=?有什么区别 d=1/33.0; 这时d=0,d=(1/3)3.0,这里1是整形,1/3也是整形,等于0,所以03.0=0 d=1.0/33; ...
- DOM的本质 和 方法
<JavaScript DOM编程艺术> 读书笔记 一句话解释DOM: DOM,即我们所看到的网页,其在浏览器背后的文档结构(树状分支结构),涵盖了每一个节点(称之为对象).可以通过JS等 ...
- WEB安全指南
说明:本文是Mozilla Web应用部署文档,对运维或者后端开发团队的部署行为进行指导.该部署安全规范内容充实,对于部署有很大意义.同时也涉及到了许多web前端应用安全的基本知识,如CSP, TOK ...
- 【数据结构与算法Python版学习笔记】图——最短路径问题、最小生成树
最短路径问题 概念 可以通过"traceroute"命令来跟踪信息传送的路径: traceroute www.lib.pku.edu.cn 可以将互联网路由器体系表示为一个带权边的 ...