Качаем 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