CentOS 7.2配置Apache服务httpd(上)
<p><strong>一、apache简介</strong></p>
<p>
<span><strong>apache http server</strong></span>(简称apache)是apache软件基金会的一个开放源代码的网页服务器软件,可以在大多数电脑操作系统中运行,由于其跨平台和安全性(尽管不断有新的漏洞被发现,但由于其开放源代码的特点,漏洞总能被很快修补。因此总合来说,其安全性还是相当高的。)。被广泛使用,是最流行的web服务器软件之一。它快速、可靠并且可通过简单的api扩充,将perl/python等解释器编译到服务器中。</p>
<p>
<span><strong>软件图标 </strong></span></p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="CentOS 7.2配置Apache服务httpd(上)" alt="CentOS 7.2配置Apache服务httpd(上)" id="theimg" src="https://zhuji.jb51.net/uploads/img/202305/3b80eb21bfd70228b3a1dd3cab7081a7.jpg"></p>
<p>
<strong>二、安装apache httpd</strong></p>
<p>
安装httpd以配置web服务器, http使用80 / tcp</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_761967">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
<div class="line number8 index7 alt1">
8</div>
<div class="line number9 index8 alt2">
9</div>
<div class="line number10 index9 alt1">
10</div>
<div class="line number11 index10 alt2">
11</div>
<div class="line number12 index11 alt1">
12</div>
<div class="line number13 index12 alt2">
13</div>
<div class="line number14 index13 alt1">
14</div>
<div class="line number15 index14 alt2">
15</div>
<div class="line number16 index15 alt1">
16</div>
<div class="line number17 index16 alt2">
17</div>
<div class="line number18 index17 alt1">
18</div>
<div class="line number19 index18 alt2">
19</div>
<div class="line number20 index19 alt1">
20</div>
<div class="line number21 index20 alt2">
21</div>
<div class="line number22 index21 alt1">
22</div>
<div class="line number23 index22 alt2">
23</div>
<div class="line number24 index23 alt1">
24</div>
<div class="line number25 index24 alt2">
25</div>
<div class="line number26 index25 alt1">
26</div>
<div class="line number27 index26 alt2">
27</div>
<div class="line number28 index27 alt1">
28</div>
<div class="line number29 index28 alt2">
29</div>
<div class="line number30 index29 alt1">
30</div>
<div class="line number31 index30 alt2">
31</div>
<div class="line number32 index31 alt1">
32</div>
<div class="line number33 index32 alt2">
33</div>
<div class="line number34 index33 alt1">
34</div>
<div class="line number35 index34 alt2">
35</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain"> 安装 httpd.</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain"></code><code class="bash comments"># yum -y install httpd</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash comments"># 删除默认欢迎页面</code>
</div>
<div class="line number4 index3 alt1">
<code class="bash plain"></code><code class="bash comments"># rm -f /etc/httpd/conf.d/welcome.conf</code>
</div>
<div class="line number5 index4 alt2">
<code class="bash plain"> 配置httpd,将服务器名称替换为您自己的环境</code>
</div>
<div class="line number6 index5 alt1">
<code class="bash plain"></code><code class="bash comments"># vi /etc/httpd/conf/httpd.conf</code>
</div>
<div class="line number7 index6 alt2">
<code class="bash comments"># line 86: 改变管理员的邮箱地址</code>
</div>
<div class="line number8 index7 alt1">
<code class="bash plain">serveradmin root@linuxprobe.org</code>
</div>
<div class="line number9 index8 alt2">
<code class="bash comments"># line 95: 改变域名信息</code>
</div>
<div class="line number10 index9 alt1">
<code class="bash plain">servername www.linuxprobe.org:80</code>
</div>
<div class="line number11 index10 alt2">
<code class="bash comments"># line 151: none变成all</code>
</div>
<div class="line number12 index11 alt1">
<code class="bash plain">allowoverride all</code>
</div>
<div class="line number13 index12 alt2">
<code class="bash comments"># line 164: 添加只能使用目录名称访问的文件名</code>
</div>
<div class="line number14 index13 alt1">
<code class="bash plain">directoryindex index.html index.cgi index.php</code>
</div>
<div class="line number15 index14 alt2">
<code class="bash comments"># add follows to the end</code>
</div>
<div class="line number16 index15 alt1">
<code class="bash comments"># server's response header(安全性)</code>
</div>
<div class="line number17 index16 alt2">
<code class="bash plain">servertokens prod</code>
</div>
<div class="line number18 index17 alt1">
<code class="bash comments"># keepalive is on</code>
</div>
<div class="line number19 index18 alt2">
<code class="bash plain">keepalive on</code>
</div>
<div class="line number20 index19 alt1">
<code class="bash plain"></code><code class="bash comments"># systemctl start httpd</code>
</div>
<div class="line number21 index20 alt2">
<code class="bash plain"></code><code class="bash comments"># systemctl enable httpd</code>
</div>
<div class="line number22 index21 alt1">
<code class="bash plain"> 如果firewalld正在运行,请允许http服务。,http使用80 / tcp</code>
</div>
<div class="line number23 index22 alt2">
<code class="bash plain"></code><code class="bash comments"># firewall-cmd --add-service=http --permanent</code>
</div>
<div class="line number24 index23 alt1">
<code class="bash plain">success</code>
</div>
<div class="line number25 index24 alt2">
<code class="bash plain"></code><code class="bash comments"># firewall-cmd --reload</code>
</div>
<div class="line number26 index25 alt1">
<code class="bash plain">success</code>
</div>
<div class="line number27 index26 alt2">
<code class="bash plain"> 创建一个html测试页,并使用web浏览器从客户端pc访问它。如果显示以下页面,是正确的</code>
</div>
<div class="line number28 index27 alt1">
<code class="bash plain"></code><code class="bash comments"># vi /var/www/html/index.html</code>
</div>
<div class="line number29 index28 alt2">
<code class="bash plain"><html></code>
</div>
<div class="line number30 index29 alt1">
<code class="bash plain"><body></code>
</div>
<div class="line number31 index30 alt2">
<code class="bash plain"><div style=</code><code class="bash string">"width: 100%; font-size: 40px; font-weight: bold; text-align: center;"</code><code class="bash plain">></code>
</div>
<div class="line number32 index31 alt1">
<code class="bash plain">welcome access linuxprobe.org,this is </code><code class="bash functions">test</code> <code class="bash plain">page!</code>
</div>
<div class="line number33 index32 alt2">
<code class="bash plain"><</code><code class="bash plain">/div</code><code class="bash plain">></code>
</div>
<div class="line number34 index33 alt1">
<code class="bash plain"><</code><code class="bash plain">/body</code><code class="bash plain">></code>
</div>
<div class="line number35 index34 alt2">
<code class="bash plain"><</code><code class="bash plain">/html</code><code class="bash plain">></code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
<img style="max-width:100%!important;height:auto!important;"title="CentOS 7.2配置Apache服务httpd(上)" alt="CentOS 7.2配置Apache服务httpd(上)" id="theimg" src="https://zhuji.jb51.net/uploads/img/202305/d011337a8e2bbe270a009d259f1e2709.jpg"></p>
<p>
<strong>三、支持perl</strong></p>
<p>
启用cgi执行并使用perl脚本</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_919585">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
<div class="line number8 index7 alt1">
8</div>
<div class="line number9 index8 alt2">
9</div>
<div class="line number10 index9 alt1">
10</div>
<div class="line number11 index10 alt2">
11</div>
<div class="line number12 index11 alt1">
12</div>
<div class="line number13 index12 alt2">
13</div>
<div class="line number14 index13 alt1">
14</div>
<div class="line number15 index14 alt2">
15</div>
<div class="line number16 index15 alt1">
16</div>
<div class="line number17 index16 alt2">
17</div>
<div class="line number18 index17 alt1">
18</div>
<div class="line number19 index18 alt2">
19</div>
<div class="line number20 index19 alt1">
20</div>
<div class="line number21 index20 alt2">
21</div>
<div class="line number22 index21 alt1">
22</div>
<div class="line number23 index22 alt2">
23</div>
<div class="line number24 index23 alt1">
24</div>
<div class="line number25 index24 alt2">
25</div>
<div class="line number26 index25 alt1">
26</div>
<div class="line number27 index26 alt2">
27</div>
<div class="line number28 index27 alt1">
28</div>
<div class="line number29 index28 alt2">
29</div>
<div class="line number30 index29 alt1">
30</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain"> 安装perl.</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain"></code><code class="bash comments"># yum -y install perl perl-cgi</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash plain"> 默认情况下,在“</code><code class="bash plain">/var/www/cgi-bin</code><code class="bash plain">”目录下允许cgi。 </code>
</div>
<div class="line number4 index3 alt1">
<code class="bash plain">可以使用perl scripts放在目录下。然而,它下面的所有文件都被处理为cgi。</code>
</div>
<div class="line number5 index4 alt2">
<code class="bash comments"># 下面的设置是cgi的设置</code>
</div>
<div class="line number6 index5 alt1">
<code class="bash plain"></code><code class="bash comments"># grep -n "^ *scriptalias" /etc/httpd/conf/httpd.conf</code>
</div>
<div class="line number7 index6 alt2">
<code class="bash plain">247: scriptalias </code><code class="bash plain">/cgi-bin/</code> <code class="bash string">"/var/www/cgi-bin/"</code>
</div>
<div class="line number8 index7 alt1">
<code class="bash plain"> 如果你想允许在其他目录中的cgi,配置如下。 </code>
</div>
<div class="line number9 index8 alt2">
<code class="bash plain">例如,在“</code><code class="bash plain">/var/www/html/cgi-enabled</code><code class="bash plain">”中允许。</code>
</div>
<div class="line number10 index9 alt1">
<code class="bash plain"></code><code class="bash comments"># vi /etc/httpd/conf.d/cgi-enabled.conf</code>
</div>
<div class="line number11 index10 alt2">
<code class="bash comments"># create new</code>
</div>
<div class="line number12 index11 alt1">
<code class="bash comments"># processes .cgi and .pl as cgi scripts</code>
</div>
<div class="line number13 index12 alt2">
<code class="bash plain"><directory </code><code class="bash string">"/var/www/html/cgi-enabled"</code><code class="bash plain">></code>
</div>
<div class="line number14 index13 alt1">
<code class="bash spaces"> </code><code class="bash plain">options +execcgi</code>
</div>
<div class="line number15 index14 alt2">
<code class="bash spaces"> </code><code class="bash plain">addhandler cgi-script .cgi .pl</code>
</div>
<div class="line number16 index15 alt1">
<code class="bash plain"><</code><code class="bash plain">/directory</code><code class="bash plain">></code>
</div>
<div class="line number17 index16 alt2">
<code class="bash plain"></code><code class="bash comments"># systemctl restart httpd</code>
</div>
<div class="line number18 index17 alt1">
<code class="bash plain"> 如果selinux被启用,并且允许cgi在不是像上面的默认目录下,更改规则如下。</code>
</div>
<div class="line number19 index18 alt2">
<code class="bash plain"></code><code class="bash comments"># chcon -r -t httpd_sys_script_exec_t /var/linuxprobe/html/cgi-enabled</code>
</div>
<div class="line number20 index19 alt1">
<code class="bash plain"></code><code class="bash comments"># semanage fcontext -a -t httpd_sys_script_exec_t /var/www/html/cgi-enabled</code>
</div>
<div class="line number21 index20 alt2">
<code class="bash plain"> 创建一个cgi测试页面,并使用web浏览器从客户端pc访问它。如果显示以下页面,说明配置正确。</code>
</div>
<div class="line number22 index21 alt1">
<code class="bash plain"></code><code class="bash comments"># vi /var/www/html/cgi-enabled/index.cgi</code>
</div>
<div class="line number23 index22 alt2">
<code class="bash comments">#!/usr/bin/perl</code>
</div>
<div class="line number24 index23 alt1">
<code class="bash plain">print </code><code class="bash string">"content-type: text/html\n\n"</code><code class="bash plain">;</code>
</div>
<div class="line number25 index24 alt2">
<code class="bash plain">print </code><code class="bash string">"<html>\n<body>\n"</code><code class="bash plain">;</code>
</div>
<div class="line number26 index25 alt1">
<code class="bash plain">print </code><code class="bash string">"<div style=\"width: 100%; font-size: 40px; font-weight: bold; text-align: center;\">\n"</code><code class="bash plain">;</code>
</div>
<div class="line number27 index26 alt2">
<code class="bash plain">print </code><code class="bash string">"cgi test page"</code><code class="bash plain">;</code>
</div>
<div class="line number28 index27 alt1">
<code class="bash plain">print </code><code class="bash string">"\n</div>\n"</code><code class="bash plain">;</code>
</div>
<div class="line number29 index28 alt2">
<code class="bash plain">print </code><code class="bash string">"</body>\n</html>\n"</code><code class="bash plain">;</code>
</div>
<div class="line number30 index29 alt1">
<code class="bash plain"></code><code class="bash comments"># chmod 705 /var/www/html/cgi-enabled/index.cgi </code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
<img style="max-width:100%!important;height:auto!important;"title="CentOS 7.2配置Apache服务httpd(上)" alt="CentOS 7.2配置Apache服务httpd(上)" id="theimg" src="https://zhuji.jb51.net/uploads/img/202305/21e94c38c9a8119f2631008fd44edb4a.jpg"></p>
<p>
<strong>四、支持php</strong></p>
<p>
配置httpd以使用php脚本<br>
安装php.</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_775220">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain"></code><code class="bash comments"># yum -y install php php-mbstring php-pear</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain"></code><code class="bash comments"># vi /etc/php.ini</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash comments"># line 878: 取消注释,设置时区</code>
</div>
<div class="line number4 index3 alt1">
<code class="bash functions">date</code><code class="bash plain">.timezone = </code><code class="bash string">"asia/shanghai"</code>
</div>
<div class="line number5 index4 alt2">
<code class="bash plain"></code><code class="bash comments"># systemctl restart httpd</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
创建一个php测试页面,并使用web浏览器从客户端pc访问它。如果显示以下页面,它是确定。</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_359896">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
<div class="line number8 index7 alt1">
8</div>
<div class="line number9 index8 alt2">
9</div>
<div class="line number10 index9 alt1">
10</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain"></code><code class="bash comments"># vi /var/www/html/index.php</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain"><html></code>
</div>
<div class="line number3 index2 alt2">
<code class="bash plain"><body></code>
</div>
<div class="line number4 index3 alt1">
<code class="bash plain"><div style=</code><code class="bash string">"width: 100%; font-size: 40px; font-weight: bold; text-align: center;"</code><code class="bash plain">></code>
</div>
<div class="line number5 index4 alt2">
<code class="bash plain"><?php</code>
</div>
<div class="line number6 index5 alt1">
<code class="bash spaces"> </code><code class="bash plain">print </code><code class="bash functions">date</code><code class="bash plain">(</code><code class="bash string">"y/m/d"</code><code class="bash plain">);</code>
</div>
<div class="line number7 index6 alt2">
<code class="bash plain">?></code>
</div>
<div class="line number8 index7 alt1">
<code class="bash plain"><</code><code class="bash plain">/div</code><code class="bash plain">></code>
</div>
<div class="line number9 index8 alt2">
<code class="bash plain"><</code><code class="bash plain">/body</code><code class="bash plain">></code>
</div>
<div class="line number10 index9 alt1">
<code class="bash plain"><</code><code class="bash plain">/html</code><code class="bash plain">></code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
<img style="max-width:100%!important;height:auto!important;"title="CentOS 7.2配置Apache服务httpd(上)" alt="CentOS 7.2配置Apache服务httpd(上)" id="theimg" src="https://zhuji.jb51.net/uploads/img/202305/ae839f193647ef2de31d74229292d5b0.jpg"></p>
<p>
创建phpinfo测试页,确认是都开启php支持<br><span># echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php</span></p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="CentOS 7.2配置Apache服务httpd(上)" alt="CentOS 7.2配置Apache服务httpd(上)" id="theimg" src="https://zhuji.jb51.net/uploads/img/202305/786b8d5e0273f9ba1d71e35c757c9866.jpg"></p>
<p>
<strong>五、支持ruby</strong></p>
<p>
配置httpd以将ruby脚本用作cgi<br>
安装ruby.<br><span># yum -y install ruby</span></p>
<p>
默认情况下,在“/var/www/cgi-bin”目录下允许cgi。 <br>
可以使用perl scripts放在目录下。然而,它下面的所有文件都被处理为cgi。</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_815401">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash comments"># 下面的设置是cgi的设置</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain"></code><code class="bash comments"># grep -n "^ *scriptalias" /etc/httpd/conf/httpd.conf</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash plain">247: scriptalias </code><code class="bash plain">/cgi-bin/</code> <code class="bash string">"/var/www/cgi-bin/"</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
如果你想允许在其他目录中的cgi,配置如下。 <br>
例如,在“/var/www/html/cgi-enabled”中允许。</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_361024">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
<div class="line number8 index7 alt1">
8</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain"></code><code class="bash comments"># vi /etc/httpd/conf.d/cgi-enabled.conf</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash comments"># create new</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash comments"># processes .rb as cgi scripts</code>
</div>
<div class="line number4 index3 alt1">
<code class="bash plain"><directory </code><code class="bash string">"/var/www/html/cgi-enabled"</code><code class="bash plain">></code>
</div>
<div class="line number5 index4 alt2">
<code class="bash spaces"> </code><code class="bash plain">options +execcgi</code>
</div>
<div class="line number6 index5 alt1">
<code class="bash spaces"> </code><code class="bash plain">addhandler cgi-script .rb</code>
</div>
<div class="line number7 index6 alt2">
<code class="bash plain"><</code><code class="bash plain">/directory</code><code class="bash plain">></code>
</div>
<div class="line number8 index7 alt1">
<code class="bash plain"></code><code class="bash comments"># systemctl restart httpd</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
如果selinux被启用,并且允许cgi在不是像上面的默认目录下,更改规则如下。</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_51579">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain"></code><code class="bash comments"># chcon -r -t httpd_sys_script_exec_t /var/www/html/cgi-enabled</code>
</div>
<div class="line number2 index1 alt1">
</div>
<div class="line number3 index2 alt2">
<code class="bash plain"></code><code class="bash comments"># semanage fcontext -a -t httpd_sys_script_exec_t /var/www/html/cgi-enabled</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
create a cgi test page and access to it from client pc with web browser. it's ok if following page is shown.</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_741441">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
<div class="line number8 index7 alt1">
8</div>
<div class="line number9 index8 alt2">
9</div>
<div class="line number10 index9 alt1">
10</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain"></code><code class="bash comments"># vi /var/www/html/cgi-enabled/index.rb</code>
</div>
<div class="line number2 index1 alt1">
</div>
<div class="line number3 index2 alt2">
<code class="bash comments">#!/usr/bin/ruby</code>
</div>
<div class="line number4 index3 alt1">
<code class="bash plain">print </code><code class="bash string">"content-type: text/html\n\n"</code>
</div>
<div class="line number5 index4 alt2">
<code class="bash plain">print </code><code class="bash string">"<html>\n<body>\n"</code>
</div>
<div class="line number6 index5 alt1">
<code class="bash plain">print </code><code class="bash string">"<div style=\"width: 100%; font-size: 40px; font-weight: bold; text-align: center;\">\n"</code>
</div>
<div class="line number7 index6 alt2">
<code class="bash plain">print </code><code class="bash string">"ruby script test page"</code>
</div>
<div class="line number8 index7 alt1">
<code class="bash plain">print </code><code class="bash string">"\n</div>\n"</code>
</div>
<div class="line number9 index8 alt2">
<code class="bash plain">print </code><code class="bash string">"</body>\n</html>\n"</code>
</div>
<div class="line number10 index9 alt1">
<code class="bash plain"></code><code class="bash comments"># chmod 705 /var/www/html/cgi-enabled/index.rb </code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
<img style="max-width:100%!important;height:auto!important;"title="CentOS 7.2配置Apache服务httpd(上)" alt="CentOS 7.2配置Apache服务httpd(上)" id="theimg" src="https://zhuji.jb51.net/uploads/img/202305/9383076c4214cfe8a0693bd8b7f97e06.jpg"></p>
<p>
<strong>六、支持python</strong></p>
<p>
启用cgi执行并使用python脚本</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_175151">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
<div class="line number8 index7 alt1">
8</div>
<div class="line number9 index8 alt2">
9</div>
<div class="line number10 index9 alt1">
10</div>
<div class="line number11 index10 alt2">
11</div>
<div class="line number12 index11 alt1">
12</div>
<div class="line number13 index12 alt2">
13</div>
<div class="line number14 index13 alt1">
14</div>
<div class="line number15 index14 alt2">
15</div>
<div class="line number16 index15 alt1">
16</div>
<div class="line number17 index16 alt2">
17</div>
<div class="line number18 index17 alt1">
18</div>
<div class="line number19 index18 alt2">
19</div>
<div class="line number20 index19 alt1">
20</div>
<div class="line number21 index20 alt2">
21</div>
<div class="line number22 index21 alt1">
22</div>
<div class="line number23 index22 alt2">
23</div>
<div class="line number24 index23 alt1">
24</div>
<div class="line number25 index24 alt2">
25</div>
<div class="line number26 index25 alt1">
26</div>
<div class="line number27 index26 alt2">
27</div>
<div class="line number28 index27 alt1">
28</div>
<div class="line number29 index28 alt2">
29</div>
<div class="line number30 index29 alt1">
30</div>
<div class="line number31 index30 alt2">
31</div>
<div class="line number32 index31 alt1">
32</div>
<div class="line number33 index32 alt2">
33</div>
<div class="line number34 index33 alt1">
34</div>
<div class="line number35 index34 alt2">
35</div>
<div class="line number36 index35 alt1">
36</div>
<div class="line number37 index36 alt2">
37</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain"> 安装python.</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain"></code><code class="bash comments"># yum -y install python</code>
</div>
<div class="line number3 index2 alt2">
</div>
<div class="line number4 index3 alt1">
<code class="bash plain"> 默认情况下,在“</code><code class="bash plain">/var/www/cgi-bin</code><code class="bash plain">”目录下允许cgi。 </code>
</div>
<div class="line number5 index4 alt2">
<code class="bash plain">可以使用perl scripts放在目录下。然而,它下面的所有文件都被处理为cgi。</code>
</div>
<div class="line number6 index5 alt1">
<code class="bash comments"># 下面的设置是cgi的设置</code>
</div>
<div class="line number7 index6 alt2">
<code class="bash plain"></code><code class="bash comments"># grep -n "^ *scriptalias" /etc/httpd/conf/httpd.conf</code>
</div>
<div class="line number8 index7 alt1">
<code class="bash plain">247: scriptalias </code><code class="bash plain">/cgi-bin/</code> <code class="bash string">"/var/www/cgi-bin/"</code>
</div>
<div class="line number9 index8 alt2">
</div>
<div class="line number10 index9 alt1">
<code class="bash plain"> 如果你想允许在其他目录中的cgi,配置如下。 </code>
</div>
<div class="line number11 index10 alt2">
<code class="bash plain">例如,在“</code><code class="bash plain">/var/www/html/cgi-enabled</code><code class="bash plain">”中允许。</code>
</div>
<div class="line number12 index11 alt1">
<code class="bash plain"></code><code class="bash comments"># vi /etc/httpd/conf.d/cgi-enabled.conf</code>
</div>
<div class="line number13 index12 alt2">
<code class="bash comments"># create new</code>
</div>
<div class="line number14 index13 alt1">
<code class="bash comments"># processes .py as cgi scripts</code>
</div>
<div class="line number15 index14 alt2">
<code class="bash plain"><directory </code><code class="bash string">"/var/www/html/cgi-enabled"</code><code class="bash plain">></code>
</div>
<div class="line number16 index15 alt1">
<code class="bash spaces"> </code><code class="bash plain">options +execcgi</code>
</div>
<div class="line number17 index16 alt2">
<code class="bash spaces"> </code><code class="bash plain">addhandler cgi-script .py</code>
</div>
<div class="line number18 index17 alt1">
<code class="bash plain"><</code><code class="bash plain">/directory</code><code class="bash plain">></code>
</div>
<div class="line number19 index18 alt2">
<code class="bash plain"></code><code class="bash comments"># systemctl restart httpd</code>
</div>
<div class="line number20 index19 alt1">
</div>
<div class="line number21 index20 alt2">
<code class="bash plain"> 如果selinux被启用,并且允许cgi在不是像上面的默认目录下,更改规则如下。</code>
</div>
<div class="line number22 index21 alt1">
<code class="bash plain"></code><code class="bash comments"># chcon -r -t httpd_sys_script_exec_t /var/www/html/cgi-enabled</code>
</div>
<div class="line number23 index22 alt2">
<code class="bash plain"></code><code class="bash comments"># semanage fcontext -a -t httpd_sys_script_exec_t /var/www/html/cgi-enabled</code>
</div>
<div class="line number24 index23 alt1">
</div>
<div class="line number25 index24 alt2">
<code class="bash plain"> create a cgi </code><code class="bash functions">test</code> <code class="bash plain">page and access to it from client pc with web browser. it's ok </code><code class="bash keyword">if</code> <code class="bash plain">following page is shown.</code>
</div>
<div class="line number26 index25 alt1">
<code class="bash plain"></code><code class="bash comments"># vi /var/www/html/cgi-enabled/index.py</code>
</div>
<div class="line number27 index26 alt2">
</div>
<div class="line number28 index27 alt1">
<code class="bash comments">#!/usr/bin/env python</code>
</div>
<div class="line number29 index28 alt2">
</div>
<div class="line number30 index29 alt1">
<code class="bash plain">print </code><code class="bash string">"content-type: text/html\n\n"</code>
</div>
<div class="line number31 index30 alt2">
<code class="bash plain">print </code><code class="bash string">"<html>\n<body>\n"</code>
</div>
<div class="line number32 index31 alt1">
<code class="bash plain">print </code><code class="bash string">"<div style=\"width: 100%; font-size: 40px; font-weight: bold; text-align: center;\">\n"</code>
</div>
<div class="line number33 index32 alt2">
<code class="bash plain">print </code><code class="bash string">"python script test page"</code>
</div>
<div class="line number34 index33 alt1">
<code class="bash plain">print </code><code class="bash string">"\n</div>\n"</code>
</div>
<div class="line number35 index34 alt2">
<code class="bash plain">print </code><code class="bash string">"</body>\n</html>\n"</code>
</div>
<div class="line number36 index35 alt1">
</div>
<div class="line number37 index36 alt2">
<code class="bash plain"></code><code class="bash comments"># chmod 705 /var/www/html/cgi-enabled/index.py</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
<img style="max-width:100%!important;height:auto!important;"title="CentOS 7.2配置Apache服务httpd(上)" alt="CentOS 7.2配置Apache服务httpd(上)" id="theimg" src="https://zhuji.jb51.net/uploads/img/202305/d2ccc894ab93559a63f203f63e4d04c7.jpg"></p>
<p>
<strong>七、支持userdir</strong></p>
<p>
启用userdir,用户可以使用此设置创建网站</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_632076">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
<div class="line number8 index7 alt1">
8</div>
<div class="line number9 index8 alt2">
9</div>
<div class="line number10 index9 alt1">
10</div>
<div class="line number11 index10 alt2">
11</div>
<div class="line number12 index11 alt1">
12</div>
<div class="line number13 index12 alt2">
13</div>
<div class="line number14 index13 alt1">
14</div>
<div class="line number15 index14 alt2">
15</div>
<div class="line number16 index15 alt1">
16</div>
<div class="line number17 index16 alt2">
17</div>
<div class="line number18 index17 alt1">
18</div>
<div class="line number19 index18 alt2">
19</div>
<div class="line number20 index19 alt1">
20</div>
<div class="line number21 index20 alt2">
21</div>
<div class="line number22 index21 alt1">
22</div>
<div class="line number23 index22 alt2">
23</div>
<div class="line number24 index23 alt1">
24</div>
<div class="line number25 index24 alt2">
25</div>
<div class="line number26 index25 alt1">
26</div>
<div class="line number27 index26 alt2">
27</div>
<div class="line number28 index27 alt1">
28</div>
<div class="line number29 index28 alt2">
29</div>
<div class="line number30 index29 alt1">
30</div>
<div class="line number31 index30 alt2">
31</div>
<div class="line number32 index31 alt1">
32</div>
<div class="line number33 index32 alt2">
33</div>
<div class="line number34 index33 alt1">
34</div>
<div class="line number35 index34 alt2">
35</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain"> 配置 httpd.</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain"></code><code class="bash comments"># vi /etc/httpd/conf.d/userdir.conf</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash comments"># line 17: comment out</code>
</div>
<div class="line number4 index3 alt1">
<code class="bash comments">#userdir disabled</code>
</div>
<div class="line number5 index4 alt2">
<code class="bash comments"># line 24: uncomment</code>
</div>
<div class="line number6 index5 alt1">
<code class="bash plain">userdir public_html</code>
</div>
<div class="line number7 index6 alt2">
<code class="bash comments"># line 31 - 35</code>
</div>
<div class="line number8 index7 alt1">
</div>
<div class="line number9 index8 alt2">
<code class="bash plain"><directory </code><code class="bash string">"/home/*/public_html"</code><code class="bash plain">></code>
</div>
<div class="line number10 index9 alt1">
<code class="bash spaces"> </code><code class="bash plain">allowoverride all</code>
</div>
<div class="line number11 index10 alt2">
<code class="bash comments"># change</code>
</div>
<div class="line number12 index11 alt1">
</div>
<div class="line number13 index12 alt2">
<code class="bash spaces"> </code><code class="bash plain">options none</code>
</div>
<div class="line number14 index13 alt1">
<code class="bash comments"># change</code>
</div>
<div class="line number15 index14 alt2">
</div>
<div class="line number16 index15 alt1">
<code class="bash spaces"> </code><code class="bash plain">require method get post options</code>
</div>
<div class="line number17 index16 alt2">
<code class="bash plain"><</code><code class="bash plain">/directory</code><code class="bash plain">></code>
</div>
<div class="line number18 index17 alt1">
<code class="bash plain"></code><code class="bash comments"># systemctl restart httpd</code>
</div>
<div class="line number19 index18 alt2">
</div>
<div class="line number20 index19 alt1">
<code class="bash plain"> 创建一个测试页,使用普通用户通过客户端pc与web浏览器和访问它,如果显示以下页面,就是正确的</code>
</div>
<div class="line number21 index20 alt2">
<code class="bash plain">$ </code><code class="bash functions">mkdir</code> <code class="bash plain">public_html</code>
</div>
<div class="line number22 index21 alt1">
</div>
<div class="line number23 index22 alt2">
<code class="bash plain">$ </code><code class="bash functions">chmod</code> <code class="bash plain">711 </code><code class="bash plain">/home/cent</code>
</div>
<div class="line number24 index23 alt1">
</div>
<div class="line number25 index24 alt2">
<code class="bash plain">$ </code><code class="bash functions">chmod</code> <code class="bash plain">755 </code><code class="bash plain">/home/cent/public_html</code>
</div>
<div class="line number26 index25 alt1">
</div>
<div class="line number27 index26 alt2">
<code class="bash plain">$ </code><code class="bash functions">vi</code> <code class="bash plain">.</code><code class="bash plain">/public_html/index</code><code class="bash plain">.html</code>
</div>
<div class="line number28 index27 alt1">
</div>
<div class="line number29 index28 alt2">
<code class="bash plain"><html></code>
</div>
<div class="line number30 index29 alt1">
<code class="bash plain"><body></code>
</div>
<div class="line number31 index30 alt2">
<code class="bash plain"><div style=</code><code class="bash string">"width: 100%; font-size: 40px; font-weight: bold; text-align: center;"</code><code class="bash plain">></code>
</div>
<div class="line number32 index31 alt1">
<code class="bash plain">userdir </code><code class="bash functions">test</code> <code class="bash plain">page</code>
</div>
<div class="line number33 index32 alt2">
<code class="bash plain"><</code><code class="bash plain">/div</code><code class="bash plain">></code>
</div>
<div class="line number34 index33 alt1">
<code class="bash plain"><</code><code class="bash plain">/body</code><code class="bash plain">></code>
</div>
<div class="line number35 index34 alt2">
<code class="bash plain"><</code><code class="bash plain">/html</code><code class="bash plain">></code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
浏览器访问:<span>http://linuxprobe.org/~wang/</span>,出现如下界面</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="CentOS 7.2配置Apache服务httpd(上)" alt="CentOS 7.2配置Apache服务httpd(上)" id="theimg" src="https://zhuji.jb51.net/uploads/img/202305/addf0a755861784a4591b777462ebb55.jpg"></p>
<p>
<strong>八、设置虚拟主机</strong></p>
<p>
配置虚拟主机以使用多个域名。<br>
以下示例在域名为,虚拟域名为]的环境中设置。<br>
必须为此示例设置userdir的设置</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_555413">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
<div class="line number8 index7 alt1">
8</div>
<div class="line number9 index8 alt2">
9</div>
<div class="line number10 index9 alt1">
10</div>
<div class="line number11 index10 alt2">
11</div>
<div class="line number12 index11 alt1">
12</div>
<div class="line number13 index12 alt2">
13</div>
<div class="line number14 index13 alt1">
14</div>
<div class="line number15 index14 alt2">
15</div>
<div class="line number16 index15 alt1">
16</div>
<div class="line number17 index16 alt2">
17</div>
<div class="line number18 index17 alt1">
18</div>
<div class="line number19 index18 alt2">
19</div>
<div class="line number20 index19 alt1">
20</div>
<div class="line number21 index20 alt2">
21</div>
<div class="line number22 index21 alt1">
22</div>
<div class="line number23 index22 alt2">
23</div>
<div class="line number24 index23 alt1">
24</div>
<div class="line number25 index24 alt2">
25</div>
<div class="line number26 index25 alt1">
26</div>
<div class="line number27 index26 alt2">
27</div>
<div class="line number28 index27 alt1">
28</div>
<div class="line number29 index28 alt2">
29</div>
<div class="line number30 index29 alt1">
30</div>
<div class="line number31 index30 alt2">
31</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain"> 配置虚拟主机</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain"></code><code class="bash comments"># vi /etc/httpd/conf.d/vhost.conf</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash comments"># for original domain</code>
</div>
<div class="line number4 index3 alt1">
</div>
<div class="line number5 index4 alt2">
<code class="bash plain"><virtualhost *:80></code>
</div>
<div class="line number6 index5 alt1">
<code class="bash spaces"> </code><code class="bash plain">documentroot </code><code class="bash plain">/var/www/html</code>
</div>
<div class="line number7 index6 alt2">
<code class="bash spaces"> </code><code class="bash plain">servername www.linuxprobe.org</code>
</div>
<div class="line number8 index7 alt1">
<code class="bash plain"><</code><code class="bash plain">/virtualhost</code><code class="bash plain">></code>
</div>
<div class="line number9 index8 alt2">
<code class="bash comments"># for virtual domain</code>
</div>
<div class="line number10 index9 alt1">
</div>
<div class="line number11 index10 alt2">
<code class="bash plain"><virtualhost *:80></code>
</div>
<div class="line number12 index11 alt1">
<code class="bash spaces"> </code><code class="bash plain">documentroot </code><code class="bash plain">/home/cent/public_html</code>
</div>
<div class="line number13 index12 alt2">
<code class="bash spaces"> </code><code class="bash plain">servername www.virtual.host</code>
</div>
<div class="line number14 index13 alt1">
<code class="bash spaces"> </code><code class="bash plain">serveradmin webmaster@virtual.host</code>
</div>
<div class="line number15 index14 alt2">
<code class="bash spaces"> </code><code class="bash plain">errorlog logs</code><code class="bash plain">/virtual</code><code class="bash plain">.host-error_log</code>
</div>
<div class="line number16 index15 alt1">
<code class="bash spaces"> </code><code class="bash plain">customlog logs</code><code class="bash plain">/virtual</code><code class="bash plain">.host-access_log combined</code>
</div>
<div class="line number17 index16 alt2">
<code class="bash plain"><</code><code class="bash plain">/virtualhost</code><code class="bash plain">></code>
</div>
<div class="line number18 index17 alt1">
<code class="bash plain"></code><code class="bash comments"># systemctl restart httpd</code>
</div>
<div class="line number19 index18 alt2">
</div>
<div class="line number20 index19 alt1">
<code class="bash plain">创建测试页并使用web浏览器从客户端计算机访问它。如果显示以下页面,则是正确的:</code>
</div>
<div class="line number21 index20 alt2">
<code class="bash plain">$ </code><code class="bash functions">vi</code> <code class="bash plain">~</code><code class="bash plain">/public_html/virtual</code><code class="bash plain">.php</code>
</div>
<div class="line number22 index21 alt1">
<code class="bash plain"><html></code>
</div>
<div class="line number23 index22 alt2">
<code class="bash plain"><body></code>
</div>
<div class="line number24 index23 alt1">
<code class="bash plain"><div style=</code><code class="bash string">"width: 100%; font-size: 40px; font-weight: bold; text-align: center;"</code><code class="bash plain">></code>
</div>
<div class="line number25 index24 alt2">
<code class="bash plain">virtual host </code><code class="bash functions">test</code> <code class="bash plain">page</code>
</div>
<div class="line number26 index25 alt1">
<code class="bash plain"><</code><code class="bash plain">/div</code><code class="bash plain">></code>
</div>
<div class="line number27 index26 alt2">
<code class="bash plain"><</code><code class="bash plain">/body</code><code class="bash plain">></code>
</div>
<div class="line number28 index27 alt1">
<code class="bash plain"><</code><code class="bash plain">/html</code><code class="bash plain">></code>
</div>
<div class="line number29 index28 alt2">
<code class="bash plain">如果访问测试时看不到相应页面,可通过下面命令进行测试:</code>
</div>
<div class="line number30 index29 alt1">
<code class="bash plain"></code><code class="bash comments"># yum -y install elinks^c</code>
</div>
<div class="line number31 index30 alt2">
<code class="bash plain"></code><code class="bash comments"># elinks http://www.virtual.host/virtual.php</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
<strong>九、创建ssl证书</strong></p>
<p>
创建自己的ssl证书。但是,如果您使用您的服务器作为业务,最好购买和使用来自verisigh的正式证书等。</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_590448">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
<div class="line number8 index7 alt1">
8</div>
<div class="line number9 index8 alt2">
9</div>
<div class="line number10 index9 alt1">
10</div>
<div class="line number11 index10 alt2">
11</div>
<div class="line number12 index11 alt1">
12</div>
<div class="line number13 index12 alt2">
13</div>
<div class="line number14 index13 alt1">
14</div>
<div class="line number15 index14 alt2">
15</div>
<div class="line number16 index15 alt1">
16</div>
<div class="line number17 index16 alt2">
17</div>
<div class="line number18 index17 alt1">
18</div>
<div class="line number19 index18 alt2">
19</div>
<div class="line number20 index19 alt1">
20</div>
<div class="line number21 index20 alt2">
21</div>
<div class="line number22 index21 alt1">
22</div>
<div class="line number23 index22 alt2">
23</div>
<div class="line number24 index23 alt1">
24</div>
<div class="line number25 index24 alt2">
25</div>
<div class="line number26 index25 alt1">
26</div>
<div class="line number27 index26 alt2">
27</div>
<div class="line number28 index27 alt1">
28</div>
<div class="line number29 index28 alt2">
29</div>
<div class="line number30 index29 alt1">
30</div>
<div class="line number31 index30 alt2">
31</div>
<div class="line number32 index31 alt1">
32</div>
<div class="line number33 index32 alt2">
33</div>
<div class="line number34 index33 alt1">
34</div>
<div class="line number35 index34 alt2">
35</div>
<div class="line number36 index35 alt1">
36</div>
<div class="line number37 index36 alt2">
37</div>
<div class="line number38 index37 alt1">
38</div>
<div class="line number39 index38 alt2">
39</div>
<div class="line number40 index39 alt1">
40</div>
<div class="line number41 index40 alt2">
41</div>
<div class="line number42 index41 alt1">
42</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain"></code><code class="bash comments"># cd /etc/pki/tls/cert</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain">cert.pem certs/ </code>
</div>
<div class="line number3 index2 alt2">
<code class="bash plain"></code><code class="bash comments"># cd /etc/pki/tls/certs/</code>
</div>
<div class="line number4 index3 alt1">
<code class="bash plain"></code><code class="bash comments"># make server.key</code>
</div>
<div class="line number5 index4 alt2">
<code class="bash functions">umask</code> <code class="bash plain">77 ; \</code>
</div>
<div class="line number6 index5 alt1">
<code class="bash plain">/usr/bin/openssl</code> <code class="bash plain">genrsa -aes128 2048 > server.key</code>
</div>
<div class="line number7 index6 alt2">
<code class="bash plain">generating rsa private key, 2048 bit long modulus</code>
</div>
<div class="line number8 index7 alt1">
<code class="bash plain">...............................................................+++</code>
</div>
<div class="line number9 index8 alt2">
<code class="bash plain">....................................................................................................+++</code>
</div>
<div class="line number10 index9 alt1">
<code class="bash plain">e is 65537 (0x10001)</code>
</div>
<div class="line number11 index10 alt2">
<code class="bash plain">enter pass phrase:</code>
</div>
<div class="line number12 index11 alt1">
<code class="bash plain">verifying - enter pass phrase:</code>
</div>
<div class="line number13 index12 alt2">
<code class="bash plain"></code><code class="bash comments"># openssl rsa -in server.key -out server.key</code>
</div>
<div class="line number14 index13 alt1">
<code class="bash plain">enter pass phrase </code><code class="bash keyword">for</code> <code class="bash plain">server.key:</code>
</div>
<div class="line number15 index14 alt2">
<code class="bash plain">writing rsa key</code>
</div>
<div class="line number16 index15 alt1">
<code class="bash plain"></code><code class="bash comments"># make server.csr</code>
</div>
<div class="line number17 index16 alt2">
<code class="bash functions">umask</code> <code class="bash plain">77 ; \</code>
</div>
<div class="line number18 index17 alt1">
<code class="bash plain">/usr/bin/openssl</code> <code class="bash plain">req -utf8 -new -key server.key -out server.csr</code>
</div>
<div class="line number19 index18 alt2">
<code class="bash plain">you are about to be asked to enter information that will be incorporated</code>
</div>
<div class="line number20 index19 alt1">
<code class="bash plain">into your certificate request.</code>
</div>
<div class="line number21 index20 alt2">
<code class="bash plain">what you are about to enter is what is called a distinguished name or a dn.</code>
</div>
<div class="line number22 index21 alt1">
<code class="bash plain">there are quite a few fields but you can leave some blank</code>
</div>
<div class="line number23 index22 alt2">
<code class="bash keyword">for</code> <code class="bash plain">some fields there will be a default value,</code>
</div>
<div class="line number24 index23 alt1">
<code class="bash keyword">if</code> <code class="bash plain">you enter </code><code class="bash string">'.'</code><code class="bash plain">, the field will be left blank.</code>
</div>
<div class="line number25 index24 alt2">
<code class="bash plain">-----</code>
</div>
<div class="line number26 index25 alt1">
<code class="bash plain">country name (2 letter code) :cn </code><code class="bash comments">#国家后缀</code>
</div>
<div class="line number27 index26 alt2">
<code class="bash plain">state or province name (full name) []:shanghai </code><code class="bash comments">#省</code>
</div>
<div class="line number28 index27 alt1">
<code class="bash plain">locality name (eg, city) :shanghai </code><code class="bash comments">#市</code>
</div>
<div class="line number29 index28 alt2">
<code class="bash plain">organization name (eg, company) :linuxprobe </code><code class="bash comments">#公司</code>
</div>
<div class="line number30 index29 alt1">
<code class="bash plain">organizational unit name (eg, section) []:devops </code><code class="bash comments">#部门</code>
</div>
<div class="line number31 index30 alt2">
<code class="bash plain">common name (eg, your name or your server's </code><code class="bash functions">hostname</code><code class="bash plain">) []:linuxprobe.org </code><code class="bash comments">#主机名</code>
</div>
<div class="line number32 index31 alt1">
<code class="bash plain">email address []:root@linuxprobe.org </code><code class="bash comments">#邮箱</code>
</div>
<div class="line number33 index32 alt2">
</div>
<div class="line number34 index33 alt1">
<code class="bash plain">please enter the following </code><code class="bash string">'extra'</code> <code class="bash plain">attributes</code>
</div>
<div class="line number35 index34 alt2">
<code class="bash plain">to be sent with your certificate request</code>
</div>
<div class="line number36 index35 alt1">
<code class="bash plain">a challenge password []: </code><code class="bash comments">#默认</code>
</div>
<div class="line number37 index36 alt2">
<code class="bash plain">an optional company name []: </code><code class="bash comments">#默认</code>
</div>
<div class="line number38 index37 alt1">
<code class="bash comments">#</code>
</div>
<div class="line number39 index38 alt2">
<code class="bash plain"></code><code class="bash comments"># openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 3650</code>
</div>
<div class="line number40 index39 alt1">
<code class="bash plain">signature ok</code>
</div>
<div class="line number41 index40 alt2">
<code class="bash plain">subject=</code><code class="bash plain">/c</code><code class="bash plain">=cn</code><code class="bash plain">/st</code><code class="bash plain">=shanghai</code><code class="bash plain">/l</code><code class="bash plain">=shanghai</code><code class="bash plain">/o</code><code class="bash plain">=linuxprobe</code><code class="bash plain">/ou</code><code class="bash plain">=devops</code><code class="bash plain">/cn</code><code class="bash plain">=linuxprobe.org</code><code class="bash plain">/emailaddress</code><code class="bash plain">=root@linuxprobe.org</code>
</div>
<div class="line number42 index41 alt1">
<code class="bash plain">getting private key</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
<strong>十、配置ssl</strong></p>
<p>
配置ssl.</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_780040">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
<div class="line number8 index7 alt1">
8</div>
<div class="line number9 index8 alt2">
9</div>
<div class="line number10 index9 alt1">
10</div>
<div class="line number11 index10 alt2">
11</div>
<div class="line number12 index11 alt1">
12</div>
<div class="line number13 index12 alt2">
13</div>
<div class="line number14 index13 alt1">
14</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain"></code><code class="bash comments"># yum -y install mod_ssl</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain"></code><code class="bash comments"># vi /etc/httpd/conf.d/ssl.conf</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash comments"># line 59: 取消注释</code>
</div>
<div class="line number4 index3 alt1">
<code class="bash plain">documentroot </code><code class="bash string">"/var/www/html"</code>
</div>
<div class="line number5 index4 alt2">
<code class="bash comments"># line 60: 取消注释,定义域名</code>
</div>
<div class="line number6 index5 alt1">
<code class="bash plain">servername linuxprobe.org:443</code>
</div>
<div class="line number7 index6 alt2">
<code class="bash comments"># line 75: 改变sslprotocol</code>
</div>
<div class="line number8 index7 alt1">
<code class="bash plain">sslprotocol -all +tlsv1 +tlsv1.1 +tlsv1.2</code>
</div>
<div class="line number9 index8 alt2">
</div>
<div class="line number10 index9 alt1">
<code class="bash comments"># line 100: 改成刚刚创建的server.crt</code>
</div>
<div class="line number11 index10 alt2">
<code class="bash plain">sslcertificatefile </code><code class="bash plain">/etc/pki/tls/certs/server</code><code class="bash plain">.crt</code>
</div>
<div class="line number12 index11 alt1">
<code class="bash comments"># line 107: 改成刚刚创建的server.key</code>
</div>
<div class="line number13 index12 alt2">
<code class="bash plain">sslcertificatekeyfile </code><code class="bash plain">/etc/pki/tls/certs/server</code><code class="bash plain">.key</code>
</div>
<div class="line number14 index13 alt1">
<code class="bash plain"></code><code class="bash comments"># systemctl restart httpd</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
如果firewalld正在运行,请允许https服务。 https使用443 / tcp</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_744428">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain"></code><code class="bash comments"># firewall-cmd --add-service=https --permanent</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain">success</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash plain"></code><code class="bash comments"># firewall-cmd --reload</code>
</div>
<div class="line number4 index3 alt1">
<code class="bash plain">success</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
使用web浏览器通过https从客户端计算机访问测试页。下面的示例是fiorefix。显示以下屏幕,因为证书是自己创建的,但它没有ploblem,继续下一步。</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="CentOS 7.2配置Apache服务httpd(上)" alt="CentOS 7.2配置Apache服务httpd(上)" id="theimg" src="https://zhuji.jb51.net/uploads/img/202305/0750864da90c7a5148a00831b633f4cf.jpg"></p>
<p>
<strong>十一、启用基本身份验证</strong></p>
<p>
启用基本身份验证以限制特定网页的访问</p>
<p>
例如,在目录下设置基本身份验证设置。</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_828224">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
<div class="line number8 index7 alt1">
8</div>
<div class="line number9 index8 alt2">
9</div>
<div class="line number10 index9 alt1">
10</div>
<div class="line number11 index10 alt2">
11</div>
<div class="line number12 index11 alt1">
12</div>
<div class="line number13 index12 alt2">
13</div>
<div class="line number14 index13 alt1">
14</div>
<div class="line number15 index14 alt2">
15</div>
<div class="line number16 index15 alt1">
16</div>
<div class="line number17 index16 alt2">
17</div>
<div class="line number18 index17 alt1">
18</div>
<div class="line number19 index18 alt2">
19</div>
<div class="line number20 index19 alt1">
20</div>
<div class="line number21 index20 alt2">
21</div>
<div class="line number22 index21 alt1">
22</div>
<div class="line number23 index22 alt2">
23</div>
<div class="line number24 index23 alt1">
24</div>
<div class="line number25 index24 alt2">
25</div>
<div class="line number26 index25 alt1">
26</div>
<div class="line number27 index26 alt2">
27</div>
<div class="line number28 index27 alt1">
28</div>
<div class="line number29 index28 alt2">
29</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain"></code><code class="bash comments"># vi /etc/httpd/conf.d/auth_basic.conf</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash comments"># 创建新配置文件</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash plain"><directory </code><code class="bash plain">/var/www/html/auth-basic</code><code class="bash plain">></code>
</div>
<div class="line number4 index3 alt1">
<code class="bash spaces"> </code><code class="bash plain">authtype basic</code>
</div>
<div class="line number5 index4 alt2">
<code class="bash spaces"> </code><code class="bash plain">authname </code><code class="bash string">"basic authentication"</code>
</div>
<div class="line number6 index5 alt1">
<code class="bash spaces"> </code><code class="bash plain">authuserfile </code><code class="bash plain">/etc/httpd/conf/</code><code class="bash plain">.htpasswd</code>
</div>
<div class="line number7 index6 alt2">
<code class="bash spaces"> </code><code class="bash plain">require valid-user</code>
</div>
<div class="line number8 index7 alt1">
<code class="bash plain"><</code><code class="bash plain">/directory</code><code class="bash plain">></code>
</div>
<div class="line number9 index8 alt2">
<code class="bash comments"># 添加用户:使用“-c”创建新文件(仅为初始注册添加“-c”选项)</code>
</div>
<div class="line number10 index9 alt1">
<code class="bash plain"></code><code class="bash comments"># htpasswd -c /etc/httpd/conf/.htpasswd wang</code>
</div>
<div class="line number11 index10 alt2">
</div>
<div class="line number12 index11 alt1">
<code class="bash plain">new password: </code><code class="bash comments"># set password</code>
</div>
<div class="line number13 index12 alt2">
</div>
<div class="line number14 index13 alt1">
<code class="bash plain">re-</code><code class="bash functions">type</code> <code class="bash plain">new password: </code><code class="bash comments"># confirm</code>
</div>
<div class="line number15 index14 alt2">
</div>
<div class="line number16 index15 alt1">
<code class="bash plain">adding password </code><code class="bash keyword">for</code> <code class="bash plain">user wang</code>
</div>
<div class="line number17 index16 alt2">
<code class="bash plain"></code><code class="bash comments"># systemctl restart httpd</code>
</div>
<div class="line number18 index17 alt1">
<code class="bash plain"></code><code class="bash comments"># mkdir /var/www/html/auth-basic</code>
</div>
<div class="line number19 index18 alt2">
</div>
<div class="line number20 index19 alt1">
<code class="bash plain"></code><code class="bash comments"># vi /var/www/html/auth-basic/index.html</code>
</div>
<div class="line number21 index20 alt2">
<code class="bash comments"># create a test page</code>
</div>
<div class="line number22 index21 alt1">
</div>
<div class="line number23 index22 alt2">
<code class="bash plain"><html></code>
</div>
<div class="line number24 index23 alt1">
<code class="bash plain"><body></code>
</div>
<div class="line number25 index24 alt2">
<code class="bash plain"><div style=</code><code class="bash string">"width: 100%; font-size: 40px; font-weight: bold; text-align: wanger;"</code><code class="bash plain">></code>
</div>
<div class="line number26 index25 alt1">
<code class="bash functions">test</code> <code class="bash plain">page </code><code class="bash keyword">for</code> <code class="bash plain">basic auth</code>
</div>
<div class="line number27 index26 alt2">
<code class="bash plain"><</code><code class="bash plain">/div</code><code class="bash plain">></code>
</div>
<div class="line number28 index27 alt1">
<code class="bash plain"><</code><code class="bash plain">/body</code><code class="bash plain">></code>
</div>
<div class="line number29 index28 alt2">
<code class="bash plain"><</code><code class="bash plain">/html</code><code class="bash plain">></code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
使用web浏览器从客户端计算机访问测试页。然后需要认证,如下所示作为设置,用在中添加的用户回答</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="CentOS 7.2配置Apache服务httpd(上)" alt="CentOS 7.2配置Apache服务httpd(上)" id="theimg" src="https://zhuji.jb51.net/uploads/img/202305/0a0decf953aff1c83facba488aa0692f.jpg"></p>
<p>
<strong>十二、基本auth + pam</strong></p>
<p>
限制特定网页上的访问,并使用os用户通过ssl连接进行身份验证<br>
创建证书,请参照上文所述。<br>
例如,在目录下设置basic auth。</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_139984">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
<div class="line number8 index7 alt1">
8</div>
<div class="line number9 index8 alt2">
9</div>
<div class="line number10 index9 alt1">
10</div>
<div class="line number11 index10 alt2">
11</div>
<div class="line number12 index11 alt1">
12</div>
<div class="line number13 index12 alt2">
13</div>
<div class="line number14 index13 alt1">
14</div>
<div class="line number15 index14 alt2">
15</div>
<div class="line number16 index15 alt1">
16</div>
<div class="line number17 index16 alt2">
17</div>
<div class="line number18 index17 alt1">
18</div>
<div class="line number19 index18 alt2">
19</div>
<div class="line number20 index19 alt1">
20</div>
<div class="line number21 index20 alt2">
21</div>
<div class="line number22 index21 alt1">
22</div>
<div class="line number23 index22 alt2">
23</div>
<div class="line number24 index23 alt1">
24</div>
<div class="line number25 index24 alt2">
25</div>
<div class="line number26 index25 alt1">
26</div>
<div class="line number27 index26 alt2">
27</div>
<div class="line number28 index27 alt1">
28</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash comments"># install from epel</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain"></code><code class="bash comments"># yum --enablerepo=epel -y install mod_authnz_external pwauth</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash plain"></code><code class="bash comments"># vi /etc/httpd/conf.d/authnz_external.conf</code>
</div>
<div class="line number4 index3 alt1">
<code class="bash comments"># add to the end</code>
</div>
<div class="line number5 index4 alt2">
</div>
<div class="line number6 index5 alt1">
<code class="bash plain"><directory </code><code class="bash plain">/var/www/html/auth-pam</code><code class="bash plain">></code>
</div>
<div class="line number7 index6 alt2">
<code class="bash spaces"> </code><code class="bash plain">sslrequiressl</code>
</div>
<div class="line number8 index7 alt1">
<code class="bash spaces"> </code><code class="bash plain">authtype basic</code>
</div>
<div class="line number9 index8 alt2">
<code class="bash spaces"> </code><code class="bash plain">authname </code><code class="bash string">"pam authentication"</code>
</div>
<div class="line number10 index9 alt1">
<code class="bash spaces"> </code><code class="bash plain">authbasicprovider external</code>
</div>
<div class="line number11 index10 alt2">
<code class="bash spaces"> </code><code class="bash plain">authexternal pwauth</code>
</div>
<div class="line number12 index11 alt1">
<code class="bash spaces"> </code><code class="bash plain">require valid-user</code>
</div>
<div class="line number13 index12 alt2">
<code class="bash plain"><</code><code class="bash plain">/directory</code><code class="bash plain">></code>
</div>
<div class="line number14 index13 alt1">
</div>
<div class="line number15 index14 alt2">
<code class="bash plain"></code><code class="bash comments"># mkdir /var/www/html/auth-pam</code>
</div>
<div class="line number16 index15 alt1">
</div>
<div class="line number17 index16 alt2">
<code class="bash plain"></code><code class="bash comments"># vi /var/www/html/auth-pam/index.html</code>
</div>
<div class="line number18 index17 alt1">
<code class="bash comments"># create a test page</code>
</div>
<div class="line number19 index18 alt2">
</div>
<div class="line number20 index19 alt1">
<code class="bash plain"><html></code>
</div>
<div class="line number21 index20 alt2">
<code class="bash plain"><body></code>
</div>
<div class="line number22 index21 alt1">
<code class="bash plain"><div style=</code><code class="bash string">"width: 100%; font-size: 40px; font-weight: bold; text-align: center;"</code><code class="bash plain">></code>
</div>
<div class="line number23 index22 alt2">
<code class="bash functions">test</code> <code class="bash plain">page </code><code class="bash keyword">for</code> <code class="bash plain">pam auth</code>
</div>
<div class="line number24 index23 alt1">
<code class="bash plain"><</code><code class="bash plain">/div</code><code class="bash plain">></code>
</div>
<div class="line number25 index24 alt2">
<code class="bash plain"><</code><code class="bash plain">/body</code><code class="bash plain">></code>
</div>
<div class="line number26 index25 alt1">
<code class="bash plain"><</code><code class="bash plain">/html</code><code class="bash plain">></code>
</div>
<div class="line number27 index26 alt2">
</div>
<div class="line number28 index27 alt1">
<code class="bash plain"></code><code class="bash comments"># systemctl restart httpd</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
在客户端上使用web浏览器访问测试页面<span>https://linuxprobe.org/auth-pam/</span>,并与操作系统上的用户进行身份验证。</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="CentOS 7.2配置Apache服务httpd(上)" alt="CentOS 7.2配置Apache服务httpd(上)" id="theimg" src="https://zhuji.jb51.net/uploads/img/202305/230b6fda6f333f69fbd894304070ac1c.jpg"></p>
<p>
<strong>十三、使用webdav</strong></p>
<p>
下面是使用ssl连接配置webdav设置的示例<br>
创建证书,请参照上文所述<br>
例如,创建一个目录,它使得可以仅通过ssl连接到webdav目录。</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_43393">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
<div class="line number8 index7 alt1">
8</div>
<div class="line number9 index8 alt2">
9</div>
<div class="line number10 index9 alt1">
10</div>
<div class="line number11 index10 alt2">
11</div>
<div class="line number12 index11 alt1">
12</div>
<div class="line number13 index12 alt2">
13</div>
<div class="line number14 index13 alt1">
14</div>
<div class="line number15 index14 alt2">
15</div>
<div class="line number16 index15 alt1">
16</div>
<div class="line number17 index16 alt2">
17</div>
<div class="line number18 index17 alt1">
18</div>
<div class="line number19 index18 alt2">
19</div>
<div class="line number20 index19 alt1">
20</div>
<div class="line number21 index20 alt2">
21</div>
<div class="line number22 index21 alt1">
22</div>
<div class="line number23 index22 alt2">
23</div>
<div class="line number24 index23 alt1">
24</div>
<div class="line number25 index24 alt2">
25</div>
<div class="line number26 index25 alt1">
26</div>
<div class="line number27 index26 alt2">
27</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain"></code><code class="bash comments"># mkdir /home/webdav</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain"></code><code class="bash comments"># chown apache. /home/webdav</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash plain"></code><code class="bash comments"># chmod 770 /home/webdav</code>
</div>
<div class="line number4 index3 alt1">
<code class="bash plain"></code><code class="bash comments"># vi /etc/httpd/conf.d/webdav.conf</code>
</div>
<div class="line number5 index4 alt2">
<code class="bash comments"># create new</code>
</div>
<div class="line number6 index5 alt1">
<code class="bash plain">davlockdb </code><code class="bash string">"/tmp/davlock"</code>
</div>
<div class="line number7 index6 alt2">
<code class="bash functions">alias</code> <code class="bash plain">/webdav</code> <code class="bash plain">/home/webdav</code>
</div>
<div class="line number8 index7 alt1">
<code class="bash plain"><location </code><code class="bash plain">/webdav</code><code class="bash plain">></code>
</div>
<div class="line number9 index8 alt2">
<code class="bash spaces"> </code><code class="bash plain">dav on</code>
</div>
<div class="line number10 index9 alt1">
<code class="bash spaces"> </code><code class="bash plain">sslrequiressl</code>
</div>
<div class="line number11 index10 alt2">
<code class="bash spaces"> </code><code class="bash plain">options none</code>
</div>
<div class="line number12 index11 alt1">
<code class="bash spaces"> </code><code class="bash plain">authtype basic</code>
</div>
<div class="line number13 index12 alt2">
<code class="bash spaces"> </code><code class="bash plain">authname webdav</code>
</div>
<div class="line number14 index13 alt1">
<code class="bash spaces"> </code><code class="bash plain">authuserfile </code><code class="bash plain">/etc/httpd/conf/</code><code class="bash plain">.htpasswd</code>
</div>
<div class="line number15 index14 alt2">
<code class="bash spaces"> </code><code class="bash plain"><requireany></code>
</div>
<div class="line number16 index15 alt1">
<code class="bash spaces"> </code><code class="bash plain">require method get post options</code>
</div>
<div class="line number17 index16 alt2">
<code class="bash spaces"> </code><code class="bash plain">require valid-user</code>
</div>
<div class="line number18 index17 alt1">
<code class="bash spaces"> </code><code class="bash plain"><</code><code class="bash plain">/requireany</code><code class="bash plain">></code>
</div>
<div class="line number19 index18 alt2">
<code class="bash plain"><</code><code class="bash plain">/location</code><code class="bash plain">></code>
</div>
<div class="line number20 index19 alt1">
</div>
<div class="line number21 index20 alt2">
<code class="bash comments"># 添加用户:使用“-c”创建新文件(仅为初始注册添加“-c”选项)</code>
</div>
<div class="line number22 index21 alt1">
<code class="bash plain"></code><code class="bash comments"># htpasswd -c /etc/httpd/conf/.htpasswd wang</code>
</div>
<div class="line number23 index22 alt2">
<code class="bash plain">new password: </code><code class="bash comments"># set password</code>
</div>
<div class="line number24 index23 alt1">
<code class="bash plain">re-</code><code class="bash functions">type</code> <code class="bash plain">new password:</code>
</div>
<div class="line number25 index24 alt2">
<code class="bash plain">adding password </code><code class="bash keyword">for</code> <code class="bash plain">user wang</code>
</div>
<div class="line number26 index25 alt1">
<code class="bash comments"># **注意:用户wang的htpasswd已经创建过,不需要重复创建**</code>
</div>
<div class="line number27 index26 alt2">
<code class="bash plain"></code><code class="bash comments"># systemctl restart httpd</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
如果启用了selinux,请更改以下规则。 </p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_822885">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain"></code><code class="bash comments"># chcon -r -t httpd_sys_rw_content_t /home/webdav</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain"></code><code class="bash comments"># semanage fcontext -a -t httpd_sys_rw_content_t /home/webdav</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
这是pc上的webdav客户端的设置(windows 10)。<br>
下载“carotdav”,这是一个免费的webdav客户端,从以下网站⇒ ,下载后,安装并启动carotdav,然后显示以下屏幕,单击“文件”按钮并选择“webdav”。</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="CentOS 7.2配置Apache服务httpd(上)" alt="CentOS 7.2配置Apache服务httpd(上)" id="theimg" src="https://zhuji.jb51.net/uploads/img/202305/bc27877b214e7ef6bb65bc4946b428c7.jpg"></p>
<p>
在“设置名称”字段中输入任何名称,并在“uri”字段中输入[服务器名称/ webdav目录],并输入用户名和密码</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="CentOS 7.2配置Apache服务httpd(上)" alt="CentOS 7.2配置Apache服务httpd(上)" id="theimg" src="https://zhuji.jb51.net/uploads/img/202305/90d0137dd4429013955ed2f5f6369197.jpg"></p>
<p>
配置添加如下,点击它连接到服务器。</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="CentOS 7.2配置Apache服务httpd(上)" alt="CentOS 7.2配置Apache服务httpd(上)" id="theimg" src="https://zhuji.jb51.net/uploads/img/202305/91694199cebfb7d3cb5ce11fc5c4f916.jpg"></p>
<p>
waring显示如下,它的ssl证书没有安装在您的电脑上,它没有ploblem,点击“忽略”,然后去下一步。</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="CentOS 7.2配置Apache服务httpd(上)" alt="CentOS 7.2配置Apache服务httpd(上)" id="theimg" src="https://zhuji.jb51.net/uploads/img/202305/4574978777117f6c2419fad0dbd08bcf.jpg"></p>
<p>
到webdav目录下创建测试目录和文件</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_915779">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain"></code><code class="bash comments"># cd /home/webdav/</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain"></code><code class="bash comments"># mkdir linuxprobe</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash plain"></code><code class="bash comments"># mkdir linuxcool</code>
</div>
<div class="line number4 index3 alt1">
<code class="bash plain"></code><code class="bash comments"># touch vdevops.txt</code>
</div>
<div class="line number5 index4 alt2">
<code class="bash plain"></code><code class="bash comments"># touch linuxcool.txt</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
</div>
<p>
<img style="max-width:100%!important;height:auto!important;"title="CentOS 7.2配置Apache服务httpd(上)" alt="CentOS 7.2配置Apache服务httpd(上)" id="theimg" src="https://zhuji.jb51.net/uploads/img/202305/9fe572f2767788b732ae7d11a236e2ac.jpg"></p>
<p>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。</p>
<p>
原文链接:http://blog.csdn.net/wh211212/article/details/52982917</p>
頁:
[1]