Investoren

Wissensdatenbank

1 000 FAQs, 500 Anleitungen und erläuternde Videos. Hier gibt es nur Lösungen!

Dieser technische Leitfaden beschreibt die Ressourcenbeschränkungen für die Webhosting-Angebote von Infomaniak. Um die Ursache für Script-Unterbrechungen zu verstehen, ist es wichtig, zwischen der Echtzeit (Uhrzeit) und der Rechenzeit (Prozessor) zu unterscheiden.

 

1. MySQL-Verbindungszeit (I/O)

Grenzwert: 30 Sekunden (tatsächliche Zeit)

Dieser Grenzwert entspricht der absoluten, tatsächlich verstrichenen Zeit (gemessen mit einer Stoppuhr). Er betrifft die Kommunikation zwischen PHP und dem Datenbankserver (MySQL/MariaDB).

Sobald eine Verbindung hergestellt wurde, räumt der Datenbankserver maximal 30 Sekunden Zeit ein, um die Anfrage zu empfangen, auszuführen und die Ergebnisse zurückzugeben. Wenn dieser Zeitraum überschritten wird (oft aufgrund einer schlecht optimierten SQL-Abfrage), trennt der MySQL-Server die Verbindung abrupt. Dies führt in der Regel zu dem Fehler MySQL server has gone away.

 

2. PHP-Verarbeitungszeit (CPU)

Limit: 10 Sekunden CPU-Zeit

Diese Begrenzung bezieht sich ausschließlich auf die Rechenleistung, die der Webserver für die Ausführung von PHP-Code benötigt.

Es ist wichtig zu beachten, dass die Wartezeit nicht mitgezählt wird. Wenn PHP auf eine Antwort von der Datenbank wartet, pausiert es und verbraucht kaum CPU-Zeit. Daher wird ein Skript nur dann vom Webserver unterbrochen, wenn es über einen kumulierten Zeitraum von mehr als 10 Sekunden intensive Berechnungen durchführt (komplexe Schleifen, Kryptografie, Dateiverarbeitung).

 

Zusammenwirken der beiden Limits

Um die Stabilität der Anwendung zu gewährleisten, muss jede Operation gleichzeitig diese beiden unterschiedlichen Bedingungen erfüllen:

  • Die Anwendung hat insgesamt 30 Sekunden Zeit, um mit der Datenbank zu interagieren (Netzwerk-Latenz + SQL-Ausführung).
  • Die Anwendung verfügt über 10 Sekunden reine Rechenzeit zur Verarbeitung der empfangenen Daten.

Beispiel für eine korrekte Funktionsweise: Ein Skript, das 25 Sekunden auf eine komplexe Antwort von MySQL (I/O) wartet und das Ergebnis dann 2 Sekunden lang verarbeitet (CPU), funktioniert einwandfrei, da es keines der beiden individuellen Limits überschritten hat, auch wenn die Gesamtzeit 27 Sekunden beträgt.

Link zu dieser FAQ: https://faq.infomaniak.com/481


War diese FAQ nützlich?

Diese Anleitung erklärt, wie Sie den Datenverkehr eines Alias-Domainnamens (Synonym) auf Ihre Hauptdomain umleiten oder erzwingen können, dass die Hauptdomain in der Adressleiste eines Browsers wie Brave, Chrome, Edge, Firefox, Opera, Safari usw. angezeigt wird.

 

Verhindern von doppelten Inhalten

Nehmen wir an, Ihre Website wird unter der Hauptdomain example.com gehostet und Sie haben eine Alias-Domain wie example-alias.com konfiguriert.

Standardmäßig wird die eingegebene URL im Browser des Besuchers angezeigt, wenn er eine der beiden Adressen eingibt. Dies kann zu doppelten Inhalten (Duplicate Content) führen, was sich negativ auf das Suchmaschinenranking (SEO) auswirkt.

Um dies zu vermeiden, können Sie eine Weiterleitung erzwingen: Wenn ein Besucher example-alias.com eingibt, wird er automatisch zu example.com weitergeleitet.

Diese Konfiguration erfolgt in der Datei .htaccess, die sich im Stammverzeichnis Ihres Hostings befindet (in der Regel im Ordner /web über Ihren FTP-Zugang). Wenn diese Datei noch nicht vorhanden ist, müssen Sie sie erstellen.

Fügen Sie anschließend die folgenden Anweisungen in die Datei ein:

RewriteEngine On

# Force HTTPS and canonical domain redirection
RewriteCond %{HTTP:X-Forwarded-Proto} !https [OR]
RewriteCond %{HTTP_HOST} !^example\.com$ [NC]
RewriteRule ^(.*)$ {{URL_1}} [R=301,L]

Passen Sie den obigen Code an Ihre Bedürfnisse an:

  • Ersetzen Sie example.com durch Ihren Hauptdomainnamen und dessen Erweiterung (.com, .org, .ch usw.). Fügen Sie www. vor Ihrer Domain hinzu, wenn Sie die Anzeige der Subdomain www erzwingen möchten.
  • Wenn eine Redirektionsschleife auftritt, können Sie die Protokollbedingung durch RewriteCond %{HTTPS} off ersetzen (insbesondere, wenn Ihr Hosting keinen Reverse-Proxy verwendet).

Weitere Informationen finden Sie in der Dokumentation zu automatischen Weiterleitungen zu HTTPS.

Link zu dieser FAQ: https://faq.infomaniak.com/482


War diese FAQ nützlich?

Dieser Leitfaden behandelt die Synchronisierung von Servern über das NTP-Protokoll (Network Time Protocol) und die Konfiguration der Zeitzone auf den Infomaniak-Servern.

 

Präzise Server-Synchronisierung über NTP

Die Server von Infomaniak sind alle über das NTP-Protokoll synchronisiert. Das Unternehmen stellt eigene, öffentlich zugängliche Stratum-1-NTP-Server für eine flexible Nutzung bereit.

Um diese Server in Ihre Einstellungen zu integrieren, verwenden Sie den folgenden Eintrag: pool.ntp.infomaniak.ch.

Die Standardeinstellung für die Zeitzone ist UTC. Die PHP-Funktionen sind jedoch so konzipiert, dass sie je nach Bedarf verschiedene Zeitzonen berücksichtigen.

