Ez hosszú lesz asszem. 🙂
Egy kollégám egyszer azt mondta, hogy normális ember nem hosztol tömegesen web alkalmazásokat Windows-on. Miért nem? Mert drága (=nem ingyenes), instabil, macerás.
Nem teljesen értek egyet. 🙂 Az mondjuk igaz, hogy bár az itt bemutatott megoldás támogatja a php és mysql használatát azért én az ilyen weboldalakat inkább egy jó kis CentOS-en futtatom amit egy ISPconfig segítségével kezelek. Erről is lesz szó egyszer…
Térjünk rá a mai témánkra, ami konkrétan a WebsitePanel nevű produktum. Ez egy rendkívül nagy tudású Web Host Controller eszköz, de talán éppen ezért sokakat elriaszthat a telepítése. Mindent korrektül feltelepíteni és beállítani nem kis feladat és van közben egy pár buktató. Megpróbálom elmesélni, hogy mire érdemes figyelni.
Ha már úgyis ezzel a szoftverrel játszottam, megcsináltam hozzá a Magyar nyelvi csomagot (a csomag alapja a régi DotNetPanel magyarítás) A fordítás nem 100%-os de szerintem használható.
Az alábbi szoftvereket szükségesek a szerver megépítéséhez:
Windows Server 2008 R2 x64 (standard vagy web)
WebsitePanel
hMailServer 5.5
Strawberry Perl
AWStats 6.95
Misrosoft SQL Server 2008 Express
MySQL Server 5.1
Mysql Connector/NET 6.3.4
ClamWin antivírus (levél szerverhez)
AfterLogic Webmail lite
PHPmyadmin
SQL WEB Data Administrator
SQL Server 2005 Feature Pack / SQL 2005 BC x64
Windows Server 2003 Resouce kit
SpamAssassin
Az Operációs rendszer kivételével az összes komponens ingyenes.
Előkészületek.
A WebsitePanelt (WSP) telepítése előtt a következő teendők vannak:
- A szervernek fix IP címet kell adni.
- Érdemes előre telepíteni a DNS szolgáltatást.
- IIS telepítés
WebPlatform Installer segítségével telepítendő:
- .NET Framework 2.0
- .NET Framework 3.5 SP1
- .NET Framework 4
- ASP.NET
- ASP
- ASP.NET MVC
- WEB Deployment Tool 1.1 vagy 2
- PHP 5.x
- SQL Server 2008 with SQL Management Studio Express
- IIS Static Content
- IIS Default Document
- IIS HTTP Errors
- IIS HTTP Redirection
- IIS URL Rewrite 1.1
- CGI
- FTP Publishing Service 7.5
- IIS Management Console
- Basic Authentication
- Windows Authentication
- PHP manager for IIS
- PHP cache Extension
Adatbázis szerver(ek) telepítése
- MySQL 5.1 telepítés.
Itt fontos a verziószám, mert az újabb verziók egyenlőre nem támogatottak!
- Mysql Connector/NET 6.3.4
Itt fontos a verziószám, mert az újabb verziókkal nem működik, csúnya hibákat dob a rendszer.
- Opcionálisan telepíthető kézzel is a Microsoft SQL Server Express (illetve standard vagy enterprise is). Fontos, hogy a hitelesítés mixed mode-ra legyen kapcsolva!
- PHPmyadmin Súgó
MySQL webadmin
- SQL WEB Data Administrator
MS SQL webadmin
Ennek a programnak nincsen kész, működő bináris verziója. Azoknak, akik nem tudnak fordítani, készítettem egy buildet.
A program működéséhez telepíteni kell a Microsoft SQL Server 2005 Backward Compatibility Components csomagot.
A telepítőcsomagot csak ki kell csomagolni mondjuk a wwwrootSQLwebadmin mappába. Készíteni hozzá egy .NET 2-es Application pool-t majd webalkalmazásként konfigurálni, levenni róla az anonymous hozzáférést és bekapcsolni a Windows hitelesítést.
Levél szerver telepítése
Levél szerverkét a hMailservert választottam, mert: bármennyi domaint és postafiókot kezel, ingyenes, támogatott a WSP részéről az éppen aktuális verzió. Van még jónéhány támogatott levélszerver, de azok ingyenes verziói vagy korlátozottak vagy nem tölthető már le a támogatott verzió.
- hMailServer 5.3
Ennek a telepítője igazi nex-next-finish típusú… - SpamAssassin Win32
Spam szűrő.
SpamAssassin for Win32 command-line tools letöltése.Kicsomagolás mondjuk a c:Spamassassin mappába. (jobban járunk, ha nincsen a mappa nevében space…)
Aztán kellen fog az instsrv.exe és az srvany.exe program, ami a Windows Server Resource Kitben található.
A következő parancsot kell futtatni: „C:Program Files (x86)Windows Resource KitsToolsINSTSRV.EXE” SpamAssassin „C:Program Files (x86)Windows Resource KitsToolsSRVANY.EXE” Ez létrehozza a spamassassi szolgáltatás.
Következő lépés: regedit HKLM -> SYSTEM -> CurrentControlSet -> Services -> SpamAssassin
Új kulcs: Parameters
Új szöveg (string): Application, érték:”c:Spamassassin spamd.exe -l –round-robin”
Érdemes kikapcsolnia konfigban a razor2 plugint, mert igen hosszú válaszidőket okoz és többnyire timeout a vége a dolognak…
#loadplugin Mail::SpamAssassin::Plugin::Razor2
hMailServer Administrator / antispam / spamassassin:
Ha már itt járunk érdemes a többi antispam funkciót is bekapcsolni, értelemszerűen.
Érdemes letölteni még az sa-update programot és időnként frissíteni a Spamassassin szabályokat vele. - AfterLogic Webmail lite
A hMailServer-nek nincsen beépített webes kliense, ezért kell ez a szoftver.
Telepítőkészletet kicsomagolni mondjuk a wwwrootwebmail mappába. Készíteni hozzá egy .NET 2-es Application pool-t majd webalkalmazásként konfigurálni a webmail mappát.
Beállítás: http://localhost/webmail/adminpanel
Kérni fog egy MSSQL vagy MySQL adatbázist, de nem esünk kétségbe, mert az van bőven.
SMTP és POP3 szervernek természetesen a localhost-ot kell beállítani. Kb. ennyi az egész.
- ClamWin
Vírus irtó a levél szerverhez.
Ez igazán sima ügy. Letölteni, feltelepíteni és konfigurálni összesen sincsen 2 perc.
Letölteni innen kell. A konfig pedig így néz ki:
Statisztika
A web és email statisztikát az AwStats program fogja generálni. Az AwStats futtatásához Perl futtatóra van szükség. Én Strawberry perl-t használtam. Letöltés itt. Az AwStats itt érhető el. Fontos, hogy 6.x verziót használjunk, mert a 7.x verziókat a WSP nem támogatja még.
Először telepíteni kell, (milyen meglepő) majd megmondani neki, hogy ez nem egy Apache és hogy mi a gép neve.
Következő lépésként készíteni kell egy virtuális könyvtárat vagy alkalmazást az iis-ben, aminek a gyökér mappája a telepített awstats wwwroot mappája. Figyelem! Az AwStats bizonyos fájlokat alapesetben a website gyökérkönyvtárában lévő icon,classes,css mappájában keres és erről elég nehéz lebeszélni! 🙁
Megoldás: oda kell másolni a kérdéses mappákat.
Megoldás 2: konfigurálni kell egy külön website-ot a statisztikákhoz * / 80 binding, tehát kell hozzá egy külön ip cím!
A statisztika modulhoz konfigurálni kell egy domain bejegyzést (mondjuk: stat)
Készíteni egy olyan url rewrite rule-t ami minden stat.xxx.yyy típusú hívást egy mappába irányít, mágpedig úgy, hogy a hívásban szereplő domain nevet paraméterként átadja a awstat-nak.
Kb így néz ki a pattern: {HTTP_HOST} ^(stat.)(.*)$ és így adjuk át a paramétert: …awstats/cgi-bin/awstats.pl?config={C:2}
Adni kell az users csoportnak írás jogot az AwStats cgi-bin mappájára! Sajnos képtelen voltam kimonitorozni (process monitorral), hogy ki akar ide írni konkrétan. Illetve a procmon szerint az adott application poolt futtató user. Azonban hiába adtam neki jogot, nem tudott a WSP új konfig fájlokat létrehozni itt (pedig szeretne). Szóval addig amíg ki nem találok valami jobbat users csoport a megoldás.
A többi beállítást már a WSP felületéről kell megtenni.
A statisztikával egyébként sok a nyűg. Van hozzá egy hitelesítést végző plugin is, de eddig még nem sikerült beüzemelni. Dolgozom rajta…
WebsitePanel
Aki még mindig it van, az igazán kitartó! 🙂
Ha minden elő van készítve megfelelően, akkor magát a WSP-t telepíteni igazán egyszerű. Beklikkeljük a Web Platform Installerben és települ is szépen. Jó tudni, hogy három komponense van: Server, Enterprise Server, Portal. Az alábbi kép azt hiszem mindent megmagyaráz.
WPI használatával mindhárom automatikusan feltelepül a lokális gépre. Két felhasználó keletkezik:
serveradin : ő az igazi admin
admin : aki tulajdonképpen egy viszonteladó
Alap állapotban egy csomó szolgáltatás ki van kapcsolva, pontosabban nincsen hozzáadva/beállítva. Ennek a hiányosságnak a kiküszöböléséhez be kell jelentkeznünk serveradmin felhasználóval és a beállítás/szerverek menüpontra kattintanunk.
Ezt követően katt a szerver nevére majd a hozzáadni kívánt szolgáltatás mellett a hozzáad gombra.
Néhány példa képekben
Több szerveres telepítés
Nagyobb installációknál a WebsitePanel komponenseit több szerverre érdemes telepíteni.
A VPS szerver funkciót pl. mindenképpen egy vagy több különálló Hyper-V szerverre érdemes tenni, ugyanez igaz a hostolt Exchange szerverre is szerintem.