美图欣赏 | 设为首页 | 加入收藏 | 网站地图

当前位置:电脑中国 > 系统 > Linux >

超详细 值得收藏 linux CentOS 7 配置Apache服务【转发+新增】

2017-12-25 20:40|来源:未知 |作者:dnzg |点击:

一、Apache简介

  • Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源代码的网页服务器软件,可以在大多数电脑操作系统中运行,由于其跨平台和安全性(尽管不断有新的漏洞被发现,但由于其开放源代码的特点,漏洞总能被很快修补。因此总合来说,其安全性还是相当高的。)。被广泛使用,是最流行的Web服务器软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。
  • 软件图标 
    这里写图片描述

二、安装Apache httpd

  • 安装httpd以配置Web服务器, HTTP使用80 / TCP
[1] 安装 httpd.
[root@linuxprobe ~]# yum -y install httpd
# 删除默认欢迎页面
[root@linuxprobe ~]# rm -f /etc/httpd/conf.d/welcome.conf
[2] 配置httpd,将服务器名称替换为您自己的环境
[root@linuxprobe ~]# vi /etc/httpd/conf/httpd.conf
# line 86: 改变管理员的邮箱地址
ServerAdmin root@linuxprobe.org
# line 95: 改变域名信息
ServerName www.linuxprobe.org:80
# line 151: none变成All
AllowOverride All
# line 164: 添加只能使用目录名称访问的文件名
DirectoryIndex index.html index.cgi index.php
# add follows to the end
# server's response header(安全性)
ServerTokens Prod
# keepalive is ON
KeepAlive On
[root@linuxprobe ~]# systemctl start httpd
[root@linuxprobe ~]# systemctl enable httpd
[3] 如果Firewalld正在运行,请允许HTTP服务。,HTTP使用80 / TCP
[root@linuxprobe ~]# firewall-cmd --add-service=http --permanent
success
[root@linuxprobe ~]# firewall-cmd --reload
success
[4] 创建一个HTML测试页,并使用Web浏览器从客户端PC访问它。如果显示以下页面,是正确的
[root@linuxprobe ~]# vi /var/www/html/index.html
<html>
<body>
<div style="width: 100%; font-size: 40px; font-weight: bold; text-align: center;">
Welcome access LinuxProbe.org,This is Test Page!
</div>
</body>
</html>

 

这里写图片描述三、支持Perl

  • 启用CGI执行并使用Perl脚本
 1 [1] 安装Perl.
 2 [root@linuxprobe ~]# yum -y install perl perl-CGI
 3 [2] 默认情况下,在“/var/www/cgi-bin”目录下允许CGI。  
 4 可以使用Perl Scripts放在目录下。然而,它下面的所有文件都被处理为CGI。
 5 # 下面的设置是CGI的设置
 6 [root@linuxprobe ~]# grep -n "^ *ScriptAlias" /etc/httpd/conf/httpd.conf
 7 247: ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
 8 [3] 如果你想允许在其他目录中的CGI,配置如下。  
 9 例如,在“/var/www/html/cgi-enabled”中允许。
10 [root@linuxprobe ~]# vi /etc/httpd/conf.d/cgi-enabled.conf
11 # create new
12 # processes .cgi and .pl as CGI scripts
13 <Directory "/var/www/html/cgi-enabled">
14     Options +ExecCGI
15     AddHandler cgi-script .cgi .pl
16 </Directory>
17 [root@linuxprobe ~]# systemctl restart httpd
18 [4] 如果SELinux被启用,并且允许CGI在不是像上面[3]的默认目录下,更改规则如下。
19 [root@linuxprobe ~]# chcon -R -t httpd_sys_script_exec_t /var/linuxprobe/html/cgi-enabled
20 [root@linuxprobe ~]# semanage fcontext -a -t httpd_sys_script_exec_t /var/www/html/cgi-enabled
21 [5] 创建一个CGI测试页面,并使用Web浏览器从客户端PC访问它。如果显示以下页面,说明配置正确。
22 [root@linuxprobe ~]# vi /var/www/html/cgi-enabled/index.cgi
23 #!/usr/bin/perl
24 print "Content-type: text/html\n\n";
25 print "<html>\n<body>\n";
26 print "<div style=\"width: 100%; font-size: 40px; font-weight: bold; text-align: center;\">\n";
27 print "CGI Test Page";
28 print "\n</div>\n";
29 print "</body>\n</html>\n";
30 [root@linuxprobe ~]# chmod 705 /var/www/html/cgi-enabled/index.cgi 
 

