Difference between revisions of "TT-RSS"

From ArchWiki
Jump to: navigation, search
(Added pacman hook example for database upgrades. The --update-schema option checks if an update is neccessary so it can be run indiscriminately)
m (Pacman hook: forgot link to Pacman#Hooks)
Line 71: Line 71:
 
   Exec = /usr/bin/runuser -u http -- /usr/bin/php /usr/share/webapps/tt-rss/update.php --update-schema
 
   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===
 
===Set up an update daemon===

Revision as of 16:39, 22 March 2018

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'll 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

Set up php and database

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

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

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

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

extension=curl
extension=iconv
extension=pdo_mysql # for MySQL
extension=pdo_pgsql # for PostgreSQL
extension=soap

If open_basedir is set in /etc/php/php.ini (it isn't by default), add /var/lib/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

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

# systemctl enable tt-rss

Do

$ systemctl status tt-rss

to check that it's running fine.