Pubblicato il

Creare un sito web statico su Microsoft Azure

Azure offre numerosi web server : .net, asp.net, php, node.

Ma se dovete semplicemente creare una pagina web statica ? Vediamo cosa possiamo fare con Azure.

Il nostro obbiettivo è creare una pagina web statica per il sito www.miosito.com.

La creazione di un sito web statico su Azure si fa attraverso l’account di archiviazione, in particolare con la tipologia Blob.

Creare un account di archiviazione

Il primo passo consiste nel collegarvi alla vostra sottoscrizione Azure e creare un nuovo account di archiviazione.Createlo di tipo Storage V2. Avrete quindi un nuovo Account di archiviazione con il nome, per esempio “mystoragemiosito”.

Creare il sito web statico

Nell’account di archiviazione che avete creato, nella sezione Impostazioni, spingete su “Sito Web Statico”.

Selezionare Abilitato per abilitare l’hosting di siti Web statici per l’account di archiviazione.

Nel campo Nome del documento di indice specificare una pagina di indice predefinita denominata index.html.

Nel campo Percorso del documento di errore specificare una pagina di errore predefinita denominata 404.html (opzionale)

Salvando vi viene proposto l’indirizzo web del vostro sito web statico, qualcosa del tipo :

https://mystoragemiosito.z22.web.core.windows.net/

Create la vostra pagina web index.html con un qualsiasi editor.

Sempre nell’account di archiviazione, spostatevi nella sezione BLOB. L’operazione precedente, cioè la creazione del sito web statico sul Blob, ha creato in automatico il contenitore $web. Entrate dentro il contenitore e caricate il file index.html (pulsante “Carica” in alto).

Ora provate a vedere se tutto funziona : visualizzate l’indirizzo https://mystoragemiosito.z22.web.core.windows.net/ nel vostro browser; vedrete il file index.html.

Creare il collegamento con il sito web esterno (endpoint)

Rimaniamo nella pagina dell’account di Archiviazione. Selezionate “Rete CDN di Azure”. Create un nuovo endpoint.

  • Selezionare come piano tariffario “Akamai standard” (consigliato da microsoft).
  • Come nome Endpoint inserite quello che volete (nel nostro esempio mettiamo miosito).
  • Come nome di host di origine (cancellate quello che vi viene proposto) dovete mettere, l’indirizzo della cartella del blob in cui è il sito web (senza http o https).In pratica è l’indirizzo che prima avete provato con il browser : nel nostro caso “mystoragemiosito.z22.web.core.windows.net”.

Una volta creato il cdn (ci vuole un po di tempo) vi troverete un nuovo indirizzo per poter vedere la vostra pagina index.html: https://miosito.azureedge.net.

Provate anche questo indirizzo con il vostro browser per vedere la pagina index.html

Dentro l’archiviazione da cui siamo partiti per creare la cdn, non vi troverete più la cdn creata e il relativo endpoint : trovate tutto nelle risorse di Azure. Selezionate l’endpoint; nella sezione impostazioni selezionate “Origine”. Se avete fato tutto bene, l’endpoint di tipo “origine personalizzata” (“custom origin”). Il nome host dell’origine dell’archiviazione e l’intestazione dell’origine dell’archiviazione saranno uguali e saranno il nostro sito web sul blob.

Ora dovete fare in modo che il vostro sito web, www.miosito.com, punti a questo endpoint di azure. Per prima cosa dovete lavorare sul DNS nel pannello di controllo di gestione del vostro sito web. Dovete inserire un record di tipo CNAME con nome www che punta a miosito.azureedge.net.

In Azure, cercate nelle risorse il vostro endpoint e spingete sul pulsante per aggiungere il dominio personalizzato :

  • Nome host dell’endpoint : vi viene proposto quello dell’endpoint :  miosito.azureedge.net
  • Nome host personalizzato mettete il vostro indirizzo web. Nel nostro caso www.miosito.com

Fatto questo, dopo un pò di tempo vi si attiverà l’HTTPS.

Ora potete finalmente provare il vostro sito web, digitando nel browser https://www.miosito.com. Vedrete la solita pagina index.html

Attivare HTTP

Se avete seguito il percorso fino a qui forse avete provato che, scrivendo http://www.miosito.com , invece che https, ho un errore. Questo perché l’account di archiviazione di Azure, nasce con il “trasferimento sicuro obbligatorio” attivato. Andate quindi nel vostro account di archiviazione, nella sezione Impostazioni, selezionate “Configurazione”. Nella pagina dovrete disabilitare il “trasferimento sicuro obbligatorio” e salvare. Ora funzionerà anche http://www.miosito.com

Problemi di cache