Um die Zeitzone in Ihren PHP-Skripten anzupassen, verwenden Sie die Funktion date_default_timezone_set('UTC').

 

MySQL: Besonderheiten bei der Verarbeitung von Zeitdaten

Die Infomaniak-Infrastruktur unterstützt Funktionen, die eine präzise und effiziente Verarbeitung von Zeitdaten ermöglichen, wobei Zeitzonen berücksichtigt werden, was für viele moderne Anwendungen entscheidend ist:

  • MySQL verwendet eine Datenbank für Zeitzonen, um Informationen über Zeitzonen zu speichern und zu verwalten.
  • Die Tabelle mysql.time_zone enthält die Daten der Zeitzonen, einschließlich Informationen über Zeitverschiebungen, Zeitzonennamen usw.
  • Die Funktion CONVERT_TZ wird verwendet, um in MySQL eine Zeit von einer Zeitzone in eine andere umzuwandeln. Die Syntax lautet: CONVERT_TZ(dt, from_tz, to_tz), wobei:
    • dt das Datum/die Uhrzeit ist, die umgewandelt werden soll.
    • from_tz die Quellzeitzone ist.
    • to_tz die Zielzeitzone ist.
  • Beispiel: CONVERT_TZ('2024-05-14 12:00:00', 'UTC', 'America/New_York') wandelt die Zeit 12:00:00 UTC in die lokale Zeit in New York um.

Link zu dieser FAQ: https://faq.infomaniak.com/487


War diese FAQ nützlich?

Dieser Leitfaden hilft Ihnen bei der Behebung eines Fehlers vom Typ „Ungültige Abfrage: Der MySQL-Server ist nicht mehr verfügbar“.

 

Einleitung

 

Lösungen

Um den Fehler „MySQL-Server ist nicht erreichbar“ zu vermeiden, gibt es verschiedene mögliche Ansätze:

Automatische Überprüfung und Wiederherstellung der Verbindung

Bevor Sie eine Anfrage ausführen, wird empfohlen, zu prüfen, ob die MySQL-Verbindung noch aktiv ist. Wenn die Verbindung unterbrochen wurde, können Sie sie automatisch wiederherstellen, bevor Sie mit Ihrer Anfrage fortfahren. Hier ist ein Beispiel in PHP:

if (!mysqli_ping($connexion)) {
mysqli_close($connexion);
$connexion = mysqli_connect($host, $user, $password, $database);
}

Die Funktion mysqli_ping() prüft, ob die Verbindung noch gültig ist. Wenn dies nicht der Fall ist, schließt das Skript die Verbindung und öffnet eine neue.

Regelmäßiges Senden eines „Ping“

Eine andere Möglichkeit besteht darin, ein Skript auszuführen, das regelmäßig einen „Ping“ an die Datenbank sendet, um die Verbindung aktiv zu halten. Sie könnten beispielsweise einen geplanten Task (Cronjob) erstellen, der in regelmäßigen Abständen eine leichte Anfrage, wie z. B. SELECT 1;, sendet.

Anpassen der MySQL-Einstellungen (Cloud-Server)

Bei einem Cloud-Server können Sie die Werte der Variablen wait_timeout und interactive_timeout im MySQL-Menü Ihres Servers erhöhen, um die Dauer der Verbindung zu verlängern, bevor sie geschlossen wird.

Link zu dieser FAQ: https://faq.infomaniak.com/499


War diese FAQ nützlich?

Dieser Leitfaden erläutert die Rolle der Datei browscap.ini, die von PHP verwendet wird, um bestimmte Eigenschaften eines Browsers wie Brave, Chrome, Edge, Firefox, Opera, Safari usw. (Name, Version, Betriebssystem und Fähigkeiten) anhand seines HTTP-Headers User-Agent zu identifizieren.

Die Verwendung von browscap.ini dient heutzutage hauptsächlich dazu, die Kompatibilität mit bestehenden Anwendungen sicherzustellen. Für neue Entwicklungen werden in der Regel modernere Methoden bevorzugt.

 

Verwendung mit der Funktion get_browser()

Die native PHP-Funktion get_browser() benötigt Zugriff auf eine aktuelle browscap.ini-Datei, um die Eigenschaften des Browsers zu identifizieren, der die Anfrage gestellt hat.

Bei den Webhosting-Angeboten von Infomaniak ist diese Datei in der Regel unter folgendem Pfad verfügbar:

/opt/php/lib/php/browscap.ini

Bei Bedarf können Sie ihren Inhalt mit dem folgenden Skript überprüfen:

<?php
header('Content-Type: text/plain');

$file = '/opt/php/lib/php/browscap.ini';

if (file_exists($file)) {
    echo file_get_contents($file);
} else {
    echo 'File not found.';
}

Aufgrund seiner Größe und der Kosten für das Laden kann die Verwendung von browscap.ini die Leistung von Anwendungen beeinträchtigen, die auf get_browser() zurückgreifen.

 

Empfohlene Alternativen

Für neue Projekte ist es in der Regel besser, Lösungen zu verwenden, die besser auf die aktuellen Praktiken der Webentwicklung zugeschnitten sind:

  • PHP-Bibliotheken, die mit Composer installiert werden, wie z. B. matomo/device-detector oder whichbrowser/parser, die eine regelmäßig aktualisierte und umfassendere Erkennung von Browsern und Geräten bieten.
  • User-Agent Client Hints (UA-CH), sofern der Browser diese unterstützt, um strukturierte Informationen über die in den aktuellen HTTP-Standards vorgesehenen Mechanismen zu erhalten.
  • Funktionserkennung (Feature Detection), indem direkt geprüft wird, ob eine Funktion verfügbar ist (z. B. in JavaScript oder mit der CSS-Regel @supports), anstatt das Verhalten anhand des verwendeten Browsers abzuleiten.

Link zu dieser FAQ: https://faq.infomaniak.com/505


War diese FAQ nützlich?

Dieser Leitfaden bezieht sich auf Django, ein Open-Source-Framework für die Webentwicklung in Python.

 

