早些年也试过这个模式,当时技术储备还不够,可以说完全玩不转,今天做了个较全面的总结,在Vultr上面试行了一下,达到预期了。

 

在core模式下,Windows Server 2012 R2版本的话,系统自身占内存300多,也就是说用512M的配置运行一些网站什么是足够的,较大型网站或者较多网站的话,1G也足够了。

如果用gui版本,则1G内存运行起来是较吃力的,印象中1G运行gui本身就挺吃力的。

 

本文设计系统安装完成以后的IIS安装、设置、防火墙设置等,以及一些平时使用较方便的方法。绝大多数是在命令行下完成。

 

闲话少说,首先是设置IP和DNS,注意,如果网卡名称有空格的话要用双引号括起来:

设置固定IP:netsh interface ip set address name=以太网 source=static addr=192.168.1.250 mask=255.255.255.0 gateway=192.168.1.1
设置首选DNS:netsh interface ip set dns name=以太网 source=static addr=8.8.8.8 register=primary
设置备用DNS:netsh interface ip add dns name=以太网 addr=9.9.9.9

 

开启远程桌面(需要后面的防火墙设置以后才能连上)

cscript C:\Windows\System32\scregedit.wsf /AR 0

 

禁用自动更新和一些用不上的服务:

sc config Dhcp start=disabled
sc config Browser start=disabled
sc config Spooler start=disabled
sc config RemoteRegistry start=disabled
sc config LanmanServer start=disabled
sc config lmhosts start=disabled
sc config LanmanWorkstation  start=disabled
sc config wuauserv start=disabled
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update" /v AUOptions /t REG_DWORD /d 0 /f

 

关闭dep

bcdedit.exe /set {current} nx AlwaysOff

 

更改管理员名:

wmic UserAccount where Name="Administrator" call Rename Name="zdw"

 

关闭复杂密码策略

首先

start powershell

 

然后在power shell里面执行:

secedit /export /cfg c:\secpol.cfg
(gc C:\secpol.cfg).replace("PasswordComplexity = 1", "PasswordComplexity = 0") | Out-File C:\secpol.cfg
secedit /configure /db c:\windows\security\local.sdb /cfg c:\secpol.cfg /areas SECURITYPOLICY
rm -force c:\secpol.cfg -confirm:$false

 

修改计算机名称:

Netdom RenameComputer %ComputerName% /NewName:tingtao-svr

 

安装IIS、FTP、CGI

PKGMGR.EXE /l:log.etw /iu:IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;IIS-StaticContent;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-HttpRedirect;IIS-ApplicationDevelopment;IIS-CGI;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-RequestMonitor;IIS-Security;IIS-BasicAuthentication;IIS-RequestFiltering;IIS-IPSecurity;IIS-Performance;IIS-HttpCompressionStatic;IIS-WebServerManagementTools;IIS-ManagementScriptingTools;IIS-FTPServer;IIS-FTPSvc;

 

设置FTP的Pasv端口范围(需要与防火墙策略匹配)

%windir%\system32\inetsrv\appcmd set config /section:system.ftpServer/firewallSupport /lowDataChannelPort:65000 /highDataChannelPort:65530

 

添加FTP站点,用户隔离为各自主目录:

%windir%\system32\inetsrv\appcmd add site /name:FTP /bindings:"ftp/*:21:" /physicalPath:"C:\inetpub\ftproot" /ftpServer.serverAutoStart:"true" /ftpServer.userIsolation.mode:"StartInUsersDirectory" /ftpServer.security.authentication.anonymousAuthentication.enabled:"true" /ftpServer.security.authentication.basicAuthentication.enabled:"true" /ftpServer.security.ssl.ssl128:"false" /ftpServer.security.ssl.controlChannelPolicy:"SslAllow" /ftpServer.security.ssl.dataChannelPolicy:"SslAllow"
%windir%\system32\inetsrv\appcmd set config FTP -section:system.ftpServer/security/authorization /+"[accessType='Allow',users='Administrators',permissions='Read, Write']" /commit:apphost

 

设置防火墙策略(注意ftp的端口范围要跟上面匹配)

#禁用防火墙先
netsh firewall set opmode disable
#删除所有规则
netsh advfirewall firewall delete rule name=all

#逐条添加
netsh advfirewall firewall add rule name="allowRemoteDesktop" protocol=TCP dir=in localport=3389 action=allow
netsh advfirewall firewall add rule name="allowICMP" protocol=icmpv4 dir=in action=allow
netsh advfirewall firewall add rule name="allowICMPV6" protocol=icmpv6 dir=in action=allow
netsh advfirewall firewall add rule name="allowHttp" protocol=TCP dir=in localport=80,443,1001-1004,101-110 action=allow
netsh advfirewall firewall add rule name="allowFtp" protocol=TCP dir=in localport=20,21,65000-65530 action=allow
netsh advfirewall firewall add rule name="allowMySQL" protocol=TCP dir=in localport=3306 action=allow
netsh advfirewall firewall add rule name="allowSQLServer" protocol=TCP dir=in localport=1433 action=allow


#启用防火墙
netsh firewall set opmode enable

 

创建网站:创建用户、设置组、创建网站目录、添加FTP虚拟目录和IIS站点,创建并使用独立进程池

net user www.tingtao.org 密码 /add /y
net localgroup guests www.tingtao.org /add
net localgroup users www.tingtao.org /delete
net user www.tingtao.org /active:yes
mkdir C:\WEB\www.tingtao.org
xcacls "C:\WEB\www.tingtao.org" /g administrators:f system:f "network service":r www.tingtao.org:C /t /c /y
%windir%\system32\inetsrv\appcmd add apppool /name:"www.tingtao.org" /PipelineMode:"Classic" /managedRuntimeVersion:"" /managedPipelineMode:Classic
%windir%\system32\inetsrv\appcmd add site /name:"www.tingtao.org" /bindings:"http/*:80:www.tingtao.org" /physicalPath:"C:\WEB\www.tingtao.org" /applicationDefaults.applicationPool:"www.tingtao.org" /virtualDirectoryDefaults.username:"www.tingtao.org" /virtualDirectoryDefaults.password:"密码"
%windir%\system32\inetsrv\appcmd add vdir /app.name:"FTP/" /path:/www.tingtao.org /physicalPath:C:\WEB\www.tingtao.org
%windir%\system32\inetsrv\appcmd set config FTP -section:system.ftpServer/security/authorization /+"[accessType='Allow',users='www.tingtao.org',permissions='Read, Write']" /commit:apphost

 

=====================

日常使用方面

下载文件可以这样:

certutil.exe -urlcache -split -f http://www.tingtao.org/data.zip

 

代替资源管理器的话,其实比较方便的是flashfxp,因为这玩意不可避免的会用到,所以虽然有更像资源管理器的程序,但没必要多装一个了。

 

任务管理器: taskmgr

注册表编辑器:regedit

重启:shutdown /r /t 0

注销:logoff

 

其他什么的,像winrar什么的都可以装,图形程序也可以安装并且使用,因为core版本只是摘除了windows自身的图形界面,并不是说有窗口的程序就不能用了。

 

 

 

补充一下,我好像忘了添加ssl证书并且绑到站点上,回头补上。

作者 听涛

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注