这里写图片描述

四、支持PHP

  • 配置httpd以使用PHP脚本
 1 [1] 安装PHP.
 2 [root@linuxprobe ~]# yum -y install php php-mbstring php-pear
 3 [root@linuxprobe ~]# vi /etc/php.ini
 4 # line 878: 取消注释,设置时区
 5 date.timezone = "Asia/Shanghai"
 6 [root@linuxprobe ~]# systemctl restart httpd
 7 
 8 [2] 创建一个PHP测试页面,并使用Web浏览器从客户端PC访问它。如果显示以下页面,它是确定。
 9 [root@linuxprobe ~]# vi /var/www/html/index.php
10 <html>
11 <body>
12 <div style="width: 100%; font-size: 40px; font-weight: bold; text-align: center;">
13 <?php
14    print Date("Y/m/d");
15 ?>
16 </div>
17 </body>
18 </html>
 

这里写图片描述

1 [3] 创建phpinfo测试页,确认是都开启php支持
2 [root@linuxprobe ~]# echo "<?php phpinfo(); ?>" > /var/www/html/phpinfo.php

 

这里写图片描述

五、支持Ruby

  • 配置httpd以将Ruby脚本用作CGI
 1 [1] 安装Ruby.
 2 [root@linuxprobe ~]# yum -y install ruby
 3 
 4 [2] 默认情况下,在“/var/www/cgi-bin”目录下允许CGI。  
 5 可以使用Perl Scripts放在目录下。然而,它下面的所有文件都被处理为CGI。
 6 # 下面的设置是CGI的设置
 7 [root@linuxprobe ~]# grep -n "^ *ScriptAlias" /etc/httpd/conf/httpd.conf
 8 247: ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
 9 
10 [3] 如果你想允许在其他目录中的CGI,配置如下。  
11 例如,在“/var/www/html/cgi-enabled”中允许。
12 [root@linuxprobe ~]# vi /etc/httpd/conf.d/cgi-enabled.conf
13 # create new
14 # processes .rb as CGI scripts
15 <Directory "/var/www/html/cgi-enabled">
16     Options +ExecCGI
17     AddHandler cgi-script .rb
18 </Directory>
19 [root@linuxprobe ~]# systemctl restart httpd
20 
21 [4] 如果SELinux被启用,并且允许CGI在不是像上面[3]的默认目录下,更改规则如下。
22 [root@linuxprobe ~]# chcon -R -t httpd_sys_script_exec_t /var/www/html/cgi-enabled
23 
24 [root@linuxprobe ~]# semanage fcontext -a -t httpd_sys_script_exec_t /var/www/html/cgi-enabled
25 
26 [5]     Create a CGI test page and access to it from client PC with web browser. It's OK if following page is shown.
27 [root@linuxprobe ~]# vi /var/www/html/cgi-enabled/index.rb
28 
29 #!/usr/bin/ruby
30 print "Content-type: text/html\n\n"
31 print "<html>\n<body>\n"
32 print "<div style=\"width: 100%; font-size: 40px; font-weight: bold; text-align: center;\">\n"
33 print "Ruby Script Test Page"
34 print "\n</div>\n"
35 print "</body>\n</html>\n" 
36 [root@linuxprobe ~]# chmod 705 /var/www/html/cgi-enabled/index.rb 
					
(责任编辑:dnzg)