⚪Privatebin richtig absichern für öffentlichen Zugang

Du möchtest deine PrivateBin-Instanz öffentlich zugänglich machen, aber verhindern, dass andere Nutzer neue Inhalte erstellen können?

Mit dieser Anleitung kannst du genau das umsetzen. Nur du kannst Inhalte erstellen – alle können lesen

Ziel:

Öffentlicher Zugriff auf bereits erstellte Pastes (z. B. über https://paste.<domain>.ltl)

Erstellen von Pastes nur durch dich selbst, über einen geschützten Admin-Zugang (z. B. https://admin.paste.<domain>.ltl)


Übersicht der Struktur:

Funktionpaste.<domain>.ltladmin.paste.<domain>.ltl
Paste erstellen❌ deaktiviert✅ aktiviert
Paste lesen✅ ohne Login✅ mit oder ohne Login
Login notwendig?❌ nein✅ ja (nur für dich)


Was wird benötigt?

  • Apache2 Webserver mit aktivierten .htaccess-Dateien

  • PrivateBin installiert (z. B. in /var/www/paste)

  • Domain/Subdomain richtig konfiguriert mit einem A-Record Eintrag im DNS Server vom Hosting Anbieter.


Schritt 1: PrivateBin kopieren

cd /var/www/
cp -r paste admin-paste

Nun hast du zwei Verzeichnisse:

  • /var/www/paste (öffentlich)

  • /var/www/admin-paste (nur für dich)


Schritt 2: conf.php anpassen
Bearbeite die Konfigurationsdatei in beiden Verzeichnissen:


Öffentliche Version (/var/www/paste/cfg/conf.php):
'allow_paste' => false,

Admin Version (/var/www/admin-paste/cfg/conf.php):
'allow_paste' => true,


Schritt 3: Admin-Bereich mit Passwort schützen
Erstelle .htaccess in /var/www/admin-paste/:

AuthType Basic
AuthName "PrivateBin Admin"
AuthUserFile /var/www/.htpasswd
Require valid-user

Dann erstelle die Passwort-Datei:

Du wirst aufgefordert, ein Passwort einzugeben.

htpasswd -c /var/www/.htpasswd deinbenutzername

Schritt 4: Apache Virtual Hosts einrichten
Beispiel für /etc/apache2/sites-available/paste.<domain>.ltl

<VirtualHost *:80>
    ServerName paste.<domain>.ltl
    DocumentRoot /var/www/paste
    <Directory /var/www/paste>
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

Beispiel für admin.paste.<domain>.ltl

<VirtualHost *:80>
    ServerName admin.paste.<domain>.ltl
    DocumentRoot /var/www/admin-paste
    <Directory /var/www/admin-paste>
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

Aktiviere beide Seiten mit:
a2ensite paste.<domain>.ltl
a2ensite admin.paste.<domain>.ltl
systemctl reload apache2

Schritt 4 kannst du machen wenn du einen Apache2 Webserver unter Linux eingrichtet hast solltest du auf Cloudpanel oder einem anderen Hostingplatform dein Privatbin laufen haben, wird der Schritt etwas angepasst werden müssen.

🔑Falls du deine Webseite noch mit einem Let's Encrypt Zertifikat absichern möchtest muss du noch folgendes tun:

apt install certbot python3-certbot-apache
certbot --apache -d paste.<domain>.ltl -d admin.paste.<domain>.ltl


  • Öffne https://paste.<domain>.ltl → Du solltest Inhalte lesen, aber nichts erstellen können

  • Öffne https://admin.paste.<domain>.ltl → Du wirst nach Benutzer/Passwort gefragt. Danach kannst du neue Inhalte erstellen

    Du hast jetzt eine sichere PrivateBin-Instanz, bei der nur du Inhalte erstellen kannst – perfekt für die öffentliche Nutzung, ohne Missbrauchsrisiko!