Difference between revisions of "TT-RSS"

From ArchWiki
Jump to: navigation, search
(PDO is preferred https://git.tt-rss.org/fox/tt-rss/commit/f8db5bb4db45f7e867a7f1e29ef58e1fd1473edc)
(Added pacman hook example for database upgrades. The --update-schema option checks if an update is neccessary so it can be run indiscriminately)
Line 56: Line 56:
 
With PostgreSQL run:
 
With PostgreSQL run:
 
  $ psql ttrss -U ttrss -f /usr/share/webapps/tt-rss/schema/ttrss_schema_pgsql.sql
 
  $ 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
 +
  
 
===Set up an update daemon===
 
===Set up an update daemon===

Revision as of 16:38, 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


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.