Ubuntu 18.04: ウェブベースRSSリーダのTiny Tiny RSSをインストールする

ウェブベースRSSリーダであるTiny Tiny RSSのインストール方法について記述します。

1 Tiny Tiny RSSをインストールする

以下のスクリプトはTiny Tiny RSSをインストールします。

  • MYSQL_PASSWDはMySQLで使うrootユーザのパスワードです。
  • TT_RSS_PASSWDはMySQLで使うtt-rssユーザのパスワードです。
  • TT_RSS_FQDNはTiny Tiny RSSをインストールするサーバのFQDNです。お使いのサーバのFQDNに変更してください。
#!/bin/sh -e

PHP_VERSION=7.2
MYSQL_VERSION=5.7
[ -z "${MYSQL_PASSWD}" ] && MYSQL_PASSWD=mysql
[ -z "${TT_RSS_PASSWD}" ] && TT_RSS_PASSWD=tt-rss
[ -z "${TT_RSS_URL}" ] && TT_RSS_FQDN=$(hostname)-tt-rss.hiroom2.com
TT_RSS_URL=https://${TT_RSS_FQDN}/tt-rss

mysql_install()
{
  cat <<EOF | sudo debconf-set-selections
mysql-server-${MYSQL_VERSION} mysql-server/root_password password ${MYSQL_PASSWD}
mysql-server-${MYSQL_VERSION} mysql-server/root_password_again password ${MYSQL_PASSWD}
EOF
  sudo apt install -y mysql-server
}

ttrss_install()
{
  cat <<EOF | sudo debconf-set-selections
tt-rss tt-rss/dbconfig-install      boolean     true
tt-rss tt-rss/database-type         select      mysql
tt-rss tt-rss/mysql/admin-pass      password    ${MYSQL_PASSWD}
tt-rss tt-rss/password-confirm      password    ${MYSQL_PASSWD}
tt-rss tt-rss/mysql/app-pass        password    ${TT_RSS_PASSWD}
tt-rss tt-rss/app-password-confirm  password    ${TT_RSS_PASSWD}
tt-rss tt-rss/reconfigure-webserver multiselect apache2
# tt-rss/self_url_path must be set for installing tt-rss automatically.
tt-rss tt-rss/self_url_path         string      ${TT_RSS_URL}
EOF

  sudo apt install -y tt-rss php-mbstring

  # When installing tt-rss automatically with debconf-set-selections,
  # tt-rss's postinst read tt-rss/self_url_path but does not use it value.
  # So this script sets tt-rss/self_url_path and set config.php again.
  cat <<EOF | sudo debconf-set-selections
tt-rss tt-rss/self_url_path         string      ${TT_RSS_URL}
EOF
  sudo sed -e "s;define('SELF_URL_PATH', '.*');define('SELF_URL_PATH', '${TT_RSS_URL}');g" \
       -i /etc/tt-rss/config.php
  sudo systemctl restart tt-rss

  cd ..
}

apache_install()
{
  sudo cp /etc/tt-rss/apache.conf /etc/tt-rss/apache.conf.orig
  cat <<EOF | sudo tee /etc/tt-rss/apache.conf
<VirtualHost _default_:443>
  SSLEngine on
  SSLCertificateFile    /etc/ssl/certs/ssl-cert-snakeoil.pem
  SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key

$(sed -e 's/^/  /g' /etc/tt-rss/apache.conf.orig)
</VirtualHost>
EOF
  sudo a2enmod php${PHP_VERSION}
  sudo a2enmod ssl
  sudo systemctl enable apache2
  sudo systemctl restart apache2
}

ttrss_main()
{
  mysql_install
  ttrss_install
  apache_install
}

ttrss_main

2 Tiny Tiny RSSへアクセスする

以下のURLへアクセスします。ブラウザでこのページの証明書を許可してください。

https://<server>/tt-rss

Tiny Tiny RSSのログイン画面が表示されます。Loginにadminを、Passwordにpasswordを設定してログインしてください。

0001_tt-rss.png