RecordWebInfo


Beschreibung

Bei RecordWebInfo handelt es sich um eine Webanwendung, mit der Informationen aus Webseiten als Screenshot und / oder PDF-Dateien gespeichert werden und wieder über eine Google ähnliche Suche abgerufen werden können. Die Anwendung zeichnet sich durch übersichtlichen, einfache Code aus, der mit einem besonderen Augenmerk in Bezug auf Sicherheit entwickelt worden ist. Daraus ergibt sich auch eine einfache und selbsterklärende Bedienung.

Um die Handhabung und Nutzung weiter zu erleichtern, wurde für die Vorstellung der Software auf Youtube ein Video bereit gestellt, in dem alles genau beschrieben wird. Mittlerweile wurde der Funktionsumfang erweitert. So ist es jetzt möglich, Webseiten bei denen das Markieren gesperrt wurde ebenfalls zu importieren. Für den Fall das sich die Informationen über mehrere Seiten erstrecken sollten, können jetzt weitere URLs für die PDF-Erstellung angegeben werden.

Die Software könnt Ihr hier Testen.

Das Produkt wird als Open Source unter der MIT-Lizenz zur Verfügen gestellt und kann von jedermann unentgeltlich genutzt werden. Die Sourcen kann man hier in der Version 0.34b herunterladen.


Anwendungsgebiet

RecordWebInfo wurde geschrieben um Digitale Demenz, Deduplizierung und Zensur vorzubeugen. Hier könnt Ihr nachlesen, was zu Entstehung von RecordWebInfo geführt hat.


Vorraussetzungen

Als Voraussetzung wird ein Apache Webserver, ein Mariadb oder Mysql Server ab Version 5.6 und PHP in der Version 5.6-7.1 benötigt. In der nachfolgenden Installationsanleitung gehe davon aus, das bereits ein Ubuntu Server 1604 für die Installation vorhanden ist. Wie man einen Ubuntuserver 1604 Installiert, könnt Ihr hier nachlesen.

Alternativ kann man auch einen entsprechenden Server mieten. Als Anbieter kann ich Contabo empfehlen, wo man für 6,99 € pro Monat einen passenden Server mit genügend Speicherplatz und unlimitierten Netzwerkzugriff bekommen kann. Für 2 € mehr bekommt am sogar einen mit 300 GB SSD Festplatte.


Beispiel einer Installation der Anwenung und Voraussetzungen an Beispiel eines Ubuntuserver 1604

Zuerst öffnen wir eine Rootshell mit sudo -s ... Rootshell

... installieren den Datenbankserver durch apt install mariadb-server -y ... Beschreibung

und starten ein Skript zum absichern des selbigen. mysql_secure_installation Beschreibung

Da noch kein Passwort vergeben worden ist, können wir die Passwortabfragen mit Enter bestätigen. Beschreibung

Wir entscheiden uns dafür ein Passwort für den Benutzer root zu setzen, geben dieses an und wiederholen die Eingabe des Passwortes Beschreibung

Der Zugriff für anonyme Benutzer wird entfernt ... Beschreibung

und root darf sich nur noch lokal anmelden. Beschreibung

Wir entfernen die nutzlose Datenbank test ... Beschreibung

... und lassen den Datenbankserver die Berechtigungen neu laden, damit sie sofort wirksam sind. Beschreibung

Der Benutzer root soll sich nur noch mit Passwort anmelden können, was wir durch echo "update user set plugin='' where User='root'; flush privileges;" | mysql -u root -p mysql erreichen. Beschreibung

Schließlich legen wir die Datenbank für RecordWebInfo zusammen mit dem Benutzer recordwebinfo an und berechtigen diesen für den Zugriff. ACHTUNG! Verwendet unbedingt ein eigenes Datenbankpasswort!

echo "create database RecordWebInfo; CREATE USER 'recordwebinfo'@'localhost' IDENTIFIED BY 'mypassword'; GRANT ALL PRIVILEGES ON RecordWebInfo.* TO 'recordwebinfo'@'localhost'; flush privileges;" | mysql -u root -p mysql

Beschreibung

Nun installieren wir den Apache Webserver mit apt install apache2 -y ... Beschreibung

... und alle zusätzlich benötigen PHP Komponenten durch apt install php7.0 php7.0-curl php7.0-mysql php7.0-mbstring php7.0-mcrypt libphp7.0-embed -y ... Beschreibung

und aktivieren PHP zu Nutzung innerhalb von Apache. apt install libapache2-mod-php7.0 -y Beschreibung

PHP wird jetzt noch konfiguriert. Wir öffnen hierzu die Konfigurationsdatei mittels nano /etc/php/7.0/apache2/php.ini ... Beschreibung

... ändern output_buffering auf Off ... Beschreibung

... zlib.output_compression auf Off ... Beschreibung

