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 ...
... installieren den Datenbankserver durch apt install mariadb-server -y ...
und starten ein Skript zum absichern des selbigen. mysql_secure_installation
Da noch kein Passwort vergeben worden ist, können wir die Passwortabfragen mit Enter bestätigen.
Wir entscheiden uns dafür ein Passwort für den Benutzer root zu setzen, geben dieses an und wiederholen die Eingabe des Passwortes
Der Zugriff für anonyme Benutzer wird entfernt ...
und root darf sich nur noch lokal anmelden.
Wir entfernen die nutzlose Datenbank test ...
... und lassen den Datenbankserver die Berechtigungen neu laden, damit sie sofort wirksam sind.
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.
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
Nun installieren wir den Apache Webserver mit apt install apache2 -y ...
... 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
...
und aktivieren PHP zu Nutzung innerhalb von Apache. apt install libapache2-mod-php7.0 -y
PHP wird jetzt noch konfiguriert. Wir öffnen hierzu die Konfigurationsdatei mittels nano /etc/php/7.0/apache2/php.ini
...
... ändern output_buffering
auf Off
...
... zlib.output_compression
auf Off
...
... und aktivieren curl durch extension=php_curl.dll
... 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.
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.) ...
... und entpacken das Archiv mittels tar xvf wkhtmltox-0.12.4_linux-generic-i386.tar.xz.
Nun werden die Dateien in das bin-Verzeichnis verschoben mv wkhtmltox/bin/wkhtmlto* /usr/bin/
...
... und das Archiv wieder gelöscht. rm -R wkhtmltox wkhtmltox-0.12.4_linux-generic-i386.tar.xz
Python benötigt noch Zugriff auf den SQL-Server, weshalb wir den Connector ebenfalls installieren. apt install python3-mysql.connector python3-mysqldb -y
Nun geht es an RecordWebInfo selbst. Wir wechseln in das Verzeichnis des Webservers cd /var/www/html/
...
... und laden uns die Sourcen per wget https://greatkartei.de/blog/RecordWebInfo.tar.bz2
herunter ...
... und entpacken diese ebenfalls durch tar xfvj RecordWebInfo.tar.bz2
.
Da wir das Archiv nicht mehr benötigen löschen wir es mittels rm RecordWebInfo.tar.bz2
.
Damit der Webserver auf die Dateien zugreifen kann, ändern wir den Besitzer für das Verzeichnis. chown -R www-data:www-data RecordWebInfo/
Nun öffnen wir per nano /var/www/html/RecordWebInfo/config/config.php
die Konfiguration, ...
... 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.
Mit einem Neustart stellen wir sicher, das alle Änderungen am System übernommen werden. In der Regel sollte das aber nicht notwendig sein.
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.
Nachdem die Tabellen erstellt worden sind, erscheint ein Fenster, in dem wir den Administrator der Anwendung anlegen.
Sobald dies erfolgreich passiert ist, erscheint eine Anmeldemaske, in der wir uns mit dem gerade angelegten Benutzer anmelden können.
Voilà, die Anwendung ist jetzt fertig installiert / konfiguriert worden und kann jetzt genutzt werden.
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 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.