linux系统的Apache服务

1.什么是apache

Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。

网站架构lamp ===linux apahce+mysql+php        
curl -I www.baidu.com

2.搭建apache:
配置静态网络,搭建yum源

linux系统的Apache服务_第1张图片
下载http服务           yum install httpd -y


#http服务的man手册无法用man 5 httpd.cof打开,需在yum源上下载,在网页中输入本机IP/manual打开
下载apache的man手册     yum install httpd-manual -y


开启http服务        systemctl start httpd
将http服务设置为开机自启    systemctl enable httpd


设置防火墙        systemctl start firewalld
             firewall-cmd --list-all
            firewall-cmd --permanent --add-service=http
            firewall-cmd --reload

linux系统的Apache服务_第2张图片
添加apache默认发布文件中内容cd /var/www/html
            vim index.html

             

内容


测试  在网页中输入    http://本机IP
            http://本机IP/manual

linux系统的Apache服务_第3张图片

 

linux系统的Apache服务_第4张图片

 

3.apache的基础信息:
主配置目录    /etc/httpd/conf
主配置文件    /etc/httpd/conf/httpd.conf
默认发布目录    /etc/www/html
默认发布文件    index.html
默认端口        80
默认安全上下文    http_sys_content_t

 

4.修改apache的默认信息:
修改默认端口:
进入主配置文件        vim /etc/httpd/conf/httpd.conf
                41  Listen 8080

重启http服务        systemctl restart httpd

查看对应端口号是否开启        netstat -antlupe | grep 8080


防火墙中开启对应端口    firewall-cmd --list-all
            firewall-cmd --permanent --add-port=8080/tcp
            firewall-cmd --reload
            firewall-cmd --list-all

linux系统的Apache服务_第5张图片

linux系统的Apache服务_第6张图片

 

修改默认发布文件:
#此发布文件可以指定多个,访问时将有顺序的访问
进入主配置文件        touch /var/www/html/文件名.html   

                   vim /var/www/html/文件名.html 

                   vim /etc/httpd/conf/httpd.conf
                    164 DircetoryIndex 文件名.html
          


重启http服务        systemctl restart httpd

linux系统的Apache服务_第7张图片

 

修改默认发布目录:
进入主配置文件        mkdir /目录名/html -p

                        vim /目录名/html/index.html

                        vim /etc/httpd/conf/httpd.conf
                         119 DocumentRoot "/目录名/html"
                              
                               Require all granted
                              

linux系统的Apache服务_第8张图片
重启http服务        systemctl restart httpd

linux系统的Apache服务_第9张图片
#特定服务的安全上下文规定只能访问指定的配置文件
解决方法:方案一:selinux设置为disabled
                 方案二:修改安全上下文


##########网络不通时怎么办############(高级网络配置部分)
查看网络桥接    brictl show
查看网络配置文件    ls /etc/sysconfig/network-scripts/
修改配置文件    vim ifcfg-enp0s25
        DEVICE=enp0s25
        BOOTPROTO=none
        ONBOOT=yes
        bridge=br0
##################################################

五.访问控制:
特殊IP可以访问:
mkdir /var/www/html/文件名
vim /var/www/html/文件名/index.html
vim /etc/httpd/conf/httpd.conf

1.所有的除IP1以外都可以访问:
120
    Order Allow,Deny          
  ##读取顺序,后读取的语句会覆盖前一句
    Allow from All
    Deny from IP1
        

linux系统的Apache服务_第10张图片

重启http服务              systemctl restart httpd

172.25.152.10访问结果linux系统的Apache服务_第11张图片

172.25.152.250访问结果linux系统的Apache服务_第12张图片

 

2.除IP2以外都不能访问:
120
    Order Deny,Allow
    Allow from IP2
    Deny from All
   

linux系统的Apache服务_第13张图片

重启http服务              systemctl restart httpd

172.25.152.10访问结果linux系统的Apache服务_第14张图片

172.25.152.250访问结果linux系统的Apache服务_第15张图片

 

3.输入密码才可以访问:
cd /etc/httpd/conf
实现用户验证    htpasswd -cm 文件名 用户名
 -cm 覆盖原文件
 -m 不覆盖原文件

cat 文件名
vim /etc/httpd/conf/httpd.conf

linux系统的Apache服务_第16张图片
只有用户名1才可以输入密码访问
120
        AuthUserFile    /etc/httpd/conf/文件名         
##读取保存用户名和密码的文件
        AuthType        basic               ##访问类型为基础密码访问
        AuthName        "Please input your name and password!"        ##用户访问时所能看到的提示语句
        Require user    用户名1                       ##允许输入密码进行访问的用户名
       
#此访问只有指定用户输入正确密码后才可以访问

linux系统的Apache服务_第17张图片

重启http服务              systemctl restart httpd

用户不为用户1时

linux系统的Apache服务_第18张图片

linux系统的Apache服务_第19张图片

用户为用户1且密码正确时

linux系统的Apache服务_第20张图片

linux系统的Apache服务_第21张图片

 

所有有效用户都可以输入密码访问
120
        AuthUserFile    /etc/httpd/conf/文件名
        AuthType        basic
        AuthName        "Please input your name and password!"
        Require         valid-user
       

linux系统的Apache服务_第22张图片

重启http服务              systemctl restart httpd

此时输入用户2的姓名和密码也可以登陆网页了

linux系统的Apache服务_第23张图片

linux系统的Apache服务_第24张图片

 

六.apache的虚拟主机:

(参考百度,同一个IP地址访问不同的域名可以访问不同的界面)
配置本地域名解析文件    vim /etc/hosts
##在客户端(使用浏览器登陆的主机)配置简单的本地域名解析文件
            5 IP www.westos.com news.westos.com music.westos.com login.westos


            mkdir /var/www/virtual
