RSS 라는 말을 한번쯤 들어 보셨을 겁니다. 여전히 인기 많은 구독 시스템이죠.
Tiny Tiny RSS 는 편리하고 성능이 뛰어나며 인기 좋은 RSS 피더 입니다. 거기다 완전히 셀프호스팅이 가능하죠. 설치도 쉽습니다. 설치해보도록 하겠습니다.
TTRSS 설치
iocage console FEP
감옥으로 로그인 해 주고
pkg install tt-rss php74-iconv php74-intl php74-openssl php74-gettext php74-gd php74-mbstring php74-curl php74-ctype php74-tokenizer php74-simplexml php74-dom php74-session php74-iconv php74-json php74-fileinfo php74-zlib php74-openssl php74-zip php74-phar
ttrss 와 자주 쓰이는 패키지를 설치하였습니다.
chown -R www:www /usr/local/www/tt-rss/
권한 설정을 해 주었습니다.
mv /usr/local/www/tt-rss/config.php /usr/local/www/tt-rss/config.php-dist
초기 설정을 만들어주었습니다.
서버 블록 만들기
vi /usr/local/etc/nginx/conf.d/ttrss.conf
server { listen 81; root /usr/local/www/tt-rss/; index index.php; access_log /var/log/nginx/ttrss/access.log; location / { try_files $uri $uri/ =404; } include otherconf/php.conf; location /cache { deny all; } location = /config.php { deny all; } }
81포트를 듣게 한 것은 리버스 프록시에 연결할 때 좀더 간단하게 연결하기 위한 것입니다.
mkdir /var/log/nginx/ttrss
로그가 저장될 디렉토리를 만든 후
nginx -t
구문을 테스트하고 문제가 없다면
service nginx restart && service php-fpm restart
재시작 해 줍니다.
데이터베이스 만들기
TTRSS 는 데이터베이스 내의 다른 응용 프로그램과 공존할 수 있습니다. 워드프레스나 미디어위키처럼 접두사만 넣어 주면 되지요. 그러니 앞서 미디어위키나 워드프레스를 위한 데이터베이스를 만들었다면 그것을 사용해도 됩니다.
본 포스팅에서는 새로운 데이터베이스를 만들도록 하겠습니다.
exit
감옥 안에 있다면 나와 준 다음
iocage exec MariaDB mysql -u root -p
MariaDB 콘솔에 로그인 한 다음
CREATE USER ttrssuser@'FEMP.Jail.IP' identified by 'superstrongpassword'; CREATE DATABASE ttrssdb DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; grant all privileges on ttrssdb.* TO ttrssuser@'FEMP.Jail.IP'; FLUSH PRIVILEGES; exit;
데이터베이스를 만들어주었습니다.
리버스 프록시 연결
iocage exec Nginx_WAF vi /usr/local/etc/nginx/conf.d/ttrss.conf
server { listen 443 ssl http2; server_name ttrss.example.com; include /usr/local/etc/nginx/options/*; #설치 중 외부의 접근을 막기 위해서입니다. #설치가 끝나면 삭제합니다. allow 192.168.1.0/24; deny all; location / { proxy_pass http://192.168.1.13:81/; include /usr/local/etc/nginx/otherconfig/proxy.conf; } }
81포트로 접근하는 것을 볼 수 있습니다.
iocage exec Nginx_WAF nginx -t
서버 블록을 작성했다면 구문을 테스트 해 줍니다.
iocage exec Nginx_WAF nginx -s reload
문제가 없다면 nginx 를 재시작 해 줍니다.
이제 https://ttrss.example.com/install 으로 접속해 설치할 수 있습니다.
피드 업데이트
iocage console FEP
감옥으로 로그인 해 줍니다.
RSS 피드를 정기적으로 읽어 와서 피드를 업데이트 해 주어야 합니다. ttrssd 라는 데몬을 활성화 해 주면 됩니다.
sysrc ttrssd_enable="YES"
서비스에 등록하고
sysrc ttrssd_local_db="NO"
로컬db를 사용하지 않기 때문에 local_db 를 no로 설정하였습니다.
service ttrssd start
ttrssd 를 시작해 줍니다.
접속
https://ttrss.example.com 에서 로그인 할 수 있습니다.
초기 계정은 ID : admin PW : password 입니다.
admin 계정의 비밀번호를 바꾸거나, 새로운 계정을 만들고 admin 계정은 비활성화 하는 것을 추천합니다.
업데이트
service nginx stop && service php-fpm stop
서비스를 정지한 뒤
pkg update && pkg upgrade
패키지를 업데이트 해 준 뒤
chown -R www:www /usr/local/www/tt-rss/
권한 설정을 해 줍니다.
service nginx start && service php-fpm start && service ttrssd restart
서비스를 시작해 줍니다.
TT-RSS 를 업데이트 한 후, ttrss 에 관리자로 로그인 하면 데이터베이스를 업데이트 해야 한다는 화면이 나타납니다. 데이터베이스를 업데이트 해 주면 TT-RSS 를 정상적으로 이용할 수 있습니다.
마치면서
다음 포스팅은 nextcloud 를 다룰 것입니다.