Voraussetzungen

  • Ein Cloud-VPS oder Lite-VPS (Shared Hosting und Managed Cloud Server werden nicht unterstützt).
  • Python 3 und der Paketmanager pip sind auf dem Server installiert, und es besteht vollständiger SSH-Zugriff.
  • Die Befehlszeile (Linux CLI) und die Verwaltung von Python-Umgebungen (z. B. venv) beherrschen.

 

Installation und Initialisierung

Hier sind die allgemeinen Schritte zum Einrichten Ihrer Umgebung auf Ihrem Server:

  1. Verbinden Sie sich per SSH mit Ihrem VPS.
  2. Erstellen und aktivieren Sie eine virtuelle Umgebung, um die Abhängigkeiten Ihres Projekts zu isolieren:
    python3 -m venv my_environment && source my_environment/bin/activate
  3. Installieren Sie das Framework:
    pip install django
  4. Initialisieren Sie Ihr Projekt:
    django-admin startproject name_of_project

 

Bereitstellung

Der integrierte Entwicklungsserver (runserver) ist nicht für eine Produktionsumgebung konzipiert. Um Ihre Anwendung sicher im Internet bereitzustellen, konfigurieren Sie einen Anwendungsserver (z. B. Gunicorn oder uWSGI) hinter einem Reverse-Proxy wie Nginx oder Apache.

Link zu dieser FAQ: https://faq.infomaniak.com/516


War diese FAQ nützlich?

Diese Anleitung hilft Ihnen, die öffentliche IP-Adresse Ihres Geräts zu finden, was beispielsweise bei bestimmten Supportanfragen nützlich sein kann.

 

Anzeige der öffentlichen IP-Adresse auf dem verbundenen Gerät

Klicken Sie hier, um die öffentliche IP-Adresse Ihres Geräts im Format IPv4 und IPv6 zu erhalten.

 

Alternative Methoden

Besuchen Sie ipinfo.io oder ifconfig.me.

… unter macOS

  1. Führen Sie über eine Terminal-Anwendung (Befehlszeilenschnittstelle, CLI / Command Line Interface) auf Ihrem Gerät den Befehl curl ifconfig.me aus und drücken Sie Eingabe.
  2. Die angezeigte Adresse ist die öffentliche IP-Adresse des Computers.

 

Beachten Sie, dass sich diese Adresse in regelmäßigen Abständen ändern kann, insbesondere wenn der Router neu gestartet wird oder der Internetdienstanbieter eine dynamische IP-Adresszuweisung verwendet.

 

Um die Suche nach der öffentlichen IP-Adresse zu automatisieren, verwenden Sie Befehle oder Skripte, die Dienste wie api.ipify.org abfragen...

Link zu dieser FAQ: https://faq.infomaniak.com/528


War diese FAQ nützlich?

Diese Anleitung erklärt, wie Sie PHPMailer mit den Webhosting-Diensten von Infomaniak verwenden, um E-Mails von einer Website aus zu versenden.

 

⚠ ACHTUNG ⚠

Infomaniak garantiert die Konformität seiner Dienste mit den Standardprotokollen (IMAP, S3 usw.), bietet aberkeine zusätzliche Unterstützung für externe Dienste oder Software, da deren Konfiguration je nach Anbieter oder Herausgeber variieren kann.Dieses Handbuch dient lediglich als Richtlinie, und die Umsetzung liegt in Ihrer Verantwortung (siehe: Supportrichtlinien / Art. 11.9 der AGB). Bei Bedarf kann Sie eine qualifizierte Fachkraft unterstützen.


 

Einleitung

  • PHPMailer ist eine PHP-Bibliothek, mit der E-Mails von einer Website aus erstellt und versendet werden können, insbesondere über SMTP.
  • Sie ermöglicht unter anderem das Versenden von Nachrichten im HTML-Format, das Hinzufügen einer alternativen Textversion, die Verwaltung von Anhängen und die Verwendung einer SMTP-Authentifizierung.
  • Für den Versand authentifizierter E-Mails über SMTP muss die vom Webhosting verwendete PHP-Umgebung mit einer aktuellen, verschlüsselten Verbindung kompatibel sein, insbesondere TLS 1.2 oder höher.
    • Eine zu alte PHP-Version oder die von PHP verwendete OpenSSL-Bibliothek kann zu einem Verbindungs- oder Authentifizierungsfehler führen, selbst wenn die E-Mail-Adresse und das Passwort korrekt sind.
    • Verwenden Sie für diese Art von Versand nicht PHP 5.3/5.4; verwenden Sie eine aktuelle und unterstützte PHP-Version.
  • Bei der authentifizierten SMTP-Übertragung muss die als Absender verwendete Adresse mit der für die SMTP-Authentifizierung verwendeten E-Mail-Adresse übereinstimmen.

 

PHPMailer installieren

Um PHPMailer zu verwenden, installieren Sie die Bibliothek in den Dateien Ihrer Website.

  1. Laden Sie PHPMailer von seinem offiziellen Repository herunter oder installieren Sie es mit Composer, falls Ihr Projekt dies verwendet.
  2. Kopieren Sie die PHPMailer-Dateien in ein Verzeichnis Ihrer Website per FTP.
  3. Laden Sie die benötigten Dateien in Ihr PHP-Skript hoch und passen Sie den Pfad entsprechend dem gewählten Speicherort an:

    use PHPMailer\PHPMailer\PHPMailer;
    use PHPMailer\PHPMailer\Exception;
    
    require **DIR** . '/PHPMailer/src/Exception.php';
    require **DIR** . '/PHPMailer/src/PHPMailer.php';
    require **DIR** . '/PHPMailer/src/SMTP.php';

 

Konfigurieren Sie den SMTP-Versand mit Infomaniak

Verwenden Sie die folgenden authentifizierten SMTP-Einstellungen:

  • SMTP-Server: mail.infomaniak.com
  • Port: 465
  • Verschlüsselung: SMTPS / SSL-TLS
  • Authentifizierung: erforderlich
  • Benutzername: die vollständige E-Mail-Adresse
  • Passwort: Das Passwort der verwendeten E-Mail-Adresse

Beispiel für eine vollständige Konfiguration:

