Tiny Tiny RSS
Tiny Tiny RSS 是一个开源的基于 Web 的新闻源 (RSS/Atom) 聚合器,旨在让您从任何位置阅读新闻,同时感觉尽可能接近真实的桌面应用程序。
安装
如果您计划使用 PostgreSQL,请安装 php-pgsql。
tt-rss 安装到 /usr/share/webapps/tt-rss/
。您需要从您的 Web 服务器提供此目录。最简单的方法是执行
# ln -s /usr/share/webapps/tt-rss /srv/http/tt-rss
- 使用 Nginx
# ln -s /usr/share/webapps/tt-rss /usr/share/nginx/html/tt-rss
您需要以递归方式将 /usr/share/webapps/tt-rss
的所有权更改为 http:http
。
配置
设置 PHP 和数据库
您需要设置一个数据库,可以是 MySQL 或 PostgreSQL。
创建一个 ttrss 用户和数据库。例如在 MySQL 中
$ mysql -p -u root mysql> CREATE USER 'ttrss'@'localhost' IDENTIFIED BY 'somepassword'; mysql> CREATE DATABASE ttrss; mysql> GRANT ALL PRIVILEGES ON ttrss.* TO "ttrss"@"localhost" IDENTIFIED BY 'somepassword';
或者在 PostgreSQL 中,例如
[postgres]$ createuser --createdb ttrss [postgres]$ createdb -U ttrss ttrss
在 /etc/php/php.ini
中,启用以下模块
extension=curl extension=iconv extension=intl extension=mysqli ; for MySQL extension=pdo_mysql ; for MySQL 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 应用程序将进入安装向导。 - 导航到 (您的服务器根目录)/tt-rss/ 并继续安装程序。
- 将生成的配置文件保存到
/etc/webapps/tt-rss/config.php
。
手动方式
- 编辑 tt-rss 配置文件
/etc/webapps/tt-rss/config.php
并更新数据库设置。 - 从
/usr/share/webapps/tt-rss/sql/TYPE/schema.sql
重新创建数据库。使用 MySQL 运行
$ mysql --user ttrss --password=<PASSWORD> ttrss < /usr/share/webapps/tt-rss/sql/mysql/schema.sql
使用 PostgreSQL 运行
$ 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=mysql'); 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 后升级钩子
[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#钩子
设置更新守护进程
请参阅 https://tt-rss.org/wiki/UpdatingFeeds—但是,只需启用 tt-rss
服务即可。检查服务的单元状态以验证它是否运行良好。
故障排除
完整性约束冲突:1062 键 'ttrss_feeds_feed_url_owner_uid_key' 的条目 '1' 重复
如果您将 tt-rss 数据库更新到 schema 137,您可能会看到错误键 'ttrss_feeds_feed_url_owner_uid_key' 的条目 '1' 重复。要解决此问题,请启动数据库 shell,例如
$ mysql -u ttrss -p $ use tt-rss;
然后运行官方论坛的查询,该查询会删除重复的数据库条目。
PHP UConverter 类缺失,它由国际化 (intl) 模块提供。
如果您在升级 tt-rss 后看到此错误,请将 extension=intl
添加到 /etc/php/php.ini
并重启 php-fpm
服务。