In questo articolo vedremo come creare un laboratorio di test per poter effettuare delle prove o delle demo per i nostri clienti.
Il laboratorio è basato su un'architettura come quella mostrata in figura 1. Si compone di un server di distribuzione delle applicazioni chiamato SERVER, che avrà le funzioni di Domain Controller, Root Certification Authority e di Application Virtualization Management Server, di un server chiamato STREAMING che avrà la funzione di Application Virtualization Streaming Server, di un client che riceverà le applicazioni chiamato CLIENT1, di una postazione su cui prepareremo i package virtuali chiamato SEQUENCER e di un server per i servizi TERMINAL.
Figura 1 - Architettura dell'ambiente di test
Per una Overview dell'ambiente di test che andremo a creare vi rimando all'articolo Technet Application Virtualization Server-Based Scenario Overview
Per il nostro ambiente di test utilizzeremo macchine virtuali basate su Hyper-V 2008 R2.
I prerequisiti hardware e software per poter installare Application Virtualization 4.6 sono disponibili sul sito Technet all'indirizzo Application Virtualization System Requirements
Installazione del Server
Come prima operazione creiamo la macchina virtuale SERVER installando Windows Server 2008 R2 (Standard o Enterprise) e creiamo un nuovo dominio chiamato appv.lab con livello funzionale della foresta settato a Windows 2008 Native Mode, come mostrato in figura 2. Per questo laboratorio di test ho utilizzato Windows Server 2008 R2 Enterprise Edition 64.
Figura 2 - Impostazioni di Active Directory
Dopo aver installato Active Directory e tutti i servizi necessari, effettiamo il reboot e procediamo all'installazione della Certification Authority. È necessario infatti disporre di certificati digitali se vogliamo proteggere lo streaming dei dati dal nostro server verso i client, sia se utilizziamo il protocollo RTSP che il protocollo HTTP. Questo non costituisce un prerequisito indispensabile, ma è assolutamente consigliato ed inoltre l'installazione di default di Application Virtualization 4.6 prevede proprio l'utilizzo del protocollo RTSPS.
Per poter installare una Certification Authority su Windows Server 2008 R2 è necessario aggiungere il rispettivo ruolo. Scegliamo quindi dal Server Manager il ruolo Active Directory Certificate Services e seguiamo il wizard di setup. Scegliamo di creare una ROOT CA che chiameremo APPV CA e installiamo anche il Certificate Authority Web Enrollment (non strettamente necessario per il nostro laboratorio, ma utile perché ci installa IIS, che ci servirà successivamente). Per i passaggi dettagliati relativi a questa installazione vi rimando all'articolo Technet Install a Root Certification Authority . Al termine della procedura guidata otterremo una schermata di conferma come quella mostrata in figura 3:
Figura 3 - Configurazione della Root Certification Authority
Al termine dell'installazione della Root Certification Authority verrà creato anche un certificato per il nostro server, che utilizzeremo per abilitare SSL sui protocolli RTSP e HTTP. Poiché è stato installato anche IIS insieme alla nostra CA, non ci resta che completare la configurazione del nostro web server. Dal Server Manager andiamo ad aggiungere ad IIS i seguenti Role Services: "ASP.NET", ".NET Extensibility", "IIS Management Scripts and Tools", come mostrato in figura 4. Questi Roles Services sono necessari per permettere la corretta autenticazione da parte degli Application Virtualization Client che installeremo successivamente.
Figura 4 - Installazione dei Role Services di IIS
Installazione dei prerequisiti
Uno di prerequisiti per l'installazione di Application Virtualization 4.6 è l'installazione di un database SQL. Per il nostro laboratorio scarichiamo Microsoft SQL Express 2008 e procediamo alla sua installazione, non prima comunque di aver installato come prerequisito Microsoft .NET Framework 3.5 Service Pack 1 e Windows Installer 4.5. Si raccomanda di utilizzare in ambienti di produzione almeno SQL Standard o Enterprise, versione 2005 SP1 o 2008.
Installiamo il Database Engine ed i Management Tools come mostrato in figura 5:
Figura 5 - Installazione dei componenti di SQL Express 2008
Continuiamo col wizard di configurazione e scegliamo tutte le impostazioni di default. Nella schermata relativa alla Database Engine Configuration scegliamo un account che abbia i diritti per poter amministrare il nostro SQL Server, come mostrato in figura 6. Per questo laboratorio ho utilizzato l'account Administrator, con cui mi sono loggato, ma è anche possibile utilizzare altri account che abbiano privilegi amministrativi sulla macchina dove verrà installato il database.
Figura 6 - Scelta dell'account di amministrazione di SQL Server 2008
Scegliamo nelle schermate successive le opzioni di default fino alla schermata finale mostrata in figura 7 e clicchiamo su Install.
Figura 7 - Schermata di riepilogo dell'installazione di SQL Express 2008
Una volta terminata l'installazione di Microsoft SQL Express 2008 è necessario abilitare il protocollo TCP/IP. Per fare ciò basta andare in StartàAll ProgramsàMicrosoft SQL Server 2008àConfiguration ToolsàSQL Server Configuration Manager e dal nodo SQL Server Network Configuration selezionare Protocols for SQLSERVEREXPRESS. Nel pannello di destra è possibile quindi abilitare il protocollo TCP/IP, come mostrato in figura 8:
Figura 8 - Abilitazione del protocollo TCP/IP
Ora che tutti i prerequisiti sono stati installati siamo pronti per installare il nostro Application Virtualization Management Server. Prima di cominciare però è necessario creare in Active Directory due nuovi gruppi, APPV Admins (a cui ho aggiunto come membri i Domain Admins) e APPV Users (a cui ho aggiunto come membri i Domain Users), che saranno poi utilizzati durante l'installazione del Management Server.
Installazione di App-V Management Server
Il pacchetto MDOP 2010 Refresh può essere scaricato da chi possiede le precedenti versioni da Volume Licensing Service Center (VLSC). La versione di valutazione di MDOP 2010 Refresh può essere invece scaricata da MSDN o da TechNet.
Dal dvd del pacchetto MDOP 2010 Refresh lanciamo quindi il setup del Management Server e seguiamo il wizard di installazione. Per maggiori informazioni sull'installazione del Management Server vi rimando all'articolo Technet How to Install Application Virtualization Management Server.
Il wizard riconoscerà in automatico l'istanza SQLEXPRESS che abbiamo appena installato e ci chiederà se usare un database esistente o creare un nuovo database. Creiamo un nuovo DB lasciando il nome predefinito APPVIRT e nella schermata successiva scegliamo di usare la Enhanced Security, selezionando il certificato digitale del nostro server che è stato creato al momento dell'installazione della Root CA, come mostrato in figura 9:
Figura 9 - Utilizzo della Enhanced Security e scelta del certificato digitale
Nella schermata successiva lasciamo la porta 322 di default per il protocollo RTSPS e indichiamo i gruppi che dovranno gestire APP-V e che lo dovranno usare, scegliendo i due gruppi che abbiamo precedentemente creato. Nel nostro laboratorio saranno rispettivamente i gruppi APPV Admins e APPV Users. Completiamo il wizard indicando la cartella di default dove andranno salvati i package e clicchiamo sul pulsante Install. Una volta completata l'installazione (figura 10) possiamo riavviare la nostra macchina.
Figura 10 - Completamento dell'installazione del Management Server
Dopo il riavvio del server sarà necessario condividere la cartella C:\Program Files(x86)\Microsoft System Center App Virt Management Server\App Virt Management Server\content e permettere al gruppo Everyone i permessi di Read.
Per poter utilizzare il protocollo RTSPS, sarà necessario permettere al Network Service l'accesso alla chiave privata del certificato digitale del nostro server. Per fare questo dobbiamo scaricare e installare il Windows HTTP Services Certificate Configuration Tool (WinHttpCertCfg.exe) sia sul Management Server che sull'eventuale Streaming Server. Per conoscere la sintassi da utilizzare per il comando vi rimando all'articolo MSDN al link http://msdn.microsoft.com/en-us/library/aa384088.aspx
Nel nostro caso digiteremo il comando
winhttpcertcfg –g –c LOCAL_MACHINE\My –s SERVER.appv.lab –a NetworkService
come mostrato in figura 11:
Figura 11- Utilizzo del tool WINHTTPCERTCFG
Dopo aver permesso quindi al NetworkService l'accesso alla chiave privata del certificato sarà necessario riavviare il servizio Application Virtualization Management Server. Il servizio parte in maniera automatica ma in ambiente virtuale è possibile che non parta automaticamente ed è quindi necessario avviarlo manualmente.
Per completare l'installazione è necessario anche creare le opportune eccezioni nel Firewall di Windows Server 2008 R2. Apriamo quindi Windows Firewall with Advanced Security e creiamo due nuove Inbound Rules che permettano l'accesso agli eseguibili
- %ProgramFiles% (x86)\Microsoft System Center App Virt Management Server\App Virt Management Server\bin\sghwdsptr.exe
- %ProgramFiles% (x86)\Microsoft System Center App Virt Management Server\App Virt Management Server\bin\sghwsvr.exe
In questo modo verranno aperte dinamicamente le porte in base alle impostazioni che andremo a dare al nostro Management Server, anche se decidiamo successivamente di modificare i protocolli di streaming, senza intervenire ulteriormente sul firewall.
Installazione del Client
Dopo aver completato l'installazione del server procediamo ora all'installazione del client. Creiamo una nuova macchina virtuale chiamata CLIENT1 e installiamo Windows Vista SP1 oppure Windows 7. Al termine dell'installazione procediamo ad effettuare tutti gli aggiornamenti e dal dvd del pacchetto MDOP 2010 Refresh lanciamo quindi il setup del Desktop Client e seguiamo il wizard di installazione. Installiamo tutti i prerequisiti richiesti come mostrato in figura 12:
Figura 12 - Installazione dei prerequisiti per il Desktop Client
Subito dopo l'installazione dei prerequisiti partirà il wizard di installazione dell'applicativo. Accettiamo tutte le impostazioni di default e clicchiamo su Install.
Al termine della procedura andiamo nel Pannello di Controllo e dagli Administrative Tools apriamo la console Application Virtualization Client.
Clicchiamo sul nodo Publishing Servers e col tasto destro facciamo partire il wizard per la configurazione di un nuovo server. Inseriamo le informazioni richieste scegliendo come protocollo di streaming quello di default, cioè Enhanced Security Application Virtualization Server, digitiamo il nome del nostro Management Server SERVER.appv.lab e la rispettiva porta 322 e clicchiamo su Finish. Il risultato finale sarà quello visualizzato in figura 13:
Figura 13 - Configurazione del server di streaming nella console del client
Test di verifica del corretto funzionamento del Client e del Server
Verifichiamo ora con un piccolo test se le configurazioni del server e del client sono corrette.
Di default durante l'installazione del Management Server viene creata in Application Virtualization 4.6, come anche nelle versioni precedenti, un'applicazione di default che è utile per il test di connessione. Per prima cosa abilitiamo l'applicazione sul nostro App-V Management Server utilizzando la Application Virtualization Management Console. Colleghiamoci quindi al nostro server e clicchiamo sul nodo Applications come mostrato in figura 14:
Figura 14 - Abilitazione e distribuzione della applicazione di default per il test di funzionamento
A questo punto, dalle proprietà dell'applicazione, modifichiamo i percorsi per raggiungere i file OSD e le icone, inserendo il percorso del nostro server e della nostra cartella condivisa Content. Nel nostro esempio inseriamo \\SERVER.appv.lab\content , come mostrato in figura 15, e decidiamo di pubblicare il collegamento sul desktop degli utenti.
Figura 15 - Modifica delle proprietà del package di default per la distribuzione
Inoltre apriamo il file OSD del nostro package, presente nella cartella Content del Management Server, utilizzando il Notepad ed modifichiamo il percorso per poter raggiungere il file in
CODEBASEHREF="RTSP://SERVER.appv.lab:322/DefaultApp.sft".
Al termine di queste operazioni abbiamo completato la configurazione lato server.
Sul nostro client ci basterà ora loggarci per poter visualizzare il collegamento all'applicazione presente sul desktop e dopo averla lanciata il risultato sarà quello mostrato in figura 16:
Figura 16 - Verifica del lancio dell'applicazione di default
Installazione del Sequencer
L'installazione del Sequencer non richiede particolari accorgimenti. Creiamo una nuova macchina virtuale chiamata SEQUENCER e installiamo Windows Vista SP1 oppure Windows 7. Al termine dell'installazione procediamo ad effettuare tutti gli aggiornamenti e dal dvd del pacchetto MDOP 2010 Refresh lanciamo quindi il setup Application Virtualization Sequencer e seguiamo il wizard di installazione.
Installiamo tutti i prerequisiti richiesti e subito dopo partirà il wizard di installazione dell'applicativo. Accettiamo tutte le impostazioni di default e clicchiamo su Install. Ricordo solo che il Sequencer non può essere installato sul Management Server né tanto meno su un Client, ma deve essere sempre installato su una macchina a parte, il più possibile simile nelle configurazioni alle macchine client su cui verranno fatti girare i package virtuali
Installazione del Terminal Server
L'installazione di Microsoft Application Virtualization 4.6 Terminal Services Client è molto simile all'installazione del client desktop. Creiamo una nuova macchina virtuale chiamata TERMINAL e installiamo Windows Server 2008 R2. Al termine dell'installazione procediamo ad effettuare tutti gli aggiornamenti del sistema operativo e successivamente installiamo i Remote Desktop Services. Per la procedura di installazione vi rimando all'articolo Technet Installing Remote Desktop Session Host Step-by-Step Guide. Scegliamo quindi di installare i ruoli RDS Session Host, RDS Licensing e se vogliamo anche accedere da interfaccia web scegliamo il ruolo RDS Web Access, come mostrato in figura 17:
Figura 17 - Installazione del ruolo di Terminal Server e relativi Role Services
Dopo aver scelto tutte le impostazioni relative al Licensing, ai gruppi a cui permettere l'accesso al server, al livello di autenticazione, otterremo la schermata finale di conferma dei nostri settaggi come quella mostrata in figura 18:
Figura 18 - Schermata di riepilogo dell'installazione dei Terminal Services
Al termine dell'installazione sarà necessario riavviare il server per procedere e completare l'operazione.
A questo punto è necessario procurarsi il pacchetto Microsoft Application Virtualization for Remote Desktop Services 4.6 ,in quanto non è contenuto nel dvd di MDOP 2010 Refresh.
Lanciamo il setup e seguiamo il wizard di installazione. Se scegliamo di effettuare un'installazione personalizzata possiamo anche definire quelle che sono le cartelle di destinazione della cache e dei settaggi degli utenti.
In particolar modo se nelle proprietà sia del client desktop che del client terminal server andiamo a definire come cartella in cui inserire i settaggi utente una share di rete, quando i nostri utenti si collegheranno sia dalla propria postazione sia al terminal server troveranno le stesse impostazioni e personalizzazioni dei programmi. Questo agevola notevolmente l'esperienza dell'utente in quanto non vedrà differenze se lavora da remoto. In figura 19 è mostrato il settaggio utilizzato per la User-specific Data Location.
Figura 19 - Configurazione della cartella di rete che conterrà i settaggi delle applicazioni virtuali per ogni utente
Proseguiamo col wizard ed inseriamo le informazioni relative al server da contattare per lo streaming dei package e al protocollo da utilizzare. Anche per il terminal server utilizzeremo RTSPS://SERVER.appv.lab:322 . Terminata l'installazione sarà sufficiente effettuare nuovamente il login al server per vedere apparire le icone dei nostri applicativi virtuali.
RDS RemoteApp e Application Virtualization
La procedura che segue è un piccolo "tip" che darà sicuramente valore aggiunto al vostro laboratorio di test e di demo. Si tratta di una procedura che vi permette di far interagire App-V con gli RDS Services, che non fa parte dell'installazione tipica di Application Virtualization, ma sicuramente ne amplifica le potenzialità.
Una delle novità dei Remote Desktop Services in Windows Server 2008 R2 sono le RemoteApp, che permettono di poter utilizzare un'applicazione da remoto senza necessariamente visualizzare tutto il desktop, creando una finestra che può essere minimizzata sulla nostra barra delle applicazioni. Questo permette sicuramente di evitare confusioni da parte dell'utente quando lavora sia con applicazioni locali che con applicazioni remote. Se a questo aggiungete anche la possibilità di utilizzare l'interfaccia web del TS Web Access per connettersi alle applicazioni remote, la semplicità nell'utilizzo diventa davvero un punto di forza per i nuovi Terminal Services.
Vediamo ora come possiamo fare interagire le RemoteApp e RDS Web Access con il nostro Microsoft Application Virtualization for Remote Desktop Services 4.6 Client. Se guardiamo le proprietà dei collegamenti ai nostri package virtuali presenti sul desktop o nel menù avvio ci rendiamo subito conto che l'eseguibile è sempre lo stesso C:\Program Files\Microsoft Application Virtualization Client\sfttray.exe e per ogni package cambia l'argomento '/launch "nome del package"'. Andiamo quindi ad aggiungere alle TS RemoteApp l'applicazione SFTTRAY.EXE e modifichiamone le proprietà in modo tale da inserire un argomento in modo tale da far partire il programma voluto, come mostrato in figura 20:
Figura 20 - Aggiunta alle RemoteApp dell'applicativo che lancia i package virtuali
Se ci colleghiamo al RDS Web Access e ci autentichiamo, vedremo tra le applicazioni disponibili proprio quella che abbiamo aggiunto. Cliccando sull'icona dell'applicazione partirà una connessione di desktop remoto che visualizzerà solo la finestra della nostra applicazione virtuale, come mostrato in figura 21:
Figura 21 - Lancio dell'applicazione virtuale dal TS Web Access
Ciò significa che possiamo permettere ad un nostro utente di collegarsi da un pc dove non sia installato il client di App-V, semplicemente facendolo connettere ad una pagina web e facendolo autenticare. Se a tutto questo aggiungete la sicurezza offerta dal nuovo ruolo RDS Gateway,che incapsula il protocollo RDP in un tunnel HTTPS, allora abbiamo davvero la possibilità di effettuare connessioni veloci e sicure ai nostri applicativi aziendali, utilizzando esclusivamente la porta 443.
Installazione dello Streaming Server
Lo streaming server è già stato introdotto in Application Virtualization 4.5 e non presente nelle altre versioni del prodotto. È un ruolo che non è assolutamente necessario installare nelle piccole infrastrutture. Il server di streaming può essere utilizzato nelle sedi remote per poter distribuire i package virtuali, senza che sia necessario gestire nei branch offices Active Directory o SQL Server. Lo Streaming Server può essere utilizzato insieme al Management Server in modo tale che tutta la gestione sia effettuata dal Management Server, mentre la vera e propria distribuzione nelle sedi periferiche viene effettuata dallo Streaming Server. Per maggiori informazioni sul funzionamento dello Streaming Server vi rimando agli articoli Technet Planning Your Streaming Solution in an Application Virtualization Server-Based Implementation e How to Configure the Application Virtualization Streaming Servers.
Creiamo una nuova macchina virtuale chiamata STREAMING e installiamo Windows Server 2008 R2. Effettuiamo tutti gli aggiornamenti del sistema operativo, mettiamo la macchina in dominio e dopo averla riavviata procediamo all'installazione del certificato digitale della macchina. Il certificato digitale è necessario se vogliamo effettuare lo streaming sicuro dei package, esattamente come abbiamo fatto per il Management Server. Per poter richiedere un nuovo certificato possiamo utilizzare la procedura descritta nell'articolo Technet Obtain a Certificate . Al termine della procedura il risultato sarà quello mostrato in figura 22:
Figura 22 - Richiesta del certificato digitale per lo Streaming Server
A questo punto siamo pronti per installare Application Virtualization Streaming Server dal dvd di MDOP 2010 Refresh. La procedura di installazione è del tutto simile a quella già vista per il Management Server. L'unica differenza riguarda le impostazioni relative agli Advanced Settings, in cui andremo a decidere ad esempio il numero massimo delle connessioni oppure il numero di secondi dell'update dei package, come mostrato in figura 23:
Figura 23 - Configurazione degli Advanced Settings dello Streaming Server
Proseguiamo con il wizard di installazione fino al pulsante di Install e subito dopo aver completato la procedura andiamo a riavviare il server come richiesto, in modo tale da poter attivare tutti i servizi necessari.
Dopo il riavvio sarà necessario condividere la cartella C:\Program Files(x86)\Microsoft System Center App Virt Streaming Server\content e permettere al gruppo Everyone i permessi di Read. Inoltre, come già visto per il Management Server, per poter utilizzare il protocollo RTSPS, sarà necessario permettere al Network Service l'accesso al certificato digitale del nostro streaming server. Per fare questo dopo aver scaricato e installato il Windows HTTP Services Certificate Configuration Tool (WinHttpCertCfg.exe) digitiamo il comando
Winhttpcertcfg –g –c LOCAL_MACHINE\My –s STREAMING.appv.lab –a NetworkService
Per completare l'installazione è necessario anche creare le opportune eccezioni nel Firewall di Windows Server 2008. Apriamo quindi Windows Firewall with Advanced Security e creiamo due nuove Inbound Rules che permettano l'accesso agli eseguibili
- %ProgramFiles% (x86)\Microsoft System Center App Virt Management Server\App Virt Management Server\bin\sghwdsptr.exe
- %ProgramFiles% (x86)\Microsoft System Center App Virt Management Server\App Virt Management Server\bin\sghwsvr.exe
Terminata la procedura è possibile copiare nella cartella Content del nostro Streaming Server i vari package da distribuire.
Utilizzo dei Template
Per poter semplificare la gestione dei vari settaggi dei nostri client, sia desktop che terminal server, è possibile scaricare il Microsoft Application Virtualization Administrative Template (ADM Template), che ci permetterà , attraverso la semplice gestione di una group policy di poter modificare ad esempio da quale server i nostri client dovranno effettuare lo streaming dei package virtuali. Potremmo ad esempio creare in Active Directory una OU che contiene tutti i computer che si trovano in una sede remota e collegare alla OU una GPO che imponga solo a queste macchine di effettuare lo streaming dei package virtuali dallo Streaming Server locale, piuttosto che dal Management Server che si trova nella sede principale.
Dopo aver installato il template apriamo la Group Policy Management Console sul nostro Domain Controller e creiamo una nuova GPO in cui andremo a inserire il template. Utilizzando il nodo ComputeràAdministrative Templates andiamo ad aggiungere il template, che verrà visualizzato in ComputeràAdministrative TemplatesàClassic Administrative Templates. Dai Communication settings possiamo ora modificare il nostro Application Source Root. Nell'esempio mostrato in figura 24 ho settato il server di streaming e il relativo protocollo da utilizzare. Inoltre se abilitiamo anche la funzione Allow Independent File Streaming possiamo utilizzare il nostro server di streaming per scaricare i package.
Figura 24 – Impostazione dell'Application Source Root attraverso la GPO
Per poter verificare che effettivamente il package verrà scaricato dallo Streaming Server è possibile andare sul client e, dopo aver effettuato il refresh delle Group Policy con il comando gpupdate, effettuare nuovamente il logon oppure fare un refresh del server dalla Application Virtualization Client Console. Nel nodo Application basta poi richiamare le proprietà del singolo package e nel tab Package verrà visualizzato l' Application Source Root Server come mostrato in figura 25:
Figura 25 - Verifica dello streaming del package dal server impostato attraverso la GPO
Conclusioni
In questo articolo ho descritto come creare un laboratorio di test basato su Microsoft Application Virtualization 4.6, utile per effettuare anche delle demo presso i nostri clienti. Ho cercato di descrivere tutti gli elementi da cui può essere composta l'infrastruttura di Application Virtualization in modo tale da poter approfondirne la conoscenza. Per conoscere il funzionamento e per testare appieno l'infrastruttura vi rimando agli altri articoli pubblicati sul sito Technet alla voce Microsoft Application Virtualization
Links
http://technet.microsoft.com/en-us/appvirtualization/cc843994.aspx