首页 > 代码库 > 【基础部分】之apache配置与应用

【基础部分】之apache配置与应用

          apache服务

修改主机名为 apacheserver.example.com

http:超文本传输协议

如何查看服务默认开启端口

cat /etc/services | grep http

netstat -antlpe | grep http

1.先安装httpd

开启httpd

允许通过防火墙

firewall-cmd --permanent --add-service=http

firewall-cmd --reload

通过火狐浏览器 访问安装httpd的主机(172.25.15.10)

默认显示的是apache的test 页面

在apache默认发布目录里创建文件

vim /var/www/html/index.html

写入 helloworld 重启服务

重新访问172.25.15.10 页面显示为

技术分享

在默认发布目录里新写一个 test文件

技术分享

修改/etc/httpd/conf/httpd.conf

技术分享

访问 172.25.15.10 可以看到

技术分享

2.修改apache默认发布目录

查看 /var/www/html 的selinux标签

技术分享

创建新的默认发布目录: mkdir -p /www/html/

修改这个目录的 安全上下文

技术分享

restorecon -FvvR /www/ (刷新SELINUX 标签)

修改http的配置文件

vim /etc/httpd/conf/httpd.conf

技术分享

119 行: 修改默认发布目录

120-122行: 设置允许 所有人访问该文件夹

重启服务

测试: 在/www/html/ 下 创建test文件 写入 nihao~~~~

访问172.25.15.10 如下

技术分享

3.虚拟主机

目的:访问www.qq.com music.qq.com news.qq.com 显示不同效果

mkdir -p /var/www/qq.com/music

mkdir -p /var/www/qq.com/news

echo music.qq.com > /var/www/qq.com/music/index.html (默认显示文件)

echo news.qq.com > /var/www/qq.com/news/index.html (默认显示文件)

进入 /etc/httpd/conf.d/

创建三个文件

技术分享

技术分享

技术分享

技术分享

80代表端口 Documentroot 代表默认发布目录

combined

重启httpd 服务

测试:

需要修改打开浏览器的主机的 /etc/hosts 文件

技术分享

访问 www.qq.com 技术分享

访问music.qq.com 技术分享

访问news.qq.com 技术分享

4.给被访问的文件加上用户密码

在apache默认发布目录下 创建个被加密的文件

mkdir /var/www/html/admin/

echo no key no see > /var/www/html/admin/test

建立用户加密文件

该加密文件必须在 /etc/* 下才会生效 (可以在别的地方生成该文件 再复制到/etc下)

如果在其他地方selinux会提示报错 同时访问的时候会有如下提示

技术分享

cd /etc/httpd/

htpasswd -cm userfile westos (创建westos用户到userfile内)(-c 代表创建文件)

接着输入密码

htpasswd -m userfile westos1 (把westos1用户加入到userfile内)

接着输入密码

cat userfile

技术分享

vim /etc/httpd/conf.d/default.conf

设置文件内某一个用户允许登陆

技术分享

设置文件内所有用户可以登陆

技术分享

测试:

www.qq.com/admin

输入账户密码

5.控制用户访问某网站

拒绝用户访问

以 music.qq.com 为例

vim /etc/httpd/conf.d/music.conf

技术分享

技术分享

允许用户访问

vim /etc/httpd/conf.d/music.conf

技术分享

技术分享

注意:deny和allow有顺序 在Order一栏 可以看到

6.https(443端口 证书登陆,为了保证用户输入账户密码的安全)

创建一个 login.qq.com

将 login.qq.com 写到 火狐所在的主机的 /etc/hosts 内

cd /etc/httpd/conf.d/ 下

vim login.conf

技术分享

给login创建一个目录

mkdir -p /var/www/qq.com/login/ echo logintest > /var/www/qq.com/login/test

查看端口http 只有一个80端口

https 是通过 443端口传输

所以 安装下载 mod_ssl 软件

将443端口加入到防火墙允许列表

firewall-cmd --permanent --add-port=443/tcp

Firewall-cmd --reload

重启 httpd 服务 查看端口信息

技术分享

说明可以通过443端口 https 访问

自定义自签名证书

下载安装crypto-utils软件包

yum install crypto-utils -y

自己制作证书:

输入:genkey apacheserver@example.com ( 需要制作证书的主机名)

技术分享

技术分享

选择 1024 或者2048 都可以 越大生成的越慢

技术分享

第二个加载的时候 需要在主机上敲命令 可以加速生成

技术分享

技术分享

技术分享

主机名为 apacheserver.example.com (根据自己主机名写)

修改 /etc/httpd/conf.d/login.conf

技术分享

https://login.qq.com

下载证书 可以看到login的内容

SSLEngine on

SSLCertificateFile

SSLCertificateKeyFile

均可在 /etc/httpd/conf.d/ssl.conf中查询到

网页重定向

技术分享

1.如何设置代理 (相当于翻墙)

原理:一台代理服务器(可以访问其他网段的主机),和一个客户机(无法访问其他网段),

将代理服务器设置为 客户机的代理,客户机通过代理的页面缓存去访问非同网段的页面。

Squid 正向代理

要求:需要两台主机,一台为代理服务器(双网卡)

IP1:172.25.15.10

IP2:172.25.254.115

另一台主机 ip :172.25.15.20

配置:

代理服务器的主机:yum install squid -y

vim /etc/squid/squid.conf

技术分享

重启 squid 服务,关闭火墙

第二台主机 在firefox里 设置

编辑 > 首选项 > 高级 > 网络 > 设置 >

技术分享

此时 客户机可以访问 非同网段的 网页

squid 反向代理

vim /etc/squid/squid.conf

技术分享

重启 squid 服务

关闭客户机的代理服务

firefox 可以访问254.40的页面

原理:40主机相当于 腾讯主服务器 15.10 相当于西安服务器 15.20 相当于 客户机

客户机访问15.10的80端口,在15.10的主机上设置虚拟端口访问254.40主机。

则客户机可以访问254.40

【基础部分】之apache配置与应用