Mono auf Synology DSM installieren und hosten von ASP.NET Websites

Einleitung

Dieses Tutorial richtet sich an diejenigen, welche sich so wie ich mit der Einrichtung von Mono und dem anschließenden Programmieren von ASP.NET auf der Synology DSM, schwer tun. Wer im WWW nach Anleitungen speziell zu diesem Thema sucht, wird meist bei irgendwelchen Foren landen, in welchem die Antworten meist im Sand verlaufen sind. Dabei ist es im Endeffekt doch recht einfach :) -> aber das bemerkt man erst, wenn man es dann doch geschafft hat.
Zu den versch. Anleitungen im WWW gibt es auch manch andere Blogger, welche das Mono Packet per SSH installieren. Das ist meiner Meinung bei vielen Synology NAS nicht nötig. Dies muss aber jeder natürlich selber herausfinden. Ich kann aber sagen, dass das Mono-Packet für die DS 212j und DS 213j zur Verfügung steht und auch läuft. Prüfen kann man dies hier: http://www.synology.com/de-de/support/download/ -> NAS auswählen und anschließend auf “Packete” ODER man aktiviert im Packetzentrum -> den Beta-Kanal. Dann sollte Mono auch ganz normal aus dem Packet-Manager heraus installiert werden können.

Kommen wir nun aber zum praktischen Teil:

Nach der Installation hat man nun Mono installiert. Super :) Wie weiter? … es gibt ja nirgendwo einen Eintrag bzw. eine Verlinkung um etwas einzustellen.

Ganz einfach:

1. Wir laden uns zuerst eine Beispiel ASP.NET Anwendung für ASP.NET 2.0 herunter -> http://www.aspnettutorials.com/ -> dort in der Suche einfach ASP.NET 2.0 eingeben und eine Anwendung heraussuchen (es gehen auf Anhieb nicht alle!) ODER für die schnellen: http://www.aspnettutorials.com/tutorials/controls/control-dym-aspnet2-csharp/ (das läuft zum Testen)

2. Ich habe mir eine Laufwerksverknüpfung auf den Computer gelegt um direkt im “web”-Ordner meiner DSM herum zu werkeln

Laufwerksverknüpfung

Netzwerk-Festplatte

 

web

Das Media Laufwerk

Hier sieht man schon, dass ich die heruntergeladenen Dateien direkt in den “web” Ordner der Synology kopiert habe.

3. Nun geben wir die IP unserer DSM in den Browser ein und erhalen folgendes: (bei mir ist das: http://192.168.178.37/Default.aspx)

website

die gehostete Website

Herzlichen Glückwunsch :)

Wer sich meinen Fortschritt mal ansehen möchte: cloudnet.spdns.de. Wurde nun eigenständig in C# programmiert.

 

Anmerkung/Hinweis:

Die derzeitige Mono-Version ist 2.11.1 / ASP.NET in Version  2.0.50727.1433

version

Das heißt, das momentan nur ASP.NET Anwendungen laufen, welche unter der Version 2.0… entwickelt worden sind. Zudem müssen diese auch in C# programmiert sein. In VB.NET entwickelte ASP.NET Anwendungen können nicht ausgeführt werden. Siehe dazu auch hier: http://www.mono-project.com/Compatibility.

Dieser Aspekt hatte mich eine Weile beschäftigt bis ich dahinter kam. Deswegen diese Information auch an euch.

Desweitere muss beachtet werden, dass die Datei “Web.config” zu Fehlern bei der Ausführung mittels Browser führt!

Falls es zu diesem Thema Verbesserungsvorschläge, Ergänzungen! , Kommentare oder Fragen gibt, dann bitte schreiben.

Share Button

Related Posts:

  • No Related Posts
Richard Kerber

Richard Kerber

Mein Name ist Richard Kerber. Zur Zeit bin ich Student der Wirtschaftsinformatik. Meine Interessen sind Programmierung/ Webdesign (HTML, CSS, Wordpress, Joomla!, VB.NET, JAVA, C), Sport (Biken u.a. in der Dresdner Heide) und alles rund um Technik. Darüber habe ich auch einen Blog gestartet, welcher in leicht verständlicher Form die ein oder anderen Dinge der Computer und Technikwelt erklären soll. Viel Spaß!
P.S. Meine Firma: aranea GbR

