Difference between revisions of "TT-RSS"

From ArchWiki
Jump to: navigation, search
(Set up web server and php)
(Set up php and database: Add PostgreSQL instruction on initializing the database)
 
(37 intermediate revisions by 23 users not shown)
Line 1: Line 1:
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.
+
[[Category:News aggregators]]
 +
[[Category:Web applications]]
 +
[[ja:TT-RSS]]
 +
[https://tt-rss.org/ 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==
 
==Installation==
Install from [[AUR]]: https://aur.archlinux.org/packages/tt-rss/
+
Install {{pkg|tt-rss}} from the [[official repositories]].
  
===Set up database===
+
If you plan on using PostgreSQL, install {{pkg|php-pgsql}}
You'll need to set up a database, either [[mysql]] or [[postgresql]]. Create a user and database, e.g. with mysql:
+
 
 +
tt-rss is installed into {{ic|/usr/share/webapps/tt-rss/}}; you'll 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
 +
 
 +
===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 -p -u root
 
  mysql> CREATE USER 'ttrss'@'localhost' IDENTIFIED BY 'somepassword';
 
  mysql> CREATE USER 'ttrss'@'localhost' IDENTIFIED BY 'somepassword';
  mysql> CREATE DATABASE 'ttrss';
+
  mysql> CREATE DATABASE ttrss;
 
  mysql> GRANT ALL PRIVILEGES ON ttrss.* TO "ttrss"@"localhost" IDENTIFIED BY 'somepassword';
 
  mysql> GRANT ALL PRIVILEGES ON ttrss.* TO "ttrss"@"localhost" IDENTIFIED BY 'somepassword';
  
Then create the initial tables:
+
Or create a user and database in PostgreSQL, e.g.:
 +
 
 +
[postgres]$ createuser -P --interactive
 +
[postgres]$ createdb -U ttrss ttrss
 +
 
 +
You also need to add some paths to {{ic|/etc/php/php.ini}} (starting with PHP 7.0 it is [https://www.archlinux.org/news/php-70-packages-released/ unset by default], so no change is required):
  
  mysql --user=ttrss --host=localhost --password=somepassword ttrss < /usr/share/webapps/tt-rss/schema/ttrss_schema_mysql.sql
+
  ...
 +
open_basedir = ... :/usr/share/webapps/:/etc/webapps/:/var/lib/tt-rss
 +
...
  
===Set up web server and php===
 
tt-rss requires that the value of open_basedir is "none". You can set this /etc/php/php.ini (then {{ic|sudo systemctl restart httpd}}).
 
  
tt-rss is installed into {{ic|/usr/share/webapps/tt-rss/}}; you'll need to make this directory available from your web server. The simplest way is to do
 
  
$ sudo ln -s /usr/share/webapps/tt-rss /srv/http/tt-rss
+
In the same file, enable the following modules:
  
 +
extension=curl.so
 +
extension=iconv.so
 +
extension=mysqli.so # extension=pdo_mysql.so might be an alternative
 +
extension=soap.so
  
If you want the php open_basedir setting to only apply to the tt-rss location, you can add this to {{ic|/etc/httpd/conf/httpd.conf}}:
+
Application initialization can be done either automatically or manually.
 
<Location /tt-rss/>
 
      php_admin_value open_basedir none
 
</Location>
 
  
However, this will make the update daemon (see below) fail. You could fix it by making your own daemon that uses its own php.ini file, ie. has this line:
+
Automatic way:
 +
* remove default config file {{ic|/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 {{ic|/etc/webapps/tt-rss/config.php}}.
  
ExecStart=/usr/bin/php -c /its/own/php.ini /usr/share/webapps/tt-rss/update.php -daemon
+
Manual way:
 +
* edit tt-rss config file{{ic|/etc/webapps/tt-rss/config.php}} and update database settings.
 +
* re-create database from {{ic|/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
  
===Set up config.php===
+
With PostgreSQL run:
Copy {{ic|/etc/webapps/tt-rss/config.php-dist}} to {{ic|/etc/webapps/tt-rss/config.php}}. Fill in your database server info and other necessary parameters.
+
$ psql ttrss -U ttrss -f /usr/share/webapps/tt-rss/schema/ttrss_schema_pgsql.sql
  
 
===Set up an update daemon===
 
===Set up an update daemon===
See http://tt-rss.org/redmine/projects/tt-rss/wiki/UpdatingFeeds – but you should be able to simply
+
See https://tt-rss.org/gitlab/fox/tt-rss/wikis/UpdatingFeeds – but you should be able to simply
  
  $ sudo systemctl enable tt-rss-updated
+
  # systemctl enable tt-rss
  
 
Do  
 
Do  
  
  $ systemctl status tt-rss-updated
+
  $ systemctl status tt-rss
  
 
to check that it's running fine.
 
to check that it's running fine.

Latest revision as of 04:41, 20 September 2017

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 :

- 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

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

You also need to add some paths to /etc/php/php.ini (starting with PHP 7.0 it is unset by default, so no change is required):

...
open_basedir = ... :/usr/share/webapps/:/etc/webapps/:/var/lib/tt-rss
...


In the same file, enable the following modules:

extension=curl.so
extension=iconv.so
extension=mysqli.so # extension=pdo_mysql.so might be an alternative
extension=soap.so

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

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.