Na Microsoft Days jsem slíbil zveřejnit skripty, které používám pro správu svých web hostingových serverů, jmenovitě pro zakládání nového uživatele a přidání webu k existujícímu uživateli. Pokud jste na mé přednášce tamo nebyli, tak se jedná do jisté míry o logické pokračování video seriálu o konfiguraci hostingového serveru, kterou najdete na MSTV.CZ. Vzhledem k tomu, že se jedná o úchylnou "rich internet application" v Silverlightu, nemohu vám poslat přímý odkaz na celý seriál, pouze návod:
- Vyberte oblast "IT odborníci".
- V seznamu autorú vyberte "Michal Altair Valášek"
- V seznamu témat vyberte "Hostování"
V archivu, který si můžete stáhnout na konci tohoto článku, najdete dva soubory: newcust.cmd
a newsite.cmd
. Tyto soubory předpokládají, že budete mít architekturu podobnou, jako ve výše uvedeném seriálu, jenom nepočítají s během Application Poolu pod specifickým uživatelem, ale předpokládají automatickou identitu AP.
Před použitím je třeba nastavit některé systémové proměnné, které najdete na začátku skriptů:
APPCMD
je cesta k souboru appcmd.exe (musíte mít nainstalované IIS Management Script and Tools). Výchozí cesta je%SYSTEMROOT%\System32\inetsrv\appcmd.exe
a téměř jistě nebude nutné ji měnit.ROOT_FOLDER
je cesta k adresáři, kde budou uloženy adresáře jednotlivých zákazníků. Výchozí hodnota jeD:\WWW-servers\LocalUser
.FTP_GROUP
je název uživatelské skupiny, která má obsahovat jednotlivé zákazníky (uživatele) a slouží k nastavení FTP přístupu. Výchozí hodnota jeCustomers
.
Skripty obecně pracují pouze s lokálními účty a skupinami. Pokud byste je chtěli používat v doménovém prostředí, je nutná jejich úprava.
NEWCUST.CMD – vytvoření nového uživatele
Syntaxe je: newcust hostname username password
Tento skript slouží k založení nového zákazníka web hostingu a vytvoření prvního webu. Vykoná následující činnosti:
- Vytvoří application pool jménem
AP_username
. - Vytvoří uživatele
username
s heslempassword
. - Přidá tohoto uživatele do skupiny nastavené proměnnou FTP_GROUP (standardně
Customers
). - Vytvoří pro tohoto uživatele datový adresář v cestě
ROOT_FOLDER
. Např. tedyD:\WWW-Servers\LocalUser\username
. - Nastaví v tomto adresáři práva "full control" uživateli
username
a identitěIIS APPPOOL\AP_username
. - Vytvoří adresář pro nový web, např.
D:\WWW-Servers\LocalUser\username\hostname
. - Vytvoří nový virtuální web server jménem "
username-hostname
" a nasměruje ho do adresáře vytvořeného v předchozím kroku. - Zařadí vytvořený web do application poolu "
AP_username
"
NEWSITE.CMD – vytvoření nového webu pro existujícího uživatele
Syntaxe je: newsite hostname username
Tento skript slouží k vytvoření nového webu pro existujícího uživatele (a přidání do jeho application poolu). Vykoná v zásadě pouze poslední tři kroky výše uvedeného skriptu, tj. vytvoří a nastaví nový web server.
Implementační poznámka
Výše uvedené skripty předpokládají dost konkrétní nastavení web serveru a je pravděpodobné, že pro vaše konkrétní prostředí bude třeba je upravit a to předpokládá jisté znalosti jak tohoto prostředí, tak tvorby dávkových souborů. Skripty poskytuji "as is" a nebudu k nim poskytovat žádnou podporu v komentářích a podobně. Nicméně s radostí vám jako placenou konzultaci vytvořím skripty vhodné pro vaše prostředí.
**Skripty ke stažení zde: **20100924-iismgmt.zip