12 Kommentare:

  1. Die Informationen sind leider weder vollständig noch aktuell. Diesen Beitrag solltest Du vielleicht überarbeiten und aktualisieren.
    “Wer im WWW nach Anleitungen speziell zu diesem Thema sucht, wird meist bei irgendwelchen Foren landen, in welchem die Antworten meist im Sand verlaufen sind.” – oder bei Anleitungen wie dieser, die auch nicht nachvollziehbar sind ;-)

    Bei der DS214+ wird es im Paket Manager gar nicht angeboten.

    “[…] ODER man aktiviert im Packetzentrum -> den Beta-Kanal. Dann sollte Mono auch ganz normal aus dem Packet-Manager heraus installiert werden können.” –

    Äh ja, und wie? Den Beta Kanal aktiviert man wo? Heißt “sollte” dass Du es gar nicht weißt?

    Auf der Seite http://www.synology.com/de-de/support/download/ findet man zwar die beta von Mono, aber Deine Anweisung:

    ” -> NAS auswählen und anschließend auf “Packete” ”

    erklärt nicht, was man nach dem Download macht.

    Nichts für ungut, aber diese “Anleitung” erfüllt nicht den Anspruch, den sie erhebt und ist stark verbesserungswürdig.

    • … man bekommt es aber hin, wenn man die Fallstricke umgangen hat ;-)
      Der Link auf Dein Projekt (http://cloudnet.spdns.de) geht übrigens auch ins Nirwana

      • Hallo Raul, danke für das Feedback!
        Link ist korrigiert – welcher zwar momentan zu Bootstrap führt aber bei Zeiten auf eine Beispiel ASP.NET Seite führt.
        An dieser Stelle muss ich dir leider etwas wiedersprechen, denn wer Mono auf sein NAS installieren bzw. anschließend ASP.NET Seiten programmieren möchte, sollte in der Lage sein, ein heruntergeladenes Plugin auf dem NAS zu installieren oder dies eben über den Beta-Kanal zu tun. Es geht am Ende mehr darum, was momentan für eine ASP Version von Mono unterstützt wird.
        Gruß Richard

  2. Stephan Schneider

    Hallo Richard,
    erstmal vielen Dank für Deine hilfreiche Beschreibung. Hast Du (oder evtl. ja auch jemand, der das hier liest) auch eine “aktuellere” Mono Version zum Laufen bekommen!? Würde u.a. auch gerne von den aktuellen Features und MVC auf der DS profitieren. Es gibt zwar ein “Beta Packet” von der SynoCOmmunity, aber das habe ich noch nicht zum Laufen bekommen.

    • Hallo Stephan,

      momentan habe ich nur Version 2.0 am laufen. Von einer neueren Version wusste ich bis jetzt noch nichts, obwohl ich die SynoCommunity zu meinen Paketen hinzu gefügt hatte. Ich werde mich dann wohl mal daran setzen und mich wieder melden, wenn ich das “neuere” Mono zum laufen bekommen habe.

      • Stephan Schneider

        Hallo Richard,

        wäre wirklich klasse, wenn eine aktuellere Version am Start wäre! Leider bin ich bzgl. Linux, Synology DSM und Mono noch nicht so fit, so dass meine Versuche leider bisher wenig erfolgreich waren.

        Schon mal vielen Dank, dass Du es versuchen willst!
        Viele Grüße aus Hessen,
        Stephan

  3. Hallo Richard,
    ich habe eine 214+, habe mono (2.11.0007) aus dem Paketzentrum installiert und die Beispiel ASP.NET Seite auf die DS kopiert. Wenn ich die Seite aus dem Browser aufrufen will, bekomme ich einen Runtime Error 404:

    Description: HTTP 404.The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable. Please review the following URL and make sure that it is spelled correctly.
    Details: Requested URL: /default.aspx
    Version Information: 2.11.1 ((no/426188e Fri May 31 21:57:32 CST 2013); ASP.NET Version: 2.0.50727.1433

    Kannst Du mir weiterhelfen?
    Vielen Dank schonmal und viele Grüße,
    Mathias

    • Hallo Mathias,
      gleich zu beginn: Hast du eine Web.Config Datei bei dir mit im Ordner? Wenn ja, dann löschen. Diesen Hinweis habe ich gleich mit in den Beitrag eingebunden.
      Sonst einfach mal andere Scripte ausprobieren, welche in C# programmiert sind ODER das Mono Packet erneut installieren.

      • Hallo Richard,
        es hat funktioniert…. Ich habe folgendes gemacht:
        * ASP.NET Websteitenprojekt erstellt
        * auf der DS einen virtuellen Host erstellt (z.B. testhost1)
        * die ASP Seite in das durch den VH erstellte Verzeichnis (//web/testhost1/) veröffentlicht (über VS2010)
        * im Browser die Seite über den Namen des VH aufgerufen (http://DS_IP/testhost1) – ohne …/Default.aspx!!!
        * wichtig: der Name des Hosts ist case-sensitive!

        Was mir jetzt noch fehlt, ist das Ansprechen des MySqlServers über die ASP Seite. Von extern geht es – also wenn die Seite nicht auf der DS gehostet wird. Dabei benutze ich den .net Connector für MySql. Aber wie spreche ich den MySqlServer an, wenn ich mich in der DS befinde?
        Hast Du sowas schonmal gemacht?

        Viele Grüße,
        Mathias

        • Hallo Mathias,
          Herzlichen Glückwunsch. Deine aufgezeigt Anleitung ist echt interesant.
          Mit virtuellen Hosts habe ich nocht nicht gearbeitet.
          Ich habe MySQL erst einmal gelassen, bis ich eine Möglichkeit gefunden habe, das MySQL root Passwort zu ändern, da ich mit der (Test-)Seite ja auch online erreichbar bin.
          Wie hast du das gelöst?

          Allgemein gesehen ist dieses Projekt für mich momentan nur Test, da ich ASP.NET 2.0 nicht besonders Produktiv finde aber zum Testen reicht es allemal.

          • Hallo Richard,
            gestern Abend ist es mir endlich gelungen, den MySql Server mit einer auf der DS gehosteten ASP.net Seite anzusprechen. Das Problem war, dass VS die MySql.data.dll nicht mit ins Ausgabeverzeichnis kopiert hatte (trotz Angabe “lokale Kopie”). Also habe ich sie “von Hand” in das Bin-Verzeichnis des Virtuellen Hosts für die Seite kopiert. Dann musste nur noch die Adresse des Servers im ConnectionString auf “localhost” umgestellt werden und schon konnte ich meine Daten aus der MySQL DB lesen…
            Das Root Passwort habe ich nach der Installation des MySql Servers gesetzt (über phpMyAdmin).
            Die Virtuellen Hosts benutze ich, weil ich verschiedene Seiten auf der DS hosten möchte in Zukunft. Für jeden VH wird unter /web ein seperates Verzeichnis angelegt, wo die Daten für die jeweilige Seite liegen. Der Aufruf der entsprechenden Seite geht dann einfach über den Namen des VH (z.B.: “http://DS_IP/testhost1”).
            Klar ist man auf der DS etwas eingeschränkt in Sachen .net. ASP.NET MVC wäre wünschenswert, aber mit ASP.NET mit Framework 3.5 ist schon mal ein Anfang…

            Danke für Deine Hilfe und Deine Tipps!!!

            Viele Grüße nach Dresden (meine alte Heimatstadt),
            Mathias

          • Hallo Mathias,
            ich danke Dir sehr für deine Ausführlichkeit. Man list ja öfters “gelöst” ohne Lösungsweg.
            Eine Mail ist auf dem Weg zu dir…

            Eine Frage noch: du schreibst von ASP.NET 3.5 – meines Wissens läuft doch momentan nur ASP.NET 2.0? Oder verwechsel ich das mit MVC?

            Dresden ist eine sehr schöne Stadt :)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*