Difference between revisions of "TT-RSS"

From ArchWiki
Jump to: navigation, search
(Closing basedirs for non-tt-rss webapps)
(Closing basedirs for non-tt-rss webapps)
Line 24: Line 24:
 
  # ln -s /usr/share/webapps/tt-rss /srv/http/tt-rss  
 
  # ln -s /usr/share/webapps/tt-rss /srv/http/tt-rss  
  
====Closing basedirs for non-tt-rss webapps====
+
====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 add this to {{ic|/etc/httpd/conf/httpd.conf}}:
+
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 {{ic|/etc/php/php.ini}} file to {{ic|/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/>
 
  <Location /tt-rss/>
       php_admin_value open_basedir none
+
       PHPINIDir /etc/webapps/tt-rss
 
  </Location>
 
  </Location>
  
However, this will make the update daemon (see below) fail. You can work around this by passing a custom {{ic|php.ini}} file to php and using the  {{ic|update_daemon2.php}} updater. The following systemd unit file works for me:
+
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 {{ic|php.ini}} file to php and using the  {{ic|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]
 
   [Unit]
Line 44: Line 51:
 
   [Install]
 
   [Install]
 
   WantedBy=multi-user.target
 
   WantedBy=multi-user.target
 +
 +
Finally, in your (custom or system) {{ic|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===
 
===Set up config.php===

Revision as of 15:49, 26 March 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.