Difference between revisions of "TT-RSS"

From ArchWiki
Jump to: navigation, search
(Closing basedirs for non-tt-rss webapps)
m
Line 1: Line 1:
 
[[Category:Internet Applications]]
 
[[Category:Internet Applications]]
 +
[[ja: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.
 
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.
  

Revision as of 09:16, 1 May 2013

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 from AUR:tt-rssAUR

Set up 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';

Then create the initial tables:

mysql --user=ttrss --host=localhost --password=somepassword ttrss < /usr/share/webapps/tt-rss/schema/ttrss_schema_mysql.sql

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 sudo systemctl restart httpd).

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 

Custom php.ini and Closing basedirs for non-tt-rss webapps

If you want the php open_basedir setting to only apply to the tt-rss location, you can create a custom php config file for tt-rss. Copy your /etc/php/php.ini file to /etc/webapps/tt-rss/php.ini and edit open_basedir and any other options specific to tt-rss. Then add to your apache config:

<Location /tt-rss/>
      PHPINIDir /etc/webapps/tt-rss 
</Location>
or your apache vitural host config:

<VirtualHost *:80>
      ...
      PHPINIDir /etc/webapps/tt-rss 
</VirtualHost>

However, this will make the update daemon (see below) fail. You can work around this by passing a custom php.ini file to php and using the update_daemon2.php updater (update.php starts additional php instances and does not pass on the php config file). The following systemd unit file will accomplish that:

 [Unit]
 Description=Tiny tiny rss feed updater daemon
 After=network.target
 
 [Service]
 ExecStart=/usr/bin/php -c /etc/webapps/tt-rss/php.ini /usr/share/webapps/tt-rss/update_daemon2.php --quiet
 User=http
 StandardOutput=syslog
 
 [Install]
 WantedBy=multi-user.target

Finally, in your (custom or system) php.ini file you'll need to enable several extensions. Uncomment the following:

 extension=curl.so
 extension=iconv.so
 extension=mysql.so
 extension=posix.so
 extension=soap.so

Set up config.php

Copy /etc/webapps/tt-rss/config.php-dist to /etc/webapps/tt-rss/config.php. Fill in your database server info and other necessary parameters. Make sure your web-server is allowed to read /etc/webapps/tt-rss/config.php or else you will just see a blank page.

Set up an update daemon

See http://tt-rss.org/redmine/projects/tt-rss/wiki/UpdatingFeeds – but you should be able to simply

# systemctl enable tt-rss-updated

Do

$ systemctl status tt-rss-updated

to check that it's running fine.