跳转至内容

Tiny Tiny RSS

来自 ArchWiki
(重定向自 TT-RSS)

Tiny Tiny RSS 是一个开源的基于 Web 的新闻源 (RSS/Atom) 聚合器,旨在让您能够从任何位置阅读新闻,同时感觉尽可能像一个真正的桌面应用程序。

安装

安装 tt-rssphp-pgsql 包。

tt-rss 安装在 /usr/share/webapps/tt-rss/。您需要使此目录可从您的 Web 服务器访问。最简单的方法是

# ln -s /usr/share/webapps/tt-rss /srv/http/tt-rss
# ln -s /usr/share/webapps/tt-rss /usr/share/nginx/html/tt-rss

您需要递归地将 /usr/share/webapps/tt-rss 的所有权更改为 http:http

配置

设置 PHP 和数据库

您需要使用 PostgreSQL 设置一个数据库。

在 PostgreSQL 中创建一个 ttrss 用户和数据库。例如

[postgres]$ createuser --createdb ttrss
[postgres]$ createdb -U ttrss ttrss

/etc/php/php.ini 中,启用以下模块

extension=curl
extension=iconv
extension=intl
extension=pdo_pgsql ; for PostgreSQL
extension=pgsql ; for legacy PostgreSQL plugins (still required by default)
extension=soap

如果 open_basedir/etc/php/php.ini 中设置(默认情况下未设置),请将其添加 /var/lib/tt-rss:/usr/share/webapps/tt-rss:/etc/webapps/tt-rss

应用程序初始化可以自动或手动完成。

自动方式

  • 删除默认配置文件 /etc/webapps/tt-rss/config.php,没有此文件 tt-rss Web 应用程序将进入安装向导。
  • 导航到 (your-servers-root)/tt-rss/ 并继续安装程序。
  • 将生成的配置文件保存到 /etc/webapps/tt-rss/config.php

手动方式

  • 编辑 tt-rss 配置文件 /etc/webapps/tt-rss/config.php 并更新数据库设置。
  • /usr/share/webapps/tt-rss/sql/pgsql/schema.sql 重新创建数据库
$ psql ttrss -U ttrss -f /usr/share/webapps/tt-rss/sql/pgsql/schema.sql

最后,/etc/webapps/tt-rss/config.php 文件将如下所示

<?php
 putenv('TTRSS_DB_TYPE=pgsql');
 putenv('TTRSS_DB_HOST=localhost');
 putenv('TTRSS_DB_USER=ttrss');
 putenv('TTRSS_DB_NAME=ttrss');
 putenv('TTRSS_DB_PASS=foobar');
 putenv('TTRSS_SELF_URL_PATH=http://myserver/tt-rss/');

FastCGI

安装并配置您的服务器的 FastCGI

Pacman 挂钩

要自动更新 tt-rss 数据库,您可以根据以下示例设置 pacman 升级后 hook

[Trigger]
Operation = Install
Operation = Upgrade
Type = Package
Target = tt-rss

[Action]
Description = Updating TT-RSS Database
When = PostTransaction
Exec = /usr/bin/runuser -u http -- /usr/bin/php /usr/share/webapps/tt-rss/update.php --update-schema=force-yes

如果您没有在 pacman.conf 中自定义 HookDir,则需要将其放入 /etc/pacman.d/hooks/tt-rss.hook。

另请参阅 Pacman#Hooks

设置更新守护进程

请参阅 https://tt-rss.org/wiki/UpdatingFeeds[dead link 2025-08-16—HTTP 404]—但是,只需 启用 tt-rss 服务应该就足够了。检查服务的 unit status 以验证其是否正常运行。

故障排除

完整性约束冲突:1062 键 'ttrss_feeds_feed_url_owner_uid_key' 重复条目 '1'

如果您将 tt-rss 数据库更新到 schema 137,您可能会看到错误 Duplicate entry '1' for key 'ttrss_feeds_feed_url_owner_uid_key'。要解决此问题,请启动数据库 shell,例如

$ psql -U ttrss tt-rss

然后运行 官方论坛的查询[dead link 2025-11-17—domain name not resolved],该查询会删除重复的数据库条目。

PHP UConverter 类丢失,它由国际化 (intl) 模块提供。

本文或本章节的准确性存在争议。

原因: extension=intl 已添加到 #设置 PHP 和数据库 中,并且 /etc/php/php.iniphp 拥有。因此,此配置文件在升级 tt-rss 时不应被覆盖,除非 php 也被升级。即使如此,在升级时,以前对 /etc/php/php.ini 的更改是否完全被覆盖(如果 Pacnew and Pacsave files 被正确处理)仍然值得怀疑。(在 Talk:Tiny Tiny RSS 中讨论)

如果您在升级 tt-rss 后看到此错误,请将 extension=intl 添加到 /etc/php/php.ini重新启动 php-fpm 服务。