Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 1.0/1.1
Gestione automatica domini in IIS 6.0
mercoledì 24 marzo 2004 - 17.03
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
drebechi
Profilo
| Newbie
14
messaggi | Data Invio:
mer 24 mar 2004 - 17:03
Ho necessità di creare sul server web IIS 6.0 in maniera automatica dei nuovi siti.
Per esempio ho bisogno di 1) creare un nuovo sito internet, 2) assegnare alle directory i diritti di scritture lettura esrcuzione etc. 3) assegnare al sito un nome per il virtual hosting.
tutto questo deve essere fatto in maniera automatica. Esistono oggetti nel framework per controllare il server web ?
Grazie
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
gio 25 mar 2004 - 14:06
Ciao drebechi,
mi dai un po' di tempo per cercare queste informazioni ?
Io avevo una mezza idea di mettere su un server e rivendere hosting professionale. Infatti mi sono fatto le stesse domande che ti sei fatto tu. Parzialmente so rispondere e parzialmente no.
Con una progettazione di questo tipo potresti mandare avanti un server quasi completamente automaticamente.
Allora ti posso già dire che ci vuole un approccio più da sistemista più che da sviluppatore. Quindi non andare su .NET o linguaggi di programmazione veri e propri ma andare su linguaggi di script come file batch o WSH (windows scripting Host).
Per creare nuovi siti Web dentro IIS si può fare (credo) tramite IIS, ma questo te lo confermo entro sera e ti do spunti su web da cui reperire gli script.
Per assegnare diritti alle cartelle puoi usare il comando cacls.exe contenuto in Windows, in un file batch.
fammi sapere.
ciao
david
drebechi
Profilo
| Newbie
14
messaggi | Data Invio:
gio 25 mar 2004 - 14:51
Nel frattempo mi sono documentato un po' in rete ed ho trovato cose interessanti che ti riporto in modo possano esserti d'aiuto. La necessità di gestire tramite .NET e' nata dal fatto che un utente di una web application, dovrebbe poter attivarsi un sito in maniera automatica senza intervento da parte mia. Io ho scoperto che in IIS 6.0 tutte le informazioni di gestione del server sono contenute in un file XML Metabase.xml. Periodicamente il server ricarica questo file e si aggiorna. In questo file sono contenute le informazione sui siti web , le virtual directory etc. Qui c'e' un link dove ho trovato un po' di notizie.
http://www.microsoft.com/resources/documentation/WindowsServ/2003/standard/proddocs/en-us/Default.asp?url=/resources/documentation/WindowsServ/2003/standard/proddocs/en-us/mb_structure.asp
A questo punto ho solo bisogno di capire come editare questo file, penso che le librerie XML di .NET vadano benone, e come agire sul file per creare nuovi domini etc..
Spero di averti dato qualche utile notizia, intanto se scopri qualcosa fammi sapere.
Ciao
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
ven 26 mar 2004 - 00:38
Ciao,
allora ho scartabellato un po' nei miei appunti e ho trovato qualcosa. allora sicuramente si può agire con WMI per aggiungere, rimuovere siti web, virtual folder ecc.
C'è un altro modo forse migliore ed è con ADSI, qui trovi tutti gli oggetti, un'introduzione ed anche degli esempietti per creare delle virtual application in IIS. Il passo per creare interi siti web è breve, basta che ti vai a vedere tutti gli oggetti e relativi metodi e proprietà:
http://www.microsoft.com/resources/documentation/WindowsServ/2003/standard/proddocs/en-us/Default.asp?url=/resources/documentation/WindowsServ/2003/standard/proddocs/en-us/prog_use_ovr.asp
Sicuramente, il metabase è in XML da IIS e puoi manipolarlo con .NET manualmente come fosse un file di testo. Però per questo io ti sconsiglio questa strada, perchè la struttura del metabase è abbastanza complessa e operando così rischi di danneggiarlo. Diverso se usi ADSI o WMI, che ti permettono di fare cose "safe" senza creare danni.
Un'altra cosa che volevo dirti è questa. Non ti consiglio di far sì che un utente via web possa far tutto. Lascerei all'utente solo alcune opzioni non tutte. Per questo io accetterei in input tutte le sue operazioni e poi le schedulerei e lancerei degli script in WSH o VBS come ti dicevo prima piuttosto che far far tutto da una applicazione ASP.NET.
Con script semplici come questo per esempio:
Set iis = getObject("IIS://LocalHost/W3SVC")
For each Object in iis
if (Object.Class = "IIsWebServer") then
WScript.Echo Object.ServerComment
end if
next
puoi elencare tutti i siti web che hai sul tuo PC su IIS e così via.
Qui interagisci direttamente con il metabase ma hai un livello di astrazione in più e usi ADSI in questo modo non puoi fare danni. Ora si tratta di vedere la gerarchia degli oggetti, metodi e proprietà, e poi tanti test :)
ciao
david
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !