Installation von Sentry auf Ubuntu 18.04 unter Verwendung von Nginx und Letsencrypt-Zertifikaten
Dieses Tutorial führt dich durch den Einrichtungsprozess von Sentry (On-Premise/Self-Hosted) unter Verwendung von Ubuntu 18.04, Nginx als Webserver und Letsencrypt-Zertifikaten.
Der erste Schritt besteht darin, Ubuntu 18.04 einzurichten. In meinem Fall verwende ich einen Cloud-Server von Hetzner. Du solltest einen Server mit mindestens 4 GB RAM verwenden, da der Einrichtungsprozess überprüft, ob mindestens 2,5 GB RAM für Docker verfügbar sind. Aus diesem Grund habe ich mich für einen CX21-Server entschieden.
Der erste Schritt besteht darin, das System zu aktualisieren:
apt-get update
apt-get full-upgrade
reboot
Als nächstes installiere Docker:
sudo apt-get remove docker docker-engine docker.io containerd runc
sudo apt-get update
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Wenn du eine 64-Bit-Umgebung verwendest, verwende den folgenden Befehl. Andernfalls sieh diesen Link für den erforderlichen Befehl ein:
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
Du kannst überprüfen, ob Docker erfolgreich installiert wurde, indem du Folgendes ausführst:
sudo docker run hello-world
Es sollte eine Ausgabe von "Hello World" erscheinen, wenn alles wie erwartet funktioniert.
Um Docker Compose zu installieren, führe diese Befehle aus (aktualisierte Versionen findest du hier):
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
Optional: Wenn Docker Compose nach der Installation nicht funktioniert, musst du möglicherweise einen symbolischen Link erstellen:
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
Um Sentry selbst zu installieren, verwende diese Befehle:
git clone https://github.com/getsentry/onpremise.git
Vor der Installation von Sentry überprüfe die Konfigurationsparameter hier. Nachdem du die Seite überprüft und die gewünschten Einstellungen (z.B. E-Mail) konfiguriert hast, führe Folgendes aus:
./install.sh
Nach Abschluss des Installationsprozesses führe diesen Befeh
l aus, um Sentry zu starten:
docker-compose up -d
Nach der Installation von Sentry musst du Nginx als Reverse Proxy installieren. Führe dazu folgenden Befehl aus:
apt-get install nginx-full
Nachdem die Einrichtung abgeschlossen ist, ersetze die Standard-Site-Konfiguration wie folgt:
mv /etc/nginx/sites-available/default /etc/nginx/sites-available/old_default
Erstelle nun eine neue Standardkonfiguration (ersetze your.server.name
):
server {
listen 80;
server_name your.server.name;
location / {
proxy_pass http://localhost:9000;
add_header Strict-Transport-Security "max-age=31536000";
}
}
Überprüfe nun deine Konfiguration auf Fehler:
sudo nginx -t
Wenn alles in Ordnung ist, lade die Nginx-Konfiguration neu:
sudo systemctl reload nginx
Wenn du http://your.server.name aufrufst, solltest du auf deine Sentry-Installation zugreifen können. Es handelt sich jedoch um eine HTTP-Verbindung. Stattdessen möchten wir eine HTTPS-Verbindung haben. Installieren wir also ein Letsencrypt-Zertifikat.
Führe diese Befehle aus:
sudo add-apt-repository ppa:certbot/certbot
sudo apt install python-certbot-nginx
Führe diesen Befehl aus, um das gewünschte Zertifikat zu erhalten (ersetze your.server.name
durch die gewünschte Domäne):
sudo certbot --nginx -d your.server.name
Ein Assistent führt dich durch den Einrichtungsprozess.
Wenn alles gut funktioniert hat, kannst du überprüfen, ob die automatische Zertifikatserneuerung funktioniert, indem du Folgendes ausführst:
sudo certbot renew --dry-run
Um die Sicherheit zu erhöhen, konfigurieren wir eine Firewall. Überprüfe zuerst den Status mit folgendem Befehl:
sudo ufw status
Füge nun die gewünschten Regeln für SSH und Nginx hinzu:
sudo ufw allow ssh
sudo ufw allow 'Nginx Full'
Aktiviere die Firewall mit:
sudo ufw enable
Die Servereinrichtung ist abgeschlossen. Beachte, dass dies eine grundlegende Einrichtung ist. Du musst wissen, was du tust, bevor du diesen Server in einer produktiven Umgebung betreibst!