indymedia spiegeln mit diym_php

Beschreibung eines Softwarepakets dass es erlaubt Artikel von indymedia zu spiegeln und auf einer eigenen Seite zu hosten. Links und Installationsanleitung.

Die Software mit der die Seite ompf betrieben wird (Artikel: https://de.indymedia.org/node/79303 , direkter Link http://hq73inugsyl5pzhnbm2uonuq6h2veztdhicvoiefhlofrzbbwa57xsad.onion), und in der Vergangenheit auch gei-ge.de (siehe:http://dvqlamnbbzli62qfyt5faspxunueqdxc4csrslhcp2z3haiflnrn6dqd.onion/tu...), wurde aktualisiert. Das Softwarerelease wird im diesem Artikel etwas detallierter hier besprochen : http://hq73inugsyl5pzhnbm2uonuq6h2veztdhicvoiefhlofrzbbwa57xsad.onion/no..., in diesem Tutorial sollen lediglich die Installationsanweisungen nochmal veröffentlicht werden.

Nach einer erfolgreichen Installation hat mensch eine Seite wie eben ompf, die aber natürlich auf alle möglichen Arten an die persönlichen Vorlieben und Voraussetzungen angepasst werden kann.

 

Installation:

  1. Archiv herunterladen von http://hq73inugsyl5pzhnbm2uonuq6h2veztdhicvoiefhlofrzbbwa57xsad.onion/so...
  2. Prüfsummendatei herunterladen von http://hq73inugsyl5pzhnbm2uonuq6h2veztdhicvoiefhlofrzbbwa57xsad.onion/so...
  3. Signatur herunterladen von http://hq73inugsyl5pzhnbm2uonuq6h2veztdhicvoiefhlofrzbbwa57xsad.onion/so...
  4. öffentlichen Schlüssel herunterladen von http://hq73inugsyl5pzhnbm2uonuq6h2veztdhicvoiefhlofrzbbwa57xsad.onion/so... und importieren mit gpg --import diym_php_dev_pubkey.asc
  5. überprüfen ob die Prüfsummendatei korrekt ist: sha512sum -c ./diymedia_v0.6.zip.sha512. Dieser Befehl muss "ok" ausgeben, ansonsten ist wahrscheinlich der Download nicht korrekt abgelaufen.
  6. die Signatur überprüfen: gpg --verify ./diymedia_v0.6.zip.sig ./diymedia_v0.6.zip Dieser Befehl muss ebenfalls eine postive Rückmeldung ausgeben (Good signature from ...).
  7. das Archiv entpacken : unzip ./diymedia_v0.6.zip
  8. in das erzeugte Verzeichnis wechseln : cd ./diymedia/
  9. das Installskript starten : ./install.sh --full und sich durch die Abfragen klicken (als root, ansonsten sudo ./install.sh)
  10. Einstellungen anpassen über die Datei /etc/opt/diym_php/conf.inc.php
  11. Das Spiegeln von Artikeln aktivieren über : rm /var/opt/diym_php/files/no_sync.txt
  12. Testweise den eigenen Server aufrufen um zu sehen das die Seite funktioniert

    Mit den Standardeinstellungen sind die ersten Artikel von anderen diym Servern sind nach etwa 90 Minuten sichtbar, die ersten Artikel von de.indymedia nach circa einem Tag.
    Nach ein paar Tagen werden alle ca. 90.000 Artikel gespiegelt sein, nach ein oder zwei Wochen sind auch alle Dateien heruntergeladen (wenn gar keine Artikel erscheinen, wurde entweder Schritt 11 ausgelassen oder die cronjobs starten aus irgendwelchen Gründen nicht. In diesem Fall können die entsprechenden Skripte von Hand gestartet werden (im Verzeichnis /opt/diym_php/bin/). Das sollte allerdings nicht als Dauerlösung benutzt werden).

    Installation von Hand

    Wer die ganze Installation lieber von Hand erledigen will (oder muss), folgt der Anleitung oben bis Schritt 8, und danach folgende Schritten (die Anleitung findet ihr auch unter /doc/installation_von_hand.md im Archiv):

    Die folgenden Befehle sind für ein halbwegs modernes Linuxsystem, in den folgenden Beispielen wird von Debian ausgegangen, was auch empfohlen wird.

    Wenn der Paketmanager apt nicht zur Verfügung steht, müssen die Befehle zur Installation von Software auf den Paketmanager des Systems angepasst werden.

    Es muss php Version 7.0 oder höher zur Verfügung stehen (bzw. installiert werden können).

    Es wird empfohlen keine Desktopsysteme wie Ubuntu oder Mint zu verwenden um die Angriffsoberfläche zu verkleinern und die Wahrscheinlichkeit von Identitätsleaks zu vermindern.

    Es muss Zugang zu einem Terminal auf dem Rechner bestehen, entweder lokal oder über Netz (ssh).

    Zur Installation von Software müssen root Rechte besessen werden (Anmeldung als root oder sudo vor den jeweiligen Befehlen).

    Die Beispielbefehle werden auf dem System "server" als user "root" ausgeführt, im Verzeichnis "/root/diymedia" (also dort wo ihr das Archiv entpackt habt). Der eigentliche Befehl ist das was hinter dem "root@server:/root/diymedia# " kommt.

    System aktualisieren

    root@server:/root/diymedia# apt update && apt upgrade -y

    Abhängigkeiten installieren

    root@server:/root/diymedia# apt install -y nginx tor privoxy php php-fpm php-gd php-mbstring php-json lynx wget jq curl

    Die benötigten Verzeichnisse erstellen:

    root@server:/root/diymedia# mkdir -p /etc/opt/diym_php /opt/diym_php/php /opt/diym_php/bin /opt/diym_php/doc /var/opt/diym_php/tmp
    root@server:/root/diymedia# mkdir -p /var/opt/diym_php/templates /var/opt/diym_php/files/indysync /var/opt/diym_php/log
    root@server:/root/diymedia# mkdir -p /var/opt/diym_php/files/shadow /var/opt/diym_php/files/updated /var/opt/diym_php/files/listupdates
    root@server:/root/diymedia# mkdir -p /var/opt/diym_php/captcha /srv/diym_php/webroot/node /srv/diym_php/webroot/tag/all
    root@server:/root/diymedia# mkdir -p /srv/diym_php/webroot/region /srv/diym_php/webroot/user /srv/diym_php/webroot/indy
    root@server:/root/diymedia# mkdir -p /srv/diym_php/webroot/local /srv/diym_php/webroot/mod /srv/diym_php/webroot/diym
    root@server:/root/diymedia# mkdir -p /srv/diym_php/webroot/garbage /srv/diym_php/webroot/pub /srv/diym_php/webroot/images
    root@server:/root/diymedia# mkdir -p /srv/diym_php/webroot/css /srv/diym_php/webroot/tmp /srv/diym_php/webroot/files

    Tor hidden service einrichten

    Die Datei torrc ergänzen:

    root@server:/root/diymedia# echo 'HiddenServiceDir /var/lib/tor/diym_php/' >> /etc/tor/torrc
    root@server:/root/diymedia# echo 'HiddenServicePort 80 127.0.0.1:80' >> /etc/tor/torrc

    Achtung: diese Befehle setzen voraus dass es noch keinen hidden service namens "diym_php" gibt, und dass der Standardport 80 auf local noch frei ist (d.h. dass kein anderer webserver diesen Port auf 127.0.0.1 bereits belegen darf). Ansonsten muss ein anderer Name und/oder ein anderer Port gewählt werden (ein geänderter Port muss ebenfalls in den Konfigurationsdateien für nginx geändert werden).

    Tor neu starten:

    root@server:/root/diymedia# service tor reload

    Die Adresse der neuen onion Seite anschauen und kopieren:

    root@server:/root/diymedia# cat /var/lib/tor/diym_php/hostname

    Konfigurationsdateien anpassen

     

    nginx

    Den string "someonionaddressesplaceholder.onion" durch die onion-Adresse ersetzen in den Dateien ./conf/diym_php.conf und ./conf/diym_php_static.conf, zB mit

    root@server:/root/diymedia# sed -i -e "s/someonionaddressesplaceholder.onion/$new_onion/g" ./conf/diym_php.conf
    root@server:/root/diymedia# sed -i -e "s/someonionaddressesplaceholder.onion/$new_onion/g" ./conf/diym_php_static.conf

    Bei diesem Befehl $new_onion mit der onion-Adresse ersetzen wie zB:

    root@server:/root/diymedia# sed -i -e "s/someonionaddressesplaceholder.onion/hq73inugsyl5pzhnbm2uonuq6h2veztdhicvoiefhlofrzbbwa57xsad.onion/g" ./conf/diym_php.conf
    root@server:/root/diymedia# sed -i -e "s/someonionaddressesplaceholder.onion/hq73inugsyl5pzhnbm2uonuq6h2veztdhicvoiefhlofrzbbwa57xsad.onion/g" ./conf/diym_php_static.conf

    Alternativ können die Dateien auch mit einem Editor bearbeitet werden:

    root@server:/root/diymedia# nano ./conf/diym_php_static.conf
    root@server:/root/diymedia# nano ./conf/diym_php.conf

    Der Befehl "nano" öffnet einen Editor mit dem die Konfigurationsdateien anpepasst werden können.

    Die php Version abfragen:

    root@server:/root/diymedia# php -v | head -n 1

    Dieser Befehl wird auf den meisten Systemen 7.3 oder 7.4 ausgeben, auf einigen moderneren auch 8.1 oder 8.2.

    In der Datei ./conf/diym_php.conf 'phpX.X' mit der richtigen php Version ersetzen, zB. 'php7.4':

    root@server:/root/diymedia# sed -i -e "s|/var/run/php/phpX.X|/var/run/php/php7.4|g" ./conf/diym_php.conf

    php

    Datei php.ini finden:

    root@server:/root/diymedia# find /etc/php/$php_version/fpm/php.ini

    Bei diesem Befehl $php_version mit der zuvor festgestellten Versionsnummer ersetzen, wie zB.

    root@server:/root/diymedia# find /etc/php/7.4/fpm/php.ini

    Im weiteren wird in diesem Beispiel die oben genannte Datei verwendet (also Version 7.4)

    Die entsprechende Datei modifizieren:

    root@server:/root/diymedia# sed -i '/cgi.fix_pathinfo/Id' /etc/php/7.4/fpm/php.ini
    root@server:/root/diymedia# sed -i '/upload_max_filesize/Id' /etc/php/7.4/fpm/php.ini
    root@server:/root/diymedia# sed -i '/post_max_size/Id' /etc/php/7.4/fpm/php.ini
    root@server:/root/diymedia# echo "cgi.fix_pathinfo=0" >> /etc/php/7.4/fpm/php.ini
    root@server:/root/diymedia# echo "upload_max_filesize = 40M" >> /etc/php/7.4/fpm/php.ini
    root@server:/root/diymedia# echo "post_max_size = 40M" >> /etc/php/7.4/fpm/php.ini

    php neu starten:

    root@server:/root/diymedia# service php7.4-fpm restart

    diym_php

    Den string "someonionaddressesplaceholder.onion" durch die bereits verwendete onion Adresse ersetzen in der Datei ./conf/conf.inc.php, zB mit

    root@server:/root/diymedia# sed -i -e "s/someonionaddressesplaceholder.onion/$new_onion/g" ./conf/conf.inc.php

    Bei diesem Befehl $new_onion mit der onion-Adresse ersetzen wie zB:

    root@server:/root/diymedia# sed -i -e "s/someonionaddressesplaceholder.onion/hq73inugsyl5pzhnbm2uonuq6h2veztdhicvoiefhlofrzbbwa57xsad.onion/g" ./conf/conf.inc.php

    Alternativ kann die Datei auch mit einem Editor bearbeitet werden:

    root@server:/root/diymedia# nano ./conf/conf.inc.php

    Bei diesem Schritt können auch weitere Anpassungen der Konfiguration von diym_php vorgenommen werden.

    privoxy

    Die config Datei von privoxy sichern:

    root@server:/root/diymedia# cp /etc/privoxy/config ./conf/privoxy_config.bck

    Konfigurationsdateien verteilen

     

    nginx

    root@server:/root/diymedia# cp ./conf/diym_php.conf /etc/nginx/sites-available/
    root@server:/root/diymedia# cp ./conf/diym_php_static.conf /etc/nginx/sites-available/
    root@server:/root/diymedia# cp ./conf/diym_php.conf /etc/opt/diym_php/
    root@server:/root/diymedia# cp ./conf/diym_php_static.conf /etc/opt/diym_php/

    privoxy

    root@server:/root/diymedia# cp ./conf/privoxy_config /etc/privoxy/config

    diym_php

    root@server:/root/diymedia# cp ./conf/*.inc.php /etc/opt/diym_php/

    andere Dateien kopieren

    root@server:/root/diymedia# cp ./php/* /opt/diym_php/php/
    root@server:/root/diymedia# cp -r ./files/* /var/opt/diym_php/files/
    root@server:/root/diymedia# cp ./doc/* /opt/diym_php/doc/
    root@server:/root/diymedia# cp ./*.md /opt/diym_php/doc/
    root@server:/root/diymedia# cp -r ./webroot /srv/diym_php/
    root@server:/root/diymedia# cp ./command/* /opt/diym_php/bin/
    root@server:/root/diymedia# cp ./templates/* /var/opt/diym_php/templates

    Log- und Arbeitsdateien anlegen

    root@server:/root/diymedia# touch /var/opt/diym_php/log/error /var/opt/diym_php/log/notice /var/opt/diym_php/log/published /var/opt/diym_php/log/user
    root@server:/root/diymedia# touch /var/opt/diym_php/log/deletion /var/opt/diym_php/files/indysync/published.txt /var/opt/diym_php/log/sync
    root@server:/root/diymedia# touch /var/opt/diym_php/files/indysync/reported.txt /var/opt/diym_php/files/indysync/released.txt /var/opt/diym_php/files/indysync/undelete.txt

    webserver als Besitzer der neuen Dateien festlegen

    root@server:/root/diymedia# chown -R www-data.www-data /var/opt/diym_php
    root@server:/root/diymedia# chown -R www-data.www-data /srv/diym_php

    cronjobs einrichten

    root@server:/root/diymedia# crontab -u www-data ./conf/crontab

    Synchronisation starten

    root@server:/root/diymedia# rm /var/opt/diym_php/files/no_sync.txt

    Die Seite aktiv schalten:

    root@server:/root/diymedia# ln -s /etc/nginx/sites-available/diym_php.conf /etc/nginx/sites-enabled/

    Den webserver neu starten:

    root@server:/root/diymedia# service nginx restart

    Den Server testen

    Die entsprechende onion-Addresse im Torbrowserbundle aufrufen, oder auf dem Server:

    root@server:/root/diymedia# wget http://127.0.0.1

 

 

 

webadresse: 
http://hq73inugsyl5pzhnbm2uonuq6h2veztdhicvoiefhlofrzbbwa57xsad.onion/node/1686494801823946/
Lizenz des Artikels und aller eingebetteten Medien: 
Creative Commons by-sa: Weitergabe unter gleichen Bedingungen