• 欢迎访问VPS岛网站,国外VPS,国内VPS,国外服务器,国内服务器,服务器主机,测评及优惠码,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站 QQ群

3-unit9 apache

Apache技术 cuijb0221 153次浏览 已收录 0个评论

######Apache web服务############

本单元涵盖的主题:

* Apache基本配置

* 虚拟主机配置

* HTTPS配置

* 集成动态内容


########Apache基本配置########

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     默认主页名称


########apache的安装#######
yum install httpd -y         安装apache软件包

systemctl start httpd       启动apache服务

systemctl stop firewalld
systemctl enable httpd
systemctl disable firewalld

netstat  -antlpe | grep httpd                ##查看监听端口


#####apache的基本配置#######
1.apache的默认发布文件
index.html

2.apache的配置文件
/etc/httpd/conf/httpd.conf
/etc/httpd/conf.d/*.conf

3.apache的默认发布目录
/var/www/html

wKioL1kcIRqzjZx0AAEYvnrO960611.png

默认发布文件
wKiom1kcIRrx4EZHAABCk0lnTrY653.png
wKioL1kcIRujamrlAADAOoS86jY556.png

wKiom1kcIRvBSdIqAABTt8ZpKJQ955.png

4.apache的默认端口
80
wKioL1kcIRmC7APUAAA8g8cUuBs162.png
######修改apache的基本配置########
1.修改默认发布文件

wKiom1kcIRuCXiSCAABiqe7bZHI581.png
vim /etc/httpd/conf/httpd.conf

164    DirectoryIndex westos.html  index.html       ##
默认主页名称

systemctl restart httpd

wKioL1kcIRyhJ5I5AABSca6CJqg574.png
2.修改默认发布目录wKioL1kcIRqguqRBAACdN0pxPFU346.png
    ###当selinux是disable状态时
vim /etc/httpd/conf/httpd.conf

120 DocumentRoot "/westos/www/html"         ##网页文件的存放目录
121 <Directory "/westos/www/html">        ##语句块自定义目录权限
122      Require all granted
123 </Directory>


systemctl restart httpd

wKiom1kcIRiAP7ULAADR4iH6160155.png
 
      

##当selinux是Enforcing状态时

semanage fcontext -a -t httpd_sys_content_t '/westos(/.*)?'        ##配置安全上下文
restorecon -RvvF /westos
测试:172.25.254.162

wKiom1kcIRyyGAWnAABHRJ4QZFk415.png

3.apache的访问控制
vim /etc/httpd/conf/httpd.conf

<Directory "/var/www/html/admin">   ##允许所有人访问admin目录但拒绝62主机
    Order Allow,Deny
    Allow from All
    Deny from 172.25.254.62
</Directory>


wKioL1kcIRzj2aYbAACh_Ta9wyM550.png

<Directory "/var/www/html/admin">   ##只允许62主机访问admin目录
    Order Deny,Allow      
    Allow from 172.25.254.62
    Deny from All
</Directory>

systemctl restart httpd

wKiom1kcIR3zcmvYAABcWP8F2Iw210.png
测试:172.25.254.162/admin/
wKiom1kcIR2D60KsAACTtq87vYk864.png

wKiom1kcJD-zyE98AABDqyKakB8735.png


#####设定用户的访问########

#####用两个账户创建Apache密码文件

htpasswd -cm /etc/httpd/accessuser admin   ##建立用户认证文件并建立用户admin设置密码123
htpasswd -m /etc/httpd/accessuser cui      ##建立认证用户cui,密码123

wKioL1kcIR7BN3ZOAAFIXEdJWrw999.png


vim /etc/httpd/conf/httpd.conf               ##配置基于用户的身份验证

<Directory "/var/www/html/admin">
        AuthUserFile/etc/httpd/accessuser    ##用户认证文件
        AuthName "Please input yourname and password !!"  ##用户认证提示信息
        AuthType basic    ##认证类型
        Require valid-user    ##认证用户,认证文件中所有的用户都可以通过
      或  [Require user admin]  ##只允许认证文件中的admin用户访问,二写一
</Directory>


systemctl restart httpd           ##重启apache服务,并使用Web浏览器测试访问,在弹出的对话框中输入上述用户名和密码。


测试:172.25.254.162/admin/

wKiom1kcIR7DVQ-SAAC-5VBmAe0048.png

wKioL1kcKDKQ2rb4AABQuPWyFLo268.png
wKioL1kcJLaA5bLXAAFP02t_y9E219.png


4.apache 语言支持
html语言支持
php语言支持
yum install php -y        ##安装php服务

vim /var/www/html/index.php       ##写php测试

<?php
        phpinfo()
?>


systemctl restart httpd
测试:172.25.254.162

wKioL1kamamSfuWQAADlZAmdv40290.png**cgi语言支持
mkdir /var/www/html/cgi
vim /var/www/html/cgi/index.cgi   ##默认发布文件主页内容

#!/usr/bin/perl
print "Content-type: text/html\n\n";
print `date`;


wKiom1kcJLbz2XALAAEcZ2ubYWY966.png
vim /etc/httpd/conf/httpd.conf

<Directory "/var/www/html/cgi">        ##网页文件目录
        Options +ExecCGI
        AddHandler cgi-script .cgi
</Directory>
 DirectoryIndex index.cgiindex.html    ##默认访问主页名称


systemctl restart httpd
chmod +x index.cgi        ##给文件添加执行权限
测试:
172.25.254.136/cgi/
wKiom1kcJWXRuYMJAABBS8kk8a4522.png

#####Apache的虚拟主机#####

1.定义
可以让我们的一台apache服务器在被访问不同域名的时候显示不同的主页

虚拟主机允许您从一个httpd服务器同时为多个网站提供服务。在本节中,我们将了解基于名称的虚拟主机其中多个主机名都指向同一个IP地址,但是Web服务器根据用于到达站点的主机名提供具有不同内容的不同网站。

2.建立测试页

##########建立网页发布目录#######

mkdir /var/www/virtual/money.westos.com/html -p
mkdir /var/www/virtual/news.westos.com/html -p
echo "<h1>news.westos.coms's page</h1>">/var/www/virtual/news.westos.com/html/index.html
echo "<h1>money.westos.coms's page</h1>">/var/www/virtual/money.westos.com/html/index.html

3.配置##创建虚拟主机配置文件

vim /etc/httpd/conf.d/default.conf      ##未指定域名的访问都访问default     

###这是定义虚拟主机的块

<Virtualhost   _default_:80>                 ##虚拟主机开启的端口             
    DocumentRoot"/var/www/html"        ##虚拟主机默认发布目录    
    CustomLog "logs/default.log"combined    ##虚拟主机日志
</Virtualhost>

vim /etc/httpd/conf.d/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>


vim /etc/httpd/conf.d/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>


systemctl start httpd        ##启动apache服务

    
4.测试
在浏览器所在主机中
vim /etc/hosts
172.25.254.136  www.westos.comnews.westos.com money.westos.com

wKioL1kcJWWQUIWgAAD187y56i4741.png

wKiom1kcJWaBUhfRAABM9m_aj1A694.png

wKioL1kcJWaS9QbbAABPxFJ5rso851.png

wKioL1kcJWaxAbVEAABSPYS4LpY738.png

####https#####
1.https定义
通过ssl加密

2.配置
yum install mod_ssl -y            ##安装证书及其私钥

yum install crypto-utils -y        ##安装crypto-utils软件包
genkey www.westos.com        ##调用genkey,同时为生成的文件指定唯一名称

wKiom1kcJeHi0DLyAAAuoodipEs935.png

##记录生成的证书(www.westos.com.crt)和关联的私钥(www.westos.com.key)的位置:

wKiom1kcJeKjfBNbAAGNXqOO1IM728.png

##继续使用对话框,并选择合适的密钥大小:

wKioL1kao8CwLJ_JAACsYxUjVsU124.png

##在生成随机数时比较慢,敲键盘和移动鼠标可以加速

wKioL1kcJeKz8iFHAAD55C4IqKs676.png

wKiom1kcJePhXsG0AAJzDuC_w6A327.png

##拒绝向认证机构(CA)发送证书请求(CSR)。wKiom1kcJeTh3rTPAAC2dgtZ0cU214.png

##拒绝加密私钥

wKioL1kcJeSh881iAAHvnyKQQ90849.png

##为服务器提供合适的身份

wKioL1kcJeWjBS8TAAHAVxrRASU924.png


##得到/etc/pki/tls/certs/www.westos.com.crt
/etc/pki/tls/private/www.westos.com.key
##
编辑/etc/httpd/conf.d/ssl.conf, 将SSLCertificateFile和SSLCertificateKeyFile指令设置为分别指向X.509证书和密钥文件。

wKiom1kcJeax9tP0AAC9PBvpxwU127.png

vim /etc/httpd/conf.d/login.conf

<Virtualhost  *:443>            ##访问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/private/www.westos.com.key ##密钥
</Virtualhost>
<Directory "/var/www/virtual/login.westos.com/html">       
    Require all granted
</Directory>
<Virtualhost  *:80>    ##网页重写把所有80端口的请求全部重定向由https来处理
       ServerName"login.westos.com"        
       REwriteEngine on        
       RewriteRule^(/.*)$ https://%{HTTP_HOST}$1 [redirect=301]
</Virtualhost>
#^(/.*)$ https://%{HTTP_HOST}$1 [redirect=301]
解析
#^(/.*)$             客户主机在地址栏中写入的所有字符,不好看换行符
#https://       定向成功的访问协议
#%{HTTP_HOST}   客户请求主机
#$1             $1的值就表示^(/.*)$的值 
#[redirect=301]  临时重定向  302永久重定向

wKiom1kcJeaAkD1nAAD6xMxGppg627.png
mkdir /var/www/virtual/login.westos.com/html -p
vim /var/www/virtual/login.westos.com/html/index.html

<h1>haha www.westos.com</h1>

systemctl restart httpd

测试:
在客户主机中添加解析
vim /etc/hosts
172.25.254.136 login.westos.com
wKiom1kcJ8Lxf4m_AAEtkyCv6WU966.png
访问http://login.westos.com会自动跳转到
https://login.westos.com实现网页数据加密传输

wKiom1kcJ8KgItBNAAFZrVSmNqY251.png

wKioL1kcJ8OzWDGZAAH-sF7R1UE456.png

wKioL1kcJ8Ow9kRiAABOcdxwuwI537.png

wKiom1kcJ8Tz8vn4AAI_RvEcAn4852.png


VPS岛 的文章和资源来自互联网,仅作为参考资料,如果有侵犯版权的资源请尽快联系站长,我们会在24h内删除有争议的资源。丨 转载请注明3-unit9 apache
喜欢 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址