tt-rss auf Raspberry Pi mit nginx installieren

In diesem Tutorial zeige ich, wie ich auf meinem Raspberry Pi B (512) die aktuelle Version von tt-rss installiere.

Grundvoraussetzung ist ein Raspberry Pi mit vorinstalliertem Raspbian. Wie ihr dieses auf eurem Raspberry Pi installiert, erklärt das Tutorial von sweetpi.de

Specs:

  • Betriebssystem: frisch installiertes Raspbian
  • Server: nginx
  • Datenbank: MySQL
  • tt-rss nur über SSL Verbindung erreichbar
  • tt-rss unter domain.de/tt-rss/ erreichbar

Pakete installieren

Jetzt installieren wir die benötigten Pakete

sudo apt-get update
sudo apt-get install nginx php5-fpm php5-cli php5-curl php5-gd php5-mcrypt php5-mysql php5-cgi mysql-server

Das Verzeichnis anlegen

Das Verzeichnis, in dem später die Webanwendungen inkl. tt-rss liegen soll, wird angelegt.

sudo mkdir /var/www
sudo chown www-data:www-data /var/www/

SSL Zertifikate erstellen

Im nächsten Schritt erstellen wir die SSL Zertifikate, damit die owncloud unter HTTPS erreichbar ist.

Da die Zertifikate nicht signiert sind, wir der Browser eine Warnung diesbezüglich heraus geben. Diese “ignorieren” wir bzw. genehmigen die Zertifikat.

sudo openssl req $@ -new -x509 -days 365 -nodes -out /etc/nginx/cert.pem -keyout /etc/nginx/cert.key
sudo openssl req -newkey rsa:4096 -sha512 -x509 -days 3650 -nodes -out /etc/nginx/cert.pem -keyout /etc/nginx/cert.key
sudo chmod 600 /etc/nginx/cert.pem
sudo chmod 600 /etc/nginx/cert.key

nginx konfigurieren

An dieser Stelle poste ich meine komplette sites-available/default Datei. Wenn ihr bisher noch keine Änderungen an euer Datei vorgenommen habt, dann könnt ihr diese übernehmen und eure damit ersetzen. Vorher bitte nur “domain.de” auf eure Domain bzw. IP Adresse ändern!

Zum anpassen der Datei

sudo nano /etc/nginx/sites-enabled/default

den Inhalt der Datei mit Folgendem ersetzen.

# You may add here your
# server {
#	...
# }
# statements for each of your virtual hosts to this file

##
# You should look at the following URL's in order to grasp a solid understanding
# of Nginx configuration files in order to fully unleash the power of Nginx.
# http://wiki.nginx.org/Pitfalls
# http://wiki.nginx.org/QuickStart
# http://wiki.nginx.org/Configuration
#
# Generally, you will want to move this file somewhere, and start with a clean
# file but keep this around for reference. Or just disable in sites-enabled.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##
server {
   listen 80;
    server_name domain.de;
    rewrite ^ https://$server_name$request_uri? permanent; # enforce https
}
server {
    listen 443 ssl;
    server_name domain.de;
    ssl_certificate /etc/nginx/cert.pem;
    ssl_certificate_key /etc/nginx/cert.key;

    root /var/www;
    index index.php;

 location ~ \.php$ {
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_index index.php;
    include fastcgi_params;
  }
}

anschließend die Dienste starten

sudo service php5-fpm restart
sudo service nginx restart

Die Datenbank für Tiny Tiny RSS anlegen

Hier wird eine Datenbank mit dem Namen „ttrss“ und dem User „rssfeed“ angelegt. Bei PASSWORT bitte eurer Datenbank Passwort eintragen.

mysql -u root -p 
create database ttrss; 
create user 'rssfeed'@'localhost' identified by 'PASSWORT';
grant all privileges on ttrss.* to 'rssfeed'@'localhost';
quit

MySQL Server absichern

Hier sichern wir die Installation der MySQL Datenbank ab.

sudo mysql_secure_installation

Dieses kleine Tool erlaubt es den „root“ Benutzer zu limitieren, die Testdatenbank zu löschen, auf die jeder Zugriff hat und entfernt alle anonymen Benutzer.

By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
 ... Success!

By default, MySQL comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MySQL
installation should now be secure.

Thanks for using MySQL!

Tiny Tiny RSS (ttrss) installieren

Im ersten Schritt schieben wir die Dateien auf unseren Server

cd /var/www
sudo wget https://github.com/gothfox/Tiny-Tiny-RSS/archive/1.10.tar.gz
sudo tar zxfv 1.10.tar.gz
sudo mv Tiny-Tiny-RSS-1.10/ ttrss
sudo rm 1.10.tar.gz

Anschließend öffnen wir den Installer über https://domain.de/ttrss/ und installieren die Anwendung:
ttrss-raspberry

Den Inhalt der config Datei kopieren wir in die Zwischenablage und schreiben diesen anschließen in eine neu erzeugte config.php Datei.

cd ttrss
sudo nano config.php

Hier den Text einfügen und wieder mit Strg+X speichern.

Die Rechte für die Tiny Tiny RSS Ordner anpassen

Im letzten Schritt müssen noch die Rechte der einzelnen Ordner angepasst werden

sudo su
chmod -R 777 cache/images && chmod -R 777 cache/export && chmod -R 777 cache/js && chmod -R 777 feed-icons && chmod -R 777 lock
exit

Cronjob für Tiny Tiny RSS anlegen

Nun legen wir noch einen Cronjob an, so dass Tiny Tiny RSS die News automatisch alle „15“ Minuten aktualisiert.

sudo crontab -u www-data -e
 */15 * * * * /usr/bin/php /var/www/tt-rss/update.php --feeds --quiet

Das war es auch schon.

Ein Gedanke zu „tt-rss auf Raspberry Pi mit nginx installieren

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s