Apache服务器的简单配置(基于用户的访问控制)
基于账号的控制
1:安装apache服务器所要的安装包;
httpd-manual-2.2.3-22.el5
httpd-2.2.3-22.el5
httpd-devel-2.2.3-22.el5
mod_ssl-2.2.3-22.el5
2:查看apache服务器可配置为文档
Rpm –qa httpd |less
查看的部分结果
/etc/httpd
/etc/httpd/conf
/etc/httpd/conf.d
/etc/httpd/conf.d/README
/etc/httpd/conf.d/proxy_ajp.conf
/etc/httpd/conf.d/welcome.conf
/etc/httpd/conf/httpd.conf
/etc/httpd/conf/magic
/etc/httpd/logs
/etc/httpd/modules
/etc/httpd/run
/etc/logrotate.d/httpd
3:编辑主配置文档
Vim /etc/httpd/conf/httpd.conf
可以看到这个主配置文档主要分3部分组成
由于我们这里只做简单的用户访问认证,所以只需要改动327行左右的这句话AllowOverride none,改成AllowOverride all即可。
4改过之后重启apache服务器
Service httpd restart
5:在apache服务器主目录中创建一个简单的网页测试
Cd /var/www/html
Touch index.html
Vim index.html
里面随便插入点内容即可例如:
Welcome to this html !!!!
6:创建.htaccess文件
Vim .htaccess
里面加入:
authuserfile /var/www/html/.htpasswd (指明账号的文件)
authtype basic (采用基本认证方式)
authname "please input your name and passwd"
require valid-user (也可以写具体的账号名字)
7:产生账号库文件.htpasswd
第一个账号要这样创建
Htpasswd –c .htpasswd zhangsan
接着会提示你输入密码
然后输入密码
以后的账号就不用加 –c选项了
Htpasswd .htpasswd lisi
这样执行过后查看/var/www/html下的内容会多出一个.htpasswd文件
ll –a
查看结果
total 28
drwxr-xr-x 2 root root 4096 Aug 17 18:23 .
drwxr-xr-x 8 root root 4096 Aug 1 05:34 ..
-rw-r--r-- 1 root root 116 Aug 17 17:48 .htaccess
-rw-r--r-- 1 root root 42 Aug 17 17:50 .htpasswd
-rw-r--r-- 1 root root 25 Aug 17 18:17 index.html
8:查看.htpasswd里面的内容会发现zhangsan,lisi 两个账号(注意这两个账号并不是本地账号库上的账号而是apache认证的账号)
9:进行测试:
用本机测试
Links http://127.0.0.1
在这里我用其他windows机器测试
结果你会看到一个认证对话框让你输入用户名和密码:
输入用户名密码后
基于主机的控制
1:编辑/etc/httpd/conf/httpd.conf
vim /etc/httpd/conf/httpd.conf
修改332行左右的
Order allow,deny
Allow from all
假如要控制192.168.100.100主机的访问那么改为
Order allow,deny
Allow from all
Deny from 192.168.100.100
如果是某网段那么后面跟网段
后面的关于apache服务器的相关内容会继续深入,请大家多多关注!
Apache关于证书认证(1)
以linux为颁发机构同时又是CA server(只只用于本区域)
1:Cd /etc/pki/tls
Ll tls
可以看到
total 40
lrwxrwxrwx 1 root root 19 Aug 1 05:31 cert.pem -> certs/ca-bundle.crt
drwxr-xr-x 2 root root 4096 Aug 1 05:34 certs
drwxr-xr-x 2 root root 4096 Aug 1 05:31 misc
-rw-r--r-- 1 root root 9831 Aug 17 22:53 openssl.cnf
drwxr-xr-x 2 root root 4096 Aug 1 05:34 private
然后vim openssl.cnf
把45行改成
dir = /etc/pki/CA # Where everything is kept
然后wq保存退出
2:接着生成证书的私钥
Cd /etc/pki/CA
用openssl工具生成
Openssl genrsa 1024 >private/cakey.pem
3:接着用私钥生成自己的证书
Openssl req –x509–new –key private/cakey.pem –out cacerts.pem –days 3650
然后填写注册信息
4:用上面的这个CA为本linux站点颁发证书
创建一个文件夹专门存放呗颁发的证书文件
Mkdir /etc/httpd/certs
5:接着生成站点的证书钥匙
Cd /etc/httpd/certs
Openssl genrsa 1024 >httpd.key
6:为了安全起见更改这个文件的权限
Chmod 600 httpd.key
7:用这个密钥为站点颁发证书
Openssl req –new –key httpd.key –out httpd.csr
8:创建所需要的目录和文件(注意是在/etc/pki/CA)
Mkdir certs crl newcerts
Touch index.txt serial
9:给serial一个号码
Echo “01” >serial
然后填写注册信息注意一定要与前面的一直
10:由于本站点和跟CA都在这台linux上面所以不用传递申请了直接执行这条指令
Cd /etc/httpd/certs
Openssl ca –in httpd.csr –out httpd.crt
11:然后修改/etc/httpd/conf.d/ssl.conf
Vim /etc/httpd/conf.d/ssl.conf
修改大概112行的
#SSLCertificateFile /etc/pki/tls/localhost.crt改成
SSLCertificateFile /etc/httpd/certs/http.crt
修改大约120行左右的
#SSLCertificateKeyFile /etc/pki/tls/private/localhost.key改成
SSLCertificateKeyFile /etc/httpd/certs/httpd.key
把130行的#SSLCertificateChainFile /etc/pki/tls/certs/server-chain.crt
注释#号去掉
最后保存退出
12:最后重启Apache服务
Service httpd restart
13:测试
找其他测试电脑
https://192.168.101.60(服务器的地址)
你会看到
输入用户名密码
会看到你的主页面