Webbhotell Binero

N2CMS + Binero = SANT

n2cmslogo

Verktyget N2CMS har den senaste tiden blivit ett enormt populärt verktyg. Det är ett publiceringsverktyg för hemsidor, gjort i .NET och fungerar utmärkt på våra Windows-servrar. Verktyget används av t ex företaget Omvård som tog hem en fin 1:a plats i årets ”Sveriges 100 bästa sajter”.

I den här guiden tänkte jag visa hur du kommer igång med N2CMS med MySQL hos oss på Binero, observera att du måste ha ett Windows-konto för detta.

Guiden består av följande steg:

  1. Ladda ner N2CMS samt MySQL.Data
  2. Redigera inställningar i filer och kontrollpanel
  3. Ladda upp filer
  4. Installera
  5. Klar
  6. Funkar det inte?

1. Ladda ner N2CMS samt MySQL.Data

I skrivande stund så finns version 1.5 av N2CMS att ladda ner här:
http://n2cms.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=29374
Vi laddar ner versionen ”WebForms Templates Starter Kit (with C#/VB.NET integration project)” och packar upp zip-filen till lämpligt ställe.

Vi behöver även ladda ner MySQL.Data, detta görs på adressen:
http://dev.mysql.com/downloads/connector/net/
Just nu är det versionen 6.1 som gäller och vi laddar ner versionen ”Windows Binaries, no installer (ZIP)”. Packa upp zip-filen till lämpligt ställe och flytta sedan filen ”mysql.data.dll” till mappen ”wwwroot/bin” i den mappen som du packade upp N2CMS till.

När vi ändå är i mappen ”wwwroot/bin” så passar vi på att radera filen ”System.Data.SQLite.dll”. Detta är viktigt eftersom N2CMS inte kommer att fungera med den kvar i mappen.


2. Redigera inställningar i filer och kontrollpanel

För att webbplatsen ska fungera korrekt måste vi göra 4 saker:

2.1. Skapa en databas

n2cms1Logga in i vårt kundcenter, klicka på ”Kontrollpanel” i menyn och sedan på ditt domännamn i listan.
Under fliken ”Information” klickar du på länken ”Gå till avancerade inställningar i kontrollpanelen”.

Här väljer du ”MySQL” i högermenyn och klickar på ”Skapa ny databas” på sidan.
Fyll i önskat databasnamn, användarnamn och lösenord och klicka på ”Skapa databas

2.2. Sätt webbplatsen till att använda .NET 2.0/3.5

n2cms2Kvar i kontrollpanelen så klickar du på ”ASP.NET” i högermenyn.
Markera ”ASP.NET 2.0/3.5” på den aktuella webbplatsen och klicka på ”Spara”.  Webbplatsen kommer nu att köra ASP.NET 2.0/3.5, om du har någon sida tidigare gjord i ASP.NET 1.1 så kommer denna inte att fungera längre. Men vi förutsätter att webbplatsen var tom och att detta inte kommer att vara något problem.

2.3. Skapa en s.k. ”Wildcard”-scriptmappning

n2cms3Fortfarande kvar i kontrollpanelen, klicka på ”Scriptmappning” i högermenyn.
– I fältet ”Webbplats” väljer du den domän som du installerar N2CMS på.
– I fältet ”Kör som” väljer du ”ASP.NET 2.0/3.5
– I fältet ”Filtyp” kryssar du i ”Is wildcard”, textfältet får då värdet * automagiskt.
– Avmarkera ”Verifiera att filen finns” och lämna resterande fält som de är.
– Klicka på knappen ”Spara

2.4. Redigera filen web.config i mappen ”wwwroot

Vi måste nu redigera filen ”web.config” som ligger i mappen ”wwwroot” i den mapp som vi packade upp N2CMS till. Öppna filen med t ex programmet Anteckningar i Windows.
Vi börjar med att ändra databasinställningen, följande rad:

<add name="N2CMS" connectionString="Data Source=|DataDirectory|
\n2.sqlite.db;Version=3;New=True;"
providerName="System.Data.SQLite" />

ska ändras till

<!--<add name="N2CMS" connectionString="Data Source=|DataDirectory|
\n2.sqlite.db;Version=3;New=True;"
providerName="System.Data.SQLite" />-->

Ändra sedan följande rad:

<!--MySQL: <add name="N2CMS" connectionString="Data Source=MySQLServer;
Database=MySQLDatabase;User Id=MySQLUser;Password=MySQLPassword;"
providerName="MySql.Data.MySqlClient"/>-->

till att innehålla information om din databas (se steg 1 i detta stycke) samt att du tar bort ”<!–” och ”–>” i början och slutet av raden.

<add name="N2CMS" connectionString="Data Source=mysql26.kontrollpanelen.se;
Database=web35987_n2cms;User Id=web35987_n2cms;Password=mitt_lösenord;"
providerName="MySql.Data.MySqlClient"/>

Därefter behöver vi ändra administratörens användarnamn och lösenord:

<user name="admin" password="changeme" />

Ange valfritt användarnamn och lösenord.
n2cms4n2cms5
Spara och stäng.

3. Ladda upp filer

Du behöver nu ladda upp nästan samtliga filer i mappen ”wwwroot” som du packade upp tidigare. De filer som inte ska laddas upp börjar med namnet ”MyProjekt”, övriga filer laddas upp direkt till din html-mapp.

Här använder vi domänen ”http://n2cms.binerotrixar.se” (byt ut till er egna domän) och ska då ladda upp våra filer till mappen ”n2cms.binerotrixar.se/html”. Uppladdningen sker via FTP och du hittar mer information om detta här:
http://wiki.binero.se/FTP

4. Installera

Vi har nu gjort de justeringar som behövs och är nu redo att installera N2CMS.
Vi besöker adressen ”http://www.dindomän.se/edit/install


n2cms6

Gå till flik 2

n2cms7

Flik 2: Klicka på knappen "test the connection" för att verifiera att du har kontakt med databasen

n2cms8

Flik 3: Klicka på "create tables" för att skapa databasens tabeller


n2cms11

Flik 4: Vi måste fylla databasen med lite information, vi väljer att använda lite exempel data för att komma igång och klicka på knappen "insert".

Flik 5 hoppar vi över, vi är nu klara med installationen!
Men för att vi inte ska råka ut för tråkigheter så måste vi ta bort installationsmappen, på FTP:n hittar du den här: ”dindomän.se/html/edit/install”. Hela mappen ”install” ska raderas.

5. Klar

Vi är nu klara, besök din webbplats på ”http://www.dindomän.se”, eftersom vi installerade vår på en webbplats så hamnade vår här: ”http://n2cms.binerotrixar.se”.
Du administrerar sidan här: ”http://www.dindomän.se/edit” och du loggar in med de uppgifter du ändrade i steg 2.4

n2cms13

Webbplatsen

n2cms14

Admin-inloggningen

n2cms15

Admin


6. Funkar det inte?

Vanligaste orsakerna till att det inte funkar är:
1. Glömt att radera filen ”System.Data.SQLite.dll” i mappen ”bin”, se steg 1
2. Angett felaktiga databasuppgifter, se steg 2.4
3. Laddat upp filerna till fel mapp, se steg 3
4. Glömt att ställa in webbplatsen till att använda ”ASP.NET 2.0/3.5″, se steg 2.2



21 svar till “N2CMS + Binero = SANT”

RSS RSS-flöde för detta inlägg Trackback Trackback för detta inlägg

  1. Mikael Nyström

    Hej!

    Testade att installera n2 men får i steg 5 följande Security Exception:

    Description: The application attempted to perform an operation not allowed by the security policy. To grant this application the required permission please contact your system administrator or change the application’s trust level in the configuration file.

    Exception Details: System.Security.SecurityException: Request for the permission of type ‘System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089′ failed.

    Verkar som något inte tillåts på servern… Är det något jag kan ändra själv?

    Tacksam för alla idéer och förslag!

    Bästa hälsningar,
    Mikael

  2. Anders

    Mikael, det ska bara finnas en fil som kan orsaka det, och det är ”System.Data.SQLite.dll”, radera den ur ”bin”-mappen så ska det fungera.

  3. Alenius

    Hej,
    Är det någon som fått n2 att fungera med mysql connector-Net 6.2.2 ?
    mvh

  4. Johan Karlsson

    Testade att installera n2cms enligt guide ovan. Kommer ända tills steg 4 Root node, där jag klickar på val 3 (existing export file).

    Testade att zippa upp filen lokalt och ladda upp den genom val 4, samma fel, något annorlunda stacktrace men fel på samma funktioner och rader. Är det ett känt fel? Klockan är sent och jag får fortsätta felsöka imorgon om inte annat.

    För följande fel

    Object reference not set to an instance of an object. at N2.Serialization.Importer.Import(IImportRecord record, ContentItem destination, ImportOption options) in d:\N2CMS\src\N2\Serialization\Importer.cs:line 65 at N2.Installation.InstallationManager.InsertExportFile(Stream stream, String filename) in d:\N2CMS\src\N2\Installation\InstallationManager.cs:line 251 at N2.Edit.Install._Default.InsertFromFile(String path) at N2.Edit.Install._Default.c__DisplayClass1.b__0() at N2.Edit.Install._Default.ExecuteWithErrorHandling[T](Execute action)

  5. Magnus

    Även jag får Security Exception utan att ha SQLite dllen.
    Mitt fel är följande.

    /Magnus

    Server Error in ‘/’ Application.
    Security Exception
    Description: The application attempted to perform an operation not allowed by the security policy. To grant this application the required permission please contact your system administrator or change the application’s trust level in the configuration file.

    Exception Details: System.Security.SecurityException: Request for the permission of type ‘System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089′ failed.

  6. Anders

    Johan, ditt fel måste du tyvärr kontrollera med utvecklarna av N2CMS, ställ gärna en fråga i deras forum: http://n2cms.codeplex.com/Thread/List.aspx

    Magnus, det felet bör du inte få om den filen är borta, kontakta supporten med ditt kundnummer och hänvisning hit så kan jag ta en titt på det.

  7. Johan Karlsson

    Hej igen!

    Har postat en fråga på http://n2cms.codeplex.com/Thread/View.aspx?ThreadId=80703 om någon annan är intresserad av att följa detta ärende.

    Hälsningar

    Johan

  8. Johan Karlsson

    Testade att installera mysql lokalt och skillnaden jag får är att man i min lokala installation kan välja sidtyp i steg 4 av installationen, dessa existerar inte i ”binero varianten”. Testade även att kopiera över hela siten igen med samma resultat. Finns det någon som har haft liknande problem? Vore bra om man kunde lösa detta då jag har ett antal siter som jag önskar köra med n2cms.

    Hälsningar

    Johan

  9. Anders

    Johan, är det så att du försöker importera en befintlig site på steg 4?
    Jag har gjort flera installationer i våra system via denna guide och det har gått utan problem!

  10. Johan Karlsson

    Hej!

    Nej, jag följde er guide från början fast med en modifierad masterpage. Jag ska rensa allt ytterligare en gång och köra allt omodifierat bara för att testa igen.

    // Johan

  11. Johan Karlsson

    Fick det att fungera nu. Jag tog fel mall från början. Ber om ursäkt för att jag tagit upp er tid i onödan. Som vanligt så ska man läsa vad som står i beskrivningen. :)

    Nu har jag en bra grund att stå på och det kommer fler siter under våren.

    // Johan

  12. Patrick

    Hej!

    jag försöker också sätta upp ett N2 CMS, MVC version 3.2.4.1 hos er. Här läst och gjort som ovan men får det här felet:

    Security Exception

    Description: The application attempted to perform an operation not allowed by the security policy. To grant this application the required permission please contact your system administrator or change the application’s trust level in the configuration file.

    Exception Details: System.Security.SecurityException: That assembly does not allow partially trusted callers.

    Source Error:

    [No relevant source lines]

    Source File: App_global.asax.ad9yac1n.0.cs Line: 0

    Stack Trace:

    [SecurityException: That assembly does not allow partially trusted callers.]
    N2.Templates.Mvc.MvcApplication..ctor() in Global.asax.cs:18
    ASP.global_asax..ctor() in App_global.asax.ad9yac1n.0.cs:0

    —-

    Min connection string ser ut såhär

    Och MySql.dll är v 6.0.5.0

    Vad har jag missat?

    Någon som lyckats få upp N2 MVC?

    hälsningar,
    /Patrick

  13. Johan

    Jag får samma fel när jag försöker sätta upp N2 MVC

    /johan

  14. patrick

    Med senaste revisionen av N2 CMS får jag upp siten lokalt med Medium Trust påslaget. Men här på Binero får jag exception:et nedan.

    Min teori är att Binero har en något striktare policy än vanlig medium trust och att Castle.Microkernel smäller på det. Hoppas Binero kan titta på detta! Anders?

    Security Exception

    Description: The application attempted to perform an operation not allowed by the security policy. To grant this application the required permission please contact your system administrator or change the application’s trust level in the configuration file.

    Exception Details: System.Security.SecurityException: Request for the permission of type ‘System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089′ failed.

    Source Error:

    An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

    Stack Trace:

    [SecurityException: Request for the permission of type 'System.Security.Permissions.SecurityPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.]
    System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet) +0
    System.Security.CodeAccessPermission.Demand() +58
    System.Reflection.RuntimeConstructorInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) +116
    Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.FastCreateInstance(Type implType, Object[] arguments, Type[] signature) +81
    Castle.MicroKernel.ComponentActivator.DefaultComponentActivator.CreateInstance(CreationContext context, Object[] arguments, Type[] signature) +174

  15. Anders

    Hej Patrick,

    du har laddat ner fel version vad jag kan se, du har använt MVC-versionen snarare än ”WebForms Templates Starter Kit (with C#/VB.NET integration project)” som vår guide hänvisar till.
    Vår medium trust tillåter mer än vad standard medium trust tillåter.
    jag har besvarat dig i supporten och även skickat med den konfigurationsfilen som vi har för medium trust.

  16. Anders

    Patrick, felet ligger i ”Castle.MicroKernel.ComponentActivator”
    Här finner du en lösning:
    http://groups.google.com/group/castle-project-devel/browse_thread/thread/9122d3740106278b

  17. Abbe

    Hej,

    Har någon fått N2 Mvc att fungera? Känns mossigt att använda WebForms. Anders: Hittade inget konkret i länken ovan?

  18. Anders

    Abbe, jag har tyvärr inte testat MVC versionen själv utan enbart WebForms-versionen. Och det kommer inte att fungera med MVC-versionen så länge ”Castle.MicroKernel.ComponentActivator” har en bugg som gör att den inte fungerar i medium trust tyvärr.

  19. Patrick

    Jag har fått MVC versionen att fungera nu. Min site är uppe och snurrar hos Binero!

    Hämta en version ur versionshanteringen på http://n2cms.googlecode.com/svn/trunk/ som är efter 14/2 så räcker det att göra den ändring som Libardo beskriver (Feb 10 at 11:27 PM) i detta inlägg, http://n2cms.codeplex.com/Thread/View.aspx?ThreadId=83423

    Vad du gör är alltså att kompilera om Mvc motorn och tvinga den att inte använda Castle. Efter det kompilerar du om MvcTemplates projektet och använda det som grund för din site.
    Den version som finns som paket på webben (MVC Templates (N2 CMS 2.0 alpha) fungerar alltså inte.

    För att hämta från versionshanteringen använd t.ex. Tortoise SVN.

  20. Johan

    Patrick,
    Jag kommenterat bort ContentEngine (som jag antar kör Castle) och kör bara MediumTrustEngine men jag få det fortfarande inte att fungera. Få samma Security Exception som innan, är det något mer man behöver göra (i typ web.config)? Skulle du kunna lägga upp ditt projekt?

    /j

  21. Patrick

    Johan: Ändra i MvcEngine så att Create() ser ut så här

    public static IEngine Create()
    {
    IEngine engine;
    engine = new MediumTrustEngine();
    /*try
    {
    engine = new ContentEngine();
    }
    catch (SecurityException)
    {
    engine = new MediumTrustEngine();
    }*/

    return Initialize(engine);
    }

Lämna ett meddelande



Referenser

  • Thåström
  • The Poodles
  • Spelbolaget
  • Färjerederiet

Rekommenderade av Internetworld

Rekommenderas av InternetworldVi är prisade för vår goda support, höga funktionalitet och kontrollpanel.

-->