首页 > 代码库 > 【基础部分】之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配置与应用