Questo sistema ha un problema. Se aggiornate la pagina index.html, e visualizzate sul browser l’endpoint di azure oppure il vostro indirizzo esterno, vedrete il contenuto della vecchia pagina index.html. La pagina sarà invece visualizzata nel sua nuova versione se richiamate sul browser il percorso dell’account ai archiviazione web del Blob.

Per ovviare a questo problema ci sono 2 modi. Il primo modo è quello di ripulire la cache dell’endpoint dalla risorsa. Per farlo, nell’endpoint c’è un pulsante “Ripulisci” : questo pulsante vi chiede esattamente la pagina (o la risorsa, immagine,..) che volete “ripulire” e quindi aggiornare.

Un altro modo è fare un aggiornamento delle risorsa cambiandole nome. Nel nostro caso, la mi pagina principale è index.html; carico nel contenitore $web del mio blob una pagina index2.html con il contenuto modificato; vado nella gestione del sito web del blob e modifico la pagina base in index2.html.


Per approfondire

  • Ospitare un sito web statico in archiviazione di Azure : https://docs.microsoft.com/it-it/azure/storage/blobs/storage-blob-static-website-how-to
  • Usare la rete CDN di Azure per abilitare un dominio personalizzato con SSL per un sito Web statico : https://docs.microsoft.com/it-it/azure/storage/blobs/storage-blob-static-website-custom-domain
  • Configurare HTTPS in un dominio personalizzato della rete CDN di Azure : https://docs.microsoft.com/it-it/azure/cdn/cdn-custom-ssl?tabs=option-1-default-enable-https-with-a-cdn-managed-certificate
  • The account being accessed does not support http.with blob sas url in Azure : https://www.itexperience.net/2019/04/20/the-account-being-accessed-does-not-support-http-with-blob-sas-url-in-azure/
Download PDF
Pubblicato il

Azure App, Piani di Servizi App e Risorse

Quando ci troviamo a creare una nuova applicazione web su Azure ci viene chiesto di creare o di usare un esistente “Piano di Servizio App”. La documentazione di Azure ci dice che : “Un piano di servizio app definisce un set di risorse di calcolo per l’esecuzione di un’app Web. Queste risorse di calcolo sono analoghe alla server farm di un tradizionale hosting Web. È possibile configurare una o più app per eseguirle nelle stesse risorse di calcolo (o nello stesso piano di servizio app).”

Quindi più app possono essere eseguite nello stesso piano di servizio app.

Se decidiamo di creare un nuovo piano di servizio app, a default ci viene proposto il piano tariffario S1. Possiamo scegliere un piano di servizio meno costoso. Vi consiglio di scegliere il D1 che da anche la possibilità di avere dei nomi di dominio personalizzati.

Lavorando con l’applicazione potreste giungere alla conclusione che il piano di servizio D1 risulta insufficiente per alcune sue caratteristiche; per esempio è disponibile solo 1 GB di spazio di archiviazione. Come fare ad aggiungere archivio senza passare al piano di servizio app di livello successivo che ha disponibilità molto più elevate ma anche costi proporzionati ?

Una risposta possibile è quella di aggiungere nello stesso gruppo di risorse in cui si trova la nostra app ed il nostro piano di servizio app iniziale, un altro piano di servizio app (App Service Plan). Questo secondo piano di servizio non avrà alcuna app ospitata ma dato che si trova nello stesso gruppo di risorse del primo piano di servizio, l’app collegata a questo potrà usufruire della somma delle risorse dei 2 piani. In pratica abbiamo raddoppiato le risorse della nostra server farm.

Quindi una sola app può usare tutti i piani di servizio disponibili nella stessa risorsa.

Download PDF
Pubblicato il

WordPress on Azure: Error establishing a database connection

You have a WordPress site hosted on Microsoft Azure.Perhaps your site is part of a free or shared app service plan.

Trying to connect to the site, one day, you have this wordpress error message:  Error establishing a database connection

How to find out and solve the problem?

Connecting  to Microsoft Azure Service with FTP

First of all you have to connect to the site via ftp to understand where the error is. We can connect to Azure web application with FTP also. In the Overview section of the your Azure web application, select “Get publish profile”. It will download a file that has a lot of things and teh details about FTP username and password, which is constant and can be used for FTP connection.

Enable WordPress Debug Logging

You need FTP connection to  enable WordPress Debug Logging. To enable error logging in WordPress, you will have to make both of the following changes :

  1. In wwwroot directory, create a file named .user.ini Add the following line:log_errors=on
  2. In wwwroot directory, open wp-config.php
    Add the following lines  :

//Enable WP_DEBUG mode
define('WP_DEBUG', true);

//Enable Debug Logging to /wp-content/debug.log
define('WP_DEBUG_LOG', true);

//Supress errors and warnings to screen
define('WP_DEBUG_DISPLAY', false);

//Supress PHP errors to screen
ini_set('display_errors', 0);

Also comment the line :

    /* define('WP_DEBUG', false); */

Analyze the Log File

