Wissensdatenbank
1000 FAQ, 500 Anleitungen und Lernvideos. Hier gibt es nur Lösungen!
Jelastic Cloud ist eine Plattform als Service (PaaS), die es ermöglicht, Entwicklungsumgebungen einfach und schnell zu erstellen. Diese Lösung ist besonders vorteilhaft, wenn Ihr Ressourcenverbrauch (CPU, RAM) je nach Jahreszeit stark schwankt.
Un Serveur Cloud ermöglicht es Ihnen, Anwendungen und Websites genauso einfach zu verwalten wie bei einer Shared-Hosting-Lösung, und bietet Ihnen den Vorteil, zusÀtzliche Software nach Bedarf installieren zu können. Diese Lösung ist sehr vorteilhaft, wenn Ihr Ressourcenverbrauch (CPU, RAM) stabil und vorhersehbar ist.
Ein VPS Cloud oder VPS Lite ermöglicht es Ihnen, Ihren gesamten Server mit der gewĂŒnschten Linux-Distribution zu verwalten. HierfĂŒr sind solide technische Kenntnisse erforderlich. Diese Lösung ist sehr vorteilhaft, wenn Ihr Ressourcenverbrauch (CPU, RAM) stabil und vorhersehbar ist.
In allen drei FÀllen profitieren Sie von vollstÀndig dedizierten Ressourcen, die Sie nach Bedarf frei anpassen können.
Nehmen Sie auch das Angebot Public Cloud zur Kenntnis.
Diese Anleitung erklĂ€rt, wie Sie die Kontrolle ĂŒber Ihre MP3/AAC- oder HLS- Streaming Radio -Streams behalten, indem Sie den Schutz durch einen eindeutigen SchlĂŒssel (Token) aktivieren, um z.B. zu entscheiden, ob ein Hörer Ihren Radiosender hören darf oder nicht.
Vorwort
- Der Grundsatz ist einfach: Bei jeder Verbindung fĂŒhren Sie eine Anfrage an die Infomaniak API aus, die Ihnen im Gegenzug einen einzigartigen Token mit einer begrenzten und anpassbaren Lebensdauer zurĂŒcksendet. Dieser Token ermöglicht es jedem, der ihn besitzt, den Stream wĂ€hrend dieser Zeit zu nutzen.
- Sie können einen MP3/AAC- oder HLS-Stream unabhĂ€ngig voneinander schĂŒtzen (ebenso wie die Geolokalisierung).
- Die Aktivierung der EinschrĂ€nkung erfordert eine Ănderung der Stream-Konfiguration, die einige Minuten dauern kann, bis sie auf den Servern repliziert wird.
Einen Audio-Stream durch einen SchlĂŒssel schĂŒtzen
Dazu mĂŒssen Sie nur die Restriktionsparameter aufrufen und den Token-Schutz fĂŒr den Stream aktivieren, den Sie sichern möchten:
- Klicken Sie hier, um auf die Verwaltung Ihres Produkts im Infomaniak Manager zuzugreifen (Hilfe benötigen?).
- Klicken Sie direkt auf den Name des betreffenden Produkts.
- Klicken Sie auf den Namen des betreffenden Audio-Streams.
- Klicken Sie auf EinschrĂ€nkungen im linken SeitenmenĂŒ.
- WĂ€hlen Sie HLS bei Bedarf aus.
- Klicken Sie auf das AktionsmenĂŒ âź, das sich rechts neben dem betreffenden Element befindet.
- Klicken Sie auf Token-BeschrÀnkung:
Aktivieren Sie dann den Schutz.
Achtung, sobald Sie diese Option aktivieren, wird der Zugriff auf den Stream sofort fĂŒr neue Verbindungen blockiert. Passen Sie Ihre Player an, um die EinschrĂ€nkung zu berĂŒcksichtigen, wie im folgenden Beispiel gezeigt:
Radio-API-Token erstellen
Um auf die Radio-API zugreifen zu können, mĂŒssen Sie sich zunĂ€chst mit einem Anwendungstoken authentifizieren. Dieser Schritt muss nur einmal durchgefĂŒhrt werden. Um diesen Anwendungstoken zu erstellen, nehmen Sie sich dieser andere Leitfaden zur Kenntnis.
Der Bereich ist Radio und die Lebensdauer ist unbegrenzt, um das erneute Generieren eines Codes zu vermeiden. Sobald der Token generiert ist, kopieren Sie ihn und fĂŒgen Sie ihn in das untenstehende Beispiel ein.
Beispiel fĂŒr die Verwendung in der Programmiersprache PHP
FĂŒr MP3/AAC oder HLS kann der Code im Wesentlichen derselbe sein, nur die in POST aufgerufene URL Ă€ndert sich in ihrer Form.
FĂŒgen Sie unten den generierten Token anstelle des angegebenen ein:
if (!defined('API_TOKEN')) {
define('API_TOKEN', 'AYF5lSh3c7Xy5974Fs12RTkTThujT-L9R4Xk2ZfGyP6sV7QqJ1oC3jD8nFtKzIxUeMw5oNzR6');
}
/**
* Fonction gĂ©nĂ©rique pour executer des requĂȘtes cURL
*
* @param string $method Méthode HTTP (GET, POST, PUT, etc...)
* @param string $url Url de l'api a requĂȘter
* @param array $headers Liste des en-tĂȘtes HTTP (l'autorisation doit ĂȘtre passĂ©e ici avec un ['Authorization: Bearer ']
* @param array $payload Un tableau contenant les données pour créer un token
* @return mixed
*/
function request(string $method, string $url, array $headers = [], array $payload = []): mixed{
// prepare options array
$opts = [
CURLOPT_HTTPHEADER => $headers,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_URL => $url,
CURLOPT_CUSTOMREQUEST => strtoupper($method),
];
// add payload if relevant
if ($payload && $method !== 'GET') {
$opts[CURLOPT_POSTFIELDS] = json_encode($payload);
}
$ch = curl_init();
curl_setopt_array($ch, $opts);
$result = curl_exec($ch);
if(curl_errno($ch)){
throw new Exception(curl_error($ch));
}
$data = json_decode($result, true);
if ($data['result'] === 'error') {
throw new Exception($data['error']['description'] ?? 'an error occured');
}
return $data['data'];
}
Wir werden den Token erstellen. Die URL zur Token-Erstellung setzt sich wie folgt zusammen:
- FĂŒr einen MP3/AAC-Stream
POST https://api.infomaniak.com/1/radios/acl/streams/mountpoint.mp3/token
Beispiel zum Schutz von https://newradiotest.ice.infomaniak.ch/newradiotest-128.aac
der Pfad wird: https://api.infomaniak.com/1/radios/acl/streams/newradiotest-128.aac/token
- FĂŒr einen HLS-Stream
POST https://api.infomaniak.com/1/radios/acl/hls_streams/<stream>/token
Beispiel zum Schutz von https://myradiostream.radiohls.infomaniak.com/myradiostream/manifest.m3u8
der Pfad wird: https://api.infomaniak.com/1/radios/acl/hls_streams/myradiostream/token
Beispiel im Fall von MP3/AAC, denken Sie daran, anzupassen:
$token = request(
'POST',
'https://api.infomaniak.com/1/radios/acl/streams/newradiotest-128.aac/token',
// en-tĂȘte d'authorization
[
'Authorization: Bearer ' . API_TOKEN,
'Content-Type: application/json',
],
/**
* payload pour créer le token, vous pouvez passer les valeurs suivantes
* window | 300 | optionnel | durée de validité du token (default: 5 minutes)
*/
[
'window' => 3600, // 1h validity
]
);
Es ist wichtig zu beachten, dass, wenn dieser Code zum Zeitpunkt des Ladens der Seite generiert wird, der Hörer "window" Sekunden Zeit hat, um die Wiedergabe des Streams zu starten. Nach Ablauf dieser Frist wird der Token ablaufen, und der Stream kann nicht mehr gestartet werden, es sei denn, die Seite wird neu geladen. Je nach Ihren Anforderungen und Ihrem Anwendungsfall muss dieser Zeitraum entsprechend angepasst werden.
Ersetzen Sie unten die URL zum Abspielen Ihres Streams durch die angegebene, wobei der Parameter $token
am Ende erhalten bleibt. SchlieĂlich wird der Player angezeigt (hier ein einfaches HTML5-Tag, aber Sie können natĂŒrlich jede beliebige OberflĂ€che hinzufĂŒgen, da der Token in den Parametern $_GET
der URL ĂŒbergeben wird).
$streamUrl = "https://newradiotest.ice.infomaniak.ch/newradiotest-128.aac?$token";
echo "<audio controls=""><source src="$streamUrl"></audio>";
Diese Anleitung erklÀrt, wie Sie die Website, die Sie auf einem Webhosting verwalten, optimieren können, um sie schneller zu machen und es allen Besuchern zu ermöglichen, darauf von Internet aus ohne Probleme zu surfen, unabhÀngig von ihrer Verbindungsgeschwindigkeit.
â ïž FĂŒr zusĂ€tzliche Hilfe kontaktieren Sie einen Partner oder starten Sie kostenlos eine Ausschreibung â erfahren Sie auch mehr ĂŒber die Rolle des Hosters.
Die Rolle des Hosters
Die Ladegeschwindigkeit einer Website hÀngt von vielen Faktoren ab (Leistung des Servers, Netzwerkinfrastruktur des Hosters, Internetverbindung des Besuchers, Optimierung der Website usw.).
Als Hosting-Anbieter bemĂŒht sich Infomaniak, das Beste im Bereich Hosting anzubieten und entwickelt stĂ€ndig seine Produkte und Infrastruktur weiter:
- Alle Hostings laufen auf SSD-Festplatten der neuesten Generation.
- Die Infrastruktur verfĂŒgt ĂŒber mehr als 70 Gbit/s InterkonnektivitĂ€t und Redundanz mit Cogent, Level3, etc.
- Um Spitzenlasten ohne Probleme bewĂ€ltigen zu können, arbeiten die Server mit Intel Xeon 64-Bit-Prozessoren, die regelmĂ€Ăig ausgetauscht werden, und die geteilten/gehosteten Server nutzen im Durchschnitt nur 40% der Leistung ihrer CPU.
Zudem analysiert Infomaniak, wenn Sie eine Supportanfrage wegen Langsamkeiten einreichen, obâŠ
- ⊠der Server Ihres Hostings funktioniert normal und hat in den letzten 48 Stunden keine Probleme gehabt.
- ⊠die Netzwerkinfrastruktur hat in den letzten 48 Stunden keine Störungen erlebt.
Die Rolle des Site-Inhabers und des Webmasters
Infomaniak greift nicht in den Inhalt der Server oder die Entwicklung von Websites ein. Die Erstellung oder Wartung einer Website ist ein anderes Gewerbe, auch wenn es mit seinen AktivitÀten verbunden ist, da die Tools und Dienste angeboten werden, die ein Webmaster zur Erstellung von Websites verwendet.
Die Ursache der Verzögerungen analysieren
Hier ist, was Sie tun sollten, wenn Sie feststellen, dass Ihre Website langsam ist:
- Folgen Sie den Empfehlungen von Google PageSpeed Insights, um Ihre Website zu optimieren... Die festgestellten Punkte betreffen die Gestaltung der Website und nicht die Serverkonfiguration; nehmen Sie sich diesen anderen Leitfaden zur Kenntnis, wenn das Testergebnis Sie dazu auffordert, die Ressourcenkomprimierung auf Ihrer Website zu aktivieren.
- Bei Verzögerungen aus dem Ausland sollten Sie die Aktivierung von DNS Fast Anycast in Betracht ziehen.
- Installieren und konfigurieren Sie ein Cachesystem auf Ihrer Website, um redundante Zugriffe auf die Datenbanken zu vermeiden und die Anzeige Ihrer Website zu beschleunigen.
- ErwÀgen Sie einen CDN.
- Testen Sie die Antwortgeschwindigkeit des Servers (TTFB).
- Scannen Sie Ihre Hosting- Umgebung auf Viren.
- Löschen Sie regelmĂ€Ăig die Datenbanken und entfernen Sie unnötige EintrĂ€ge.
- Verwenden Sie die neueste PHP-Version, die mit Ihrer Website/CMS/Webanwendung kompatibel ist.
- Vermeiden Sie die Nutzung von Bildern, ZĂ€hlern, CGI oder Medien, die auf externen Anbietern gehostet werden, da Ihr Site langsam erscheinen wird, wenn diese nicht erreichbar sind.
- Deaktivieren Sie eventuelle ĂŒberflĂŒssige WordPress-Erweiterungen, die viele Ressourcen in Ihrem CMS verbrauchen.
- Aktualisieren Sie die CMS/Webanwendungen regelmĂ€Ăig.
- Richten Sie eine Verzögerung fĂŒr die Indexierungs-Bots ein, da einige sehr "aggressiv" arbeiten; Sie können deren Auswirkungen begrenzen, indem Sie einen Crawl-delay einrichten.
- ĂberprĂŒfen Sie die eventuellen error-logs, die alle Fehler enthalten, die von Ihrer Website generiert werden; durch Behebung dieser Fehler wird Ihre Website leistungsfĂ€higer.
- ĂberprĂŒfen Sie die eventuellen slowlogs: Sie enthalten die Abfragen, die lĂ€nger als 5 Sekunden dauern; es ist wichtig, die in dieser Datei aufgelisteten Abfragen zu korrigieren (Beispiele zur SQL-Optimierung).
- FĂŒgen Sie ein Server-Cache-System wie Memcached (nur Cloud-Server) hinzu.
- Erhöhen Sie den Wert max_children (nur Cloud-Server).
Wenn ein Problem weiterhin besteht...
Als Site-Inhaber, wenn Sie Webmaster sind oder einen Webmaster beauftragt haben, der den Grund fĂŒr die Verzögerungen ebenfalls nicht findet, kontaktieren Sie den Infomaniak-Support schriftlich nur nach Erhalt der folgenden Informationen:
- Name der gehosteten Website.
- Datum und Uhrzeit der festgestellten Verzögerungen.
- Name der möglicherweise betroffenen Datenbank / dasselbe gilt fĂŒr FTP-Konto.
- Ihre öffentliche IP-Adresse zum Zeitpunkt der Tests (z.B. sichtbar auf https://www.infomaniak.com/ip).
- Art der festgestellten Verzögerung (Anzeige der Website, FTP-Ăbertragungen...).
- Gibt es Probleme (z.B. Verzögerungen) beim intermittierenden Zugriff auf die Infomaniak-Website?
- Ergebnis eines Traceroute zu
84.16.66.66
und kopieren Sie die vollstĂ€ndigen Ergebnisse (Screenshot falls notwendig). - Ergebnis eines Speedtests, bei dem Infomaniak als Ziel ausgewĂ€hlt wird (speedtest.net â klicken Sie auf Server Ă€ndern, um Infomaniak auszuwĂ€hlen).
Wenn Ihre Anforderungen explodierenâŠ
Wenn die gemeinsame Nutzung nicht mehr fĂŒr Ihre Website geeignet ist, sollten Sie den Wechsel zu einem Serveur Cloud in Betracht ziehen. Ihre Website kann einfach auf diesen Servertyp verschoben werden, wo sie allein sein wird und auf dem Sie beispielsweise einen Cache-Motor installieren können.
Diese Anleitung erklĂ€rt, wie Sie Sicherungen Ă€lterer Versionen Ihrer Dateien und anderer Webdaten Ihrer Infomaniak-Hostings wiederherstellen und eine effektive Sicherungsstrategie implementieren können, falls die automatisch und kostenlos bereitgestellten Sicherungen nicht mehr Ihren Anforderungen an VerfĂŒgbarkeit oder Sicherheit entsprechen.
Webhostings (Starter, Mutualisiert, Server Cloud)
Nehmen Sie diese LeitfÀden zur Kenntnis, um die automatischen Sicherungen wiederherzustellen:
- einer gesamten Webhosting (FTP + MySQL),
- von spezifischen Dateien auf der Webhosting,
- von spezifischen Datenbanken,
- einer Webanwendung (Wordpress & Apps),
- der SSH-Crons des Serveur Cloud.
Nehmen Sie diese LeitfÀden zur Kenntnis, um zu sichern und wiederherzustellen:
- eine Webhosting mit Swiss Backup und Acronis (einfach),
- eine Webhosting mit Swiss Backup und Restic (fortgeschritten),
- WordPress mit Swiss Backup,
- WordPress mit einem Plugin.
Nehmen Sie auch Kenntnis von https://faq.infomaniak.com/snapshot.
Webhostings v1 (altes Angebot 60 GB)
- Sehen Sie sich das automatische Backup (Versionierung) an und/oder laden Sie es herunter, indem Sie auf Ihren FTP-Speicherplatz unter
/backups
und/backup_mysql
am Stammverzeichnis des Domains (ĂŒber/web
) zugreifen. - Stellen Sie diese Daten wieder her.
- Stellen Sie Nachrichten aus den automatischen Infomaniak-Sicherungen wieder her.
- Stellen Sie Kontakte oder Kalenderereignisse wieder her.
- Sichern Sie den aktuellen Inhalt eines E-Mail-Kontos:
- indem Sie den aktuellen Inhalt lokal herunterladen,
- indem Sie den gesamten aktuellen Inhalt in ein Sicherungspostfach duplizieren,
- indem Sie zukĂŒnftige E-Mails bei ihrem Eintreffen in ein Backup-Postfach kopieren.
Domains / DNS-Zonen
- Stellen Sie gelöschte DNS-EintrÀge aus den automatischen Infomaniak-Sicherungen wieder her.
- Stellen Sie eine abgelaufene Domain in der RĂŒckgewinnungsphase wieder her.
Diese Anleitung ermöglicht es Ihnen, die wesentlichen Funktionen des Streaming Radio Infomaniak (oder Broadcast Audio, Live-Audio-Streaming⊠verschiedene Bezeichnungen, die fĂŒr dieselbe Technologie verwendet werden: das Senden von Inhalten in âEchtzeitâ oder mit geringer Verzögerung, was das Abspielen wĂ€hrend der Ăbertragung ermöglicht).
Wo fangen wir an?
Stromkonfiguration
- Ein Streaming-Radio-Fluss konfigurieren
- Einen Audio-Stream-Relay hinzufĂŒgen
- Einen Audio-Backup-Stream hinzufĂŒgen
- Einen Stream löschen
Ein Player erstellen, um den Stream fĂŒr Ihre Internetnutzer anzubieten
- Klicken Sie hier, um auf die Verwaltung Ihres Produkts im Infomaniak Manager zuzugreifen (Hilfe benötigen?).
- Klicken Sie direkt auf den Namen, der dem betreffenden Produkt zugeordnet ist.
- Klicken Sie auf Meine Player im linken SeitenmenĂŒ.
- Klicken Sie auf die blaue SchaltflĂ€che, um einen Player hinzuzufĂŒgen.
Sie können dann zwischen der automatischen Konfiguration oder, falls Sie Ihren eigenen Player oder Ihre eigene Anwendung haben, der Verwendung der Informationen/URLs wĂ€hlen, die Ihnen fĂŒr den Browser, externen Player/App/Android oder iOS bereitgestellt werdenâŠ
Um weiter zu gehenâŠ
- Einen MP3/AAC- oder HLS-Stream mit einem einzigartigen SchlĂŒssel sichern
- Einen Audio-Stream durch GeoIP-BeschrÀnkung sichern
- Die Hörstatistiken einsehen
- Streaming Radio Logs per FTP exportieren
- Die Logs nach ACPM (Frankreich) exportieren
- Die Logs an Mediapulse (Schweiz) exportieren
- Ein Ăbertragungsproblem beheben
Bei Bedarf, kontaktieren Sie den Infomaniak Support.
Dieser Leitfaden erklÀrt, wie man gut mit Swiss Backup, der unabhÀngigen Schweizer Cloud-Sicherungslösung, beginnt.
2 Varianten Swiss Backup
Infomaniak bietet zwei Sicherungsmodi je nach dem, was Sie sichern möchten:
1. CLOUD-Sicherungen
Erlaubt es, Dateien ĂŒber die Protokolle zu sichern und zu synchronisieren:
- Swift (empfohlen)
- FTP / SFTP
- S3
- Synology NAS-System
mit der Anwendung Ihrer Wahl
2. ACRONIS-Sicherungen
Ideale Lösung zum Sichern:
- ArbeitsplÀtze Windows / macOS
- MobilgerÀte iOS / Android (iPhone / Samsung, etc.)
- Server Windows / Linux
- Websites
- Virtuelle Maschinen VMware, Hyper-V, Virtuozzo...
- Microsoft 365 / Google Workspace...
mit der Software Acronis Cyber Protect Cloud, die automatische und benutzerdefinierte Sicherungen durchfĂŒhrt
Anleitung zum Starten der Acronis-Sicherung
Klicken Sie hier, um eine Meinung oder einen Vorschlag zu einem Infomaniak-Produkt zu teilen.
Dieser Leitfaden befasst sich mit den UTM-Tags oder Urchin Tracking Module, Markierungen, die zu URLs hinzugefĂŒgt werden, um die Leistung von Online-Marketingkampagnen aus dem Tool Newsletter Infomaniak zu verfolgen und zu analysieren.
Vorwort
- Diese UTM-Tags, optional, bestehen aus spezifischen Parametern wie Quelle, Medium, Kampagne, SchlĂŒsselwort und Inhalt, die helfen, den Ursprung des Verkehrs eines Links zu identifizieren.
- Durch die Verwendung von UTM-Tags können Marketer verstehen, welche Kampagnen Traffic generieren, welche KanÀle am effektivsten sind und welche Anzeigen oder Strategien am besten funktionieren, basierend auf den von Web-Analyse-Tools gesammelten Daten.
- Die UTM-Tags ermöglichen somit eine Zuordnung zwischen den in Ihren Newslettern enthaltenen Links und der Verfolgung eines Tools wie Google Analytics auf Ihrer Website.
Die UTM-Funktion aktivieren
Um auf Ihre Newsletter zuzugreifen:
- Klicken Sie hier, um auf die Verwaltung Ihres Produkts im Infomaniak Manager zuzugreifen (Hilfe benötigen?).
- Klicken Sie bei Bedarf auf den Domainnamen in der angezeigten Tabelle.
- Die OberflÀche der Newsletter wird angezeigt.
Aktivieren Sie diese Option im ersten Schritt der Erstellung Ihrer Newsletter. Sie finden drei Felder, in denen Sie SchlĂŒsselwörter des Typs utm_parameters angeben können:
- Quelle der Kampagne (utm_source)
- TrÀgermedium der Kampagne (utm_medium, z.B. E-Mail)
- Name der Kampagne (utm_campaign = z.B. der Name Ihrer Kampagne)
Also:
- FĂŒllen Sie die drei UTM-Felder im ersten Schritt der Newsletter-Erstellung aus.
- FĂŒgen Sie einen Link zur URL Ihrer Website (diese muss beispielsweise von Google Analytics richtig konfiguriert und analysiert werden) im dritten Schritt in den Newsletter ein.
- Wenn der Leser darauf klickt, gelangt er zur URL gefolgt von den Begriffen "
?utm_source=...&utm_medium=...&utm_campaign=...
" mit Ihren SchlĂŒsselwörtern anstelle von "...
".
Wenn Sie mehrere SchlĂŒsselwörter in diese Felder eingeben, werden eventuelle Leerzeichen durch Unterstriche underscore _
ersetzt.
SpÀter ist geplant, dass in diese Felder dynamische Formeln, wie z.B. das heutige Datum, eingetragen werden können. Nehmen Sie auch Kenntnis vom Artikel https://news.infomaniak.com/comment-creer-un-objectif-google-analytics.
Dieser Leitfaden stellt mehrere Beispiele fĂŒr die Verwendung von Varnish auf Serveur Cloud Infomaniak vor.
â ïž FĂŒr zusĂ€tzliche Hilfe kontaktieren Sie einen Partner oder starten Sie kostenlos eine Ausschreibung â erfahren Sie auch mehr ĂŒber die Rolle des Hosters.
Varnish-Konfiguration
Nach der Installation umfasst die Konfiguration von Varnish wichtige Regeln fĂŒr das Caching und das Purging. Achten Sie darauf, keine unerwĂŒnschten IP-Adressen versehentlich zu autorisieren.
Hier ist ein Beispiel fĂŒr eine grundlegende Konfigurationsdatei mit einigen hĂ€ufigen FĂ€llen und verschiedenen Aktionen/Regeln in einem einzigen Beispiel:
vcl 4.0;
# Configuration du backend par défaut
backend default {
.host = "127.0.0.80"; # Adresse IP du backend
.port = "80"; # Port du backend
}
# Définition d'une liste de contrÎle d'accÚs (ACL) pour les IPs autorisées à purger le cache
acl purge {
"localhost"; # IP locale
"1.2.3.4"; # IP de votre domicile
"42.42.42.0"/24; # Plage d'IP publique de votre entreprise
! "42.42.42.7"; # Exclusion d'une IP spĂ©cifique (ex : un collĂšgue gĂȘnant)
}
# Traitement des requĂȘtes Ă leur rĂ©ception par Varnish
sub vcl_recv {
# Autoriser les requĂȘtes de purge
if (req.method == "PURGE") {
# Vérification si l'IP du client est autorisée à purger
if (!client.ip ~ purge) { # 'purge' fait référence à l'ACL définie plus haut
# Retourne une page d'erreur si l'IP n'est pas autorisée
return (synth(405, "Cette IP n'est pas autorisĂ©e Ă envoyer des requĂȘtes PURGE."));
}
# Si l'IP est autorisĂ©e, purger le cache pour cette requĂȘte
return (purge);
}
# Autoriser la purge de toutes les images via une requĂȘte PURGEALL
if (req.method == "PURGEALL" && req.url == "/images") {
if (!client.ip ~ purge) {
return (synth(405, "Cette IP n'est pas autorisĂ©e Ă envoyer des requĂȘtes PURGE."));
}
# Invalider tous les objets en cache correspondant Ă des images
ban("req.url ~ \.(jpg|png|gif|svg)$");
return (synth(200, "Images purgées."));
}
# Ne pas mettre en cache les pages avec une autorisation (header Authorization)
if (req.http.Authorization) {
# Passer la requĂȘte directement au backend sans la mettre en cache
return (pass);
}
}
# Traitement de la réponse du backend avant de la renvoyer au client
sub vcl_backend_response {
# Mise en cache des images pour une durée de 1 jour
if (beresp.http.content-type ~ "image") {
set beresp.ttl = 1d;
}
# Si le backend indique que la rĂ©ponse ne doit pas ĂȘtre mise en cache, respecter cette consigne
if (beresp.http.uncacheable) {
set beresp.uncacheable = true;
}
}
Purge von der CLI-Schnittstelle
Ab diesem Punkt gelten die in der obigen Konfiguration festgelegten Regeln fĂŒr alle Anfragen. Wenn die konfigurierte Website "domain.xyz" ist, können Sie einfach das CLI-Tool "curl
" verwenden und folgendes tun:
# Envoyer une requĂȘte PURGE pour purger la page d'accueil de "domain.xyz"
$ curl -X PURGE https://domain.xyz/
# Réponse renvoyée par le serveur Varnish
<!DOCTYPE html>
<html>
<head>
<title>200 Purged</title>
</head>
<body>
<h1>Erreur 200 : Purge effectuée</h1>
<p>La page a été purgée avec succÚs.</p>
<h3>Guru Meditation:</h3>
<p>XID: 2</p>
<hr>
<p>Serveur de cache Varnish</p>
</body>
</html>
Und dort wurde die Startseite geleert. Oder um eine andere URL zu leeren, zeigen Sie einfach die Anfrage auf diese:
# Envoyer une requĂȘte PURGE pour purger un fichier spĂ©cifique Ă "domain.xyz"
$ curl -X PURGE https://domain.xyz/some_path/some_file.html
# Réponse renvoyée par le serveur Varnish
<!DOCTYPE html>
<html>
<head>
<title>200 Purged</title>
</head>
<body>
<h1>Erreur 200 : Purge effectuée</h1>
<p>Le fichier a été purgé avec succÚs.</p>
<h3>Guru Meditation:</h3>
<p>XID: 4</p>
<hr>
<p>Serveur de cache Varnish</p>
</body>
</html>
Oder, wie in der VCL-Konfiguration angegeben, alle Bilder löschen:
# Envoyer une requĂȘte PURGEALL pour purger toutes les images dans "domain.xyz"
$ curl -X PURGEALL https://domain.xyz/images
# Réponse renvoyée par le serveur Varnish
<!DOCTYPE html>
<html>
<head>
<title>200 Purged images</title>
</head>
<body>
<h1>Erreur 200 : Images purgées</h1>
<p>Toutes les images ont été purgées avec succÚs.</p>
<h3>Guru Meditation:</h3>
<p>XID: 32770</p>
<hr>
<p>Serveur de cache Varnish</p>
</body>
</html>
Purge von einem CMS
Dies ist ein bisschen schwieriger zu veranschaulichen, da es viele Möglichkeiten gibt, die Caching-Verwaltung von einem Backend aus zu steuern. Im obigen Konfigurationsbeispiel wird eine Kontrolle ĂŒber den Header "Uncacheable
" hinzugefĂŒgt, die das Caching deaktiviert. Mit dieser Option könnte jedes CMS einfach diesen Header in der Antwort festlegen, um das Caching dieser Anfrage zu deaktivieren, z.B.
Von jedem PHP-Code aus und mit der obigen Konfiguration können Sie einfach eine HTTP-Anfrage senden und diesen Ausschnitt verwenden, um einen PURGE des Caches durchzufĂŒhren:
<?php
if ($curl = curl_init("http://127.0.0.1/some_url")) {
curl_setopt_array($curl, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "PURGE",
CURLOPT_HTTPHEADER => [
"Host: {$_SERVER['HTTP_HOST']}"
]
]);
curl_exec($curl);
if (curl_getinfo($curl, CURLINFO_HTTP_CODE) == 200) {
echo "Cache purged!";
}
curl_close($curl);
}
?>
Mehr erfahren
NĂŒtzliche Links zum Konfigurationssprache Varnish (VCL) zur Steuerung der Anforderungsverarbeitung, des Routings, der Caching und mehrere andere Aspekte:
Dieser Leitfaden erklÀrt, wie man systemd
auf einem Serveur Cloud installiert und konfiguriert und stellt die wichtigsten verwendbaren Befehle vor.
â ïž FĂŒr zusĂ€tzliche Hilfe kontaktieren Sie einen Partner oder starten Sie kostenlos eine Ausschreibung â erfahren Sie auch mehr ĂŒber die Rolle des Hosters.
Voraussetzungen
- Folgen Sie der Installationsanleitung fĂŒr
systemd
fĂŒr Serveur Cloud. - Die offizielle Dokumentation konsultieren, um sich ĂŒber die Möglichkeiten von systemd zu informieren.
- Die "unit"-Dateien mĂŒssen in
~/.config/systemd/user/ (/home/clients/absolute-path-id/.config/systemd/user)
platziert werden (wobei absolute-path-id durch die in Ihrem Manager sichtbare ID ersetzt wird) und die Berechtigungen mĂŒssen auf 0644 gesetzt werden. - Der Parameter
--user
muss in jedem Befehl angegeben werden.
Hauptbefehle
Hier ist eine nicht abschlieĂende Liste von Befehlen, die mit systemd
verwendet werden können.
Dazu zwingen systemd
die Unit-Dateien erneut zu lesen und die Ănderungen zu berĂŒcksichtigen:
systemctl --user daemon-reload
Aktivierung eines Dienstes:
systemctl --user enable --now SERVICENAME.service
ĂberprĂŒfung des Status eines Dienstes:
systemctl --user status SERVICENAME.service
Konfiguration von Node als Dienst mit systemd
Es wird notwendig sein, eine "Unit"-Datei mit der Erweiterung ".service" zu erstellen, die im Verzeichnis gespeichert werden muss:
~/.config/systemd/user/
Es ist möglich, das folgende Beispiel zu verwenden, indem die Werte, die mit {} beginnen, ersetzt werden:
[Unit]
Description={Le nom du service} # Spécifier ici un nom du service. Celui-ci est obligatoire mais n'a pas d'impact sur le fonctionnement
[Service]
Restart=always
Environment=NODE_VERSION={la version souhaitée} # Spécifier ici la version de Node à utiliser. S'assurer qu'elle soit installée au préalable avec "nvm install {la version souhaitée}"
WorkingDirectory=%h/{repertoire du projet Node} # %h correspond à la racine de l'hébergement
ExecStart=/bin/bash -c "exec $HOME/.nvm/nvm-exec {commande de lancement du script node}" # Cette commande dépend du projet. Par exemple, "npm run start", "npm run serve" ou encore "node server.js" sont courants
[Install]
WantedBy=default.target
ZusÀtzliche Aktionen mit einer Unit-Datei
systemctl --user daemon-reload
Dienst starten (wenn dieser bereits aktiv ist, passiert nichts):
systemctl --user start [Nom du Unit]
Dienst stoppen (wenn dieser nicht aktiv ist, passiert nichts):
systemctl --user stop [Nom du Unit]
Dienst neu starten (wenn er nicht lÀuft, wird er gestartet):
systemctl --user restart [Nom du Unit]
Informationen ĂŒber den Dienst erhalten; insbesondere:
- "Active" zeigt an, ob der Dienst lÀuft und seit wann"
- "CGroup" zeigt die Prozessgruppe an, die der Dienst verwaltet. Dies ermöglicht es, die aktiven Prozesse mit ihren Argumenten und ihrer ID zu sehen.
Unter âCGroupâ befinden sich eventuelle Logs (die Standardausgabe und Fehler des Prozesses):
systemctl --user status [Nom du Unit]
Den automatischen Start des Dienstes beim Serverstart aktivieren; Hinweis: Dies startet den Dienst nicht:
systemctl --user enable [Nom du Unit]
Das automatische Starten des Dienstes beim Serverstart deaktivieren; Hinweis: Dies stoppt den Dienst nicht:
systemctl --user disable [Nom du Unit]
Konfiguration mit den Benutzereingaben:
[Unit]
Description="nom service"
[Service]
Restart=always
Environment=NODE_VERSION=16.17
WorkingDirectory=%h/sites/"nom-repertoire-site"/
ExecStart=/bin/bash -c "exec $HOME/.nvm/nvm-exec npm run start"
[Install]
WantedBy=default.target
Dieser Leitfaden beschreibt, wie Sie Daten von iCloud mit rClone auf kDrive Infomaniak importieren.
KOMPATIBILITĂT my kSuite âââ | my kSuite+ ââ ââ= Angebot kompatibel | ââ= Nicht verfĂŒgbar |
Vorbemerkung
- Da Apple keine API wie seine Konkurrenten anbietet, ist eine Lösung zum Abrufen von Dokumenten aus einem iCloud Drive die Installation der app kDrive macOS, um den Ordner icloud zu synchronisieren, der sich in Ihrer Bibliothek befinden muss. Die folgende Anleitung bietet eine solide Alternative.
1. rclone fĂŒr den Zugriff auf die Drives konfigurieren
Installation von rclone auf Ihrem Computer
Es gibt eine Version von rclone mit grafischer BenutzeroberflĂ€che (GUI), aber es ist durchaus möglich, dies ĂŒber die Befehlszeile (CLI) zu tun:
- Installieren Sie rclone ĂŒber eine Anwendung wie
Terminal
auf Ihrem GerÀt, indem Sie den folgenden Befehl eingeben:sudo -v ; curl https://rclone.org/install.sh | sudo bash
- Geben Sie das Passwort Ihrer Sitzung auf Ihrem Computer ein, um die Installation zu starten:
- Nehmen Sie den offiziellen Installationsleitfaden zur Kenntnis, falls erforderlich.
Konfiguration des entfernten Laufwerks (iCloud) in rclone
- Sobald rclone installiert ist, geben Sie den Befehl
rclone config
ein.- Bekannt machen Sie sich mit dem offiziellen Konfigurationshandbuch falls notwendig.
- WĂ€hlen Sie dann, eine neue Fernimportierung zu konfigurieren, indem Sie
n
fĂŒrNew remote
antworten. - Benennen Sie das entfernte Laufwerk, z.B.
appledrive
: - WĂ€hlen Sie dann den Typ des zu importierenden Laufwerks aus, indem Sie
iclouddrive
eingeben, was iCloud Drive entspricht, aus den angebotenen Optionen. - Geben Sie rclone die
apple_id
an, indem Sie Ihre Apple-ID (in der Regel eine E-Mail-Adresse) eingeben. - WĂ€hlen Sie, Ihr eigenes Passwort zu verwenden, das mit der Apple-ID verknĂŒpft ist (
y
). - Geben Sie Ihr Passwort zweimal ein, wie angefordert:
- Antworten Sie âNeinâ
n
auf die Frage zur âerweiterten Konfigurationâ. - Ein Fenster auf Ihrem GerĂ€t sollte sich öffnen, um Sie ĂŒber eine entfernte Verbindung zu benachrichtigen; erlauben Sie dies:
- Ein Fenster auf Ihrem GerÀt sollte sich mit einem 2FA-Code öffnen; kopieren Sie ihn:
- FĂŒgen Sie den Code ein, wenn rclone Sie es anfordert.
- Antworten Sie mit âJaâ
y
auf die letzte Frage, wenn alle angezeigten Informationen korrekt sind.
Konfiguration des Ziellaufwerks (kDrive) in rclone
Es ist möglich, direkt auf die Konfigurationsdatei von rclone zuzugreifen und Ihre kDrive-Konfiguration in der folgenden Form einzufĂŒgen:
[kDrive]
type = webdav
url = https://kDrive_ID_HERE.connect.kdrive.infomaniak.com/
vendor = other
user = user@email.com
pass = PASSWORD_HERE_OR_APP_PASSWORD_IF_2FA
Aber hier ist, wie Sie Schritt fĂŒr Schritt vorgehen können, Ă€hnlich wie bei der vorherigen Konfiguration:
- Immer im Terminal, geben Sie
n
fĂŒr eine neue Festplattenkonfiguration ein und geben Sie den NamenkDrive
ein, um Ihr Ziel-Laufwerk zu erkennen: - WĂ€hlen Sie dann den Typ des zu importierenden Laufwerks aus, indem Sie
webdav
eingeben, was einer WebDAV-Konfiguration unter den angebotenen Optionen entspricht. - Geben Sie die folgenden Informationen ein:
url
= direkter Zugriff auf kDrive (nehmen Sie sich diesen anderen Leitfaden zum Thema kDrive-ID fĂŒr die Verbindungs-URL zur Kenntnis)vendor
= rclone (Option Nr. 6)user
= E-Mail-Adresse fĂŒr den Login zum Infomaniak-Benutzerkonto
- Antworten Sie mit âJaâ
y
auf die Frage zum Passwort und geben Sie dann das Passwort ein:- Anwendungs-Passwort bei aktivierter Zwei-Faktor-Authentifizierung oderâ das Passwort Ihres Infomaniak-Benutzerkontos, wenn Sie die 2FA nicht aktiviert haben.
- Lassen Sie das
bearer_token
leer und antworten Sie mit âNeinân
auf die Frage zur âerweiterten Konfigurationâ. - Antworten Sie mit âJaâ
y
auf die letzte Frage und Ihre 2 Laufwerke werden angezeigt:â
2. iCloud-Daten in kDrive kopieren
Voraussetzungen
- Besorgen Sie sich die verfĂŒgbaren Optionen im offiziellen Leitfaden bevor Sie mit dem Import beginnen.
Beispiel fĂŒr einen Befehl, um eine Kopie Ihrer iCloud-Daten in das Stammverzeichnis Ihres kDrive zu starten:
sudo rclone copy appledrive: kDrive:
Dies wird sofort die Kopie Ihrer Ordner, Unterordner und Inhalte von iCloud in Ihren persönlichen Ordner Ihres kDrive Infomaniak starten!
Hinweise zu den Datumsangaben Ihrer exportierten Fotos
Wenn Sie Ihre Fotos von iCloud nach kDrive Infomaniak exportieren, sollten Sie die Metadaten der Datumsangaben im Auge behalten. Beim Exportieren können die Erstellungsdaten der Dateien geĂ€ndert und durch das Exportdatum ersetzt werden, anstatt durch das ursprĂŒngliche Aufnahmedatum.
Hier ist ein Skript fĂŒr fortgeschrittene Benutzer, das es ermöglicht, die richtigen Daten aus den EXIF-Informationen wiederherzustellen (es wird empfohlen, maximal 7000 Fotos auf einmal zu bearbeiten, um einen Absturz zu vermeiden):
- Laden Sie ExifTool https://exiftool.org/index.html (MacOS Package) herunter.
- Installieren Sie die Anwendung und erlauben Sie deren Ăffnung im Voraus, falls erforderlich:
- Ăffnen Sie Script Editor (im Ordner Anwendungen > Dienstprogramme):
- Klicken Sie auf Neues Dokument.
- Kopieren Sie das lange Skript, das unten vorgeschlagen wird, in das Script Editor-Fenster.
- Klicken Sie auf AusfĂŒhren, um das Skript zu starten. Ein Fenster öffnet sich:
- WĂ€hlen Sie den zu analysierenden Ordner aus.
- Lassen Sie dann das Skript laufen, es wird die Daten Àndern oder Fehler in eine Datei errors.txt auf dem Desktop schreiben.
Der gesamte zu kopierende und einzufĂŒgende Skript:
-- remplace date du fichier par la date exif creation
tell application "Finder"
set Chemin to choose folder with prompt "Sélectionnez le dossier contenant les fichiers à redater"
my inspecter(Chemin)
end tell
on inspecter(un_dossier)
tell application "Finder"
-- traitement des fichiers :
set les_fichiers to files of un_dossier
repeat with chaque_fichier in les_fichiers
-- traitement d'un fichier
set lefichier to chaque_fichier
set AppleScript's text item delimiters to {""}
set nom to name of chaque_fichier --récupÚre le nom du fichier
set extens to document file nom in un_dossier --recupere l extension du fichier
set lextension to name extension of extens
set sauv to AppleScript's text item delimiters --sauvegarder la variable delimiteur
set AppleScript's text item delimiters to {"."} --récupÚre la partie avant le dernier "."
set elements to text items of nom
set nomcourt to (items 1 thru -2 of elements) as string
set ancien_nom to nomcourt
set AppleScript's text item delimiters to sauv --restaurer la variable delimiteur
set chaque_fichier to chaque_fichier as string
try
set datephoto to do shell script "/usr/local/bin/exiftool -DateTimeOriginal " & quoted form of POSIX path of chaque_fichier
if datephoto is "" then set datephoto to do shell script "/usr/local/bin/exiftool -CreationDate " & quoted form of POSIX path of chaque_fichier
if datephoto is "" then set datephoto to do shell script "/usr/local/bin/exiftool -CreateDate " & quoted form of POSIX path of chaque_fichier
on error
-- Ecrit un fichier erreur sur le bureau si erreur chargement date
set lelog to open for access ((path to desktop folder as text) & "errors.txt") as text with write permission
write "Le fichier ne contient pas de date : " & chaque_fichier & return to lelog starting at eof
close access lelog
set datephoto to ""
end try
if length of datephoto > 20 then
set x to (length of datephoto) - 33
set DateOriginale to text -x thru -1 of datephoto
set ladate to text 1 thru 5 of DateOriginale
set lannee to ladate
set ladate to ladate & text 7 thru 8 of DateOriginale
set lemois to text 7 thru 8 of DateOriginale
set ladate to ladate & text 10 thru 11 of DateOriginale
set lejour to text 10 thru 11 of DateOriginale
set ladate to ladate & text 13 thru 14 of DateOriginale
set lheure to text 13 thru 14 of DateOriginale
set ladate to ladate & text 16 thru 17 of DateOriginale
set lesminutes to text 16 thru 17 of DateOriginale
set ladate to ladate & "." & text 19 thru 20 of DateOriginale
set lessecondes to text 19 thru 20 of DateOriginale
set newnom to lannee & "-" & lemois & "-" & lejour & " " & lheure & "." & lesminutes & "." & lessecondes
set xxx to ladate as string
if xxx is " 000000000000.00" then
-- Ecrit un fichier erreur sur le bureau si erreur chargement date(=0000...)
set lelog to open for access ((path to desktop folder as text) & "errors.txt") as text with write permission
write "Le fichier ne contient pas de date : " & chaque_fichier & return to lelog starting at eof
close access lelog
else
do shell script "touch -t " & ladate & " " & quoted form of POSIX path of chaque_fichier
end if
end if
if datephoto is not "" then
else
set lelog to open for access ((path to desktop folder as text) & "errors.txt") as text with write permission
write "Le fichier ne contient pas de date : " & chaque_fichier & return to lelog starting at eof
close access lelog
end if
end repeat
-- traitement des dossiers :
set les_dossiers to folders of un_dossier
repeat with chaque_dossier in les_dossiers
-- traitement d'un dossier
my inspecter(chaque_dossier)
end repeat
end tell
end inspecter
tell application "Finder"
(display dialog ("waouou ... Ca y est c'est fait !") buttons {"Salut !"})
end tell