Tiny Tiny RSS

Tiny Tiny RSS is an open source web-based news feed (RSS/Atom) aggregator, designed to allow you to read news from any location, while feeling as close to a real desktop application as possible.

Installation

Install the tt-rss package.

If you plan on using PostgreSQL, install php-pgsql.

tt-rss is installed into /usr/share/webapps/tt-rss/. You will need to make this directory available from your web server. The simplest way is to do:

# ln -s /usr/share/webapps/tt-rss /srv/http/tt-rss
# ln -s /usr/share/webapps/tt-rss /usr/share/nginx/html/tt-rss

You will need to recursively chown /usr/share/webapps/tt-rss to http:http.

Configuration

Set up php and database

You will need to set up a database, either MySQL or PostgreSQL.

Create a ttrss user and database. In MySql, for example:

$ mysql -p -u root
mysql> CREATE USER 'ttrss'@'localhost' IDENTIFIED BY 'somepassword';
mysql> CREATE DATABASE ttrss;
mysql> GRANT ALL PRIVILEGES ON ttrss.* TO "ttrss"@"localhost" IDENTIFIED BY 'somepassword';

Or in PostgreSQL, for example:

[postgres]$ createuser --createdb ttrss
[postgres]$ createdb -U ttrss ttrss

In /etc/php/php.ini, enable the following modules:

extension=curl
extension=iconv
extension=intl
extension=mysqli ; for MySQL
extension=pdo_mysql ; for MySQL
extension=pdo_pgsql ; for PostgreSQL
extension=pgsql ; for legacy PostgreSQL plugins (still required by default)
extension=soap

If open_basedir is set in /etc/php/php.ini (it is not by default), add /var/lib/tt-rss:/usr/share/webapps/tt-rss:/etc/webapps/tt-rss to it.

Application initialization can be done either automatically or manually.

Automatic way:

  • remove default configuration file , without this file tt-rss webapp enters installation wizard.
  • navigate to (your-servers-root)/tt-rss/ and proceed with the installer.
  • save generated configuration file to .

Manual way:

  • edit tt-rss configuration file and update database settings.
  • re-create database from . With MySQL run:
$ mysql --user ttrss --password=<PASSWORD> ttrss < /usr/share/webapps/tt-rss/schema/ttrss_schema_mysql.sql

With PostgreSQL run:

$ psql ttrss -U ttrss -f /usr/share/webapps/tt-rss/schema/ttrss_schema_pgsql.sql

At the end the file will look like this:

<?php
 putenv('TTRSS_DB_TYPE=mysql');
 putenv('TTRSS_DB_HOST=localhost');
 putenv('TTRSS_DB_USER=ttrss');
 putenv('TTRSS_DB_NAME=ttrss');
 putenv('TTRSS_DB_PASS=foobar');
 putenv('TTRSS_SELF_URL_PATH=http://myserver/tt-rss/');

FastCGI

Install and configure FastCGI for your server

Pacman hook

To do tt-rss database upgrades automatically you may set up pacman post upgrade hook based on following example:

[Trigger]
Operation = Install
Operation = Upgrade
Type = Package
Target = tt-rss

[Action]
Description = Updating TT-RSS Database
When = PostTransaction
Exec = /usr/bin/runuser -u http -- /usr/bin/php /usr/share/webapps/tt-rss/update.php --update-schema=force-yes

You need to put it into /etc/pacman.d/hooks/tt-rss.hook if you did not customize HookDir in pacman.conf.

See also Pacman#Hooks

Set up an update daemon

See https://tt-rss.org/wiki/UpdatingFeeds—however, simply enabling the service should suffice. Check the service's unit status to verify that it is running fine.

Troubleshooting

Integrity constraint violation: 1062 Duplicate entry '1' for key 'ttrss_feeds_feed_url_owner_uid_key'

If you update tt-rss database to schema 137 you might see the error Duplicate entry '1' for key 'ttrss_feeds_feed_url_owner_uid_key'. To fix the issue please start database shell, e.g.:

$ mysql -u ttrss -p
$ use tt-rss;

And then run query from official forum that drops duplicated database entries.

PHP UConverter class is missing, it's provided by the Internationalization (intl) module.

If you see this error after upgrading tt-rss, add to /etc/php/php.ini and restart the php-fpm service.

gollark: Not that I'd have much idea regarding making an improvement, but they emulate ancient CPUs in order to run C and C-style code, and are slow/buggy/exploitable because of it.
gollark: Modern CPUs are kind of awful anyway.
gollark: Good idea.
gollark: Still, open-sourcing a few things is a start.
gollark: True, true; the whole thing is a fiendishly complex multi-layer system, and much of it never will be.
This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.