Качаем tt-rss с официального сайта https://tt-rss.org/
git clone https://tt-rss.org/git/tt-rss.git /path/to/tt-rss/www
Ставим nginx
rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm yum install nginx
Конфиг nginx
server {
    listen 443 ssl http2;
    server_name rss.site.name;
    root /path/to/tt-rss/www/;
    index index.php index.html index.htm;
    access_log /path/to/tt-rss/log/ssl-access.log main;
    error_log /path/to/tt-rss/log/ssl-error.log;
    keepalive_timeout           60;
    ssl_certificate             /etc/letsencrypt/live/rss.site.name/fullchain.pem;
    ssl_certificate_key         /etc/letsencrypt/live/rss.site.name/privkey.pem;
    ssl_protocols               TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
    ssl_dhparam                 /etc/ssl/certs/dhparam.pem;
    add_header                  Strict-Transport-Security 'max-age=604800';
    # GZIP Compression
    gzip on;
    gzip_vary on;
    gzip_min_length 10240;
    gzip_proxied expired no-cache no-store private auth;
    gzip_types text/plain text/css text/xml text/javascript application/x-javascript application/xml;
    gzip_disable "MSIE [1-6]\.";
    location ~ \.php$ {
    try_files  $uri =404;
    fastcgi_pass   unix:/var/run/php-fpm/php-fpm.sock;
    #fastcgi_pass    127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param DOCUMENT_ROOT /path/to/tt-rss/www/;
    fastcgi_param SCRIPT_FILENAME /path/to/tt-rss/www$fastcgi_script_name;
    fastcgi_param PATH_TRANSLATED /path/to/tt-rss/www$fastcgi_script_name;
    include fastcgi_params;
    fastcgi_param QUERY_STRING $query_string;
    fastcgi_param REQUEST_METHOD $request_method;
    fastcgi_param CONTENT_TYPE $content_type;
    fastcgi_param CONTENT_LENGTH $content_length;
    fastcgi_param HTTPS on;
    fastcgi_intercept_errors on;
    fastcgi_ignore_client_abort off;
    fastcgi_connect_timeout 60;
    fastcgi_send_timeout 180;
    fastcgi_read_timeout 180;
    fastcgi_buffer_size 128k;
    fastcgi_buffers 4 256k;
    fastcgi_busy_buffers_size 256k;
    fastcgi_temp_file_write_size 256k;
    }
    
    location /cache {
        deny all;
    }
    
    location = /config.php {
        deny all;
    }
}
server {
     listen  443 ssl http2;
     server_name  www.rss.site.name;
     rewrite ^ https://rss.site.name$request_uri? permanent;
}
Обращаю внимание, что у меня nginx работает с php-fpm через сокет. Если у вас по tcp порту, то ставьте
fastcgi_pass 127.0.0.1:9000;
Создаем директрию для логов
mkdir /path/to/tt-rss/log
Выставляем права
chown -R nginx. /path/to/tt-rss
Ставим сертификат от LetsEncrypt
yum install certbot certbot certonly --standalone --preferred-challenges=http -d rss.site.name
Запускаем nginx
systemctl start nginx systemctl enable nginx
Ставим php-fpm
rpm -ivh http://rpms.remirepo.net/enterprise/remi-release-7.rpm yum install epel-release yum-utils yum-config-manager --enable remi-php71 yum install php71 yum install php-fpm php-pgsql systemctl start php-fpm systemctl enable php-fpm
Настроим php-fpm
yum install net-tools netstat -tulpn | grep php-fpm
Все в порядке, повис на порту 9000. Запустим его через unix сокет. Для этого открываем конфиг /etc/php-fpm.d/www.conf и комментируем строку:
vim /etc/php-fpm.d/www.conf
;listen = 127.0.0.1:9000
Вместо нее добавляем несколько других:
listen = /var/run/php-fpm/php-fpm.sock listen.mode = 0660 listen.owner = nginx listen.group = nginx
Заодно измените пользователя, от которого будет работать php-fpm. Вместо apache укажите nginx
user = nginx group = nginx
systemctl restart php-fpm
Открываем 80, 443 порты
firewall-cmd --add-service=http --permanent firewall-cmd --add-service=https --permanent firewall-cmd --reload
Уже можно заходить на rss.site.name и должно перекинуть в https://rss.site.name/install/
Осталось настроить postgresql
Подключим репозитрий
yum install https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7-x86_64/pgdg-centos11-11-2.noarch.rpm
Установим и запустим postgresql 11
yum install postgresql11-server /usr/pgsql-11/bin/postgresql-11-setup initdb systemctl start postgresql-11 systemctl enable postgresql-11
Cоздаем базу и пользователя для tt-rss
sudo -u postgres psql postgres=# create database mydb; postgres=# create user myuser with encrypted password 'mypass'; postgres=# grant all privileges on database mydb to myuser;
Смотрим где наша база и конфиги к ней
postgres=# SHOW config_file;
              config_file               
----------------------------------------
 /var/lib/pgsql/11/data/postgresql.conf
(1 row)
Выходим из postgresql
postgres=# \q
Правим файл /var/lib/pgsql/11/data/pg_hba.conf
Приводим его к виду
#local all all peer #host all all 127.0.0.1/32 ident #host all all ::1/128 ident local all all md5 host all all 127.0.0.1/32 md5 host all all ::1/128 md5
Перезапускаем postgresql
systemctl restart postgresql-11
Возвращаемся к странице настроек https://rss.site.name/install/
По идее ошибок быть не должно. Сохраняем предложенный config.php файл. Его можно будет потом поправить и настроить под себя.
Дефолтные логин и пароль: admin — password
Осталось настроить проверку новых постов. Можно запускать по крону или написать демона, как подсказывает wiki: https://git.tt-rss.org/fox/tt-rss/wiki/UpdatingFeeds
Выбираю демоном
vim /etc/systemd/system/tt-rss.service
[Unit] Description=ttrss_backend After=network.target mysql.service postgresql.service [Service] User=nginx ExecStart=/path/to/tt-rss/www/update_daemon2.php [Install] WantedBy=multi-user.target
systemctl start tt-rss.service systemctl enable tt-rss.service