Oltre ai file XML, BlogEngine.NET può utilizzare DBMS come SQLServer, MySQL, SQLite o VistaDB come database. Per abilitare uno di questi database è sufficiente modificare alcune impostazioni del web.config
riguardanti i provider di accesso alla base dati, ed eseguire un apposito script sul database per la creazione di tutta la struttura necessaria (tabelle, dati, stored procedure).
Creare il DB
Una volta scelto il DBMS tra quelli citati (SQLServer, MySQL, SQLite, VistaDB), creiamo il database. Per impostare la struttura necessaria a far girare BlogEngine.NET, dobbiamo lanciare uno script di configurazione: ce n'è uno per ogni DBMS e ciascuno è contenuto nella relativa cartella sotto la directory SETUP
. Per esempio, lo script per SQLServer, è contenuto in BlogEngine.WebsetupSQLServer
.
Oltre al file di cui si ha bisogno (es. MSSQLSetup.sql
), la cartella contiene anche altri file che sono necessari solamente nel caso di upgrade.
Una volta eseguito lo script, il database è pronto all'utilizzo e rimane solamente da modificare appropriatamente il web.config
andando a valorizzare correttamente la propietà defaultProvider
nelle sezioni BlogEngine
, membership
e roleManager
.
Contenuti all'interno della cartella SETUP, oltre ai vari script di configurazione è posto anche un file dall'estensione .config
. Questo file è la copia del web.config
dell'applicazione, ma con le impostazioni già valorizzate a seconda del database. Si potrà quindi rinominarlo in web.config
e copiarlo nella root del sito andando a sovrascrivere quello esistente. Esaminiamo comunque le modifiche che questo file apporta rispetto alla versione per XML.
Nel caso di database SQLServer i defaultProvider
saranno valorizzati nel seguente modo:
Tipo provider | DefaultProvider |
---|---|
BlogEngine | DbBlogProvider |
membership | SqlMembershipProvider |
roleManager | SqlRoleProvider |
Nel caso di database MySQL, SQLite oppure VistaDB:
Tipo provider | DefaultProvider |
---|---|
BlogEngine | DbBlogProvider |
membership | DbMembershipProvider |
roleManager | DbRoleProvider |
Ecco un esempio di configurazione dei vari provider per l'utilizzo con Microsoft SQL Server:
<blogProvider defaultProvider="DbBlogProvider"> <providers> <add name="XmlBlogProvider" type="BlogEngine.Core.Providers.XmlBlogProvider, BlogEngine.Core"/> <add name="DbBlogProvider" type="BlogEngine.Core.Providers.DbBlogProvider, BlogEngine.Core" connectionStringName="BlogEngine" /> </providers> </blogProvider> <membership defaultProvider="SqlMembershipProvider"> <providers> <clear/> <add name="XmlMembershipProvider" type="BlogEngine.Core.Providers.XmlMembershipProvider, BlogEngine.Core" description="XML membership provider" passwordFormat="Hashed"/> <add name="SqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="BlogEngine" applicationName="BlogEngine"/> <add name="DbMembershipProvider" type="BlogEngine.Core.Providers.DbMembershipProvider, BlogEngine.Core" passwordFormat="Hashed" connectionStringName="BlogEngine"/> </providers> </membership> <roleManager defaultProvider="XmlRoleProvider" enabled="true" cacheRolesInCookie="true" cookieName=".BLOGENGINEROLES"> <providers> <clear/> <add name="XmlRoleProvider" type="BlogEngine.Core.Providers.XmlRoleProvider, BlogEngine.Core" description="XML role provider"/> <add name="SqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="BlogEngine" applicationName="BlogEngine"/> <add name="DbRoleProvider" type="BlogEngine.Core.Providers.DbRoleProvider, BlogEngine.Core" connectionStringName="BlogEngine"/> </providers> </roleManager>
Una volta copiato il file di configurazione, o modificato quello esistente, l'ultimo passo è valorizzare correttamente la stringa di connessione. La connection string si trova nella sezione connectionStrings
del web.config
e ha come nome BlogEngine
.
In caso di dubbi nella creazione della propria stringa di connessione, è possibile reperire svariati esempi all'indirizzo www.connectionstrings.com.
<add name="BlogEngine" connectionString="Data Source=MySQLServer;User ID=user;Password=password;persist security info=False;initial catalog=BlogEngine;" providerName="System.Data.SqlClient"/>
Finalmente possiamo avviare il browser e richiamare l'URL del nostro blog. Per accedere all'area di amministrazione clicchiamo sul pulsante Login
ed inseriamo le credenziali di default:
username: Admin password: Admin