Apache学习(一):centos系统安装配置APACHE通解

安装Apache服务器及相关组件

[root@sample ~]# yum -y install httpd\*  ← 在线安装httpd

为了使服务器开通HTTP服务后能够运行PHP编写的交互程序

[root@sample ~]# yum -y install php\*  ← 在线安装PHP

为了使PHP应用程序的执行效率大幅度提高需要安装Zend

[root@sample~]#wget http://downloads.zend.com/optimizer/3.0.1/ZendOptimizer-3.0.1-linux-glibc21-i386.tar.gz  ← 下载Zend的源代码

[root@sample ~]# tar zxvf ZendOptimizer-3.0.1-linux-glibc21-i386.tar.gz  ← 展开被压缩的源代码

[root@sample ~]# cd ZendOptimizer*   ← 进入Zend的源代码目录

[root@sample ZendOptimizer-3.0.1-linux-glibc21-i386]# ./install.sh  ← 运行安装脚本


配置HTTP(Apache)服务器

接下来,为了使服务器更安全以及更加符合实际要求,对默认的设置进行一些必要的更改。尤其在一些细节方面,越少向外界透露服务器的信息,就越能保证服务器的安全。

[root@sample ~]# vi etc/httpd/conf/httpd.conf  ← 编辑Apache的配置文件

ServerTokens OS  ← 找到这一行,将“OS”改为“Prod”(在出现错误页的时候不显示服务器操作系统的名称)
 ↓
ServerTokens Prod   ← 变为此状态

ServerSignature On  ← 找到这一行,将“On”改为“Off”
 ↓
ServerSignature Off  ← 在错误页中不显示Apache的版本

ServerAdmin root@localhost   ← 将管理员邮箱设置为自己常用的邮箱
 ↓
ServerAdmin [email protected]  ← 根据实际情况修改默认设置
#ServerName new.host.name:80  ← 修改主机名
 ↓
ServerName www.centospub.com:80  ← 根据实际情况修改,端口号保持默认的80
Options Indexes FollowSymLinks  ← 找到这一行,删除“Indexes”,并添加“Includes”、“ExecCGI”
 ↓
Options Includes ExecCGI FollowSymLinks  ← 允许服务器执行CGI及SSI
#AddHandler cgi-script .cgi  ← 找到这一行,去掉行首的“#”,并在行尾添加“.pl”
 ↓
AddHandler cgi-script .cgi .pl  ← 允许扩展名为.pl的CGI脚本运行

AllowOverride None  ← 找到这一行,将“None”改为“All”
 ↓
AllowOverride All  ← 变为此状态,允许.htaccess

LogFormat “%h %l %u %t \”%r\” %>s %b \”%{Referer}i\” \”%{User-Agent}i\”" combined  ← 找到这一行
 ↓
LogFormat “%h %l %u %t \”%!414r\” %>s %b \”%{Referer}i\” \”%{User-Agent}i\”" combined  ← 改为此状态(添加“!414”到规则中,对于过长的日志不记录)

AddDefaultCharset UTF-8  ← 找到这一行,在行首添加“#”
 ↓
#AddDefaultCharset UTF-8  ← 不使用UTF-8作为网页的默认编码
AddDefaultCharset GB2312  ← 并接着添加这一行(添加GB2312为默认编码)

<Directory “/var/www/icons”>  ← 找到这一个标签,并在标签中更改相应选项
  Options Indexes MultiViews  ← 找到这一行,将“Indexes”删除
    ↓
  Options MultiViews   ← 变为此状态(不在浏览器上显示树状目录结构)

[root@sample ~]# rm -f /etc/httpd/conf.d/welcome.conf /var/www/error/noindex.html  ← 删除测试页

启动HTTP服务

[root@sample ~]# chkconfig httpd on  ← 设置HTTP服务自启动

[root@sample ~]# chkconfig –list httpd
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off   ← 确认2–5为on的状态就OK

[root@sample ~]# /etc/rc.d/init.d/httpd start  ← 启动HTTP服务
Starting httpd:              [ OK ] ← 启动成功会出现OK

如果启动失败的话,会出现错误信息。原因可能是因为httpd.conf文件编辑过程中的失误,请检查httpd.conf。

对HTTP服务进行简单测试

[root@sample ~]# echo hello >> /var/www/html/index.html  ← 建立测试页

删除刚刚建立的测试页

[root@sample ~]# rm -f /var/www/html/index.html  ← 删除测试页

对HTTP服务进行全面测试

[1] 对HTML格式网页正确显示的测试

[root@sample ~]# vi /var/www/html/index.html  ← 建立测试页,内容如下:

<html>
< head>
< meta http-equiv=”Content-Type” content=”text/html; charset=GB2312″>
< title>Hello,World!</title>
< body>
Hello,World!
< /body>
< /html>