<?php

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require **DIR** . '/PHPMailer/src/Exception.php';
require **DIR** . '/PHPMailer/src/PHPMailer.php';
require **DIR** . '/PHPMailer/src/SMTP.php';

$mail = new PHPMailer(true);

try {
// Configuration SMTP
$mail->isSMTP();
$mail->Host       = 'mail.infomaniak.com';
$mail->SMTPAuth   = true;
$mail->Username   = '[sender@domain.xyz](mailto:sender@domain.xyz)';
$mail->Password   = 'mot_de_passe_de_l_adresse_mail';
$mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;
$mail->Port       = 465;
$mail->CharSet    = 'UTF-8';

```
// Expéditeur
// L'adresse doit correspondre à celle utilisée pour l'authentification SMTP.
$mail->setFrom('sender@domain.xyz', 'Nom du site');

// Destinataire
$mail->addAddress('recipient@example.com');

// Adresse de réponse facultative
$mail->addReplyTo('sender@domain.xyz', 'Nom du site');

// Contenu du message
$mail->isHTML(true);
$mail->Subject = 'Message envoyé depuis le site';
$mail->Body    = '<p>Contenu HTML du message.</p>';
$mail->AltBody = 'Contenu texte du message.';

$mail->send();
echo 'Message envoyé';
```

} catch (Exception $e) {
echo 'Le message n'a pas pu être envoyé. Erreur: ' . htmlspecialchars($mail->ErrorInfo);
}

Wenn Ihre Anwendung die Verwendung von Port 587 erfordert, verwenden Sie STARTTLS:

$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS;
$mail->Port       = 587;

 

PHP-Version und TLS-Kompatibilität überprüfen

Für die authentifizierte SMTP-Übertragung ist eine aktuelle, verschlüsselte Verbindung erforderlich. Wenn die Website eine zu alte PHP-Version verwendet, z. B. PHP 5.3, oder eine zu alte OpenSSL-Bibliothek, kann PHPMailer vor oder während der Authentifizierung fehlschlagen. Die resultierenden Fehlermeldungen können irreführend sein, z. B.:

  • SMTP connect() failed
  • Authentifizierung fehlgeschlagen
  • stream_socket_enable_crypto()
  • ein Authentifizierungsfehler, obwohl das Passwort korrekt ist

Überprüfen Sie in diesem Fall Folgendes:

  1. die PHP-Version, die von der Website verwendet wird;
  2. die OpenSSL-Version, die von PHP verwendet wird;
  3. die in Ihrem Projekt verwendete PHPMailer-Version;
  4. die Übereinstimmung zwischen dem SMTP-Port und der gewählten Verschlüsselung.

Für eine zuverlässige Konfiguration verwenden Sie eine aktuelle PHP-Version, die mit TLS 1.2 oder höher kompatibel ist, sowie eine aktuelle Version von PHPMailer. Lesen Sie bei Bedarf diese Anleitungen:

 

Fehler „Absender stimmt nicht überein“ beheben

Der Fehler Sender mismatch SMTP code: 550 Additional SMTP info: 5.7.1 kann auftreten, wenn die als Absender verwendete Adresse nicht mit der E-Mail-Adresse übereinstimmt, die für die SMTP-Authentifizierung verwendet wird. Ein Beispiel, das vermieden werden sollte:

$mail->Username = 'sender@domain.xyz';
$mail->setFrom('another-address@domain.xyz', 'Nom du site');

In diesem Beispiel authentifiziert sich das Skript mit sender@domain.xyz, versucht aber, die Nachricht mit einer anderen Absenderadresse zu versenden.

Verwenden Sie dieselbe E-Mail-Adresse für die SMTP-Authentifizierung und als Absender:

$mail->Username = 'sender@domain.xyz';
$mail->setFrom('sender@domain.xyz', 'Nom du site');

Der Absendernamen kann angepasst werden, die E-Mail-Adresse muss jedoch mit dem verwendeten SMTP-Konto übereinstimmen.

Beispiel für ein Kontaktformular

Wenn ein Besucher seine E-Mail-Adresse in ein Formular eingibt, verwenden Sie diese nicht als Absenderadresse der Nachricht. Verwenden Sie stattdessen die authentifizierte E-Mail-Adresse als Absender und fügen Sie die Adresse des Besuchers als Antwortadresse hinzu.

Beispiel:

$mail->Username = 'sender@domain.xyz';
$mail->setFrom('sender@domain.xyz', 'Formulaire du site');
$mail->addReplyTo($email_visiteur);

Diese Konfiguration ermöglicht es Ihnen, Anfragen von Besuchern über Ihr E-Mail-Programm zu beantworten, ohne die Nachricht mit einer nicht autorisierten Absenderadresse zu versenden.

 

Debug-Modus vorübergehend aktivieren

Im Fehlerfall aktivieren Sie vorübergehend den Debug-Modus von PHPMailer, um detailliertere Informationen zur SMTP-Verbindung zu erhalten:

$mail->SMTPDebug = 2;
$mail->Debugoutput = 'html';

Deaktivieren Sie diesen Modus nach Ihren Tests, um zu verhindern, dass technische Informationen für die Besucher der Website angezeigt werden.

 

Mehr erfahren

Link zu dieser FAQ: https://faq.infomaniak.com/576


War diese FAQ nützlich?

Dieser Leitfaden behandelt die Verwendung der Technologie Java, die insbesondere im Hinblick auf den RAM-Speicherverbrauch nicht mit den Anforderungen der Shared-Hosting-Angebote von Infomaniak kompatibel ist. Java-Anwendungen sind oft ressourcenintensiv, was die Leistung und Stabilität der Server beeinträchtigen kann, die von mehreren Benutzern gemeinsam genutzt werden.

 

Unterstützung ist auf Client-seitige Applets beschränkt

Auf Shared-Servern werden nur clientseitige Java-Applets unterstützt, d. h. solche, die in einem Browser wie Brave, Chrome, Edge, Firefox, Opera, Safari usw. des Benutzers ausgeführt werden. Diese Applets benötigen keine großen Serverressourcen und verursachen daher nicht die gleichen Probleme wie serverseitige Java-Anwendungen. Folglich werden keine Produkte unterstützt, die serverseitige Java-Technologie verwenden.

 

