Linux的Apache 服务

简介:

 一.apache的安装
yum install httpd -y                   安装服务
systemctl start httpd                 启动服务
systemctl stop firewalld           关闭防火墙
systemctl enable httpd            开机自动启动
systemctl disable firewalld     开机不启动防火墙

二.apache相关配置信息

1.apache的默认发布目录文件
/var/www/html/index.html

2.apache的配置文件
/etc/httpd/conf/httpd.conf
/etc/httpd/conf.d/*.conf

3.apache的默认端口  80

三. apache的基本配置 

1.修改默认发布文件

(1)vim /etc/httpd/conf/httpd.conf
164     DirectoryIndex westos.html index.html

wKioL1mOXiGjeGM1AAApSoKdMpc333.png

vim westos

hello ,westos!

默认优先读取写在前面的发布文件,westos.html文件损坏后,读取index.html文件

wKiom1mOXBvCj-6FAAAt-AqmjS8228.png

重启apache服务systemctl restart httpd,访问主页面为westos.html

wKioL1mOXBuDAnmVAABVy9bR758367.png

(2)删除westos发布页面,index成为默认发布文件

vim westos

hello ,world!

wKiom1mOXiHwGCXYAABjb2q_6Q0476.png

端口显示正常

wKioL1mOXiKQF37BAABsE_On0zo791.png

重启apache服务,访问主页面为index.html

wKioL1mOXiCBOhRKAABQabZ02CM798.png

2.修改默认发布目录

(1)当selinux是disable状态
vim /etc/httpd/conf/httpd.conf
120 DocumentRoot "/westos/html"     修改默认发布目录为/westos/html

<Directory "/westos/html">
        Require all granted                                  所有人能访问

</Directory>

wKioL1mOYDiDQXLGAAAY6cxeLDo114.png

wKioL1mOYDeBcxUnAABLrYEyYUs436.png

systemctl restart httpd


创建新的发布目录/westos/html

wKioL1mOYDfzp__BAABEf5EbExQ631.png

编写westos发布文件

wKiom1mOYDjR0Ip7AAAkJGScTwQ197.png

重启服务,访问为新建目录下的文件正常

wKioL1mOYDnxdfDOAABdo--ZWUA572.png


(2)当selinux是enforcing状态
vim /etc/httpd/conf/httpd.conf
120 DocumentRoot "/westos/html"      修改默认发布目录为/westos/html

<Directory "/westos/html">
        Require all granted                                   所有人能访问
</Directory>

wKioL1mOYDiDQXLGAAAY6cxeLDo114.png

wKioL1mOYDeBcxUnAABLrYEyYUs436.png

systemctl restart httpd


创建新的发布目录/westos/html

wKioL1mOYDfzp__BAABEf5EbExQ631.png

编写westos发布文件

wKiom1mOYDjR0Ip7AAAkJGScTwQ197.png


查看默认发布目录及新建目录的上下文,设置新建目录westos的上下文为httpd_sys_content_t

修改完成后,更新上下文 restorecon -RvvF /westos

wKiom1mOYDmTbPvgAAFXRazZVsg442.png

重启服务,访问为新建目录下的文件正常

wKioL1mOYDnxdfDOAABdo--ZWUA572.png

3.apache的访问控制
(1)设定ip的访问(其中Order 按顺序执行)
vim /etc/httpd/conf/httpd.conf
<Directory "/westos/html">                     允许所有人访问westos目录但是拒绝250主机
        Order Allow,Deny
        Allow from All
        Deny from 172.25.254.250
</Directory>

<Directory "/westos/html">                     只允许250主机访问westos目录
        Order Deny,Allow
        Allow from 172.25.254.250
        Deny from All    
</Directory>


(2)设定用户的访问
htpasswd -m /etc/httpd/accessuser admin     创建访问的用户认证文件      (-c create    -m 指定名称)

注意:第一个创建的用户需要加c ,以后创建的用户不需要加c,直接指定-m


创建访问用户admin     admin1 指定名称为authfile

wKioL1mOaADxVdAbAAByj8pN0zY509.png


配置认证配置

vim /etc/httpd/conf/httpd.conf
<Directory "/westos/html">
        AuthUserFile /etc/httpd/conf/authfile                                    用户认证文件
        AuthName "Please input your name and password !!"     用户认证提示信息
        AuthType basic                                                                       认证类型 基础认证
        Require valid-user                         认证用户,认证文件中所有用户都可以通过
        Require user admin                       只允许认证文件中admin用户访问
</Directory>

wKioL1mOaqHC7xa1AACQ_8egKXw123.png


将认证文件放到/etc/httpd/conf,重启服务

wKiom1mOaAHROwhbAAAtuwpvM9E287.png


再次访问172.25.254.128,需要输入认证帐号和密码

wKioL1mOaALRL-NxAAD-MLpedqk507.png

输入帐号密码后进入到访问页面

wKiom1mOaAOBO8Y2AAA6eK1q1Ow814.png
四.apache的虚拟主机 

1.定义
可以让我们的一台apache服务器在被访问不同域名的时候显示不同的主页

2.建立测试页

创建目录测试发布文件并将默认目录改为/var/www/html/

wKioL1mObPXRWLgSAAC7eEls154751.png


创建news.westos.com和sport.westos.com目录

wKiom1mObPfQCsIaAACSfjsPWz0780.png


创建news下的发布文件

wKiom1mObPax4A1JAAAiyAHWh2w595.png


创建sports下的发布文件

wKioL1mObPaCgLVeAAArUif9z6w269.png


3.配置

cd 到/etc/httpd/conf.d/


(1)新建未指定域名的访问配置文件

vim /etc/httpd/conf.d/default.conf       未指定域名的访问都访问default
<Virtualhost    _default_:80>              虚拟主机开启的端口
    DocumentRoot "/var/www/html"     虚拟主机的默认发布目录
    CustomLog "logs/default.log" combined     虚拟主机日志
</Virtualhost>

wKioL1mObPeQweweAAA2pwigz8g476.png

(2)新建news.westos.com域名的访问文件

vim /etc/httpd/conf.d/news.conf               指定域名news.westos.com的访问到指定默认发布目录中
<Virtualhost *:80>
    ServerName  news.westos.com 
    DocumentRoot   /var/www/westos/news.westos.com 
    CustomLog "logs/news.log" combined
</Virtualhost>
<Directory "/var/www/westos/news.westos.com">     默认发布目录的访问授权
    Require all granted
</Directory>

wKioL1mObPiBaiT_AACuYYbBFuY494.png

(3)新建sports.westos.com域名的访问文件

vim /etc/httpd/conf.d/sports.conf               指定域名sports.westos.com的访问到指定默认发布目录中
<Virtualhost *:80>
    ServerName  sports.westos.com 
    DocumentRoot   /var/www/westos/sports.westos.com 
    CustomLog "logs/sports.log" combined
</Virtualhost>
<Directory "/var/www/westos/sports.westos.com">     默认发布目录的访问授权
    Require all granted
</Directory>

wKioL1mObPjjQ1TQAAC0PlpGNsw654.png

wKiom1mObPnRP308AABcnH5U9Lg583.png


4.测试
在172.25.254.28上进行测试

在浏览器所在主机中配置本地解析文件 vim /etc/hosts
172.25.254.128    www.westos.com news.westos.com sports.westos.com

wKioL1mOc42hKTM9AABFhC-N_sY495.png


在浏览器打开www.westos.com,访问到默认文件上

wKioL1mOc4yziVNWAAAx0sGDGAM340.png

在浏览器打开news.westos.com,访问到news文件上

wKiom1mOc42gh9b_AAAz8dneDTM522.png

在浏览器打开sports.westos.com,访问到sports文件上

wKiom1mOc47BR7HbAAA4H33tvqM070.png

五.html语言默认支持

1.php语言
yum install php -y              安装php功能模块

wKioL1mRkxygH_xnAAB0spgNSWI070.png

vim index.php

wKiom1mRkxywdwO7AAAvXiQd5v8533.png

编辑配置文件,index.php优先

wKioL1mRkxqwcj0bAABUVP5xg44735.png

systemctl restart httpd  重启apache服务


在浏览器输入172.25.254.128/index.php访问php成功

wKiom1mRkxuRD32dAAFaQ4Vc2PI329.png



2.cgi语言

编写cgi发布文件

wKioL1mRkx2hkpKNAABIxZJmKgw529.png

修改 /etc/httpd/conf.d/default.conf 默认文件,给index.cgi加上可执行权限

wKioL1mRkx_w-RiaAAC9oJ0VnII484.png


wKiom1mRkx6gTuNsAACMRQpM-C4023.png

在SElinux开启的情况下修改/var/www/html/cgi的上下文

wKiom1mRlgCwD5UwAAAsCEZz6as004.png

wKioL1mRlgCBMIOeAAC2RtKleD4773.png


systemctl restart httpd 重启apache服务


在浏览器输入172.25.254.128/cgi/index.cgi访问cgi成功,

wKioL1mRl32StjzCAABN9bnGIVw789.png


六.网页加密访问https

1.https定义
HTTPS(全称:Hyper Text Transfer 
Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传

输。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。这个系统的最初研发由网景公司(Netscape)进行,并内置于其浏览器Netscape Navigator中,提供了身份验证与加密通讯方法。现在它被广泛用于万维网上安全敏感的通讯,例如交易支付方面。


2.签名证书

wKioL1mRrPKSz4M_AAmTjpRhv4k995.png


3.配置

yum install mod_ssl -y   安装ssl模块

wKioL1mRqXvgYI5iAAAn_4iKmbo618.png

yum install crypto-utils -y 安装加密工具

wKioL1mRqX7CxTidAAA2hyhXL3k248.png

安装完成后进入到浏览器输入https://172.25.254.128

wKioL1mRqXziIrkMAAFYdkfrFao094.png

点击  I Undeerstand the Risks ,点击Get Certificate

wKiom1mRqX3iwOPWAAEQQwqOttA336.png

点击View Certificate

wKioL1mRqX6zdwdrAAE5RRWadeY857.png


上图显示的证书是一个默认的认证

下面我们来介绍以下做一个自己的认证证书的步骤


cd /etc/httpd/conf.d

genkey www.westos.com 生成证书,Next

wKioL1mRqYGTH7hsAADc0oD3aTU267.png

密钥字节大小,选择加密1024,速度快的

wKiom1mRqYLzjcEhAAD_WhHKBe4518.png

等待

wKiom1mRqX_BITYPAACM1M0uwL8904.png

生成密码(敲键盘或移动鼠标生成)

wKiom1mRqX_A_FoWAACSbDkZAvE991.png

选择不向CA发送请求

wKiom1mRrGLzB7RGAABrhxIBmg0028.png

不加密密钥

wKioL1mRr9KSb5kcAAJXhgdZ2gA746.png

设置证书

wKioL1mRqYDQNjw1AAFFHtmUGeE770.png


完成后输出一个westos的证书和一个westos的密钥


wKiom1mRrGKT9uvZAACT17IHv-8217.png


编辑vim /etc/httpd/conf/httpd.conf配置文件,将自己生成的证书和密钥添加到配置文件当中

wKiom1mRqYCzsBoYAAFfvlkVR1c123.png


添加完整后重启服务

wKioL1mRrGTTKpTQAABdfkn0dPE586.png

检查https使用端口443,确定防火墙可以通过443端口

wKiom1mRrGWjT_ZTAABRjHD7bY0632.png


4.测试

再次进入浏览器测试时,检查证书为自己设定的www.westos.com

wKioL1mRrGODIV7gAAFDaD65iqg060.png



七.网页重写实现自动访问https

1.创建新的发布文件内容为login page

wKiom1mRszrQPkgeAAC8MbOvY4I702.png

wKioL1mRszmi89r_AAAxl1WftXk571.png

2.编辑 /etc/httpd/conf.d/default.conf默认配置文件

wKioL1mRszqTeEnXAAEyQ0sTNpw798.png


配置解释

SSLEngine on     开始https功能
        SSLCertificateFile /etc/pki/tls/certs/www.westos.com.crt    证书
        SSLCertificateKeyFile /etc/pki/tls/private/westos.com.key  密钥


<Virtualhost *:80>   网页重写实现自动访问https访,问80端口转向443端口

^(/.*)   客户主机在地址栏中写入的所有字符,不包含换行符

https://    定向成为的访问协议    

%{HTTP_HOST}    客户请求主机 

$1        $1的值就表示^(/.*)$的值

[redirect=301]    临时重定向 302永久重定向 


systemctl restart httpd 重启服务


3.测试
(1)在真机里中添加解析实验
vim /etc/hosts
172.25.254.128     login.westos.com

访问http://login.westos.com 会自动跳转到https://login.westos.com 实现网页数据加密传输

wKiom1mRszvjUv1_AABFBM0xugQ481.png


wKioL1mRszyA7FFoAAA8EjVin9Y734.png

(2)在本机server 172.25.254.128里中添加解析实验
vim /etc/hosts
172.25.254.128     login.westos.com

访问http://login.westos.com 会自动跳转到https://login.westos.com 实现网页数据加密传输

wKioL1mRuQPDebqRAACrUjx68-E966.png

wKiom1mRuQOjdVxFAABQsCF4gls779.png


八.利用Linux+mysq+php+apache搭建简单论坛

1.安装环境

    安装mariadb数据库

    安装php功能插件

    安装apache服务

    安装php-mysql功能插件

 

2.架设过程  

解压Discuz_x3.2_SC_UTF8.zip论坛模版

wKiom1mRw4TiC_GAAABkHpUcrno355.png


解压论坛模版,查看里面的readme.txt文档

wKiom1mRw7eAmSMgAABSaXv1O5U950.png


安装readme.txt文档要求修改/upload/data/及/upload/config/目录下的所有文件权限为777

wKioL1mRw7fi-dW4AAAxhw2yXoc514.png


将SElinux调整为警告模式,修改/upload/uc_*及目录下的所有文件权限为777

wKioL1mRw7ijPXMeAAAqxXSQbMM727.png


重启服务 systemctl restart httpd

wKiom1mRw7ii3aKgAAAX25OsiuQ507.png


3.安装向导

配置好服务,在浏览器输入172.25.254.128/upload/install进入安装向导


wKiom1mRw4GjMPZZAAKjQM05yVc046.png

wKiom1mRw4KC58AVAAEGqhfxJ1M977.png

wKioL1mRw4KApWqLAADxAeeNo80742.png

wKioL1mRw4PDJccpAADIN5rlHEE300.png



wKiom1mRw7nBvkRWAADQVuGhNt4541.png

wKioL1mRw7rhINVBAAFrtPSDZ_s826.png

wKiom1mRw7qhe9HSAAEImqekTWg332.png

论坛架设完成,可以用root帐号登陆论坛进行建设。






      本文转自一百个小排 51CTO博客,原文链接:http://blog.51cto.com/anfishr/1955706,如需转载请自行联系原作者





相关实践学习
基于函数计算快速搭建Hexo博客系统
本场景介绍如何使用阿里云函数计算服务命令行工具快速搭建一个Hexo博客。
相关文章
|
1月前
|
Linux Shell Windows
通过Linux挂载Windows端NFS服务实现板端Linux传输文件到PC
通过Linux挂载Windows端NFS服务实现板端Linux传输文件到PC
|
1月前
|
运维 Linux Apache
Linux Apache服务详解——Apache虚拟目录与禁止显示目录列表实战
Linux Apache服务详解——Apache虚拟目录与禁止显示目录列表实战
22 2
|
10天前
|
存储 关系型数据库 MySQL
Linux服务详解
Linux服务详解
25 0
|
11天前
|
网络协议 Ubuntu Linux
Linux 下 TFTP 服务搭建及 U-Boot 中使用 tftp 命令实现文件下载
Linux 下 TFTP 服务搭建及 U-Boot 中使用 tftp 命令实现文件下载
|
18天前
|
监控 Java Linux
linux下监控java进程 实现自动重启服务
linux下监控java进程 实现自动重启服务
|
21天前
|
关系型数据库 MySQL Linux
linux特定服务日志
Linux系统的服务日志在`/var/log`目录下,如系统日志(`/var/log/syslog`或`/var/log/messages`)、认证日志(`/var/log/auth.log`)、SSH日志(`/var/log/auth.log`或`/var/log/secure`)。Web服务器(Apache和Nginx)的访问和错误日志、MySQL错误日志、Postfix及Dovecot邮件服务器日志也在此处。日志位置可能因发行版和服务配置而异,不确定时可查服务配置或用`grep`搜索。使用`logrotate`可管理日志文件大小。
20 6
|
23天前
|
Ubuntu Linux Apache
linux下apache2更换目录
linux下apache2更换目录
|
28天前
|
Linux
linux中服务管理
在Linux服务管理中,从传统的System V init到Upstart,再到广泛采用的systemd,管理方式不断发展。systemd以其强大的功能和依赖解决成为现代Linux的核心。`systemctl`是管理服务的关键命令,如启动(`start`)、停止(`stop`)、重启(`restart`)服务及设置开机启动(`enable`)或取消(`disable`)。了解和服务管理,特别是systemd和`systemctl`的使用,对系统管理员至关重要。其他如xinetd用于控制网络服务,而特定环境下有OpenRC等工具。
17 2
|
1月前
|
Shell Linux C语言
【Shell 命令集合 系统设置 】Linux 管理系统服务 ntsysv命令 使用指南
【Shell 命令集合 系统设置 】Linux 管理系统服务 ntsysv命令 使用指南
28 0
|
1月前
|
存储 Shell Linux
【Shell 命令集合 系统设置 】Linux 管理系统服务 chkconfig命令 使用指南
【Shell 命令集合 系统设置 】Linux 管理系统服务 chkconfig命令 使用指南
29 0