一、虛擬主機(jī)配置
1、基于ip
要求:通過192.168.32.31可以訪問/var/www/html目錄內(nèi)容,通過192.168.32.32可以訪 問/var/www/virt目錄內(nèi)容
[root@station1 ~]#vi /etc/httpd/conf/httpd.conf
<VirtualHost 192.168.32.31:80>
ServerAdmin netsword@kvm.com
DocumentRoot /var/www/html
ServerName 192.168.32.31:80
ErrorLog logs/dummy-host.kvm.com-error_log
CustomLog logs/dummy-host.kvm.com-access_log common
</VirtualHost>
<VirtualHost 192.168.32.32:80>
ServerAdmin netsword@kvm.com
DocumentRoot /var/www/virt
ServerName 192.168.32.32:80
ErrorLog logs/dummy-host.kvm.com-error_log
CustomLog logs/dummy-host.kvm.com-access_log common
</VirtualHost>
2、基于端口
要求:通過192.168.32.31的80端口可以訪問/var/www/html目錄內(nèi)容,通過192.168.32.31的8080端口可以訪問/var/www/virt目錄內(nèi)容
[root@station1 ~]#vi /etc/httpd/conf/httpd.conf
Listen 80 #此端口配置文件默認(rèn)就有
Listen 8080 #手動添加此端口
<VirtualHost 192.168.32.31:80>
ServerAdmin netsword@kvm.com
DocumentRoot /var/www/html
ServerName 192.168.32.31:80
ErrorLog logs/dummy-host.kvm.com-error_log
CustomLog logs/dummy-host.kvm.com-access_log common
</VirtualHost>
<VirtualHost 192.168.32.31:8080>
ServerAdmin netsword@kvm.com
DocumentRoot /var/www/virt
ServerName 192.168.32.31:8080
ErrorLog logs/dummy-host.kvm.com-error_log
CustomLog logs/dummy-host.kvm.com-access_log common
</VirtualHost>
3、基于主機(jī)頭
要求:通過station1.kvm.com可以訪問/var/www/html目錄內(nèi)容,通過www.kvm.com可以訪問/var/www/virt目錄內(nèi)容 (注意要求DNS服務(wù)器上有這兩個網(wǎng)站解析)
[root@station1 ~]#vi /etc/httpd/conf/httpd.conf
NameVirtualHost 192.168.32.31:80 #要求必須由此行,此行表示打開主機(jī)頭虛擬主機(jī)
<VirtualHost 192.168.32.31:80>
ServerAdmin netsword@kvm.com
DocumentRoot /var/www/html
ServerName station1.kvm.com
ErrorLog logs/dummy-host.kvm.com-error_log
CustomLog logs/dummy-host.kvm.com-access_log common
</VirtualHost>
<VirtualHost 192.168.32.31:80>
ServerAdmin netsword@kvm.com
DocumentRoot /var/www/virt
ServerName www.kvm.com
ErrorLog logs/dummy-host.kvm.com-error_log
CustomLog logs/dummy-host.kvm.com-access_log common
</VirtualHost>二、多種用戶認(rèn)證方式配置
1、使用htpsswd工作生成的密碼文件認(rèn)證用戶來源
[root@station1 conf.d]# htpasswd -cm /etc/httpd/.webusers netsword
[root@station1 conf.d]# htpasswd -m /etc/httpd/.webusers netswordster
[root@station1 conf.d]# htpasswd -m /etc/httpd/.webusers zhxy
[root@station1 conf.d]# htpasswd -m /etc/httpd/.webusers zxy
[root@station1 conf.d]# vi /etc/httpd/.webgroup #給用戶分組
net:netsword netswordster
zh:zhxy zxy
# -c:表示創(chuàng)建密碼文件
# -m:增加用戶到密碼文件
# -D:從密碼文件中刪除用戶
[root@station1 conf.d]#
[root@station1 conf.d]# vi /etc/htttpd/conf/httpd.conf
<VirtualHost 192.168.32.31:80>
ServerAdmin netsword@kvm.com
DocumentRoot /var/www/html
ServerName station1.kvm.com
<Directory /var/www/html>
AuthName TestAdmin #提示信息
AuthType basic #基本身份認(rèn)證,即基于密碼文件的身份認(rèn)證
AuthUserFile /etc/httpd/.webusers
Require valid-user
#有此行所有用戶均可訪問;如無此行,則后面net組內(nèi)用戶可訪問
AuthGroupFile /etc/httpd/.webgroup #可訪問用戶為net組中用戶
Require Group net
#valid-user:表所有密碼文件中的用戶均可訪問此目錄,也可為Require netsword則表示只有密碼文件中netsword賬戶可以訪問此目錄
</Directory>
ErrorLog logs/dummy-host.kvm.com-error_log
CustomLog logs/dummy-host.kvm.com-access_log common
</VirtualHost>
2、使用MySQL數(shù)據(jù)庫認(rèn)證用戶來源
安裝mysql及httpd中mysql認(rèn)證模塊
[root@station1 ~]# yum install mysql-server.i386
[root@station1 ~]# yum install mysql-devel.i386
[root@station1 ~]# yum install mod_auth_mysql.i386
[root@station1 ~]# service mysqld start
[root@station1 ~]# chkconfig mysql on
創(chuàng)建認(rèn)證用戶和認(rèn)證組
[root@station1 ~]# mysqladmin -u root password redhat
[root@station1 ~]# mysql -uroot -predhat
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 131
Server version: 5.0.77 Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> create database apacheusers;
mysql> use apacheusers;
mysql> create table user (name char(25),pwd char(25), primary key (name));
mysql> create table grp (uname char(25),gname char(25),primary key (uname,gname));
mysql> grant select on apacheusers.user to apacheuser@localhost identified by 'redhat';
mysql> grant select on apacheusers.grp to apacheuser@localhost identified by 'redhat';
mysql> insert into user (name,pwd) values ('netsword','111');
mysql> insert into user (name,pwd) values ('netswordster','111');
mysql> insert into user (name,pwd) values ('zhxy','222');
mysql> insert into user (name,pwd) values ('zxy','222');
mysql> insert into grp (uname,gname) values ('netsword','net');
mysql> insert into grp (uname,gname) values ('netswordster','net');
mysql> insert into grp (uname,gname) values ('zhxy','zh');
mysql> insert into grp (uname,gname) values ('zxy','zh');
修改配置文件,開啟mysql認(rèn)證
[root@station1 ~]# vi /etc/httpd/conf/httpd.conf
NameVirtualHost 192.168.32.31:80
<VirtualHost 192.168.32.31:80>
ServerAdmin netsword@kvm.com
DocumentRoot /var/www/html
ServerName station1.kvm.com
<Directory /var/www/html>
AuthName TestAdmin
AuthType basic
AuthMySQLEnable on
AuthMySQLUser apacheuser
AuthMySQLPassword redhat
AuthMySQLDB apacheusers
AuthMySQLUserTable user
AuthMySQLNameField name
AuthMySQLPasswordField pwd
Require valid-user
AuthMySQLGroupTable grp
AuthMySQLGroupField gname
Require Group net
</Directory>
ErrorLog logs/dummy-host.kvm.com-error_log
CustomLog logs/dummy-host.kvm.com-access_log common
</VirtualHost>
三、HTTPS配置
1、自頒發(fā)證書
[root@station1 ~]#yum install mod_ssl.i386
[root@station1 ~]#mkdir /etc/httpd/.sslkey
[root@station1 ~]#openssl genrsa -out /etc/httpd/.sslkey/server.key 1024
[root@station1 ~]#openssl req -new -x509 -key /etc/httpd/.sslkey/server.key -out /etc/httpd/.sslkey/server.cert #生成密鑰對
[root@station1 ~]#chmod -R 400 /etc/httpd/.sslkey #保證證書安全
[root@station1 ~]#vi /etc/httpd/conf/httpd.conf
<VirtualHost 192.168.32.31:443>
ServerAdmin webmaster@dummy-host.kvm.com
DocumentRoot /var/www/virt
ServerName www.kvm.com
SSLEngine on #開啟ssl認(rèn)證
SSLCertificateFile /etc/httpd/.sslkey/server.crt #證書文件
SSLCertificateKeyFile /etc/httpd/.sslkey/server.key #密鑰文件
</VirtualHost>
億恩科技地址(ADD):鄭州市黃河路129號天一大廈608室 郵編(ZIP):450008 傳真(FAX):0371-60123888
聯(lián)系:億恩小凡
QQ:89317007
電話:0371-63322206 本文出自:億恩科技【1tcdy.com】
服務(wù)器租用/服務(wù)器托管中國五強(qiáng)!虛擬主機(jī)域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]
|