Nicht unterstützte Produkte und Technologien

Hier ist eine nicht erschöpfende Liste der spezifischen Produkte und Technologien, die auf Shared-Hosting-Servern nicht unterstützt werden:

Diese Richtlinie dient dazu, eine optimale Leistung und eine faire Nutzung der Ressourcen für alle Benutzer der Shared-Hosting-Server zu gewährleisten.

Link zu dieser FAQ: https://faq.infomaniak.com/591


War diese FAQ nützlich?

Dieser Leitfaden behandelt die Ausführung der Programmiersprache C# und des Frameworks .NET mithilfe der Implementierung Mono auf den Infomaniak-Hosting-Diensten.

 

Technologien für die Softwareentwicklung

Um die Programmiersprache C# und das Framework .NET mit der Mono-Implementierung zu verwenden, um Softwareanwendungen zu entwickeln, die auf verschiedenen Plattformen außerhalb der Windows-Umgebung bereitgestellt und ausgeführt werden können, wird empfohlen, sich für Lösungen wie die folgenden zu entscheiden:

Die Flexibilität und Portabilität, die diese plattformübergreifenden Umgebungen bieten, bedeuten, dass ein gemeinsames Webhosting keine Ausführung von Projekten, die auf C#, .NET oder Mono basieren.

Link zu dieser FAQ: https://faq.infomaniak.com/607


War diese FAQ nützlich?

Diese Anleitung erklärt, wie Sie ein bestehendes Angebot für Webhosting ändern können, um beispielsweise zusätzliche Websites zu hosten, falls das maximale Website-Limit erreicht ist, oder eine neuere Hosting-Lösung zu erhalten, um von den neuesten Versionen von PHP & MySQL zu profitieren.

 

Einleitung

  • Um einen Cloud-Server zu migrieren, lesen Sie bitte diese andere Anleitung zur Migration auf eine neue Generation von Cloud-Servern.

 

Zusätzliche Websites, Speicherplatz oder IP-Adressen bestellen

Um auf den Konfigurator für Webhosting zuzugreifen:

  1. Klicken Sie hier, um auf die Verwaltung von Hostings & Websites in Ihrem Infomaniak Manager zuzugreifen (❓: Hilfe).
  2. Klicken Sie auf das Aktionsmenü ⋮ rechts neben dem betreffenden Hosting-Paket.
    • Wenn das Hosting-Paket keine Website enthält, klicken Sie auf dessen Namen und dann auf Verwalten.
  3. Klicken Sie auf Angebot ändern:
  4. Erhöhen Sie die Werte, die Sie ändern möchten.
  5. Klicken Sie auf die Schaltfläche Weiter, um zur Bezahlung der vorgenommenen Änderungen am Hosting zu gelangen:

 

 

Auf einen aktuelleren Server umsteigen

Um eine Hosting-Lösung auf einem aktuelleren Server zu erhalten und somit unter anderem von den neuesten Versionen von PHP & MySQL zu profitieren:

  • Lesen Sie sich diese andere Anleitung durch: Wenn Sie dieser Anleitung folgen und bevor Sie Schritt 4 ausführen, sollten Sie in Ihrem Manager eine Informationsleiste oben auf der Seite sehen; klicken Sie auf die Schaltfläche „Migration“:
    • Wenn keine Informationsleiste angezeigt wird, bedeutet dies, dass Sie bereits ein aktuelles Hosting-Angebot nutzen.

  • Sie können sich auch diese andere Anleitung ansehen und die darin beschriebene Vorgehensweise vollständig befolgen:

Link zu dieser FAQ: https://faq.infomaniak.com/626


War diese FAQ nützlich?

Dieser Leitfaden erklärt, wie Sie eine ASP-, ASP.NET Framework- oder ASP.NET Core (.NET modern)-Anwendung auf der Cloud-Infrastruktur von Infomaniak hosten.

 

Einleitung

  • Die Angebote für Webhosting und Managed Cloud Server basieren auf einer Linux/Apache-Infrastruktur; sie unterstützen kein IIS (Internet Information Services) und keine native Ausführung von Anwendungen, die für Microsoft Windows entwickelt wurden (klassisches ASP oder ASP.NET Framework).
  • Die Lösungen und Alternativen werden im Folgenden vorgestellt.

 

Details zu den kompatiblen Hosting-Lösungen

 

1. Cloud-VPS mit Windows Server Classic ASP (ASP 3.0) & ASP.NET Framework (v1.0 bis 4.8)