##apache的子配置目录/etc/httpd/conf.d/
            cd /etc/httpd/conf.d/
修改默认虚拟主机的配置文件  vim a_default.conf        ##文件名以字母顺序排序,以a开头保证第一个访问此文件
linux系统的Apache服务_第25张图片         

                            ##默认访问80端口
             DocumentRoot /var/www/html                 ##此时访问的发布目录
            CustomLog logs/default.log combined                   ##此时此文件为混合型日志
            

linux系统的Apache服务_第26张图片
修改指定名称的虚拟主机的配置文件1mkdir -p /var/www/virtual/news/html
            vim /var/www/virtual/news/html/index.html
            vim news.conf

            
            ServerName news.westos.com                  
  ##访问的域名
            DocumentRoot /var/www/virtual/news/html
            CustomLog logs/news.log combined
            
            
                  ##允许所有人访问
                Require all granted
            

linux系统的Apache服务_第27张图片
修改指定名称的虚拟主机的配置文件2mkdir -p /var/www/virtual/music/html
            vim /var/www/virtual/music/html/index.html
            vim music.conf


            
            ServerName music.westos.com
            DocumentRoot /var/www/virtual/music/html
            CustomLog logs/music.log combined
            

            
             Require all granted
            

linux系统的Apache服务_第28张图片
重启http服务        systemctl restart httpd

linux系统的Apache服务_第29张图片

 

七.修改apache为支持多语言:
#apache默认支持的语言:html
1.支持php:
下载php服务    yum install php -y
编辑php默认发布文件    vim /var/www/html/index.php

linux系统的Apache服务_第30张图片


                         2      phpinfo()
            3  ?>

linux系统的Apache服务_第31张图片
重启http服务  systemctl restart httpd 

linux系统的Apache服务_第32张图片

 

2.支持cgi(多用于用户注册):
mkdir /var/www/html/cgi
编辑cgi默认发布文件    vim /var/www/html/cgi/index.cgi


            1  #!/usr/bin/perl
            2  print "Content-type: text/html\n\n";
            3  print `date`;


修改发布文件权限        chmod 775 /var/www/html/cgi/index.cgi
执行index.cgi的内容        ./index.cgi

linux系统的Apache服务_第33张图片

此时无法识别cgi,网页上出现的是裸露的代码而不是要显示的内容:

linux系统的Apache服务_第34张图片

修改默认虚拟主机的配置文件     vim a_default.conf


            5 
            6        Options +ExecCGI
            7        AddHandler cgi-script .cgi
            8 

linux系统的Apache服务_第35张图片
重启http服务    systemctl restart httpd        

linux系统的Apache服务_第36张图片

 

八.制作apache访问证书:
1.制作apache访问证书:
下载mod-ssl协议    yum install mod_ssl -y
##mod-ssl是一种以openssl的工具箱为基础,专门为apache webserver提供密码保护,ssl(安全套阶层)和tls(传输套件层安全)的协议

linux系统的Apache服务_第37张图片
下载软件包分发  yum install crypto-utils -y
##crypto-utils提供纯Java的加密API,用来简化公私钥和证书存储、对称和非对称加密方法的封装

linux系统的Apache服务_第38张图片

生成自签名证书及其关联密钥  genkey www.westos.com


Next >(选择密钥大小)1024 ,next>(给CA发送证书)No >(apache添加密钥)Next >CN,shannxi,xi'an,westos,linux >(生成密钥时须在虚拟机上随意敲击键盘或任意移动鼠标)
##密钥较大安全性较好但是生成时间较长

linux系统的Apache服务_第39张图片

linux系统的Apache服务_第40张图片

linux系统的Apache服务_第41张图片

linux系统的Apache服务_第42张图片

linux系统的Apache服务_第43张图片

linux系统的Apache服务_第44张图片

vim /etc/httpd/conf.d/ssl.conf

101  SSLCertificateFile 证书地址
109  SSLCertificateKeyFile  钥匙地址

linux系统的Apache服务_第45张图片
重启网络  systemctl restart httpd

 

 

2.设置网页自动调转:
mkdir -p /var/www/virtual/login/html
vim /var/www/virtual/login/html/index.html


cp /etc/httpd/conf.d/news.conf /etc/httpd/conf.d/login.conf
vim /etc/httpd/conf.d/login.conf


1
2         ServerName login.westos.com
3         DocumentRoot /var/www/virtual/login/html
4         CustomLog logs/login.log combined
5         SSLEngine on
6         SSLCertificateFile 证书地址
7         SSLCertificateKeyFile 密钥地址
8

9
10        Require all granted
11

12                
 ##设置访问80端口时自动调转到443端口所访问页面(网页重启)
13        ServerName login.westos.com
14        RewriteEngine On
15        RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1 [redirect=301]
16     
      
## ^(/.*)        $客户主机在浏览器中输入的所有字符
## https://    强制客户加密访问
## $1        表示 ^(/.*) 的值
## [redirect=301]    转换时的临时重写,若值为302表示永久转换

linux系统的Apache服务_第46张图片

 

 

九.搭建简易论坛:
下载数据库    yum install mariadb -y
作数据库安全初始化        mysql_secure_installation
下载论坛压缩包        cd /var/www/html
        lftp 172.25.254.250
        cd /pub/
        get Discuz_x3.2_SC_UTF8.zip

解压压缩包unzip Discuz_x3.2_SC_UTF8.zip
检测  网页查询 172.25.254.122/upload
依据网页提示修改对应文件权限
下载php和mysql对应转换服务        yum install php-mysql -y
重启http服务    systemct restart httpd
根据网页提示进行安装

 

 

你可能感兴趣的:(linux系统的Apache服务)