apache虚拟主机基础配置(用户认证,域名跳转)
配置虚拟主机安装discuz
[root@tyrr www]# cd
[root@tyrr ~]# mkdir -p /data/www
[root@tyrr ~]# cd /data/www/
[root@tyrr www]# unzip Discuz_X3.2_SC_GBK.zip
[root@tyrr www]# ls
Discuz_X3.2_SC_GBK.zip readme upload utility
[root@tyrr www]# mv upload/* .
[root@tyrr www]# ls
admin.php archiver cp.php Discuz_X3.2_SC_GBK.zip group.php install plugin.php robots.txt static uc_server utility
api config crossdomain.xml favicon.ico home.php member.php portal.php search.php template upload
api.php connect.php data forum.php index.php misc.php readme source uc_client userapp.php
[root@tyrr www]# rm -fr Discuz_X3.2_SC_GBK.zip readme/ utility/
[root@tyrr www]# ls
admin.php archiver cp.php favicon.ico home.php member.php portal.php source uc_client userapp.php
api config crossdomain.xml forum.php index.php misc.php robots.txt static uc_server
api.php connect.php data group.php install plugin.php search.php template upload
[root@tyrr www]# cd
编辑apache主配置文件开启支持虚拟主机
[root@tyrr ~]# vim /usr/local/apache2/conf/httpd.conf
Include conf/extra/httpd-vhosts.conf
-----------
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
</Directory>
编辑虚拟主机配置文件
[root@tyrr ~]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
<VirtualHost *:80>
DocumentRoot "/data/www"
ServerName www.aaa.com
ServerAlias www.bbb.com
</VirtualHost>
检查配置文件并重启
[root@tyrr ~]# /usr/local/apache2/bin/apachectl -t
Syntax OK
[root@tyrr ~]# /usr/local/apache2/bin/apachectl restart
[root@tyrr ~]# ps aux |grep httpd
root 1813 0.0 1.0 193572 10728 ? Ss 19:40 0:00 /usr/local/apache2/bin/httpd -k start
daemon 2116 0.0 0.5 193708 5644 ? S 20:59 0:00 /usr/local/apache2/bin/httpd -k start
daemon 2117 0.0 0.5 193708 5824 ? S 20:59 0:00 /usr/local/apache2/bin/httpd -k start
daemon 2118 0.0 0.8 194816 8976 ? S 20:59 0:00 /usr/local/apache2/bin/httpd -k start
daemon 2119 0.0 0.6 193708 6220 ? S 20:59 0:00 /usr/local/apache2/bin/httpd -k start
daemon 2120 0.0 0.5 193708 5644 ? S 20:59 0:00 /usr/local/apache2/bin/httpd -k start
daemon 2121 0.0 0.5 193708 5644 ? S 20:59 0:00 /usr/local/apache2/bin/httpd -k start
daemon 2137 0.0 0.5 193708 5644 ? S 20:59 0:00 /usr/local/apache2/bin/httpd -k start
daemon 2138 0.0 0.5 193708 5644 ? S 20:59 0:00 /usr/local/apache2/bin/httpd -k start
root 2154 0.0 0.0 103324 888 pts/0 S+ 21:03 0:00 grep httpd
按照安装要求 修改相关配置
[root@tyrr ~]# cd /data/www/
[root@tyrr www]# ls
admin.php archiver cp.php favicon.ico home.php member.php portal.php source uc_client userapp.php
api config crossdomain.xml forum.php index.php misc.php robots.txt static uc_server
api.php connect.php data group.php install plugin.php search.php template upload
[root@tyrr www]# chown -R daemon config data uc_client/data uc_server/data
[root@tyrr www]# which mysql
/usr/bin/which: no mysql in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)
[root@tyrr www]# vim /etc/profile.d/path.sh
#!/bin/bash
export PATH=$PATH:/usr/local/mysql/bin/:/usr/local/apache2/bin/
[root@tyrr www]# source /etc/profile.d/path.sh
[root@tyrr www]# mysql -u root -p19950801
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.1.73-log MySQL Community Server (GPL)
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> create database discuz;
Query OK, 1 row affected (0.00 sec)
mysql> grant all on discuz.* to 'root@localhost' identified by '19950801';
Query OK, 0 rows affected (0.00 sec)
mysql> exit
Bye
在浏览器中要步骤完成安装
在浏览器中要步骤完成安装
apache用户认证
[root@tyrr www]# mkdir abc
[root@tyrr www]# cd abc/
[root@tyrr abc]# cp /etc/passwd .
[root@tyrr abc]# ls
passwd
[root@tyrr abc]# cd
[root@tyrr ~]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
---------------------------------
<VirtualHost *:80>
DocumentRoot "/data/www"
ServerName www.aaa.com
ServerAlias www.bbb.com
<Directory /data/www/abc>
AllowOverride Authconfig
AuthName "自定义"
AuthType Basic
AuthUserFile /data/.htpasswd
require valid-user
</Directory>
</VirtualHost>
----------------------------
[root@tyrr ~]# htpasswd -c /data/.htpasswd zty
New password:
Re-type new password:
Adding password for user zty
[root@tyrr ~]# htpasswd /data/.htpasswd zzty
New password:
Re-type new password:
Adding password for user zzty
[root@tyrr ~]# apachectl -t
Syntax OK
[root@tyrr ~]# apachectl restart
在浏览器中打开要访问的目录时 需输入用户名和密码才能正常访问
设置默认虚拟主机
[root@tyrr ~]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
#第一个
<VirtualHost *:80>
DocumentRoot "/mnt/123"
ServerName asd.com
</VirtualHost>
[root@tyrr ~]# mkdir /mnt/123
[root@tyrr ~]# chmod 600 /mnt/123
[root@tyrr ~]# apachectl -t
Syntax OK
[root@tyrr ~]# apachectl restart
这样设置的好处是 只解析虚拟主机设置的域名 而不会 输入ip也直接访问虚拟主机
域名跳转
[root@tyrr ~]# apachectl -M |grep rewrite
rewrite_module (shared)
Syntax OK
[root@tyrr ~]# vim /usr/local/apache2/conf/extra/httpd-vhosts.conf
#--------
<VirtualHost *:80>
DocumentRoot "/data/www"
ServerName www.aaa.com
ServerAlias www.bbb.com
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.aaa.com$
RewriteRule ^/(.*)$ http://www.bbb.com/$1 [R=301,L]
</IfModule>
<Directory /data/www/abc>
AllowOverride Authconfig
AuthName "自定义"
AuthType Basic
AuthUserFile /data/.htpasswd
require valid-user
</Directory>
</VirtualHost>
#----------
[root@tyrr ~]# apachectl -t
Syntax OK
[root@tyrr ~]# apachectl restart
[root@tyrr ~]# curl -x192.168.74.129:80 www.aaa.com/asdasdasd
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="http://www.bbb.com/asdasdasd">here</a>.</p>
</body></html>
[root@tyrr ~]# curl -x192.168.74.129:80 www.aaa.com/asdasdasd -I
HTTP/1.1 301 Moved Permanently
Date: Sat, 04 Mar 2017 16:15:29 GMT
Server: Apache/2.2.32 (Unix) PHP/5.4.36
Location: http://www.bbb.com/asdasdasd
Content-Type: text/html; charset=iso-8859-1
http状态码为301 在浏览器中访问www.aaa.com下的任何内容时 都会跳转到www.bbb.com下相对应的资源