.NET-Webhosting
Connection-String MSSQL
Damit Ihre Applikation über ASP.NET auf Ihre Datenbank zugreifen kann, müssen sie einen 'Connection String' definieren. Dies erfolgt über eine Datei 'web.config' oder aber via Plesk Panel PLESK » (Domain-Box unten aufklappen) » 'ASP.NET-Settings'
Ein 'Connection String' soll dabei wie folgt aussehen:
- Data Source = Datenbankadresse,Port; Initial Catalog = Datenbankname; User Id = Benutzername; Password = Benutzerpasswort
Also zum Beispiel für lokale Scripte und Anwendungen:
- "Data Source = localhost\SQLExpress; Initial Catalog = Datenbankname; User Id = Benutzername; Password = Benutzerpasswort"
oder aber für nicht-lokale Anwendungen:
- "Data Source = serverXY.hostfactory.ch,Port; Initial Catalog = Datenbankname; User Id = Benutzername; Password = Benutzerpasswort"
Beachten Sie, dass 'Port' durch die korrekte vierstellige Zahl des MSSQL-Ports zu ersetzen ist.
MSSQL ist auf Port 1435 verfügbar. Verwenden Sie also zb. im SSMSE folgende Serveradresse: serverXY.hostfactory.ch,1435, wobei 'XY' durch Ihre Servernummer zu ersetzen ist. Diese finden Sie jeweils in Ihrem Kunden-Center, unter der entsprechenden Datenbank.
Spannende Informationen zu diesem Thema finden Sie weiterhin auch auf www.connectionstrings.com.
Backup entpacken
Backups welche bei .NET-Webhostings erstellt werden, können Sie direkt via dem Plesk Backend herunterladen. Das heruntergeladene Zip-Archiv ist neu jedoch mittels ZSTD komprimiert und muss entsprechend mit einem ZSTD-kompatiblen Programm entpackt werden. Hierzu können Sie z.B. 7-Zip verwenden (dies können Sie unter https://github.com/mcmilk/7-Zip-zstd/releases herunterladen).
MIME-Typen
Die MIME-Typen für Ihren Domainaccount können direkt via Plesk verwaltet werden. Ist diese dort nicht gelistet, so wird beim direkten Aufruf der Datei, z.B. www.ihrewebsite.ch/datei.md eine 404 Fehlermeldung ausgegeben. Die Endung müsste hierfür entsprechend hinzugefügt werden.
Verwaltung
Die Verwaltung finden Sie in PLESK. Gehen Sie dort auf den Menu-Punkt 'Virtual Directories'
und wechseln dann das Register auf "MIME-Typen".
Hier können nun alle aktuell verfügbaren MIME-Typen eingsehen, sowie auch neue hinzugefügt werden.
Sollten Sie den korrekten MIME-Typen für Ihre gewünschte Dateiendung nicht kennen, so finden sie diese in der Regel rasch via Google.
Virtuelle Verzeichnisse
Virtuelle Verzeichnise können sie direkt via PLESK » 'Websites & Domains' » (Domain-Box unten aufklappen) » 'Virtual Directories' Verwalten.
Microsoft Web Deploy
Ihr Hosting verfügt über Microsoft Web Deploy (v. 3). Sie können dieses unter my.hostfactory.ch » 'Webhostings' » (allf. Webhosting wählen) » (Domain wählen) » 'Mehr' » 'Einstellungen' » 'Weitere Einstellungen' entsprechend aktivieren.
Berechtigungen setzen auf Windows
Datei- und Verzeichnisrechte können Sie auf Windows-Hostings nicht wie unter Linux üblich via FTP-Client setzen, diese müssen via PLESK angepasst werden.
Loggen Sie sich in Ihr Plesk-Panel ein und wählen Sie direkt Ihr httpdocs-verzeichnis der betreffenden Domain PLESK » 'httpdocs' (ab Plesk v. 11.5).
Klicken Sie im Folgebildschirm - falls nötig - weiter bis zum einzustellenden Verzeichnis (oder Datei), ohne dieses jedoch zu öffnen.
Fahren Sie mit dem Cursor über das betreffende Verzeichnis / Datei und klicken Sie auf den Pfeil, danach auf 'Berechtigungen ändern'.
Wenn sich die hier gesetzten Berechtigungen auf alle Unterverzeichnisse und deren Dateien auswirken sollen, aktivieren Sie die entsprechenden Optionen.
Wählen Sie den gewünschten User und vergeben Sie diesem soviel Rechte wie benötigt, in der Spalte 'Erlauben'.
Information
- Der User 'IIS USER' ist derjenige User, welcher sich auf HTML-Dateien und PHP bezieht
- Der User 'IIS WP User' ist derjenige User, welcher sich auf ASP-Dateien und ASP.NET bezieht
Domain in Unterverzeichnis umleiten (.NET-Hosting)
Analog zu 'mod_rewrite' auf Linux-Hostings steht Ihnen ab Windows Server 2008 / IIS 7 eine ähnliche Funktion zur Verfügung. Mittels URL-Rewriting können Sie nun auf einem Windows-Hosting ebenfalls serverseitig ein alternatives Startverzeichnis als 'httpdocs' definieren.
Notieren Sie hierzu folgenden Code in Ihre 'web.config'-Datei:
- <?xml version="1.0" encoding="utf-8"?>
- <configuration>
- <system.webServer>
- <httpErrors errorMode="Detailed"></httpErrors>
- <rewrite>
- <rules>
- <rule name="Imported Rule 1" stopProcessing="true">
- <match url="^(.*)$" ignoreCase="false"></match>
- <conditions>
- <!--Falls nur eine bestimmte Domain, zb. ein Alias, umgeleitet werden
- soll, entfernen sie die Kommentierung der nächsten Zeile und passen 'domain\.ch' gemäss Ihrem Alias an. -->
- <!--<add input="{HTTP_HOST}" pattern="^(ww+\.)?domain\.ch" ignoreCase="false" ></add> -->
- <add input="{URL}" pattern="^/<verzeichnis>/" ignoreCase="false" negate="true"/>
- </conditions>
- <action type="Rewrite" url="/<verzeichnis>/{R:1}"/>
- </rule>
- </rules>
- </rewrite>
- </system.webServer>
- </configuration>
Ersetzen Sie jeweils gem. obigem Beispiel die Werte für <verzeichnis> resp. 'domain.ch' und erfassen Sie Ihr gewünschtes Startverzeichnis, dies kann selbstverständlich auch ein weiteres Unterverzeichnis sein. Achten Sie einfach darauf, dass beide Werte identisch sind. Der eine Wert verweist auf das Verzeichnis, der andere verhindert, dass direkte Links auf dieses Verzeichnis eine Endlos-Schleife erzeugen. Der Punkt in der Domain muss zwingend mittels Backslash escaped werden (domain\.ch), um korrekt interpretiert zu werden.
Das Script müsste direkt nach der Erstellung greifen und wie notiert funktionieren.
Mail mit .NET C# versenden
Das nachfolgende Script-Beispiel stellt Ihnen einen funktionierenden .NET C# Mail-Script zur Verfügung, welches Sie für den Versand von Mails verwenden können:
.NET C# Mail Script mit AUTHENTIFIZIERUNG und via TSL
Erstellen Sie zunächst eine web.config-Datei mit folgendem Inhalt in Ihrem Webroot oder ergänzen Sie eine bereits bestehende Datei entsprechend:
WEB.CONFIG
- <configuration>
- <system.net>
- <mailSettings>
- <smtp from="ABSENDER-ADRESSE" deliveryMethod="Network">
- <network host="HOST" port="25" userName="BENUTZERNAME" password="PASSWORT">
- </network>
- </smtp>
- </mailSettings>
- </system.net>
- <system.web>
- <customErrors mode="Off"></customErrors>
- </system.web>
- </configuration>
Ersetzen Sie im obigen Code die roten Werte durch Ihre eigenen. Achten Sie hierbei darauf, für 'HOST' zwingend Ihren Servernamen zu verwenden! Sie finden diesen in Ihrem Kunden-Center, unter
my.hostfactory.ch » 'Webhostings' » (allf. Webhosting wählen) » (Domain wählen) » 'Info'
Mail Script
Für das Mail-Script selbst verwenden Sie folgenden Code:
- <%@ Page Language="C#" %>
- <%@ Import Namespace="System.Net" %>
- <%@ Import Namespace="System.Net.Mail" %>
- <script runat="server">
- protected void Page_Load(object sender, EventArgs e)
- {
- SendMail();
- }
- void SendMail()
- {
- MailMessage NetMail = new MailMessage();
- SmtpClient MailClient = new SmtpClient();
- string EmailSender = "ABSENDER-NAME <ABSENDER-ADRESSE>";
- string EmailRecipient = "EMPFÄNGER NAME <EMPFÄNGER-ADRESSE>";
- NetMail.From = new MailAddress(EmailSender);
- NetMail.To.Add(new MailAddress(EmailRecipient));
- NetMail.IsBodyHtml = false;
- NetMail.Subject = "BETREFF";
- NetMail.Body = "IHRE NACHRICHT";
- MailClient.EnableSsl = true;
- MailClient.DeliveryMethod = SmtpDeliveryMethod.Network;
- MailClient.Send(NetMail);
- NetMail.Dispose();
- NetMail = null;
- MailClient = null;
- }
- </script>
Ersetzen Sie auch hier die roten Werte durch Ihre eigenen.
Anschliessend sollte das Senden mit dem Script bereits funktionieren.
DNN Webhosting: manuelle Installation
Diese Anleitung bezieht sich ausschliesslich auf die DNN-Installation unter .NET-Webhostings.
Wenn Sie DotNetNuke manuell installieren möchten, sind vorab wenige Anpassungen notwendig, um den reibungslosen Verlauf der Installationsroutine sicherzustellen:
1. Erstellen Sie eine neue MSSQL-Datenbank, inklusive einem neuen Benutzer
2. Vergeben Sie für den Benutzer 'Owner-Rechte'
3. Erstellen Sie ein Unterverzeichnis (z. B. 'installationsverzeichnis') und vergeben Sie diesem 'Bearbeiten-Rechte' für die Application Pool Group (IWPG_<Ihr-User>) gemäss Berechtigungen setzen auf Windows.
4. Erstellen Sie ein neues Virtuelles Verzeichnis mit aktivierter Option 'Anwendung erstellen' und wählen Sie hierbei Ihr oben erstelltes Verzeichnis aus
5. Laden Sie die Installationsdateien für DNN in Ihr Verzeichnis hoch und rufen Sie die Installations-Routine im Browser auf
6. Geben Sie, sobald verlangt, die Werte der oben erstellten Datenbank sowie die weiteren Angaben folgendermassen an:
7. Führen Sie die Installation zu Ende
Tip
Um die Installation direkt unter der Domain - also ohne die Angabe des Unterverzeichnisses - aufrufen zu können, verwenden Sie eine serverseitige Umleitung mittels 'IIS Rewrite Module'
.NET Core Anwendung in Visual Studio mit Web Deploy publizieren
Wenn Sie Ihre .NET-Anwendung aus Visual Studio via Web Deploy veröffentlichen möchten, kann es auftreten, dass der Vorgang fehlschlägt und ein Authorisierungsfehler ausgegeben wird. Verfahren Sie in diesem Fall folgendermassen:
1. Stellen Sie sicher, dass die Web Deploy Unterstützung aktiviert ist
my.hostfactory.ch » 'Webhostings' » (allf. Webhosting wählen) » (Domain wählen) » 'Mehr' » 'Einstellungen' » 'Weitere Einstellungen'
2. Laden Sie via my.hostfactory.ch » 'Webhostings' » (allf. Webhosting wählen) » (Domain wählen) » 'Mehr' » 'Einstellungen' » 'Weitere Einstellungen' » Icon "Download" die Webdeploy-Veröffentlichungseinstellungen auf Ihren Rechner herunter.
3. Danach publizieren Sie Ihre Anwendung:
4. Markieren Sie die Option 'Import Profile' und danach klicken Sie auf 'Publish'. Geben Sie hierbei das eben modifizierte Einstellungs-File an
5. Melden Sie sich mit Ihren vergebenen WebDeploy Zugangsdaten (in der Regel Ihre FTP-Daten) an
Die Verbindung wird aufgrund der Zertifikatsprüfung zunächst fehlschlagen und mit einer Fehlermeldung abbrechen.
6. Schliessen Sie die Fehlermeldung und öffnen Sie die Settings:
Geben Sie Ihre Zugangsdaten wie oben ein und klicken Sie auf 'Validate Connection'
Im Folgefenster klicken Sie auf 'Accept' und speichern anschliessend die Verbindungsdaten.
7. Publizieren Sie anschliessend Ihre Anwendung erneut.
MSSQL .mdf-File speichern
Das Speichern Ihrer Datenbank-Dateien in '/httpdocs/App_Data' (wie dies zb. Visual Studio vorschlägt) ist zwar möglich, jedoch aber fehlen anschliessend der darauf zugreifenden User-Instanz die nötigen Berechtigungen auf MSSQL.
Also sollten Sie Ihre Datenbank direkt in die Daten-Verzeichnisse des MSSQL-Servers importieren.
MSSQL-Datenbank wiederherstellen
Für den Import von MSSQL-Datenbanken stehen Ihnen in PLESK entsprechende Werkzeuge zur Verfügung,
- Erstellen Sie unter my.hostfactory.ch » (allf. Webhosting wählen) » (Domain wählen) » 'Datenbanken' eine leere, gleichnamige (wie die zu importierende) Datenbank und vergeben Sie auf der Folgeseite mindestestens einen User mit Passwort.
- Öffnen Sie das Menü PLESK » 'Datenbanken'
- Im Panel der wiederherzustellenden (eben erstellten) Datenbank klicken Sie auf 'Abbild importieren'.
- Wählen Sie nun im Auswahlfenster die wiederherzustellende Sicherung aus Ihrem Backupverzeichnis. Bei Bedarf können Sie stattdessen auch eine lokale, via Plesk erstellte Sicherung auf Ihrem Computer wählen und hochladen. Klicken Sie danach auf 'OK'.
Hinweis:
Wählen Sie die Sicherung mit Bedacht, diese wird ohne Rückfrage eingespielt und die Datenbank überschrieben!
- Der Fortschritt des Imports wird Ihnen in einer separaten Infobox am Bildschirmrand angezeigt.
- Nach Abschluss des Imports informiert Sie die Infobox über die erfolgreiche Wiederherstellung. Sie können die Meldung ganz ausblenden, indem Sie auf 'Abgeschlossene ausblenden' klicken.
- Je nachdem, welche User in Ihrer Sicherung enthalten sind, können weitere Meldungen angezeigt werden, z.B. über verwaiste oder bereits vorhandene User. Diese können Sie unter PLESK » 'Datenbanken' » 'Benutzerverwaltung' weiter bearbeiten oder bei Bedarf entfernen.
Tip:
Sollten Sie noch über ältere, in früheren Plesk-Versionen erstellte Sicherungen im Server-Repository verfügen, werden diese über einen zusätzlichen Menüpunkt angezeigt: PLESK » 'Backup-Manager' » 'Mehr' » 'Datenbank-Backup-Repository'
Sie können die gewünschte Sicherung in der anschliessend angezeigten Liste herunterladen und wie weiter oben beschrieben, hochladen und für den Import verwenden.
MSSQL-Datenbank sichern
Für den Import / Export von MSSQL-Datenbanken stehen Ihnen in PLESK entsprechende Werkzeuge zur Verfügung.
Die Sicherung erfolg hierbei neu im .zip-Format und kann sowohl in Ihrem Webroot gespeichert als auch lokal heruntergeladen werden.
- Öffnen Sie das Menü PLESK » 'Datenbanken'
- Im Panel der zu sichernden Datenbanken klicken Sie auf 'Abbild exportieren'
- Wählen Sie das Zielverzeichnis Ihrer Sicherung und benennen Sie diese ggf. um (z.B. mit zusätzlichen Informationen, um diese später einfacher wiederzufinden).
Aktivieren Sie die Checkbox, wenn Sie die Sicherung zusätzlich als lokale Kopie herunterladen möchten. Klicken Sie danach auf 'OK'.
- Der Fortschritt der Sicherung wird Ihnen in einer separaten Infobox am Bildschirmrand angezeigt.
- Nach Abschluss der Sicherung informiert Sie die Infobox über die erfolgreiche Erstellung. Sie können die Meldung ganz ausblenden, indem Sie auf 'Abgeschlossene ausblenden' klicken.
Die Sicherung finden Sie nun im gewählten Verzeichnis, von hier aus kann diese nun auch wieder zurückgespielt werden.
Silverlight Applikation
Für Silverlight-Applikationen sind grundsätzlich keine besonderen Voraussetzungen notwendig, Ihr Server verfügt über .NET-Unterstützung und eingericheter MIME-Types.
Wenn Sie Ihre Applikation mit WCF RIA-Services erstellen, müssen Sie einige Einstellungen für das korrekte Funktionieren beachten:
- stellen Sie unter my.hostfactory.ch » 'Webhostings' » (allf. Webhosting wählen) » (Domain wählen) » 'Mehr' » 'Einstellungen' » 'Server-Technologien / .NET-Version' die ASP.NET-Unterstützung auf (mind.) Version 4.5 ein
- das RIA Services Toolkit ist serverseitig nicht installiert, setzen Sie hierzu ersatzweise in VisualStudio für untenstehende drei Referenzen den Wert 'copy local' auf 'true'.Dies kopiert die Referenzen beim Veröffentlichen mit in den 'clientbin'-Ordner:
- System.ServiceModel.DomainServices.EntityFramework.dll
- System.ServiceModel.DomainServices.Hosting.dll
- System.ServiceModel.DomainServices.Server.dll
Wenn Sie die 'Forms Authentication' verwenden, muss serverseitig die 'Integrated Windows Authentication' deaktiviert sein, geben Sie hier bei Bedarf unserem Support Bescheid, unter Angabe der betreffenden Domain. Danach sollte der Entwicklung Ihrer Applikation nichts mehr im Wege stehen.
Frontpage
Für MS Frontpage wurde der Support von Microsoft bereits 2007 eingestellt, Hostfactory bietet demnach nicht länger eine Unterstützung der FrontPage Servererweiterungen an.
Der Nachfolger von FrontPage heisst Microsoft Expression Web, welches mit einem zusätzlichen deutschen Sprachpaket erhältlich ist und bietet nun gleichsam FTP-Unterstützung für den Upload Ihrer Daten an.
E-Mails mit ASP versenden
Das nachfolgende Script-Beispiel stellt Ihnen einen funktionierenden ASP E-Mail-Script zur Verfügung, welcher unter Verwendung von Collaboration Data Object (CDO) Nachrichten versendet:
- <%
- Const cdoSendUsingPickup = 1 'Send message using the local SMTP service pickup directory.
- Const cdoSendUsingPort = 2 'Send the message using the network(SMTP over the network).
- Const cdoAnonymous = 0 'Do not authenticate
- Const cdoBasic = 1 'basic(clear - text) authentication
- Const cdoNTLM = 2 'NTLM
- Set objMessage = CreateObject("CDO.Message")
- objMessage.Subject = "hostfactory.ch ASP - CDO Ihre Testnachricht"
- objMessage.From = "ihre@gueltigeAdresse.ch"
- objMessage.To = "recipient@empfaenger.ch"
- objMessage.Cc = "secondrecipient@empfaenger.ch"
- objMessage.TextBody = "Dies ist eine Testnachricht über ASP / CDO" & vbCRLF & "Diese Nachricht wurde mit SMTP-Auth. versandt (zwingend!)."
- ' == This section provides the configuration information for the remote SMTP server.
- objMessage.Configuration.Fields.Item _
- ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
- 'Name or IP of Remote SMTP Server
- objMessage.Configuration.Fields.Item _
- ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "localhost"
- 'Type of authentication, NONE, Basic(Base64 encoded), NTLM
- objMessage.Configuration.Fields.Item _
- ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = cdoBasic
- 'Your UserID on the SMTP server
- objMessage.Configuration.Fields.Item _
- ("http://schemas.microsoft.com/cdo/configuration/sendusername") = "absender@ihreDomain.ch"
- 'Your password on the SMTP server
- objMessage.Configuration.Fields.Item _
- ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "pASSwoRd"
- 'Server port (typically 25)
- objMessage.Configuration.Fields.Item _
- ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
- 'Use SSL for the connection(False or True)
- objMessage.Configuration.Fields.Item _
- ("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = False
- 'Connection Timeout in seconds (the maximum time CDO will try to establish a connection to the SMTP server)
- objMessage.Configuration.Fields.Item _
- ("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
- objMessage.Configuration.Fields.Update
- ' == End remote SMTP server configuration section ==
- objMessage.Send
- %>
Bitte beachten Sie, dass alle oben gesetzten Werte in Rot wie 'Benutzername', 'Empfängeradresse' usw. durch gültige persönliche Werte zu ersetzen sind.
Damit Sie einen gültigen Benutzernamen (vollständige Mailadresse) sowie ein gültiges Passwort angeben können, müssen Sie dieses Postfach vorgängig in Ihrem Kunden-Center erstellen und Zugangsdaten vergeben: my.hostfactory.ch » 'Webhostings' » (allf. Webhosting wählen) » (Domain wählen) » 'E-Mail'
Dieser Artikel ist nur für Windows-Hosting Accounts gültig, auf Linux steht kein ASP-Support zur Verfügung.