在浏览器中输入“http://服务器IP地址”或者“http://你的域名”,如果出现“Hello,World!”,并且浏览器读取编码为简体中文,就OK。

[2] 对CGI的支持进行测试

[root@sample ~]# vi /var/www/html/test.cgi  ← 建立CGI测试页,内容如下:

#!/usr/bin/perl
print “Content-Type: text/html\n\n”;
print “<html><body>”;
print “Hello,World!CGI is working!<br>”;
print “</body></html>”;

[root@sample ~]# chmod 755 /var/www/html/test.cgi   ← 然后将CGI测试文件属性设置为755

在浏览器中输入“http://服务器IP地址/test.cgi”或者“http://你的域名/test.cgi”,如果正确显示“Hello,World!CGI is working!”,说明对于CGI的支持没有问题。

[3] 对PHP的支持进行测试

[root@sample html]# vi /var/www/html/test.php  ← 建立PHP测试文件,内容如下:

<?php
phpinfo();
?>

在浏览器中输入“http://服务器IP地址/test.php”或者“http://你的域名/test.php”后,正确的显示出了服务器上PHP的详细信息,说明对PHP可以正确的支持。

[4] 对SSI进行测试

[root@sample ~]# vi /var/www/html/test.shtml  ← 建立SSI测试页,内容如下:

<html>
< head>
< meta http-equiv=”Content-Type” content=”text/html; charset=GB2312″>
< title>Hello,World!</title>
< body>
TEST SSI
< !–#config timefmt=”%Y/%m/%d %H:%M:%S” –>
< !–#echo var=”DATE_LOCAL” –>
< /body>
< /html>

在浏览器中输入“http://服务器IP地址/test.shtml”或者“http://你的域名/test.shtml”,如果正确显示当时的日期和时间,说明对于SSI的支持没有问题。

[5] 对.htaccess的支持进行测试

[root@sample ~]# vi /var/www/html/index.shtml  ← 建立.htaccess测试用的页,内容如下:

<html>
< head>
< meta http-equiv=”Content-Type” content=”text/html; charset=GB2312″>
< title>Hello,World!</title>
< body>
The name of the file is <!–#echo var=”DOCUMENT_NAME” –>
< /body>
< /html>

在浏览器中输入“http://服务器IP地址”或者“http://你的域名”,如果显示“Forbidden”,说明.htaccess正常。

[6]建立一个.htaccess文件,并定义相应规则,如下:

[root@sample html]# vi /var/www/html/.htaccess  ← 建立.htaccess文件,内容如下:

DirectoryIndex index.shtml

在浏览器中输入“http://服务器IP地址”或者“http://你的域名”,如果正确显示“ The name of the file is index.shtml”,说明.htaccess中的规则生效状态,OK。

Apache 日志文件

[root@sample html]#vi /var/log/httpd/error_log ← Apache 日志文件

8.搭建SSL,让apache支持https

yum install mod_ssl

其实安装完这个模块后,重启完apache 就可以用https://localhost测试了,因为他创建了默认的证书

在/etc/pki/tls下

当然我们也可以用openssl创建自己的证书

yum install openssl

生成证书文件
创建一个rsa私钥,文件名为server.key

view sourceprint?
openssl genrsa -out server.key 1024


Generating RSA private key, 1024 bit long modulus
............++++++
............++++++
e is 65537 (0x10001)


用 server.key 生成证书签署请求 CSR

openssl req -new -key server.key -out server.csr

Country Name:两个字母的国家代号
State or Province Name:省份名称
Locality Name:城市名称
Organization Name:公司名称
Organizational Unit Name:部门名称
Common Name:你的姓名
Email Address:地址
至于 'extra' attributes 不用输入.直接回车

生成证书CRT文件server.crt。

openssl x509 -days 365 -req -in server.csr -signkey server.key -out server.crt

修改ssl.conf指定我们自己生成的证书

vi /etc/httpd/conf.d/ssl.conf

找到如下位置,修改路径

# Server Certificate:
# Point SSLCertificateFile at a PEM encoded certificate. If
# the certificate is encrypted, then you will be prompted for a
# pass phrase. Note that a kill -HUP will prompt again. A new
# certificate can be generated using the genkey(1) command.
SSLCertificateFile /etc/pki/tls/certs/localhost.crt

# Server Private Key:
# If the key is not combined with the certificate, use this
# directive to point at the key file. Keep in mind that if
# you've both a RSA and a DSA private key you can configure
# both in parallel (to also allow the use of DSA ciphers, etc.)
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key

OK

view sourceprint?
service httpd restart

一切都搞定拉~~

整个过程我们不需要修改/etc/httpd/conf/httpd.conf 这就是版本高了的好处阿~

http://www.linuxso.com/linuxpeixun/7292.html

你可能感兴趣的:(Apache学习(一):centos系统安装配置APACHE通解)