Linux学习笔记--Apache服务(1)
时间:2007-02-15 来源:ajiangg
前言小记:今天是29了,明天就是大年三十了,但还是没有一点过年的感觉,再也回不到以前了,现在差不多是独单一人在过着我的新年,不免有些伤感.有时我想我是不是老了,老是回想起以前,老是一个人伤感;有时我想我是不是太孤单了,是不是该找个人来陪.呵呵,幸好还有网络还有我的Blog, 还是把精力放到学习上吧.现在越来越佩服自己竟能打这么多字.新的一年要开始了,Ajian加油,2007冲啊,A ZA A ZA.祝所有的人都在新的一年都实现自己的愿望$_$,天天快乐+_+.天天学习,好好吃面-_-
网站服务Apache
Apache的主配置文件
Vi /wtc/httpd/conf/httpd.conf
或者 Vi /usr/local/apache/conf/httpd.conf
主配置文件包含三个部分:
一部分:服务器全局环境的配置
二部分:本地服务器响应外部请求的处理方式的配置
三部分:虚拟机的配置
各部分的说明(重点)注意大小写
1) ServerRoot 服务目录路径 默认为/usr/local/apache
注意:权限问题 Root用户可以修改,其它用户无修改权(一般不要改变)
2) DocumentRoot 默认为/var/www/html
存放网页的主目录,可以进行更改。
3) Listen 80 侦听端口
例:Listen 192.168.0.1:8080 只允许192.168.0.1的8080通过
4) DirectoryIndex index.html 默认主页名和类型
5) 访问控制:531行附近
拒绝一个网段的设置:
Deny from 192.168.0.0/24
6) 建立用户自己UserDir Directory的网站
A、 在第372行附近找到Userdir改为UserDir disable root禁止管理员(安全问题)
B、 在第379行附近去掉# 个人用户存放网站的目录。
C、 新建用户 adduser tt
Passwd tt 添加TT的用户和密码
D、建目录 mkdir /home/tt/public_html/
E、 建立测试页 vi /home/tt/public_html/tt 写入内容做为测试网页。
F、 给执行权限 chmod 711 /home/tt
G、重启服务 services httpd restart
H、 测试 http://192.168.0.1/~tt
7)认证
认证的类型:Basic
Digest摘要
认证方法:A、容器认证:<Directory> ……</Directory>
B、隐藏文件认证创建.htaccess文件
方法一、容器认证
A、 进入配置文件 vi /etc/httpd/conf/httpd.conf
B、 配置:大约在531行附近 配置如下:
<Directory “/var/www/html/mrtg”>
AllowOverride None ##不允许通过隐藏认证,即通过容器认证
AuthType Basic ##认证类型为Basic
AuthName “ajian” ##认证名字为Ajian
AuthUserFile /var/www/passwd/pass ##pass 为认证密码文件,指定密码文件存放的位置。
Require valid-user ##有效用户(注意大小写,因为Word的原因有些大小写有变化)
</Directory>
C、 创建目录 mkdir -p /var/www/passwd
进入目录 cd /var/www/passwd
D、创建Apache用户 htpasswd -c pass ajian ##pass 为密码文件Ajian为用户
更改 把Pass文件的使用权给Apache: chown apache.apache pass
附:再在Pass文件中添加一个用户:htpasswd pass tt ##添加一个TT的用户到Pass文件中
E、重启服务并测试
方法二、通过隐藏认证
和上面差不多 不过配置不一样
Httpd主配置文件
<Directory “/var/www/html/mrtg”>
AllowOverride AuthConfig
</Directory>
创建隐藏文件并放到要通过认证的目录
Eg: vi /var/www/html/mrtg
AuthType Basic
AuthName “Ajian”
AuthUserFile /var/www/passwd/pass
Require valid-user
8)虚拟主机(主配置文件,位置在最后)
第一种:基于不同的端口
<VirtaulHost 192.168.0.1:808>
DocumentRoot /www/abc/ #主页存放的目录
</VirtualHost>
<VirtaulHost 192.168.0.1:8088>
DocumentRoot /www/aaa/
</VirtualHost>
第二种:基于多个IP,即一块网卡上配置多个IP
首先:要在一块网卡上加IP
方法一、这种方法只要重启就没用了Ifconfig eth0:1 1.1.1.1 up
方法二、写一个Eth0:1的配置文件 跟Eth0一样的格式。
再到主配置文件进行配置
<VirtaulHost 192.168.0.1:80>
DocumentRoot /www/abc/ #主页存放的目录
</VirtualHost>
<VirtaulHost 1.1.1.1:80>
DocumentRoot /www/aaa/
</VirtualHost>
小技巧:Vi编辑器中到末尾的方法 在命令模式按两下 ] 右中括号
第三种:基于主机头又名基于域名的虚拟主机
前提:要有一个多域的DNS、DNS的配置略
进入主配置文件
NameVirtualHost 12.0.0.1 ##这DNS的IP,大约在1026行
<VirtualHost 12.0.0.1:80>
DocumenRoot /www/abc
ServerName www.abc.com
</VirtualHost>
<VirtualHost 12.0.0.1:80>
DocumenRoot /www/aaa
ServerName www.aaa.com
</VirtualHost>