Apache服务器完全攻略

 

1、 基本配置

(1) 软件的安装 yum –y install  http*

(2) 启动http服务  service httpd restart

(3) 相关的配置文件

<1>存放网页的位置/var/www/html

<2>/etc/httpd/*****    存放服务器的配置文件

核心配置文件:/etc/httpd/conf/httpd.conf

/etc/httpd/logs   ---  存放日志

/etc/httpd/modules  ---  存放相应的可以动态加载的模块

(4) 核心配置文件详解

注意:在修改Linux的配置文件前,请将其做好备份。

① ServerRoot “/etc/httpd”   --表示配置文件存放的位置

(说明:在对应的目录后不能加”/”)

②TimeOut   120   -- 表示用于设置超时

③Listen 80   ---用于设置侦听端口,可自定义

④Include  conf.d/*.conf  --设置包含文件,主要是一些其他附加服务的配置文件(Squid、SSL、CGI)

⑤ServerAdmin  root@localhost  -- 表示web服务器管理员的电子邮件地址

⑥ServerName  www.example.com:80  --表示设置本机服务器的网络地址,主要应用是:当服务器有多个名称时,可以指定连接哪个主机名称。

⑦DocumentRoot  “/var/www/html”  ---存放网页文件

⑧容器

<Directory />

Order allow,deny

Allow  from  all

</Directory>

⑨ 设置普通用户的个人主页(个人站点)

<1>注释以下这一行

#userdir  disable

<2>设置每个用户默认的存放网页的位置

UserDir  public_html

注意:每个用户创建对应的目录后,要注意将用户的家目录添加“x”权限位,允许其它用户访问。同时存放网页的目录以及目录中的文件,要注意其SELinux的context值。

执行以下指令实现默认修改:

restorecon –R –v  public_html

⑩DirectoryIndex   index.html  index.html.var  

--设置默认的索引页名称

11、设置默认的字符集

AddDefaultCharset     gb2312 

12、设置别名

alias   /icons/  “/var/www/icons/”

 

二、虚拟主机

虚拟主机可以基于端口、IP、name

基于名称的虚拟主机:(前提:DNS中对相应的名称已经可以进行解析)

station254.example.com    ----   192.168.24.254

www254.example.com    ----   192.168.24.254

配置过程:

1、 编辑httpd.conf文件

① 启动基于名称的虚拟主机功能

#NameVirtualHost *:80   #默认,可将其修改为以下形式

NameVirtualHost 192.168.24.254:80

#192.168.24.254是表示需要侦听的IP地址

② 针对某个虚拟主机的具体配置

#<VirtualHost *:80>   ##表示,对应虚拟主机侦听的地址和端口

#    ServerAdmin webmaster@dummy-host.example.com

##设置服务器管理员的电子邮箱,该选项可省略

#    DocumentRoot /www/docs/dummy-host.example.com

##设置该虚拟主机的网页存放的位置,该选项是必须的

#    ServerName dummy-host.example.com

##设置该虚拟主机的对应的名称,该选项是必须的,

##同时名称应该可以通过对应的DNS进行解析

#    ErrorLog logs/dummy-host.example.com-error_log

##设置错误日志存放的位置和相应的文件名称,可省

#    CustomLog logs/dummy-host.example.com-access_log common

##设置访问日志存放的位置和相应的文件名称,可省

#</VirtualHost>

#注意:虚拟主机的配置中,如果对应选项省略,则默认使用主配置文件中

#(/etc/httpd/conf/httpd.conf)的全局设定

举例:设置station254.example.com为虚拟主机的名称,存放网页的位置为:

/var/www/html/station254

*******************************************

<virtualhost  192.168.24.254:80>

DocumentRoot  /var/www/html/station254

ServerName  station254.example.com

</Virtualhost>

**************************************

 

三、SSL

1、安装相应的功能模块(即:让apache支持SSL)

yum  -y install mod_ssl

3、 主要配置文件:

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

4、 常见配置

①Listen 443   #设置侦听端口,可以自行设定

②SSLCertificateFile /etc/pki/tls/station254/station254.crt

#设置公钥存放的位置

④ SSLCertificateKeyFile /etc/pki/tls/station254/station254.key

#设置私钥存放的位置

5、 公钥与私钥的创建

① 创建私钥

openssl genrsa –out station240.key 1024

说明:

genrsa 生成的密钥的格式

-out :指定生成的密钥的文件名称

station240.key  :自定义的名称,但是扩展名要求采用默认的“.key”

1024:使用1024bit加密

② 创建公钥

openssl req –new –x509 –key station240.key –out station240.crt

说明:req –new –x509:表示采用x.509加密方式

-key:指定生成公钥时,需要从哪个私钥产生。

-out :指定生成的密钥的文件名称

station240.crt:自定义的名称,但是扩展名要求采用默认的“.crt”

注意:默认存放公钥与私钥的路径:/etc/pki/tls

同时还应该注意如果要存放到其它位置,应将对应的密钥文件和目录的SELinux的content值更改为cert_t

手动修改content值:chcon –t cert_t /some/path

 

四、网页加密(授权)

基于主机、用户的验证

1、 定义“认证文件”

全局设置中的“AccessFileName”选项。

系统默认定义为“.htaccess”

在系统中,会有以下的一段定义:其作用是指定不允许所有客户访问以“.ht”开头的所有文件。

<Files ~ "^/.ht">

    Order allow,deny

    Deny from all

</Files>

说明:Order语句:

Order allow,deny----先执行允许部分,然后执行拒绝部分,默认是拒绝所有,因此,我们在这里应该明确定义允许访问的规则。

Order deny,allow----先执行拒绝部分,然后执行允许部分,默认是允许所有,因此,我们在这里应该明确定义被拒绝访问的规则。

2、 对需要进行用户验证的目录进行设定

例:将/var/www/html/host1设定为需要用户验证才能访问。

<Directory  “/var/www/html/host1”>

#以下语句是对应设置,让该功能生效

Allowoverride authconfig

</directory>

3、 在指定的/var/www/html/host1目录中添加“.htaccess”文件

cd /var/www/html/host1

touch .htaccess

4、 在对应的“.htaccess”文件中添加如下内容:

authname  “test-auth” # 设置对话框的标题

authtype  basic   #设置(密码)验证的类型

authuserfile  /var/www/html/host1/.htpasswd

#指定用户级别的密码文件

#authgroupfile /var/www/html/host1/.htgroup

#指定组级别的密码文件

#<limit GET>

#require group staff   #设置允许执行“GET”访问的

#组名称为staff

#</limit>

#<limit PUT POST>

#require user  bob  jane    #设置允许执行“PUT POST”

#操作的用户为bob 和jane

#</limit >

require user zengdesheng  s204

#设置允许访问的用户为zengdesheng和s204

#The end of this file

5、 创建用户对应的密码文件

① 创建密码文件:(主要是针对第一次执行的时候)

cd /var/www/html/host1

htpasswd –cm  .htpasswd  对应用户名称

#说明:-c选项是指创建   -m选项是指modify(修改)

② 如果需要为某个用户修改密码则执行下列操作

cd  /var/www/html/host1

htpasswd –m .htpasswd  对应用户名称

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值