zeldor.biz

Linux, programming and more

Copyright © 2023
Log in

Google Reader good bye

March 19, 2013 by Igor Drobot 1 Comment

Google_Reader_logo

As some days ago announced by google,
Google Reader service will be powered down.
Good bye gReader, welcome Tiny Tiny RSS again.

GoogleReader Feeds can be very easy exported by a click.

Its time for a service under own control, this service will be Tiny Tiny Reader (TTRSS)

What I have:
Debian 6.0.7
nginx version: 1.2.7
PHP 5.3.22 (FPM, suhosin, apc…)

Installation of Tiny Tiny RSS:

1
2
wget https://github.com/gothfox/Tiny-Tiny-RSS/archive/1.7.2.tar.gz
tar -xvf 1.7.2.tar.gz

wget https://github.com/gothfox/Tiny-Tiny-RSS/archive/1.7.2.tar.gz tar -xvf 1.7.2.tar.gz

Nginx configuration for Tiny-Tiny-RSS:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 server {
    listen   [::]:80;
    server_name  reader.domain.com www.reader.domain.com;
    root /var/www/vhosts/domain.com/subdomains/reader;
    index index.php;
    client_max_body_size 1000M; # set maximum upload size
    access_log  /var/log/nginx/domain.com/subdomains/reader/access.log;
    error_log   /var/log/nginx/domain.com/subdomains/reader/error.log;
 
  location ~ \.php$ {
    include /etc/nginx/fastcgi_params;
    fastcgi_pass unix:/var/run/php5-fpm/reader.domain.com.soc;
    fastcgi_index index.php;
    fastcgi_param  SCRIPT_FILENAME  /var/www/vhosts/domain.com/subdomains/reader$fastcgi_script_name;
    access_log  /var/log/nginx/domain.com/subdomains/reader/access.log;
    error_log   /var/log/nginx/domain.com/subdomains/reader/error.log;
  }
 
  location / {
    root /var/www/vhosts/domain.com/subdomains/reader;
    try_files $uri $uri/ /index.php?q=$uri;
    index index.php;
    access_log  /var/log/nginx/domain.com/subdomains/reader/access.log;
    error_log   /var/log/nginx/domain.com/subdomains/reader/error.log;
  }
 
}

