Apache 是一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一,尤其对linux的支持相当完美。
一 .安装apache
yum install httpd -y apache
yum install httpd-manual -y apache手册
systemctl start httpd
systemc enable httpd
firewall-config /firewall-cmd --permanent --add-service=http 更改火墙策略,使允许此服务
二.apache 的基本信息
主配置目录 :/etc/httpd/conf
主配置文件 :/etc/httpd/conf/httpd.conf
子配置目录 :/etc/httpd/conf.d
字配置文件 : /etc/httpd/conf.d/*.conf
默认发布目录 : /var/www/html
默认发布文件 : index.html
默认端口 :80
默认安全上下文 : http_sys_content_t
程序开启默认用户 :apache
apache 日志 : /etc/httpd/logs/*
http://ip 进入测试页
三 . apache 修改默认端口
apaeche默认端口为80,如过修改默认端口需要在http://ip后加 :端口号。
vim /etc/httpd/conf/httpd.conf 进入主配置文件,更改需要的默认端口
[root@localhost Desktop]# firewall-cmd --permanent --add-port=8080/tcp 更改后使端口生效
[root@localhost Desktop]# firewall-cmd --reload 重新加载火墙
[root@localhost Desktop]# systemctl restart httpd.service 重启服务
[root@localhost Desktop]# ss -anutlpe | grep httpd 查看更改后的端口信息
再次查看时发现页面出错
加上修改后的端口号恢复访问
四.默认发布文件的编辑
先恢复默认端口号
默认发布目录是 /var/www/html 下的index.html,apache 的默认访问目录可在在主配置文件中指定。
在 /var/www/html 下建立index.html。
[root@localhost html]# vim index.html
测试
再次建立一个名为 www.html 的文件,访问此页必须输入名称,否则默认访问的是默认页面:index.html
在html 下有多个文件时,可以在主配置文件修改默认访问目录。
[root@localhost html]# vim /etc/httpd/conf/httpd.conf 更改为www.html 将默认发布文件放在后面。
[root@localhost html]# systemctl restart httpd.service
测试,修改成功。
五.默认发布目录的创建
在 / 下创建递归目录 www/html 自己编辑目录下的文件内容
[root@localhost www]# mkdir -p /www/html
[root@localhost www]# cd /www/html
[root@localhost html]# vim linux.hmtl
[root@localhost html]# cat linux.hmtl
<h2>linux</h2>
编辑完成后修改主配置文件,添加此目录,使其生效。
修改安全上下文
[root@localhost html]# semanage fcontext -a -t httpd_sys_content_t '/www(/.*)?
[root@localhost html]# restorecon -RvvF /www/
[root@localhost html]# systemctl restart httpd
查看效果
六 .apache 的虚拟主机
还原主配置文件内容,在/var/www 下新建可访问的文件内容。
[root@localhost www]# mkdir -p westos.com/news/html
[root@localhost www]# mkdir -p westos.com/musci/html
[root@localhost www]# vim westos.com/musci/html/index.html
[root@localhost www]# vim westos.com/news/html/index.html
cd /etc/httpd/conf.d 分别新建a_default.conf news.conf musci.conf
vim a_default.conf
vim news.conf
vim musci.conf
systemctl restart httpd
测试主机添加解析 vim /etc/hosts
172.25.254.144 www.westos.com news.westos.com music.westos.com
测试
七.apache 内部访问控制
cd /etc/httpd/conf.d
限制登陆主机 其他人不可访问,只有77可访问。
vim a_default.conf
<VirtualHost _default_:80>
DocumentRoot "/var/www/html"
Customlog "logs/www.westos.com.log" combined
</VirtualHost>
<Directory "/var/www/html">
Order allow,deny
deny from all
allow from 172.25.254.77
</Directory>
用172.25.254.77测试
用172.25.254.107测试
先给107加入解析 vim /etc/hosts
进行访问尝试,访问失败
拉黑某主机,其他主机可访问
cd /etc/httpd/conf.d
限制登陆主机 77
vim a_default.conf
用172.25.254.77 测试
用其他主机测试
设置登陆用户密码,有密码可登陆
cd /etc/httpd/conf.d
新建认证方式 htpasswd -cm http_userlist admin 设置密码
查看已有用户
[root@localhost httpd]# cat /etc/httpd/userpass
admin:$apr1$UJOj3oSu$qx47IhydkesmfNO43ODYm0
vim news.conf
systemctl restart httpd
测试,需要输入用户与密码
八.apache 支持的语言
1 html
2.php
安装好php
[root@localhost html]# vim /var/www/html/index.php
[root@localhost html]# vim /etc/httpd/conf/httpd.conf
[root@localhost html]# systemctl restart httpd
查看 http://172.25.254.177/index.php
3.cgi
mkdir -p /var/www/html/cgi 新建目录
semanage fcontext -a -t httpd_sys_script_exec_t '/var/www/html/cgi(/.*)?' 修改安全上下文
restorecon -RvvF /var/www/html/cgi
chmod +x /var/www/html/cgi/index.cgi
vim /var/www/html/cgi/index.cgi 编辑cgi文件内容,date 符号为``
chmod +x /varwwwhtml/cgi/index.cgi
vim a_defaul.conf
systemctl restart httpd
测试脚本效果
[root@localhost cgi]# /var/www/html/cgi/index.cgi
content-type:text/html
测试网页
九 .https协议
[root@localhost cgi]# yum install mod_ssl -y 安装服务
[root@localhost cgi]# yum install crypto-utils -y 安装私钥
[root@localhost cgi]# genkey www.westos.com 进入配置步骤
选择 netx
密钥大小先选择 1024
等待完成。
完成后进入下一界面然后后随意敲击键盘,直到完成。然后选择no,由于是实验,选择不发送证书。
选择下一步
填如需要的内容,选择next。
为了方便替换配置文件,用另一台虚拟机连接
ssh 172.25.254.177
cd /etc/httpd/conf.d/ 更换调localhost 为所用域名。
[root@localhost conf.d]# systemctl restart httpd
[root@localhost conf.d]# firewall-cmd --permanent --add-service=https 加入火墙策略服务
[root@localhost conf.d]# firewall-cmd --reload
进入此页面 选择最后一项,添加例外
确认安全例外。
十.网页重写
添加配置文件 [root@localhost conf.d]# vim /etc/httd/conf.d/login.conf
编辑发布文件内容
[root@localhost conf.d]# mkdir -p /var/www/westos.com/login/html/index.html
[root@localhost conf.d]# cd /var/www/westos.com/login/html/
[root@localhost html]# vim index.html
[root@localhost html]# cat index.html
<h1>login</h1>
[root@localhost westos.com]# cd /etc/httpd/conf.d
[root@localhost conf.d]# vim login.conf
重启服务 [root@localhost html]# systemctl restart httpd
测试端添加解析 vim /etc/hosts
输入login.westos.com 会自动调转到https://login.westo.com ,而不是http://login.westo.com。
下载好安全证书之会自动进入页面,看到页面内容。
十一.服务器代理
保证能够上网
所需软件:squid
正向代理
[root@localhost conf.d]# yum install squid -y
[root@localhost conf.d]# vim /etc/squid/squid.conf 改为允许
打开页面,进入Edit 下的preferences,然后进入network
下一步
反向代理
[root@localhost conf.d]# vim /etc/squid/squid.conf
[root@www Desktop]# systemctl restart squid.service