Blog

Installation von Sentry unter Ubuntu 18.04 mit NGINX und LetsEncrypt Zertifikat

Webserver Linux

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.

Docker Compose

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

Sentry installieren

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

Nginx installieren

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.

Letsencrypt-Zertifikat installieren

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

Firewall einrichten

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

Fertig

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!