... und aktivieren curl durch extension=php_curl.dll Beschreibung

... und speichern das Ergebnis mit Strg x, j, Enter. Zusätzlich benötigen wir für wkhtmltox noch die Pakete xvfb, libxrender1 und libfontconfig1. apt install xvfb libxrender1 libfontconfig1 -y Hinweis: Unter Debian Stretch muss hier zusätzlich libssl1.0-dev installiert werden. Beschreibung

Wir wechseln in das Verzeichnis tmp cd /tmp und laden mittels wget https://downloads.wkhtmltopdf.org/0.12/0.12.4/wkhtmltox-0.12.4_linux-generic-i386.tar.xz die aktuellste Version von wkhtmltox herunter (Auf der Webseite https://wkhtmltopdf.org/downloads.html findet Ihr immer die aktuellste Version mit gepatchen qt. Im Repository befindet sich nur eine ungepatchte Version.) ... Beschreibung

... und entpacken das Archiv mittels tar xvf wkhtmltox-0.12.4_linux-generic-i386.tar.xz. Beschreibung

Nun werden die Dateien in das bin-Verzeichnis verschoben mv wkhtmltox/bin/wkhtmlto* /usr/bin/ ... Beschreibung

... und das Archiv wieder gelöscht. rm -R wkhtmltox wkhtmltox-0.12.4_linux-generic-i386.tar.xz Beschreibung

Python benötigt noch Zugriff auf den SQL-Server, weshalb wir den Connector ebenfalls installieren. apt install python3-mysql.connector python3-mysqldb -y Beschreibung

Nun geht es an RecordWebInfo selbst. Wir wechseln in das Verzeichnis des Webservers cd /var/www/html/ ... Beschreibung

... und laden uns die Sourcen per wget https://greatkartei.de/blog/RecordWebInfo.tar.bz2 herunter ... Beschreibung

... und entpacken diese ebenfalls durch tar xfvj RecordWebInfo.tar.bz2. Beschreibung

Da wir das Archiv nicht mehr benötigen löschen wir es mittels rm RecordWebInfo.tar.bz2. Beschreibung

Damit der Webserver auf die Dateien zugreifen kann, ändern wir den Besitzer für das Verzeichnis. chown -R www-data:www-data RecordWebInfo/ Beschreibung

Nun öffnen wir per nano /var/www/html/RecordWebInfo/config/config.php die Konfiguration, ... Beschreibung

... und ändern das Datenbankpasswort, den Systempwpepper und die Url, unter dem die Seite zu erreichen ist. WICHTIG: Setzt euren eigenen $systempwpepper, mit vielen wahllosen Zeichen. Beschreibung

Mit einem Neustart stellen wir sicher, das alle Änderungen am System übernommen werden. In der Regel sollte das aber nicht notwendig sein. Beschreibung

Um die Datenbank noch mit den benötigten Tabellen zu füllen, müssen wir im Browser die Url der Anwendung mit zusätzlichen /install_sql.php aufrufen. Beschreibung

Nachdem die Tabellen erstellt worden sind, erscheint ein Fenster, in dem wir den Administrator der Anwendung anlegen. Beschreibung

Sobald dies erfolgreich passiert ist, erscheint eine Anmeldemaske, in der wir uns mit dem gerade angelegten Benutzer anmelden können. Beschreibung

Voilà, die Anwendung ist jetzt fertig installiert / konfiguriert worden und kann jetzt genutzt werden. Beschreibung

Alles was jetzt noch fehlt ist ein regelmäßiges Backup der Datenbank, in der alle Informationen gespeichert werden. Von der config.php würde ich auch eine Sicherung erstellen, um im Bedarfsfall den Wert von $systempwpepper zu haben, den ohne den richtigen Wert, wird sich niemand anmelden können.

Ich hoffe, das Ihr viel Freude mit der Anwendung habt. Solltet Ihr Fehler finden oder Verbesserungswünsche haben, dann schreibt mir bitte einfach eine kurze Nachricht an Michael Wagner und teilt mir dies mit.

Solltet Ihr die Anwendung in einer alternativen Sprache benötigen, könnt ihr euch einmal die Datei lang_de.php ansehen. Kopiert diese am besten mit dem entsprechenden Länderkürzel und übersetzt den Text in eure Wunschsprache. Damit diese auch verwendet wird, muss in der Konfigurationsdatei config.php der Wert $systemlang entsprechend angepasst werden. Diese wird verwendet, wenn die vom Browser angeforderte Sprache nicht zur verfügung steht. Wenn Ihr euch hier schon die Mühe macht, könnt Ihr mir die Datei bitte zukommen lassen, damit ich sie in Zukünftigen Versionen gleich mit anbieten kann. Ich danke euch hier schon einmal für eure Unterstützung.