Für Anwendungen, die auf dem traditionellen Windows-Ökosystem basieren (IIS, VBScript, C#, .NET Framework):

  • Stellen Sie einen Cloud-VPS oder Lite-VPS mit Windows Server (Versionen 2019, 2022 oder 2025) bereit.
  • Aktivieren Sie die Rolle Webserver (IIS) mit vollem Administratorzugriff über RDP.

 

2. Jelastic Cloud (ASP.NET Core & modernes .NET)

Für plattformübergreifende ASP.NET Core-Anwendungen:

  • Vereinfachte Bereitstellung über Docker-Container oder .NET-Laufzeitumgebung.
  • Automatische Anpassung der Ressourcen (CPU/RAM) und hohe Verfügbarkeit.

 

3. VPS Cloud Linux ASP.NET Core (.NET 6, 8, 9+)

Sie können auch eine ASP.NET Core-Anwendung auf einem Cloud-VPS (Debian, Ubuntu usw.) hosten, das mit einem Reverse-Proxy (Nginx oder Apache) vor dem Kestrel-Server von .NET konfiguriert ist.

 

4. Public Cloud (OpenStack)

Geeignet für Unternehmensprojekte, die ein virtuelles privates Netzwerk (VPN), Block-/Objektspeicher oder eine groß angelegte hybride Bereitstellung erfordern.

Link zu dieser FAQ: https://faq.infomaniak.com/631


War diese FAQ nützlich?

Diese Anleitung erklärt, wie Sie das Hotlinking von Dateien, die auf Ihrem Webhosting von Infomaniak gehostet werden, einschränken können.

 

Einleitung

  • Beim Hotlinking wird eine Datei (z. B. ein Bild oder ein Video), die auf Ihrem Server gehostet wird, direkt auf einer anderen Website angezeigt, indem die öffentliche URL verwendet wird, ohne dass die Datei auf der anderen Website selbst gehostet wird.
  • Diese Praxis nutzt die Ressourcen Ihres Hostings (Bandbreite, HTTP-Verbindungen und Serverressourcen) ohne Ihre Erlaubnis. Sie kann auch Ihre Urheberrechte verletzen oder die Kontrolle über die Verbreitung Ihrer Inhalte beeinträchtigen.
  • Auch wenn die aktuellen Netzwerkkapazitäten die Auswirkungen auf die Bandbreite im Allgemeinen weniger kritisch machen als früher, wird dennoch empfohlen, Hotlinking einzuschränken, um einen unnötigen Ressourcenverbrauch Ihres Hostings zu vermeiden.

 

Hotlinking mit einer .htaccess-Datei verhindern

Wenn Ihre Website den Webserver Apache und das Modul mod_rewrite verwendet, können Sie den direkten Zugriff auf bestimmte Dateien einschränken, indem Sie Regeln in der Datei .htaccess hinzufügen, die sich im Stammverzeichnis Ihrer Website befindet.

Das folgende Beispiel schützt die wichtigsten Bildformate, einschließlich der modernen Formate WebP und AVIF:

RewriteEngine On

# Anfragen ohne einen Referer-Header zulassen
RewriteCond %{HTTP_REFERER} !^$

# Anfragen von Ihrer eigenen Domain zulassen (ersetzen Sie dies durch Ihre Domain)
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?votre-domaine\.com [NC]

# Anfragen von wichtigen Suchmaschinen zulassen
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?google\. [NC]
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?bing\. [NC]
RewriteCond %{HTTP_REFERER} !^https?://(www\.)?yahoo\. [NC]

# Hotlinking für Bilddateien blockieren
RewriteRule \.(jpg|jpeg|png|gif|svg|webp|avif)$ - [F,NC,L]

Vor der Verwendung anpassen:

  • Ersetzen Sie ihre-domain.com durch Ihren eigenen Domainnamen.
  • Anfragen ohne den HTTP-Header Referer werden zugelassen, um die Kompatibilität mit bestimmten Browsern, Anwendungen oder Datenschutzmechanismen zu gewährleisten, die diesen Header nicht übermitteln.
  • Die Regeln, die den wichtigsten Suchmaschinen den Zugriff auf Bilder erlauben, ermöglichen es ihren Bots, auf die Bilder zuzugreifen, damit diese indiziert werden können. Wenn Sie diese Regeln entfernen, wird die Indizierung dieser Bilder verhindert.
  • Die Regel verwendet die Option [F], die eine HTTP-Antwort 403 Forbidden zurückgibt. Diese Methode blockiert die Anfrage sofort, ohne zusätzlichen Inhalt bereitzustellen, was den Ressourcenverbrauch des Servers reduziert.

Wenn Sie Cloudflare als CDN vor Ihrem Infomaniak-Hosting verwenden, können Sie die Funktion Hotlink-Schutz auch über dessen Verwaltungsoberfläche aktivieren, um diese Art von Zugriff zu blockieren, bevor er Ihr Hosting erreicht.

Link zu dieser FAQ: https://faq.infomaniak.com/678


War diese FAQ nützlich?

Dieser Leitfaden stellt Befehle vor, die ausgeführt werden können, um eine Verbindung oder ein Netzwerk zu testen und so die mögliche Fehlerquelle genauer zu bestimmen.

 

Ein Telnet-Test durchführen …

TELNET ermöglicht es, die Verbindung zu einem Server zu testen, ohne die zusätzlichen Einstellungen einer E-Mail- oder FTP-Anwendung zu berücksichtigen, um die Ursache eines Problems zu ermitteln. Wenn die Verbindung zu einem SMTP-Server nicht funktioniert, sollten Sie beispielsweise prüfen, ob Ihre Firewall den Port 587 oder 465 blockiert.

 

… unter macOS

  1. Suchen Sie nach Netzwerkdienstprogramm.
  2. Gehen Sie zum Reiter Ping, Lookup oder Traceroute, je nachdem, was Sie testen möchten.
  3. Sie können auch eine Anwendung vom Typ Terminal (Befehlszeilenschnittstelle, CLI / Command Line Interface) auf Ihrem Gerät verwenden und, je nachdem, was Sie testen möchten, Folgendes eingeben:
    traceroute [server]
    nc [server] [port]
    Ersetzen Sie [server] durch den Namen des Servers oder seine IP-Adresse, ebenso für [port]…

 

… unter Windows

Aktivieren Sie Telnet gegebenenfalls vorher.

  1. Verwenden Sie eine Anwendung vom Typ Terminal (Befehlszeilenschnittstelle, CLI) auf Ihrem Gerät, z. B. indem Sie Ausführen eingeben und dann cmd.
  2. Geben Sie im sich öffnenden Fenster, je nachdem, was Sie testen möchten, Folgendes ein:
    tracert [Server]
    telnet [Server] [Port]
    Beispiel: telnet mail.infomaniak.com 587(ermöglicht das Testen des SMTP-Ports, falls Ihre Software/Ihr E-Mail-Client das Senden von E-Mails nicht ermöglicht)…

 

… auf Android

  1. Verwenden Sie die App Simple Telnet Client, mit der Sie sehr einfach über zwei auszufüllende Felder eine Verbindung herstellen können (z. B. mail.infomaniak.com und Port 143 oder 993)…

 

Einen PING durchführen

PING ermöglicht es, zu überprüfen, ob ein Gerät über das Internet erreichbar ist. Mit diesem Tool können Sie auch feststellen, ob Sie das richtige Gerät ansprechen, beispielsweise nach einer DNS-Änderung, indem Sie die erhaltene IP-Adresse überprüfen. Es ist möglich, einen Ping an einen Domainnamen, einen Hostnamen oder eine IP-Adresse zu senden.

PING ist auf den Shared-Hosting-Angeboten von Infomaniak definitiv blockiert.

Link zu dieser FAQ: https://faq.infomaniak.com/727


War diese FAQ nützlich?

Diese Anleitung erklärt, wie Sie ohne das Modul PECL SSH2 client arbeiten können, das auf Infomaniak Webhosting und Cloud Servern nicht verfügbar ist. Stattdessen wird die Bibliothek phpseclib verwendet, die in nativem PHP funktioniert, ohne dass eine spezielle Erweiterung erforderlich ist.

 

Einleitung

  • Die Verwendung von PECL SSH2 client führt in der neuesten verfügbaren Version zu Fehlern wie Keine kompatiblen Key-Exchange-Algorithmen gefunden oder Schlüsselabtausch nicht möglich.
  • Phpseclib ermöglicht:
    • SSH-Authentifizierung per Passwort oder privatem Schlüssel.
    • Ausführung von Remote-Befehlen.
    • Sichere Dateiübertragung (SFTP).
    • Verwaltung von SSH-Schlüsseln.

 

Verwendung von phpseclib

Um eine SSH-Verbindung in ein PHP-Skript zu integrieren, verwenden Sie phpseclib wie folgt:

use phpseclib3\Net\SSH2;
use phpseclib3\Crypt\PublicKeyLoader;

$ssh = new SSH2('domain.xyz');
$key = PublicKeyLoader::load(file_get_contents('/path/to/private_key'));

if (!$ssh->login('benutzer', $key)) {
    exit('Authentifizierung fehlgeschlagen');
}

echo $ssh->exec('ls -la');

Link zu dieser FAQ: https://faq.infomaniak.com/767


War diese FAQ nützlich?

Dieser Leitfaden beschreibt die wichtigsten Schritte, die Sie unternehmen sollten, wenn Sie nach einer Änderung an Ihrer Website keinen Unterschied zwischen der neuen und der alten Version feststellen. Diese Tipps gelten auch, wenn Sie Probleme bei der Verwendung der Infomaniak-Produkt-Oberfläche haben.

 

Einleitung

  • Während der Nutzung speichert ein Browser wie Brave, Chrome, Edge, Firefox, Opera, Safari usw. die aufgerufenen Daten in einem separaten Bereich, um zu vermeiden, dass der Server die bereits aufgerufenen Daten erneut anfordert, um Zeit und Ressourcen zu sparen.
  • Ihr Cache kann eine große Menge an Daten enthalten, und manchmal kommt es zu Fehlfunktionen im Browser. In diesem Fall können Websites fehlerhaft oder in einer veralteten Version angezeigt werden.
  • Durch das Löschen des Caches wird sichergestellt, dass immer die aktuellste Version der angezeigten Seite oder des Ordners verwendet wird.

 

Cache des Browsers löschen …

 

… in Safari

Wählen Sie Ihre macOS-Version aus, um die entsprechende Apple-Hilfe anzuzeigen.

 

… zu den Google-Tools (Chrome, Android usw.)

Lesen Sie die Google-Hilfe.

 

… in Firefox

Lesen Sie die Mozilla-Hilfe.

 

… für Edge / Internet Explorer

Lesen Sie die Microsoft-Hilfe.

Link zu dieser FAQ: https://faq.infomaniak.com/793


War diese FAQ nützlich?

Dieser Leitfaden beschreibt die verfügbaren Funktionen zur Verwaltung relationaler Datenbanken auf den Hosting-Angeboten von Infomaniak.

 

Verwendung von Views, Triggern, gespeicherten Prozeduren und Routinen

In Bezug auf die Verwaltung relationaler Datenbanken ist die Funktionalität von „Views“ standardmäßig verfügbar, wodurch Benutzer Views erstellen können, um die Datenverwaltung und -darstellung zu vereinfachen.

Bestimmte erweiterte Funktionen, die eine feinere und komplexere Datenmanipulation ermöglichen, wie z. B. …

  • „Trigger“ (Auslöser)
  • gespeicherte Prozeduren („stored procedures“)
  • Routinen
  • und die Erstellung von Funktionen

… sind nur auf Cloud-Servern verfügbar.

Sie sind auf Shared-Servern nicht zulässig..

Diese Einschränkung ist hauptsächlich auf die potenziellen Risiken für die Stabilität der Infrastruktur zurückzuführen. Eine fehlerhafte Konfiguration oder eine übermäßige Nutzung dieser Funktionen könnte zu endlosen Schleifen oder erheblichen Überlastungen führen, was nicht nur die Leistung des betreffenden Servers beeinträchtigen, sondern auch die Benutzererfahrung aller Kunden, die auf derselben Infrastruktur gehostet werden, negativ beeinflussen würde.

 

Behebung eines Problems beim Importieren eines MySQL/MariaDB-Dumps

Beim Exportieren und anschließenden Re-Importieren einer MySQL- oder MariaDB-Datenbank über die Infomaniak-Hosting-Oberfläche kann es vorkommen, dass der Vorgang aufgrund von Fehlern im Zusammenhang mit den DEFINER-Einstellungen von Triggern oder Views fehlschlägt. Dieser Fall tritt auf, wenn die Objekte der Datenbank mit einem bestimmten Benutzer (dem Definer) erstellt wurden, der zum Zeitpunkt des Imports nicht mehr existiert.

Konkret verwendet der Export- und Importprozess einen temporären Benutzer, der nur während dieser Vorgänge verwendet wird. Nach der Löschung dieses Benutzers werden die Views oder Trigger, die mit diesem Konto als DEFINER definiert wurden, ungültig, was zu Fehlern wie folgt führt:

Allgemeiner Fehler: 1449 Der als Definierer angegebene Benutzer ('xxxx_temp_1'@'%') existiert nicht

 

Um dieses Problem zu vermeiden, können Sie die Backup-Datei (dump.sql oder dump.sql.gz) vor dem Import korrigieren, indem Sie die Definer-Definitionen durch CURRENT_USER ersetzen. Dadurch werden die Trigger und Views automatisch dem aktuell angemeldeten Benutzer zugeordnet, wenn der Import durchgeführt wird.

Hier ist ein Beispiel für einen Befehl, mit dem die Dump-Datei vor dem Import geändert werden kann:

sed -E 's/DEFINER=`[^`][^`]*`@`[^`][^`][^`]*`/DEFINER=CURRENT_USER/g' dump.sql > dump-corrected.sql

 

Nachdem dieser Austausch durchgeführt wurde, kann die korrigierte Datei wie gewohnt über das Infomaniak Manager importiert werden. Dieses Verhalten ist bekannt und hängt mit der Funktionsweise temporärer Benutzer beim Sichern/Wiederherstellen zusammen. Eine Änderung des Export-/Importprozesses ist kurzfristig nicht geplant, aber das Thema wird weiterhin auf Infrastrukturebene evaluiert.

Weitere Informationen zur Variablen CURRENT_USER finden Sie in der offiziellen Dokumentation:

Link zu dieser FAQ: https://faq.infomaniak.com/821


War diese FAQ nützlich?

Diese Anleitung erklärt, wie Sie das Passwort einer MySQL-/MariaDB-Datenbank eines Webhostings ändern.

 

Einleitung

  • Lesen Sie diese Anleitung, wenn Sie Informationen zur Aktualisierung der Anmeldedaten (Skripte, Websites usw.) im Zusammenhang mit einer Änderung des Datenbankpassworts suchen.
  • Ein Datenbankbenutzer, der nach der Installation einer Webanwendung (angeboten von Infomaniak) erstellt wurde, kann nicht geändert werden.
    • Um auf die zugehörige Datenbank zuzugreifen, müssen Sie einen neuen Datenbankbenutzer mit dem von Ihnen gewünschten Passwort erstellen und ihm dann die entsprechenden Rechte für die gewünschte Datenbank zuweisen.

 

MySQL-, MariaDB-Passwort usw. ändern

Dazu müssen Sie den Benutzer bearbeiten, der der betreffenden Datenbank zugeordnet ist, und das Passwort ändern (ohne das alte Passwort angeben zu müssen) über das Infomaniak-Verwaltungsmenü:

  1. Klicken Sie hier, um zur Verwaltung von Hostings & Websites in Ihrem Infomaniak-Kontrollpanel zu gelangen (❓: Hilfe).
  2. Klicken Sie auf den Namen des betreffenden Hostings.
  3. Klicken Sie im linken Menü auf Datenbanken.
  4. Klicken Sie auf das Menü Benutzer.
  5. Klicken Sie auf das Aktionsmenü ⋮ rechts neben dem betreffenden Element.
  6. Klicken Sie auf Bearbeiten:
  7. Klicken Sie auf Passwort ändern.
  8. Geben Sie das gewünschte neue Passwort ein.
  9. Klicken Sie auf die Schaltfläche Speichern:
  10. Falls erforderlich, können Sie die neuen Berechtigungen (Lesen / Schreiben / Verwalten) für den Benutzer festlegen, um auf die vorhandenen Datenbanken auf dem Hosting zuzugreifen.

Link zu dieser FAQ: https://faq.infomaniak.com/846


War diese FAQ nützlich?

Diese Anleitung erklärt, wie Sie eine Analyse des Inhalts eines Webhostings starten, um Dateien zu erkennen und zu bereinigen, die Viren und andere bösartige Skripte enthalten, welche die Sicherheit von Websites gefährden könnten.

 

Einleitung

  • Sie erhalten eine E-Mail, sobald der Vorgang abgeschlossen ist (der Virenscan kann eine Weile dauern; das Control Panel kann geschlossen werden).
  • Infomaniak gewährleistet den Schutz der Webhosting-Umgebung, indem ausschließlich die Ordner der Websites (Webroot) analysiert werden; außerhalb davon werden keine synchronen Scans auf dem restlichen Webhosting durchgeführt.
  • Erwägen Sie außerdem die Verwendung des Tools zur Erkennung von Sicherheitslücken, um mögliche Schwachstellen auf Ihren Websites zu überwachen, die automatisch behoben werden.

 

Starten Sie eine Antiviren-Analyse der Websites

Um den möglicherweise infizierten Inhalt zu analysieren:

  1. Klicken Sie hier, um im Manager von Infomaniak zur Verwaltung von Hostings & Websites zu gelangen (❓: Hilfe).
  2. Klicken Sie auf den Namen des betreffenden Hostings.
  3. Klicken Sie im linken Menü auf Sicherheit.
  4. Klicken Sie im linken Menü auf Antivirus.
  5. Klicken Sie auf den blauen Button Scannen:
  6. Wählen Sie die zu analysierenden Websites aus.
  7. Klicken Sie auf den blauen Button Analyse starten:
  8. Folgen Sie der Anleitung, bis die Dateianalyse gestartet wurde.

Link zu dieser FAQ: https://faq.infomaniak.com/857


War diese FAQ nützlich?

Diese Anleitung erklärt, wie Sie Anwendungen, PHP-Erweiterungen und Technologien (die folgende Liste ist nicht erschöpfend) mit wenigen Klicks auf Cloud Server installieren.

 

Lesen Sie diese andere Anleitung, wenn Sie Informationen über zusätzliche Webanwendungen suchen, die auf allen Hosting-Typen installiert werden können, einschließlich Standard-/Shared-Hosting.

 

PHP-Apps/Erweiterungen installieren (oder deinstallieren) …

Um die Liste der verfügbaren Technologien anzuzeigen und diese zu installieren, gehen Sie wie folgt vor:

  1. Klicken Sie hier, um die Verwaltung Ihres Cloud-Servers im Infomaniak Manager aufzurufen (Benötigen Sie Hilfe?).
  2. Klicken Sie direkt auf den Namen des betreffenden Cloud-Servers:
  3. Klicken Sie im linken Menü auf:
    1. PHP-Erweiterungen
    2. Schnellinstallationsprogramm
  4. Klicken Sie in der angezeigten Tabelle auf das Aktionsmenü ⋮ rechts neben der Erweiterung, die Sie deinstallieren möchten.
  5. Klicken Sie auf Deinstallieren.
  6. Andernfalls klicken Sie auf den blauen Button.Eine Erweiterung installieren / Eine Anwendung installieren:
  7. Wählen Sie anschließend die gewünschte neue Installation aus:

 

Unvollständige Liste der verfügbaren Apps und Erweiterungen

Link zu dieser FAQ: https://faq.infomaniak.com/877


War diese FAQ nützlich?