Discuz!官方免费开源建站系统

 找回密码
 立即注册
搜索

用Appserv创建虚拟主机

[复制链接]
muhang 发表于 2007-9-8 02:25:59 | 显示全部楼层 |阅读模式
AppServ虚拟主机管理工具
作者:Choy Lv 日期:2007-08-20 01:24

程序名称:AppServ虚拟主机管理工具

程序作者
:Choy Lv 2007.08.18

程序用途:快速为 AppServ 创建虚拟主机并设定个性域名,摆脱 localhost 束缚,让每个项目都能使用独立域名进行测试。
     当然,如果您的服务器也是由 AppServ 创建的,也可以用该工具快速设置虚拟主机。

程序说明:该程序将修改 c:/windows/system32/drivers/etc/hosts 文件,病毒防火墙可能会警告,烦请放行。
     该程序还将修改您的 apache 的 httpd.conf文件。
     该程序还将创建一个 vhosts 文件来存储您的虚拟主机配置。

程序使用:在任意目录下执行该 bat 批处理文件。根据提示操作!

测试环境:AppServ 安装目录 d:/appserv ;
     Apache安装目录 d:/appserv/apache2.2;
     系统文件夹在 C:/windows 。
     您可以根据您的实际情况,修改bat文件里相应的路径。


程序下载appserv虚拟主机管理工具.rar (1.53 KB )


程序源码:
=========源码开始===============

@echo off
title Appserv 虚拟主机管理工具 Power by Choy lv
color 0a

set hosts=%systemroot%\system32\drivers\etc\hosts

:起点
echo ## 欢迎使用 Appserv 虚拟主机管理工具
echo ## 作者:Choy lv 2007.08.18 http://www.supzz.com
echo ## 当前时间:%date%  %time%
echo =========================================

:判断
set httpd=D:/AppServ/apache2.2/conf/httpd.conf

find "Include D:/AppServ/vhosts/" %httpd% > tmp.txt
if NOT %errorlevel%==0 echo Include D:/AppServ/vhosts/[^^.#]* >> %httpd%
del tmp.txt /q

if NOT exist D:\AppServ\vhosts md d:\AppServ\vhosts

echo.
echo 请输入您要执行的操作:
echo  1、创建虚拟主机
echo  2、删除虚拟主机
echo  3、编辑hosts
echo  0、退出
echo. 

:选择
set /p choice=请选择:
if not "%Choice%"=="" set Choice=%Choice:~0,1%
if /i "%choice%"=="0" exit
if /i "%choice%"=="exit" exit
if /i "%choice%"=="1" goto 新站点
if /i "%choice%"=="2" goto 删除站点
if /i "%choice%"=="3" notepad %hosts% & echo. &echo. & goto 起点
echo 输入错误,请重新输入
goto 选择



:新站点
echo.
set /p hostname=虚拟主机站点名(便于您的管理):
if "%hostname%"=="/?" goto 新站点
if "%hostname%"=="" goto 新站点
if "%hostname%"=="exit" exit

set conf=D:\AppServ\vhosts\%hostname%.conf
if exist %conf% echo 已经存在名为 %hostname% 的站点了!& echo.  & goto 新站点
echo ^<VirtualHost *:80^> > %conf%

:绑定域名
set /p domain=请为站点%hostname%绑定一个主域名,(如:test.com):
if "%domain%"=="/?" goto 绑定域名
if "%domain%"=="" goto 绑定域名

echo ServerName %domain% >>%conf%
find "127.0.0.1  %domain%" %hosts% > tmp.txt
if %errorlevel%==0 echo 域名“%domain%”已存在! & goto 绑定域名
echo. >> %hosts%
echo 127.0.0.1  %domain% #站点:%hostname% >>%hosts%
goto 其他域名

:其他域名
set /p newdomain=绑定其他域名(输入 N 结束输入):
if "%newdomain%"=="/?" goto 其他域名
if "%newdomain%"=="" goto 其他域名
if "%newdomain%"=="N" goto 指定目录
if "%newdomain%"=="n" goto 指定目录
echo ServerAlias %newdomain% >>%conf%
find "127.0.0.1  %newdomain%" %hosts% > tmp.txt
if %errorlevel%==0 echo 域名“%newdomain%”已存在! & goto 其他域名
echo 127.0.0.1  %newdomain% #站点:%hostname% >>%hosts%
goto 其他域名


:指定目录
set /p sitepath=站点文件夹名称(相对 D:\appserv\www\ 文件夹):
if "%sitepath%"=="/?" goto 指定目录
if "%sitepath%"=="" goto 指定目录
set sitepath=d:\AppServ\www\%sitepath%
if exist %sitepath% echo 已经存在 %sitepath% 的文件夹了! & goto 目录存在
goto 创建目录

:目录存在
set /p newdomain=使用这个存在的目录吗?(Y/N):
if "%newdomain%"=="/?" goto 目录存在
if "%newdomain%"=="" goto 目录存在
if "%newdomain%"=="Y" goto 保存目录
if "%newdomain%"=="y" goto 保存目录
goto 指定目录

:创建目录
md %sitepath%
echo 站点 %hostname% 目录成功创建,路径是:%sitepath%

:保存目录
echo DocumentRoot %sitepath% >> %conf%
echo ^</VirtualHost^> >> %conf%

echo.
net stop apache2.2
net start apache2.2

del tmp.txt
echo ------------------站点 %hostname% 创建成功--------------
start http://%domain%
echo.
goto 起点


:删除站点
echo.
set /p sitename=请输入您要删除的站点名称(键入 N 取消操作):

if "%sitename%"=="/?" goto 删除站点
if "%sitename%"=="" goto 删除站点
if "%sitename%"=="N" goto 起点
if "%sitename%"=="n" goto 起点

if NOT exist D:\AppServ\vhosts\%sitename%.conf echo 不存在名为%sitename%的站点!& echo.  & goto 删除站点

del D:\AppServ\vhosts\%sitename%.conf /q

echo.
echo 站点配置文件删除成功!
echo.
net stop apache2.2
net start apache2.2
echo.
echo hosts文件中的对应的域名指向需要您手功删除

:hosts处理选择
echo.
set /p choice=是否立即编辑hosts(Y/N):
if not "%Choice%"=="" set Choice=%Choice:~0,1%
if /i "%choice%"=="exit" exit
if /i "%choice%"=="y" goto 编辑hosts
if /i "%choice%"=="Y" goto 编辑hosts
if /i "%choice%"=="n" goto 删除成功提示
if /i "%choice%"=="N" goto 删除成功提示
echo 输入错误,请重新输入
goto hosts处理选择

:编辑hosts
notepad %hosts%

:删除成功提示
echo.
echo --删除站点配置成功
echo --请自行处理相应的站点文件夹

echo.
pause
goto 起点





=========代码结束===============

程序下载appserv虚拟主机管理工具.rar (1.53 KB)


[ 本帖最后由 muhang 于 2007-9-8 02:30 编辑 ]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-11-22 05:18 , Processed in 0.119455 second(s), 14 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表