标签:http
############anpache的安装##########
yum install httpd -y ##安装 httpd 安装包
systemctl start httpd.service ##开启httpd服务
systemctl enable httpd
systemctl stop firewalld.service ##关闭火墙
systemctl disable firewalld
############anpache的信息##########
1 anpache的默认发布文件
index.html
2 anpache的配置文件
(1)/etc/httpd/conf/httpd.conf ##主配置文件
Apache主配置文件:/etc/httpd/conf/httpd.conf
ServerRoot"/etc/httpd" 用于指定Apache的运行目录
Listen 80 监听端口
User apache 运行apache程序的用户和组
Group apache
ServerAdmin root@localhost 管理员邮箱
DocumentRoot"/var/www/html" 网页文件的存放目录
<Directory"/var/www/html"> <Directory>语句块自定义目录权限
Require all granted
</Directory>
ErrorLog "logs/error_log" 错误日志存放位置
AddDefaultCharset UTF-8 默认支持的语言
IncludeOptional conf.d/*.conf 加载其它配置文件
DirectoryIndex index.html 默认主页名称
(2)/etc/httpd/conf/*.conf ##子配置文件
3 anpache的默认发布目录
/var/www/html
4 anpache的默认端口
80
############anpache的基本配置##########
一 修改默认发布文件
(1)vim /etc/httpd/conf/httpd.conf
164 DirectoryIndex westos.html ##修改默认发布文件
(2) systemctl restart httpd
81 cd /var/www/html ##进入 /var/www/html
82 vim index.html ##写默认发布文件内容
83 ls
84 vim westos.html ##写westoe文件内容
85 vim /etc/httpd/conf/httpd.conf ###修改默认发布文件
86 systemctl restart httpd ###重启httpd服务
87 ls
88 ll
89 rm -fr westos.html ##删除westos文件内容
二 修改默认发布目录
1 ####当selinux是disabled状态
(1) vim /etc/httpd/conf/httpd.conf ###修改默认发布目录
120 DocumentRoot"/westos/www/test"
121 <Directory"/westos/www/test">
122 require all granted
123 </Directory>
(2) systemctl restart httpd
90 cd
91 mkdir /westos/www/test -p ###建立新目录
92 vim /westos/www/test/westos.html##在新目录下创建新文件
93 vim /etc/httpd/conf/httpd.conf ###修改默认发布目录及文件
94 systemctl restart httpd ###重启httpd服务
95 getenforce ###查看selinux状态
2 ###当selinux是disabled状态
(1) vim /etc/httpd/conf/httpd.conf ###修改默认发布目录
120 DocumentRoot"/westos/www/test"
121 <Directory"/westos/www/test">
122 require all granted
123 </Directory>
(2) systemctl restart httpd
(3) semanage fcontext -a -thttpd_sys_content_t ‘/westos(/.*)?‘
###修改安全上下文
(4)restorecon -RvvF /westos
####更新安全上下文
12 getenforce ###查看selinux状态
13 mkdir /westos/www/test -p
14 vim /westos/www/test/westos.html
15 vim /etc/httpd/conf/httpd.conf
16 systemctl restart httpd
17 cd /westos/www/test/
18 ls -z
19 ls -Z
20 semanage fcontext -a -t httpd_sys_content_t ‘/westos(/.*)?‘
21 restorecon -RvvF /westos
22 ls -Z
三 anpache的访问控制
1 vim /etc/httpd/conf/httpd.conf
<Directory "/var/www/html/admin"> ###允许所有人访问sdmin,但拒绝144主机
Order Allow,deny
Allow from All
deny from 172.25.254.144
</Directory>
2 vim /etc/httpd/conf/httpd.conf
<Directory "/var/www/html/admin"> ###只允许144主机访问
Order deny,Allow
Allow from 172.25.254.144
deny from All
</Directory>
3 设定用户访问
htpasswd -cm /etc/httpd/accessuseradmin ###设定用户访问
vim /etc/httpd/conf/httpd.conf
<Directory "/var/www/html/admin">
AuthUserFile/etc/httpd/accessuser ##用户认证文件
AuthName "please input your name andpassword !!"##用户认证提示信息
AuthType basic ###用户类型
Require valid-user ###认证用户,认证文件中所有用户可以访问
[Require user admin] ###只允许认证文件中的admin用户访问,
二写一(最后两行)
</Directory>
35 cd /etc/httpd
36 ls
37 htpasswd -cm /etc/httpd/accessuser admin
38 cat /etc/httpd/accessuser
39 htpasswd -cm /etc/httpd/accessuser tom
40 cat /etc/httpd/accessuser
41 vim /etc/httpd/conf/httpd.conf
42 systemctl restart httpd
四 anpache语言支持 ---php html cgi
1 html语言 默认支持
2 php语言
(1)vim index.php
<?php
phpinfo();
?>
(2)yum install php -y
(3)systemctl restart httpd
测试
访问http://172.25.254.144/index.php
9 cd /var/www/html
10 vim index.php
11 cd /etc/httpd/conf.d/
12 ls
13 vim php.conf
14 yum install php -y
15 history
3 cgi语言
[root@localhost ~]# mkdir /var/www/html/cgi
[root@localhost ~]# cd /var/www/html/cgi
[root@localhost cgi]# ls
[root@localhost cgi]# vim index.cgi
#!/usr/bin/perl
print "content-type: text/html\n\n";
print "hello,word.";
[root@localhost cgi]# perl index.cgi
content-type: text/html
hello, word.
[root@localhost cgi]# vim index.cgi
[root@localhost cgi]# chmod +x index.cgi
[root@localhost cgi]# ./index.cgi
content-type: text/html
hello, word.
[root@localhost cgi]# cd
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf
<Directory"/var/www/html/cgi">
options +ExecCGI
AddHandler cgi-script.cgi
</Directory>
[root@localhost ~]# systemctl restart httpd
############# 虚拟主机###############
虚拟主机允许您从一个httpd服务器同时为多个网站提供服务。在本节中,我们将了解基于名称的虚拟主机其中多个主机名都指向同一个IP地址,但是Web服务器根据用于到达站点的主机名提供具有不同内容的不同网站。
一 建立网页发布目录
1 cd /var/www
2 mkdir virtual
3 ls
4 mkdir virtual/news.westos.com -p
5 mkdir virtual/money.westos.com -p
6 mkdir virtual/money.westos.com/html -p
7 mkdir virtual/news.westos.com/html -p
9 echo "news" > virtual/news.westos.com/html/index.html
10 echo "money" > virtual/money.westos.com/html/index.html
11 history
二 创建虚拟主机配置文件
[root@localhost www]# cd /etc/httpd/conf.d/ ###进入配置文件的上级目录
[root@localhost conf.d]# vim default.conf ###未指定域名的访问都访问default
<Virtualhost _default_:80> ##虚拟主机开启的端口
DocumentRoot "/var/www/html" ##虚拟主机的默认发布目录
CustomLog "logs/default.log" combined ##虚拟主机日志
</Virtualhost>
(没有默认发布目录的访问授权: 主配置文件已经授权)
[root@localhost conf.d]# vim news.conf ##指定域名news.westos.com的访问到指定默认发布目录
<Virtualhost *:80> ##虚拟主机开启的端口
ServerName "news.westos.com" ##服务器域名
DocumentRoot "/var/www/virtual/news.westos.com/html"
##虚拟主机的默认发布目录
CustomLog "logs/news.log" combined ##虚拟主机日志
</Virtualhost>
<Directory "/var/www/virtual/news.westos.com/html">
默认发布目录的访问授权
Require all granted
</Directory>
[root@localhost conf.d]# cp news.conf money.conf
[root@localhost conf.d]# vim money.conf
<Virtualhost *:80>
ServerName "money.westos.com"
DocumentRoot "/var/www/virtual/money.westos.com/html"
CustomLog "logs/money.log" combined
</Virtualhost>
<Directory "/var/www/virtual/money.westos.com/html">
Require all granted
</Directory>
[root@localhost conf.d]# systemctl restart httpd
三 测试
在浏览器主机中
vim /etc/hosts
172.25.254.144 www.westos.com news.westos.com money.westos.com
访问www/news/money.westos.com
############配置HTTPS#################
一 自定义自签名证书
如果加密的通信非常重要,而经过验证的身份不重要,管理员可以通过生成self-
signed certificate来避免与认证机构进行交互所带来的复杂性。
使用genkey实用程序(通过crypto-utils软件包分发),生成自签名证书及其关联的
私钥。为了简化起见,genkey将在“正确”的位置(/etc/pki/tls目录)创建证书及其关联的密钥。相应地,必须以授权用户(root)身份运行该实用程序。
####生成自签名证书####
1. 确保已安装crypto-utils软件包。
[root@server0 ~]# yum install crypto-utils mod_ssl
2. 调用genkey,同时为生成的文件指定唯一名称(例如,服务器的主机全名)。
--days可以指定证书有效期
[root@server0 ~]# genkey server0.example.com
(1)记录生成的证书(server0.example.com.crt)和关联的私钥(server0.example.com.key)的位置
(2)继续使用对话框,并选择合适的密钥大小。
(3)在生成随机数时比较慢,敲键盘和移动鼠标可以加速
(4)拒绝向认证机构(CA)发送证书请求(CSR)。
(5)拒绝加密私钥
(6)为服务器提供合适的身份。Common Name必须与服务器的主机全名完全匹 配。(注意,任何逗号都应使用前导反斜线[\]进行转义)
1 yum install mod_ssl -y ## 安装mod_ssl软件包生成自签名证书
2 yum install crypto-utils -y ##安装crypto-utils软件包
3 genkey www.westos.com ##调用
4 mkdir /var/www/virtual/login.westos.com/html -p ###建立目录
5 vim /var/www/virtual/login.westos.com/html/index.html
6 vim /etc/httpd/conf/login.conf
7 vim /etc/httpd/conf/ssl.conf
8 systemctl restart httpd
vim /etc/httpd/conf/login.conf
<Virtualhost *:443>
ServerName login.westos.com
DocumentRoot "/var/www/virtual/login.westos.com/html"
CustomLog "logs/login.log" combined
SSLEngine on ###开始https功能
SSLCertificateFile /etc/pki/tls/certs/www.westos.com.crt##证书
SSLCertificateKeyFile /etc/pki/tls/certs/www.westos.com.key###密钥
</Virtualhost>
<Directory "/var/www/virtual/login.westos.com/html">
Require all granted
</Directory>
<Virtualhost *:80> ###网页重写实现自动访问https
ServerName login.westos.com
RewriteEngine on
RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1 [redirect=301]
</Virtualhost>
^(/.*)$ ##客户主机在地址栏中的的所有字符
https:// ##定向成为的访问协议
%{HTTP_HOST} ###客户请求主机
$1 ##^(/.*)$ 的值
[redirect=301] ###临时重定向 302永久重定向
测试:
在客户主机中添加解析
vim /etc/hosts
172.25.254.144 login.westos.com
访问:http://login.westos.com
https://login.westos.com
对于Firefox,
请选择“I Understand the Risks” [我了解风险]、
“Add Exception” [ 添加例外]
“Confirm Security Exception”[确认安全例外]
标签:http
原文地址:http://12778805.blog.51cto.com/12768805/1926845