必威体育Betway必威体育官网
当前位置:首页 > IT技术

Apache服务配置

时间:2019-06-29 21:42:14来源:IT技术作者:seo实验室小编阅读:70次「手机版」
 

apache 配置

ApaC++he的简介:

 Apache是企业中常用的web服务,用来提供HTTP://(超文本传输协议)。Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。同时Apache音译为阿帕奇,是北美印第安人的一个部落,叫阿帕奇族,在美国的西南部。也是一个基金会的名称、一种武装直升机等等。

Apache主要特点:

1、开放源代码、跨平台应用

2、支持多种网页编程语言

3、模块化设计 、运行稳定、良好的安全性

Apache的基础信息:

主配置目录:                         /etc/httpd/conf

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

子配置目录:                         /etc/httpd/conf.d/

子配置文件:                         /etc/httpd/conf.d/*.conf

默认发布目录:                      /var/www/HTML

默认发布文件:                      index.html

默认端口: 80

默认安全上下文:                   httpd_sys_content_t

程序开启默认用户:                apache

apache日志:                        /etc/httpd/logs/*

1. Apache的基本操作

rpm -e httpd php php-mysql                    ##还原环境

rm -fr /var/www/

yum install httpd -y            #安装阿帕启

systemctl start httpd           #开启阿帕启

操作1:

netstat -antlup | grep 80                        #查看端口     

netstat -antlup | grep  httpd

##说明阿帕奇的默认端口为80    

操作2:

cd /var/www/html                      #进入阿帕启的默认目录

vim index.html                            #编辑阿帕启的默认发布文件

################

<h1>hello  world  !!!</h1>          #<h1>   </h1>  表示字体

systemctl stop firewalld               #必须关闭火墙,否则测试不到任何效果

测试:

在firefox里输入172.25.254.230  可查看到默认发布目录里的文件里的内容  

##说明阿帕奇的默认发布目录为/var/www/html  默认发布文件为index.html

实验1:(更改默认端口)

实验:

netstat -antlup | grep  httpd

vim /etc/httpd/conf/httpd.conf    #编写阿帕启的主配置文件   

############

systemctl restart httpd

netstat -antlup | grep  httpd

注意:如果重启时间很长就 点击view Desktop --> sendkey -->  ctrl+Alt+F6 --> 敲键盘 生成字符

测试:

此时在firefox里输入172.25.254.230 无法查看默认发布文件里的内容

必须输入  172.25.254.130:8080/   才能查看到,因为阿帕奇的默认端口为80

而此时阿帕奇的端口已经被更改为8080

实验2:

(1)更改默认发布目录:

实验:

mkdir /westos/html

cd /westos/html

vim index.html

######

你好

vim /etc/httpd/conf/httpd.conf     #编写阿帕启的主配置文件

##################

更改:

42 Listen 80      #改回默认端口

注释:

119 #DocumentRoot "/var/www/html"    

添加:

120 DocumentRoot "/westos/html"      #更改阿帕启的默认发布目录

121 <Directory "/westos">                   ##授权

122          require all granted

123 </Directory>

systemctl restart httpd

测试:

在firefox里输入172.25.254.130 可查看到/westos/html目录下index.html文件里的内容

(2)更改默认发布文件:

pwd

vim test.html

#####

test hello

vim /etc/httpd/conf/httpd.conf

#############

119 #DocumentRoot "/var/www/html"

120 DocumentRoot "/westos/html"

121 <Directory "/westos">

122              require all granted

123  #添加   DirectoryIndex test.html index.html   #排在前面的优先级高

124 </Directory>

systemctl restart httpd

测试:

在firefox里输入172.25.254.130 可查看到/westos/html目录下test.html文件里的内容,因为test.html的优先级高于index.html 所以默认先访问test.html

2.两种访问控制

(1)基于ip的访问控制:

实验1(黑名单)

cd /var/www/html/

ls

mkdir westos

ls

cd westos/

ls

vim index.html

#####

westos linux  

vim /etc/httpd/conf/httpd.conf

###########

注释

120 DocumentRoot "/westos/html"

121 <Directory "/westos">

122             require all granted

123             DirectoryIndex test.html     

124 </Directory>

添加                                                      

DocumentRoot "/var/www/html/westos"    #更改默认发布目录

<Directory "/var/www/html/westos">

order Allow,Deny                            #Order表示顺序,先记录Allow再记录Deny

Allow from  All                                #允许所有人访问

Deny from 172.25.254.230               #禁止230访问,相当于黑名单

</Directory>

systemctl restart httpd

测试:

在firefox里  输入172.25.254.230不能访问,输入其他ip均可访问到westos文件里的内容

实验2(白名单)

vim /etc/httpd/conf/httpd.conf

###########

更改

DocumentRoot "/var/www/html/westos"

<Directory "/var/www/html/westos">

  Order Deny,Allow                   #先记录Deny,再记录Allow

  Deny from All                         #禁止所有人访问

  Allow from  172.25.254.230     #允许230访问,相当于白名单

</Directory>

systemctl restart httpd

测试:

在firefox里 只有输入172.25.254.230才能访问访问到westos文件里的内容,输入其他ip均可不能访问

(2)基于用户的访问控制: 

实验:

cd /etc/httpd/

htpasswd -cm apacheuser joe    #建立joe用户

cat apacheuser

vim /etc/httpd/conf/httpd.conf

#################

systemctl restart httpd

测试:

在firefox里输入  http://172.25.254.130/westos/

用户密码登陆成功后便可以查看到 westos 文件中的内容

3.Apache的虚拟主机配置

##用一个ip发布多个测试节点,使不同的域名访问不同的文件

实验:

虚拟机中:

vim /etc/httpd/conf/httpd.conf

############

取消注释

119 DocumentRoot "/var/www/html"              ##还原环境

注释基于ip访问控制的所有操作

cd /etc/httpd

ls

cd conf.d/

ls

vim default.conf

##########

ls /var/www/

mkdir /var/www/virtual/westos.com/music -p

vim /var/www/virtual/westos.com/music/index.html

##############

<h1>music'hello</h1>

mkdir /var/www/virtual/westos.com/news -p

vim /var/www/virtual/westos.com/news/index.html

#################

<h1>news' hello</h1>

vim news.conf

################

cp news.conf   music.conf

vim music.conf

#################

<h1>music'hello</h1>

在真机中

su -

vim /etc/hosts

##############

测试:

在真机的firefox里 输入www.westos.com  出现hello word!!!

输入news.westos.com  出现 news' hello

输入music.westos.com  出现 music'hello

3.证书的制作,并指定证书

实验:

yum install mod_ssl -y

yum install crypto-utils -y

genkey www.westos.com

ls

vim ssl.conf

############

注释:   100 #SSLCertificateFile /etc/pki/tls/certs/localhost.crt

添加:   101  SSLCertificateFile /etc/pki/tls/certs/www.westos.com.crt

注释:   108 #SSLCertificateKeyFile /etc/pki/tls/private/localhost.key

添加:   109  SSLCertificateKeyFile /etc/pki/tls/private/www.westos.com.key

systemctl restart httpd      #必须重启,否则测试会出现问题

测试:

在firefox里输入https://www.westos.com/

会进入下载证书界面,下载好后便可查看到自己的证书

4.构建虚拟WEB主机(http--->https)

实验:

cd /etc/httpd/conf.d/

ls

cp news.conf login.conf

vim login.conf

##############

修改

<VirtualHost *:443>

ServerName login.westos.com

DocumentRoot "/var/www/virtual/westos.com/login/"

CustomLog "logs/login.log" combined

SSLEngine on

SSLCertificateFile /etc/pki/tls/certs/www.westos.com.crt

SSLCertificateKeyFile /etc/pki/tls/private/www.westos.com.key

</VirtualHost>      

添加

<Directory "/var/www/virtual/westos.com/login/">        #给权限

  Require all granted

</Directory>

<VirtualHost *:80>                                            #自动转换为https

ServerName login.westos.com

rewriteEngine on

RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1 [redirect=301]

</VirtualHost>

#     ^(/.*)$   表示客户端在firefox输入的所有字符

#    https://  表示自动转换为https(临时转换:只在访问login时做转换)

#   %{HTTP_HOST}$1 [redirect=301]  表示客户端在firefox输入的除http//:以外的所有字符

                                         

systemctl restart httpd

mkdir /var/www/virtual/westos.com/login/ -p

vim /var/www/virtual/westos.com/login/index.html

#################

<h1>login'hello</h1>

测试:

在firefox里输入http://login.westos.com 或者 login.westos.com

会自动转换为https:// 并且会显示文件的内容login'hello

注意:如果测试出现问题,有可能是访问次数过多造成的,此时需要清除历史记录,再刷新即可

5.Apache支持的语言

1.   php

实验:

cd /var/www/html

vim index.php

############

yum install php -y

systemctl restart httpd

测试:

2.   cgi

实验:

ls

mkdir cgi

ls

vim cgi/index.cgi

#################

chmod +x cgi/index.cgi         #给脚本一个执行权限

./cgi/index.cgi                       #执行脚本

ls

cd /etc/httpd/conf.d/

ls  

vim default.conf

################

systemctl restart httpd

测试:

在firefox里 输入 http://172.25.254.130/cgi/index.cgi 会出现执行date命令的结果  

6.论坛的制作

实验:

cd /var/www/html

yum install php-mysql -y

systemctl restart httpd    #必须重启,否则不生效

systemctl start mariadb

ls

##下载   Discuz_X3.2_SC_UTF8.zi

[root@dns-servser html]#lftp 172.25.254.250

lftp 172.25.254.250:~> ls              

drwxr-xr-x    2 0        0            4096 Nov 14  2017 CSA文档

drwxr-xr-x    4 0        0            4096 Oct 02  2016 docs

drwxr-xr-x   21 0        0            4096 Mar 20 08:17 pub

-rw-r--r--    1 0        0             282 May 10 06:42 show.sh

lftp 172.25.254.250:/> cd /pub

lftp 172.25.254.250:/pub> ls

-rw-r--r--    1 0        0        12486177 Aug 25  2016 Discuz_X3.2_SC_UTF8.zip

drwxr-xr-x    7 0        0              73 Jun 24  2016 Enterprise

drwxr-xr-x    2 0        0             117 Jun 04  2017 RHCEDOCS

drwxr-xr-x    4 0        0            4096 Mar 29 04:37 RHCEPACKAGES

-rwxr-xr-x    1 1000     1000     103486240 Apr 28  2015 Student_2.7.13058.exe

drwxr-xr-x    2 0        0            4096 Mar 18 09:19 WESTOS_SHELL

-rw-r--r--    1 0        0             138 Sep 16  2017 clear.sh

drwxr-xr-x   10 0        0             105 Jun 12  2016 doc

drwxr-xr-x   13 1000     1000         4096 May 26 02:57 docs

drwxr-xr-x    3 1000     1000         4096 Nov 26 07:58 exam

-rwxr-xr-x    1 0        0           18928 Sep 17  2016 foundation-config-7.0-1.r26059.x86_64.rpm

-rwxr-xr-x    1 0        0            1053 Nov 14  2017 hostset

-rw-r--r--    1 0        0            1411 Mar 20 08:17 hostset.sh

drwxr-xr-x    2 0        0            4096 Jan 19 06:07 iso

drwxr-xr-x    2 0        0              53 Oct 31  2015 linuxmedia

-rw-r--r--    1 0        0            3018 Dec 29 09:14 markdown

drwxr-xr-x    3 0        0              18 Mar 01  2016 media

-rw-r--r--    1 0        0            2684 Jun 24  2017 pxe-install

drwxr-xr-x    2 0        0              22 Apr 26  2016 python

-rw-r--r--    1 0        0          104208 May 19  2017 rhce考试说明.pdf

-rw-r--r--    1 1000     1000       116455 May 12  2017 rhcsa考试说明.pdf

drwxr-xr-x    2 0        0              38 Nov 26  2015 rhel6

drwxr-xr-x    2 0        0               6 Sep 24  2015 rhel6.5

drwxr-xr-x    2 0        0               6 Nov 19  2015 rhel7.0

drwxr-xr-x    2 0        0               6 Jan 27  2016 rhel7.1

drwxr-xr-x    2 0        0               6 Jul 25  2016 rhel7.2

-rw-r--r--    1 0        0             216 May 12  2017 rht

-rw-r--r--    1 0        0            1113 Nov 12  2017 rpmbuild

drwxr-xr-x    2 0        0            4096 Nov 26 08:01 shellexample

drwxr-xr-x    4 0        0            4096 May 26 03:11 software

-rw-r--r--    1 0        0             397 Aug 25  2016 webAPP.wsgi

-rw-r--r--    1 0        0          397789 Feb 06 06:37 westos.png

-rwxr-xr-x    1 0        0             117 Sep 24  2015 x11vnc

-rw-r--r--    1 0        0              85 Sep 16  2017 yum.repo

drwxr-xr-x    5 0        0              46 Jun 20  2017 论坛模板

-rw-r--r--    1 0        0             696 Sep 05  2017 部署论坛

lftp 172.25.254.250:/pub> get Discuz_X3.2_SC_UTF8.zip

12486177 bytes transferred                             

lftp 172.25.254.250:/pub> quit

[root@dns-servser html]# ls

cgi  Discuz_X3.2_SC_UTF8.zip  index.html  index.php  westos

[root@dns-servser html]# unzip Discuz_X3.2_SC_UTF8.zip   #解压

若用u盘已经将Discuz_X3.2_SC_UTF8.zip拷贝到桌面实验该怎么做

chmod 777 /var/www/html/upload/ -R

测试:

在firefox里输入 172.25.254.130/upload/install/  便可进入安装论坛的界面

##如果出现不支持,可能是忘记重启Apache

7.正向代理(真机-->虚拟机desktop)

虚拟机可以上网,但真机不能上网

虚拟机访问页面信息存储    让真机去访问虚拟机缓存的信息,便可访问网页

实验:

在虚拟机中:

vim /etc/sysconfig/network-scripts/ifcfg-eth0

###############

添加

BOOTPROTO=none

IpadDR=172.25.254.130            #虚拟机ip

NETMASK=255.255.255.0

GATEWAY=172.25.254.250

DNS1=114.114.114.114

systemctl restart network

ping www.baidu.comPING                       #虚拟机可以上网 

*****************************

www.a.shifen.com   (220.181.111.188) 56(84) bytes of data.

64 bytes from 220.181.111.188: icmp_seq=1 ttl=53 time=29.2 ms

64 bytes from 220.181.111.188: icmp_seq=2 ttl=53 time=29.9 ms

^C

--- www.a.shifen.com ping statistics ---

2 packets transmitted, 2 received, 0% packet loss, time 1001ms

rtt min/avg/max/mdev = 29.266/29.612/29.959/0.386 ms

在真机中:

ping www.baidu.com                            #真机不能上网

************************                

connect: Network is unreachable                  

此时在真机firefox里输入www.baidu.com  不能打开网页

在虚拟机中:

yum install squid -y

vim /etc/squid/squid.conf

######################

更改

56 http_access allow all

取消注释

62 cache_dir ufs /var/spool/squid 100 16 256

systemctl restart squid

在真机的firefox里 :

preferences-->addvanced-->network

测试:

在真机里ping不通,但此时在firefox里输入www.baidu.com 可以打开网页,因为虚拟机访问过网页后记录里网页信息,真机通过访问虚拟机获得网页信息,便可实现无网络状态下访问网页。

8.反向代理(真机--->server--->desktop)

在deskop里

更改主机名hostnamectl set-hostname shenzheng.example.com

yum install httpd -y

在server里

更改主机名 hostnamectl set-hostname xian.example.com

yum install squid -y

vim /etc/squid/squid.conf

####################

更改

56 http_access allow all

添加

59 http_port 80 vhost vport

60 cache_peer 172.25.254.130 parent 80 0 proxy-only

取消注释

63 cache_dir ufs /var/spool/squid 100 16 256

测试:

在真机中的firfox里 :

删除上一步 在preferences-->addvanced-->network 里操作

输入 172.25.254.230 便可访问到130里默认文件里的内容

注意:如果测试出现问题,可能是server里的火墙没有关闭,

相关阅读

HTTP 503 错误 – 服务不可用 (Service unavailable)

介绍 因暂时超载或临时维护,您的 Web 服务器目前无法处理 HTTP 请求。 其含义是, 这是一个暂时情况,会有一些延误, 过后将会得到缓解

细谈服务设计与用户体验设计之间的区别

您可能已经听说过服务设计,但不清楚它是什么,所以才会打开这个页面。别担心,和你一样的人也大有人在——在今天的设计世界中找到许多

VS2015环境搭建以及QT编译器和调试器配置

简述 之前介绍过 Qt5.x 的环境搭建,5.7 开始支持 VS2015,为了使用新的开发环境(典型的强迫症),不得不再次进行 Qt5.7 + VS2015 的环境

创新型服务“智能推荐” | 互联网平台建设(十二)

所谓智能分发,即利用人工智能进行个性化推荐的技术,也称之为智能推荐,推荐系统。思考三个问题:国内外推荐系统最好的产品是什么?什么是

Linux下bind服务的安装与使用

首先先查看本机是否安装了bindrpm -qa | grep bind*如果没有安装的话使用命令yum install bind轻松安装然后我们先完成在上一章提

分享到:

栏目导航

推荐阅读

热门阅读