Try to load your site. Now, through ftp, you can enter in the directoy LogFiles and analyze the file

php_errors.log

Database error

Perhaps you have a database error, for example a duplicate key problem. On azure, in your app service, select Mysql In -app button. On the top of the section, you can see the Manage button. Click on the button and you’ll load the phpMyAdmin portal on your local Mysql DB.

Duplicate entry

If you have this kind of error : Duplicate entry ‘XXXXX’ for key ‘PRIMARY’ for the  query INSERT INTO `table_name`, just ran following command :

REPAIR TABLE table_name

That’s it! It was done.

Download PDF
Pubblicato il

Condividere i file in Cloud con Azure

Creare un Account di Archiviazione su Azure

Entrare nella sottoscrizione Azure.

Cliccare su “Account di Archiviazione” e quindi su “Aggiungi”. Seguire le istruzioni.

Importante : account di archiviazione versione classica.

Replica : impostare secondo il livello di sicurezza cercato.

Azure Storage Explorer

Entrate nel nuovo account di archiviazione. In alto vedete il pulsante “Apri in Explorer”. Questo pulsante funziona solo se avete installato nel computer Azure Storage Explorer. Vi consente di vedere il dettaglio dei file ospitati su Azure. Potete scaricarlo qui.

Condivisione

Aprite il vostro account di archiviazione. Cliccate su File nella parte centrale.

azure file 1

In alto, spingete su + Condivisione File. Segnate il nome e la dimensione.

Montare una condivisione file di Azure e accedere alla condivisione in Windows

Per montare una condivisione file di Azure al di fuori dell’area di Azure in cui è ospitata, ad esempio in locale o in un’area di Azure diversa, il sistema operativo deve supportare SMB 3.0.

Prima di tutto procuratevi i dati di connessione. Come visto sopra, Aprite il vostro account di archiviazione, e cliccate su File nella parte centrale. Cliccate sulla condivisone che avete creato prima. Spingete il tasto “Connetti” in alto.

share conect

Sulla destra vedrete le stringhe di connessione. La prima è quella tramite PowerShell, la seconda è quella tramite comando net use. Focalizzatevi su questa.

net use azure share

Dovrete estrarre :

  1. l’indirizzo della connessione : è la parte dopo net use che comincia con \\. Dovete prendere tutto, compreso \\.
  2. l’utente che si connette : è la parte dopo /u:, comprensiva di Azure\
  3. La password : è tutta la lunghissima stringa che segue dopo.

Aprire “Esplora File”. Cliccare sull’elemento a sinistra “Questo PC”. Cliccare su “Connetti Unità di Rete”.

conneti unita

Selezionare la lettera di unità e immettere il percorso UNC.

windows azure storage mount


Documentazione

Download PDF
Pubblicato il

Azure Subscription Services Open for a new Microsoft tenant

azure

This is the procedure we followed to register a new Microsoft Azure subscription for a company that does not have a subscription to Office 365.

Visit https://account.windowsazure.com/organization to sign up for Azure with a new organization.

Enter the name and surname of the company reference.

A name for the company domain similar to xxxxx.onmicrosoft.com.

Use your email address for reference.

Enter an username, for example admin and password; company

Enter company’s vat registration number.

As part of the process of signing up for Azure, you will be required to provide credit card details. We didn’t insert it. Whenever you log in to Azure’s portal you are asked for your credit card details.

You have to bought a new Azure Subscription Services Open from the Microsoft distributor, using Company’s name, your mail address (the same used creating Azure account) and Company’s vat registration number.

Using Microsoft Edge,  enter, in Azure Portal : credit card details are no longer required. You can add the license of the new Azure Subscription Services Open. That’s all.

Download PDF
Pubblicato il

Quali sistemi operativi sono supportati dal Backup di Azure?

azure backup

Sistema operativo Piattaforma VERSIONE
Windows 8 64 bit Enterprise, Pro
Windows 7 64 bit Ultimate, Enterprise, Professional, Home Premium, Home Basic, Starter
Windows 8.1 64 bit Enterprise, Pro
Windows 10 64 bit Enterprise, Pro, Home
Windows Server 2016 64 bit Standard, Datacenter, Essentials
Windows Server 2012 R2 64 bit Standard, Datacenter, Foundation, Essential
Windows Server 2012 64 bit Datacenter, Foundation, Standard
Windows Storage Server 2016 64 bit Standard, Workgroup
Windows Storage Server 2012 R2 64 bit Standard, Workgroup
Windows Storage Server 2012 64 bit Standard, Workgroup
Windows Server 2008 R2 SP1, 64 bit Standard, Enterprise, Datacenter, Foundation
Windows Server 2008 SP2 64 bit Standard, Enterprise, Datacenter, Foundation

Fonte Microsoft

Download PDF
Pubblicato il

Backup di windows su Azure