server { listen [::]:80; server_name reader.domain.com www.reader.domain.com; root /var/www/vhosts/domain.com/subdomains/reader; index index.php; client_max_body_size 1000M; # set maximum upload size access_log /var/log/nginx/domain.com/subdomains/reader/access.log; error_log /var/log/nginx/domain.com/subdomains/reader/error.log; location ~ \.php$ { include /etc/nginx/fastcgi_params; fastcgi_pass unix:/var/run/php5-fpm/reader.domain.com.soc; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /var/www/vhosts/domain.com/subdomains/reader$fastcgi_script_name; access_log /var/log/nginx/domain.com/subdomains/reader/access.log; error_log /var/log/nginx/domain.com/subdomains/reader/error.log; } location / { root /var/www/vhosts/domain.com/subdomains/reader; try_files $uri $uri/ /index.php?q=$uri; index index.php; access_log /var/log/nginx/domain.com/subdomains/reader/access.log; error_log /var/log/nginx/domain.com/subdomains/reader/error.log; } }

PHP-FPM Configuration

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[reader.domain.com]
listen = /var/run/php5-fpm/reader.domain.com.soc
 
listen.owner = www-data
listen.group = www-data
listen.mode = 0666
 
user = www-data
group = www-data
 
pm = dynamic
pm.max_children = 20
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 10
 
php_admin_value[open_basedir]=/var/www/vhosts/domain.com/subdomains/reader
php_admin_value[session.save_path]=/var/www/vhosts/domain.com/subdomains/reader/tmp
php_admin_value[upload_tmp_dir]=/var/www/vhosts/domain.com/subdomains/reader/tmp
php_admin_value[memory_limit] = 128M
php_admin_value[upload_max_filesize] = 100M
php_admin_value[post_max_size] = 100M
php_admin_value[date.timezone] = Europe/Berlin

[reader.domain.com] listen = /var/run/php5-fpm/reader.domain.com.soc listen.owner = www-data listen.group = www-data listen.mode = 0666 user = www-data group = www-data pm = dynamic pm.max_children = 20 pm.start_servers = 5 pm.min_spare_servers = 5 pm.max_spare_servers = 10 php_admin_value[open_basedir]=/var/www/vhosts/domain.com/subdomains/reader php_admin_value[session.save_path]=/var/www/vhosts/domain.com/subdomains/reader/tmp php_admin_value[upload_tmp_dir]=/var/www/vhosts/domain.com/subdomains/reader/tmp php_admin_value[memory_limit] = 128M php_admin_value[upload_max_filesize] = 100M php_admin_value[post_max_size] = 100M php_admin_value[date.timezone] = Europe/Berlin

Prepare for the installation
Copy config.php-dist to config.php and edit it.

1
cp config.php-dist config.php

cp config.php-dist config.php

Create Database:

1
2
mysql> create database db4;
Query OK, 1 row affected (0.00 sec)

mysql> create database db4; Query OK, 1 row affected (0.00 sec)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
CREATE USER 'db4'@'%' IDENTIFIED BY '***';
 
GRANT SELECT , 
INSERT ,
 
UPDATE ,
DELETE ,
CREATE ,
DROP ,
FILE ,
INDEX ,
ALTER ,
CREATE TEMPORARY TABLES ,
CREATE VIEW ,
EVENT,
TRIGGER,
SHOW VIEW ,
CREATE ROUTINE,
ALTER ROUTINE,
EXECUTE ON * . * TO 'db4'@'%' IDENTIFIED BY '***' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;

CREATE USER 'db4'@'%' IDENTIFIED BY '***'; GRANT SELECT , INSERT , UPDATE , DELETE , CREATE , DROP , FILE , INDEX , ALTER , CREATE TEMPORARY TABLES , CREATE VIEW , EVENT, TRIGGER, SHOW VIEW , CREATE ROUTINE, ALTER ROUTINE, EXECUTE ON * . * TO 'db4'@'%' IDENTIFIED BY '***' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ;

Import database “schema/ttrss_schema_mysql.sql”

1
mysql -D databasename -p < ttrss_schema_mysql.sql

mysql -D databasename -p < ttrss_schema_mysql.sql

Fix some permissions:

1
2
3
4
chmod -R 777 cache/images
chmod -R 777 cache/export
chmod -R 777 feed-icons
chmod -R 777 lock

chmod -R 777 cache/images chmod -R 777 cache/export chmod -R 777 feed-icons chmod -R 777 lock

Import GReader Feeds:
After sucessfull login go to:
Configurations => Feeds => OPML and Import

Update your feeds

Update in Daemon mode:

1
su -m www-data -c "/usr/bin/php /var/www/vhosts/domain.com/subdomains/reader/update.php --daemon &"

su -m www-data -c "/usr/bin/php /var/www/vhosts/domain.com/subdomains/reader/update.php --daemon &"

Single Update

1
su -m www-data -c "/usr/bin/php /var/www/vhosts/domain.com/subdomains/reader/update.php -feeds &"

su -m www-data -c "/usr/bin/php /var/www/vhosts/domain.com/subdomains/reader/update.php -feeds &"

Two days after this installation was issued a new version of ttrss v1.7.4. This is a positive movement and this project makes hopes.

Filed Under: Linux Tagged With: googleReader, Tiny Tiny Reader, TTRSS

Categories

Archives

Tags

apache2 Apple arduino ARM Automation backup bash Cisco Cluster Corosync Database Debian Debian squeeze DIY DNS Fedora FTP Fun Icinga Ipv6 KVM Linux LVM MAC OS X Monitoring MySQL Nagios Nginx openSUSE OpenVPN PHP Proxy Python python3 qemu RAID rsync Samba security ssh Ubuntu virtualization Windows Windows 7 Wordpress

Trackbacks

  1. Tiny Tiny RSS reading stats says:
    October 29, 2019 at 21:58

    […] wrote since 2013 a lot [1][2] about self hosted Tiny Tiny RSS Feed reader and this one is still alive and rung pretty […]

Leave a Reply

Your email address will not be published. Required fields are marked *