一、安装apache并测试其可以正常显示
[root@jane1 ~]# yum install httpd -y ##安装阿帕奇
[root@jane1 ~]# systemctl start httpd ##打开阿帕奇
[root@jane1 ~]# netstat -antlupe | grep httpd ##查看阿帕奇端口
tcp6 0 0 :::80 :::* LISTEN 0 170715 3764/httpd
[root@jane1 ~]# cd /var/www/html/ ##配置目录
[root@jane1 html]# systemctl stop firewalld ##关闭防火墙
[root@jane1 html]# vim index.html ##配置文件
写入:
<h1>hello</h1> ## <h1> </h1> 字体大小
在火狐浏览器输入 172.25.254.129 ##可以看到内容
[root@jane1 html]# vim test.html ##重新写一个阿帕奇文件
写入:
test's page
在火狐浏览器输入 172.25.254.129/test.html ##可以看到内容
二、默认端口的修改
[root@jane1 html]# vim /etc/httpd/conf/httpd.conf ##进去查看端口并改成8080
[root@jane1 html]# systemctl restart httpd
[root@jane1 html]# netstat -antlupe | grep httpd
tcp6 0 0 :::8080 :::* LISTEN 0 178260 4022/httpd
##改好之后,在火狐输入172.25.254.129:8080
[root@jane1 html]# vim /etc/httpd/conf/httpd.conf ##进去改8080为80
[root@jane1 html]# systemctl restart httpd
三、默认发布目录的修改
[root@jane1 html]# mkdir /westos/html -p ##权限建立
[root@jane1 html]# cd /westos/html/
[root@jane1 html]# vim index.html ##在第一行写入
[root@jane1 html]# vim /etc/httpd/conf/httpd.conf ##注释掉119行,在120行写入
[root@jane1 html]# systemctl restart httpd ##进入火狐172.25.254.129
[root@jane1 html]# vim test.html ##在第一行写入
[root@jane1 html]# vim /etc/httpd/conf/httpd.conf ##在123行插入写
[root@jane1 html]# systemctl restart httpd ##进入火狐172.25.254.129
[root@jane1 html]# ls
index.html test.html
[root@jane1 html]# pwd
/westos/html
四、默认发布文件的修改
默认发布文件可以有多个,在配置文件里修改,其按顺序执行,即如果前面的文件不存在,则访问后面的。
[root@jane1 html]# mkdir linux
[root@jane1 html]# ls
index.html test.html linux
[root@jane1 linux]# cd linux
[root@jane1 linux]# ls
[root@jane1 linux]# vim index.html ##写入123
[root@jane1 linux]# vim test.html ##写入456
[root@jane1 linux]# vim /etc/httpd/conf/httpd.conf
[root@jane1 linux]# systemctl restart httpd
在火狐输入172.25.254.129/linux ##看到的是456 test文件的内容
五、apache的访问控制
【配置基于用户的身份验证】
1.设定其他用户的访问限制
允许所有人访问
[root@jane1 ~]# systemctl stop firewalld
[root@jane1 ~]# systemctl start httpd
[root@jane1 ~]# vim /etc/httpd/conf/httpd.conf ##注释掉之前做的,恢复原有的。
[root@jane1 ~]# systemctl restart httpd ##火狐测试:172.25.254.129
[root@jane1 ~]# cd /var/www/html/
[root@jane1 html]# mkdir westos
[root@jane1 html]# ls
index.html test.html westos
[root@jane1 html]# cd westos/
[root@jane1 westos]# vim index.html
<h1>westos's page</h1>
[root@jane1 westos]# vim /etc/httpd/conf/httpd.conf
119 DocumentRoot "/var/www/html"
120 #DocumentRoot "/westos/html"
121 <Directory "/var/www/html/westos">
122 Order Allow,Deny ##优先级,谁在前,先读谁
123 Allow from ALL ##都可以
124 Deny from 172.25.254.66 ##不可以,真机IP
125 </Directory>
[root@jane1 westos]# systemctl restart httpd
用真机网页浏览:Forbidden (172.25.254.129/westos)
用虚拟机网页浏览:westos's page
禁止所有人访问
[root@jane1 westos]# vim /etc/httpd/conf/httpd.conf
<Directory "/var/www/html/westos">
Order Deny,Allow ##先读黑名单
Allow from 172.25.254.66 ##只有这个IP可以访问
Deny from All
</Directory>
[root@jane1 westos]# systemctl restart httpd
用真机网页浏览:westos's page (172.25.254.129/westos)
用虚拟机网页浏览:Forbidden
2.允许指定用户访问,且需要认证
[root@jane1 westos]# cd /etc/httpd/
[root@jane1 httpd]# ls
conf conf.d conf.modules.d logs modules run
[root@jane1 httpd]# htpasswd -cm apacheuser admin ##-cm 新建
[root@jane1 httpd]# cat apacheuser
admin:$apr1$PNmyi1lp$eJrtsJduLXCu6tBV1YiVs/
[root@jane1 httpd]# htpasswd -cm apacheuser tom
[root@jane1 httpd]# htpasswd -m apacheuser admin ##注意添加用户时,-m,否则会覆盖
[root@jane1 httpd]# vim /etc/httpd/conf/httpd.conf
127 <Directory "/var/www/html/westos">
128 AuthUserFile /etc/httpd/apacheuser ##读取的认证文件
129 AuthName "Please input user and password !!" ##访问页面
130 AuthType basic ##基本的认证方式
131 Require user admin ##只允许admin用户访问
(Require valid-user) ##允许文件的所有用户
132 </Directory>
[root@jane1 httpd]# systemctl restart httpd
[root@jane1 httpd]# vim /etc/httpd/conf/httpd.conf
127 <Directory "/var/www/html/westos">
128 AuthUserFile /etc/httpd/apacheuser
129 AuthName "Please input user and password !!"
130 AuthType basic
131 Require user admin
132 Require valid-user ##允许文件的所有用户
133 </Directory>
[root@jane1 httpd]# systemctl restart httpd
六、apache的虚拟主机
[kiosk@foundation29 ~]$ su - root
Password:
[root@foundation29 ~]# vim /etc/hosts
172.25.254.129 www.westos.com news.westos.com music.westos.com login.westos.com.com
虚拟机:
[root@jane1 httpd]# pwd
/etc/httpd
[root@jane1 httpd]# ls
apacheuser conf conf.d conf.modules.d logs modules run
[root@jane1 httpd]# cd conf.d/
[root@jane1 conf.d]# ls
autoindex.conf README userdir.conf welcome.conf
[root@jane1 conf.d]# vim default.conf
1 <VirtualHost _default_:80>
2 DocumentRoot /var/www/html ##指定默认发布目录
3 CustomLog "logs/default.log" combined ##混合日志文件
4 </VirtualHost>
[root@jane1 conf.d]# mkdir /var/www/virtual/westos.com/news -p
[root@jane1 conf.d]# mkdir /var/www/virtual/westos.com/music -p
[root@jane1 conf.d]# vim /var/www/virtual/westos.com/news/index.html
[root@jane1 conf.d]# vim /var/www/virtual/westos.com/music/index.html
[root@jane1 conf.d]# vim news.conf
1 <VirtualHost *:80>
2 ServerName news.westos.com ##首页下的子网站
3 DocumentRoot "/var/www/virtual/westos.com/news/" ##指定news所在发布目录
4 CustomLog "logs/news.log" combined ##混合日志文件
5 </VirtualHost>
6 <Directory "/var/www/virtual/westos.com/news/">
7 Require all granted
8 </Directory>
[root@jane1 conf.d]# cp news.conf music.conf
[root@jane1 conf.d]# vim music.conf
[root@jane1 conf.d]# systemctl restart httpd
在火狐浏览器地址栏内分别输入 news.westos.com music.westos.com 就可以看到相应文件内容
七、https
https是用户在通过http访问时数据不会被破解,简单来说就是http的加密。
httos的默认访问端口为443
[root@jane1 conf.d]# yum install crypto-utils -y ##生成产生加密证书的命令
[root@jane1 conf.d]# yum install mod_ssl -y
[root@jane1 conf.d]# genkey www.westos.com ##配置其证书信息
分别为加密的key和加密证书的文件及其位置,选择Next进行下一步
选择key文件的大小,建议选择1024适中
此步为收集密码数据,速度较慢,此时需要在一个新的shell(虚拟机)命令行随机输入内容,速度会迅速加快
该步骤为是否向CA机构发送,选择NO,不发送
不需要钥匙
填写网站的基本信息,依次为国家、省份、所在城市、公司名称,所属部门,网站网址名称
完成后Next即可创建成功
获得了生成的key和密码证书
output will be written to /etc/pki/tls/certs/www.westos.com.crt
output key written to /etc/pki/tls/private/www.westos.com.key
[root@jane1 conf.d]# ls
autoindex.conf music.conf README tmprequest welcome.conf
default.conf news.conf ssl.conf userdir.conf
[root@jane1 conf.d]# vim ssl.conf ##写入生成的key和密码证书文件路径
[root@jane1 conf.d]# systemctl restart httpd
在火狐浏览器地址栏输入 https://www.westos.com
进行访问查看证书信息(如果查看不了,ctrl+shift+del清除缓存)
八、网页重写
目的:输入指定网址强制使用443https加密
在真机本地解析/etc/hosts加入测试网址login.westos.com
[root@jane1 conf.d]# ls
autoindex.conf music.conf README tmprequest welcome.conf
default.conf news.conf ssl.conf userdir.conf
[root@jane1 conf.d]# cp news.conf login.conf
[root@jane1 conf.d]# vim login.conf
编辑:
SSLEngine on ##表示认证打开
Require all granted ##允许所有人访问
RewriteEngine on 打开重写功能
RewriteRule 重写规则 *(/.*)$客户在浏览器地址栏中输入的所有字符
https:// 强制客户加密访问
%{HTTP_HOST}客户求求主机
$1表示^(/.*)$的值
[redirect=301]临时重写 (=302永久重写)
[root@jane1 conf.d]# systemctl restart httpd
[root@jane1 conf.d]# mkdir -p /var/www/virtual/westos.com/login/
[root@jane1 conf.d]# vim /var/www/virtual/westos.com/login/index.html
在火狐地址栏输入: login.westos.com http://login.westos.com 网址访问查看,认证后发现可以网址前面强制加入https://
九、apache支持的语言
php语言
[root@jane1 conf.d]# yum install php -y
[root@jane1 ~]# cd /var/www/html/
[root@jane1 html]# ls
index.html test.html westos
[root@jane1 html]# vim index.php
[root@jane1 html]# vim /etc/httpd/conf/httpd.conf
[root@jane1 html]# systemctl restart httpd
在火狐地址栏输入: 172.25.254.129 就会出现php的界面
cgi语言
[root@jane1 html]# ls
index.html index.php test.html westos
[root@jane1 html]# mkdir cgi
[root@jane1 html]# ls
cgi index.html index.php test.html westos
[root@jane1 html]# vim cgi/index.cgi
在火狐地址栏输入:http://172.25.254.129/cgi/index.cgi ##不会执行命令,因为权限不够
[root@jane1 html]# chmod +x cgi/index.cgi ##给权限
[root@jane1 html]# ./cgi/index.cgi
Content-type: text/html
Sun May 27 02:08:49 EDT 2018
[root@jane1 html]# ls
cgi index.html index.php test.html westos
[root@jane1 html]# cd
[root@jane1 ~]# cd /etc/httpd/conf.d/
[root@jane1 conf.d]# ls
autoindex.conf login.conf news.conf README tmprequest welcome.conf
default.conf music.conf php.conf ssl.conf userdir.conf
[root@jane1 conf.d]# vim default.conf
十、创建一个 Discuz论坛:
[root@jane1 ~]# systemctl start mariadb
[root@jane1 ~]# cd /var/www/html/
[root@jane1 html]# ls
cgi Discuz_X3.2_SC_UTF8.zip index.html index.php test.html westos
[root@jane1 html]# unzip Discuz_X3.2_SC_UTF8.zip
[root@jane1 html]# ls
cgi index.html readme upload westos
Discuz_X3.2_SC_UTF8.zip index.php test.html utility
[root@jane1 html]# chmod 777 /var/www/html/upload/ -R
在火狐浏览器输入:172.25.254.129/upload.install