プロジェクト

全般

プロフィール

機能 #3

完了

機能 #2: FreeBSDネタ

丼鯖

白林檎 美和 さんが4年以上前に追加. 4年以上前に更新.

ステータス:
終了
優先度:
通常
担当者:
-
開始日:
2020/07/04
期日:
進捗率:

100%

予定工数:

説明

Mastodonインスタンスを建てる手順。

白林檎 美和 さんが4年以上前に更新

  • ステータス新規 から 進行中 に変更

参考文献

Portsから入れたもの

道連れにされて入るものは略。

基本機能

  • lang/ruby27
  • sysutils/rubygem-bundler
  • www/yarn-node12
    • Node.js 13以上は非対応。
  • graphics/ImageMagick7
  • multimedia/ffmpeg
  • textproc/libxml2
  • textproc/libxslt
  • devel/git
  • devel/protobuf
  • devel/protobuf-c
  • devel/bison
  • databases/gdbm
  • www/nginx
    • 丼では使わないが, PASSENGERをON。
  • databases/redis
  • databases/postgresql12-server
  • databases/postgresql12-contrib
  • security/py-certbot-nginx
  • dns/libidn

全文検索

  • textproc/elasticsearch6
    • 7以上は非対応。

白林檎 美和 さんが4年以上前に更新

  • 進捗率0 から 30 に変更

NAPTの設定

イソターネットからの80/tcp, 443/tcpへの要求を,丼鯖へ通す。

おなまへの設定

イソターネットとLANのどちらからも,同じFQDNで丼鯖へアクセスできるようにしておく。さうしないと, SSLの証明書を取れなかったり, WWWブラウザで開いたときにSSLが有効にならなかったりする。

Installing from source 内の実施項目

  1. Installing Ruby
    1. ユーザー “mastodon” 追加。手引きではログインを無効にしているが,ふつーにログインできるユーザーとした。
  2. Setting up PostgreSQL
    1. /etc/rc.conf へ postgresql_enable="YES" を追加。
    2. sudo service postgresql initdb
    3. sudo service postgresql start
    4. sudo -u postgres psql
    5. CREATE USER mastodon CREATEDB;
  3. Setting up Mastodon

    1. git clone https://github.com/tootsuite/mastodon.git live && cd live
    2. git checkout 最新リリースのタグ
    3. bundle config deployment 'true'
    4. bundle config without 'development test'
    5. bundle install -j$(getconf _NPROCESSORS_ONLN)

      getconf _NPROCESSORS_ONLN は, CPUのスレッド数を返す。

    6. yarn install --pure-lockfile

    7. .bashrc に export RAILS_ENV=production を追加。

    8. bundle exec rake mastodon:setup
      DBはUNIX domain socketではなく, localhostを指定。前者では, socketのパス名がUbuntu標準と合わず失敗。
      adminのパスワードがランダムに生成されるので,控えておく。

  4. Setting up nginx

    1. sudo cp -p dist/nginx.conf /usr/local/etc/nginx/mastodon.conf
    2. /usr/local/etc/nginx/nginx.conf の http { ... } の末尾へ, include mastodon.conf; を追加。
    3. nginx.conf の記述のうち, mastodon.conf と重複するものをコメントアウト。
    4. 次をコメントアウト。

      listen [::]:80;
      listen [::]:443 ssl http2;
      ssl_protocols TLSv1.2 TLSv1.3;
      ssl_ciphers HIGH:!MEDIUM:!LOW:!aNULL:!NULL:!SHA;
      ssl_prefer_server_ciphers on;

    5. server_name を自分の環境に合わせる。

    6. /etc/rc.conf へ nginx_enable="YES" を追加。

    7. sudo service nginx start

  5. Acquiring a SSL certificate

    1. sudo certbot --nginx -d 丼鯖のFQDN
    2. sudo service nginx restart
  6. Setting up systemd services

    1. dist/*.service の内容を基に, /usr/local/etc/rc.d に置くシェルスクリプトを作成。

      *.service はLinuxのsystemd専用なので, FreeBSDでは使いようがない。

    2. /etc/rc.conf へ 丼サービス_enable="YES" を追加。

    3. sudo service 丼サービス start

白林檎 美和 さんが4年以上前に更新

redisについて何も触れられていないが,ぽすぐれの後あたりで…

  1. /etc/rc.conf へ redis_enable="YES" を追加。
  2. sudo service redis start

白林檎 美和 さんが4年以上前に更新

  • 進捗率30 から 90 に変更

全文検索の導入を除き, Wikiへ記載完了。

白林檎 美和 さんが4年以上前に更新

  • ステータス進行中 から 終了 に変更
  • 進捗率90 から 100 に変更

全文検索対応,更新の手順を記載。

他の形式にエクスポート: Atom PDF