# TT-RSS

From ArchWiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

This article or section is a candidate for moving to Tiny Tiny RSS.

Notes: Prefer using the full name in the title of the article, see Help:Style#Title. (Discuss in Talk:TT-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 tt-rss from the official repositories.

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 :

- With Apache HTTP Server :

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

- With Nginx :

      # 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.

### Set up php and database

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

Create a ttrss user and database, e.g. with mysql:

    $ 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 create a ttrss user and database in PostgreSQL, e.g.:

    [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 config file `/etc/webapps/tt-rss/config.php`, without this file tt-rss webapp enters installation wizard.
- navigate to (your-servers-root)/tt-rss/ and proceed with the installer.
- save generated config file to `/etc/webapps/tt-rss/config.php`.

Manual way:

- edit tt-rss config file`/etc/webapps/tt-rss/config.php` and update database settings.
- re-create database from `/usr/share/webapps/tt-rss/schema/ttrss_schema_TYPE.sql`. 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 `/etc/webapps/tt-rss/config.php` 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

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://git.tt-rss.org/fox/tt-rss/wiki/UpdatingFeeds – but you should be able to simply

    # systemctl enable tt-rss

Do

    $ systemctl status tt-rss

to check that it's running fine.

### Known issues

#### 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 tt-rss upgrade, please edit `/etc/php/php.ini`, enable 'extension=intl' module and then restart php-fpm systemctl service

    # systemctl restart php-fpm.service

Categories:

- News aggregators
- Web applications

Hidden category:

- Pages or sections flagged with Template:Move