Entrare nel portale di Azure ed aggiungere la risorsa

Recovery Services vaults

Una volta creato il nuvo vault, selezionatelo. Vi compare la lista delle sue proprietà : andate nel pannello GESTIONE (è in basso)

“Infrastruttura di Backup” –  “Configurazione di Backup”,

per scegliere il tipo di replica del backup. A default, il vault è stato creato con una “replica geografica” che costa di più. Se siete sicuri delle macchine Microsoft potete selezionare anche “replica locale”

Nella lista delle proprietà, andate nel pannello “ATTIVITA’ INIZIALI” e quindi Backup. Cominciamo ad aggiungere il nostro Backup.

Posizione di esecuzione del carico di lavoro : Locale

Elementi di cui eseguire il backup : File e Cartelle

Scaricare sul server locale il programma di collegamento di azure ed il certificato. I programmi sono di 2 tipi, uno per Windows server e Windows client, un altro per Windows server essential.

Sul server locale, lanciare il programma scaricato ed eseguire le istruzioni. Lanciare il programma di Azure backup ed eseguire le istruzioni.


Documentazione :

Download PDF
Pubblicato il

ASP.NET MVC: PUBBLICAZIONE DI UN SITO

Visual Studio ci consente di pubblicare il nostro sito web su un web server interno (intranet) o su un web server esterno, per esempio ospitato su Azure.

Nel caso di un server in lan, su un web server avete creato tramite IIS un sito che risiede su una certa directory per adesso vuota. Altrimenti avete già pronto un sito esterno.

In Visual Studio, nel pannello a destra chiamato “Solution Explorer” facciamo click con il tasto destro del mouse sul nostro progetto e selezioniamo l’opzione “Publish“. Si apre la finestra “Publish” che riporta a sinistra i 4 step da fare per la pubblicazione.

Profile

Andate sul menu a tendina in alto al centro  e scegliete “New Custom Profile”. Inventatevi il nome di questo profilo. Una volta inserito, passerete direttamente allo step successivo.

Connection con il metodo “Web Deploy”

Publish Metod : scegliere Web Deploy sia che si pubblichi il sito in un server in lan, sia in un server esterno.

Server (web server in lan) : http://myserver

Server (esterno, per esempio Azure): mysite.azurewebsites.net:443

Site name (web server in lan) : nome della directory in cui deve risiedere il sito

Site name (esterno, per esempio Azure) : nome che avete dato al sito (mysite)

User Name e Password (web server in lan) : mettere uno username amministratore della macchina server. Se la macchina è in dominio usare un Amministratore locale.

User Name e Password (esterno) : ftp user

Destination Url : indirizzo del sito web. es : http://……………..

Settings

In questa tab il programma legge dal we.config le stringhe di connessione al database. Se nel vostro sito di destinazione il database è diverso, dovete specificare la giusta connessione. La pubblicazione sostituira le stringhe di destinazione alle stringhe di origine. Vedremo in seguito che esiste un metodo per inserire nel web.config ulteriori variazioni rispetto al web.config di origine.

Preview

Qui potete vedere i file che saranno inviati alla destinazione cioè i nuovi o  i modificati dopo l’ultimo invio. E potete pubblicare!


Configurazione del web.config

Il nostro sito web di destinazione può avere altre caratteristiche particolari, specificate nel web.config, diverse dal sito di partenza, oltre alle stringhe di connessione al database.
Ci possiamo creare un web.config specifico per ogni deploy.

Andate sul progetto. Nelle “Proprietà”, trovate la directory “PublishProfiles” che contiene i dati salvati precedentemente. Trovate un file .pubxml per ognuno dei deploy che avete creato. Andate su file che vi interessa, spingete il tasto destro del mouse e selezionate “Add Config Transform”.

Se andate nel web.config vedrete che esiste un file aggiuntivo che si chiama come il vostro deploy.  Vediamo alcuni esempi di quello che potete fare con tag che inserirete all’interno di <configuration>

<connectionStrings>
 <add name="MyDB"
 connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True"
 xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
 </connectionStrings>

Questa stringa sostituisce (xdt:Transform=”SetAttributes”) gli attributi del tag che si chiama (xdt:Locator=”Match(name)) “MyDB” con quelli che trova qui.

<appSettings><add key="myemail" value="info@contoso.com" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/></appSettings>

Questa stringa sostituisce gli attributi (xdt:Transform=”SetAttributes”) del tag che ha come key (xdt:Locator=”Match(key)) “myemai” con quelli che trova qui.

<system.net>
 <mailSettings xdt:Transform="Replace">
 <smtp deliveryMethod="Network" ........................
 </smtp>
 </mailSettings>
 </system.net>

Questa stringa trasforma (xdt:Transform=”Replace”) tutto il tag mailSettings ed il suo contenuto.

Download PDF