Tiny Tiny RSS

Contents

    Here is how to install tt-rss on a managed PHP server hosted, for instance, by OVH. According to the documentation, host installations are not supported starting 2021.

    1. Preparation

    Before you start tt-rss installation, you need to find two key informations:

    To know thoses two informations, you can use lftp. An alternative is to run a cron command (with a non existing file). The information will be displayed inside the error logs ☺

    lftp sftp://ovhusername@ftp.cluster0XX.hosting.ovh.net -e "cd www; ls /usr/local; quit"

    In my situation, here is what I have:

    drwxr-xr-x   17 root     root         4096 Jan 10 13:09 .
    drwxr-xr-x   13 root     root         4096 Sep 20 16:44 ..
    drwxr-xr-x    2 root     root         4096 Nov 17 13:51 bin
    drwxr-xr-x    2 root     root         4096 Sep 20 16:44 etc
    drwxr-xr-x    2 root     root         4096 Sep 20 16:44 games
    drwxr-xr-x    2 root     root         4096 Sep 20 16:44 include
    drwxr-xr-x    4 root     root         4096 Nov 17 13:56 lib
    lrwxrwxrwx    1 root     root            9 Sep 20 16:44 man
    drwxr-xr-x   10 root     root         4096 Nov 17 13:51 pear
    drwxr-xr-x    7 root     root         4096 Nov 17 13:56 php-config
    drwxr-xr-x    8 root     root         4096 Mar  1  2022 php7.3
    drwxr-xr-x    8 root     root         4096 Mar  1  2022 php7.4
    drwxr-xr-x    8 root     root         4096 Mar  1  2022 php8.0
    drwxr-xr-x    8 root     root         4096 Mar  1  2022 php8.1
    drwxr-xr-x    8 root     root         4096 Jan 10 13:08 php8.2
    drwxr-xr-x    2 root     root         4096 Sep 20 16:44 sbin
    drwxr-xr-x    6 root     root         4096 Sep 20 16:49 share
    drwxr-xr-x    2 root     root         4096 Sep 20 16:44 src
    

    → So, let's use PHP 8.2
    → my php executable is /usr/local/php8.2/bin/php

    2. Clone source repository and upload code to the server

    git clone... (see documentation)

    3. Edit configuration

    Copy config.php-dist to config.php
    Define mandatory global settings below and any other you need changed. This is the absolute minimum required to be set:

    <?php
    	putenv('TTRSS_DB_TYPE=mysql');
    	putenv('TTRSS_DB_HOST=....mysql.db');
    	putenv('TTRSS_DB_USER=...');
    	putenv('TTRSS_DB_NAME=...');
    	putenv('TTRSS_DB_PASS=...');
    	putenv('TTRSS_DB_PORT=3306');
    	putenv('TTRSS_SELF_URL_PATH=https://my-domain.com/tt-rss');
    	putenv('TTRSS_PHP_EXECUTABLE=/usr/local/php8.2/bin/php');
    

    Note: you can have a look at the source code to see the full list of env variables.

    4. Create a lancher and upload it to initialize database schema

    Create a launcher.php file with a content like this one:

    #!/usr/bin/env php
    <?php
    system('/usr/local/phpX.X/bin/php /home/username/www/tt-rss/update.php --update-schema');
    ?>
    

    Run it using crontab.

    5. Update feeds

    https://tt-rss.org/wiki/UpdatingFeeds

    Update the launcher.php file with a content like this one:

    #!/usr/bin/env php
    <?php
    system('/usr/local/phpX.X/bin/php /home/username/www/tt-rss/update.php --feeds --quiet');
    ?>
    

    Run it using crontab.

    Proudly Powered by Zim 0.75.2.

    Template by Etienne Gandrille, based on ZeroFiveEight and using JQuery Toc Plugin.