機能 #3
完了白林檎 美和 さんが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 内の実施項目¶
- Installing Ruby
- ユーザー “mastodon” 追加。手引きではログインを無効にしているが,ふつーにログインできるユーザーとした。
- Setting up PostgreSQL
- /etc/rc.conf へ postgresql_enable="YES" を追加。
- sudo service postgresql initdb
- sudo service postgresql start
- sudo -u postgres psql
- CREATE USER mastodon CREATEDB;
Setting up Mastodon
- git clone https://github.com/tootsuite/mastodon.git live && cd live
- git checkout 最新リリースのタグ
- bundle config deployment 'true'
- bundle config without 'development test'
bundle install -j$(getconf _NPROCESSORS_ONLN)
getconf _NPROCESSORS_ONLN は, CPUのスレッド数を返す。
yarn install --pure-lockfile
.bashrc に export RAILS_ENV=production を追加。
bundle exec rake mastodon:setup
DBはUNIX domain socketではなく, localhostを指定。前者では, socketのパス名がUbuntu標準と合わず失敗。
adminのパスワードがランダムに生成されるので,控えておく。
Setting up nginx
- sudo cp -p dist/nginx.conf /usr/local/etc/nginx/mastodon.conf
- /usr/local/etc/nginx/nginx.conf の http { ... } の末尾へ, include mastodon.conf; を追加。
- nginx.conf の記述のうち, mastodon.conf と重複するものをコメントアウト。
次をコメントアウト。
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;server_name を自分の環境に合わせる。
/etc/rc.conf へ nginx_enable="YES" を追加。
sudo service nginx start
Acquiring a SSL certificate
- sudo certbot --nginx -d 丼鯖のFQDN
- sudo service nginx restart
Setting up systemd services
dist/*.service の内容を基に, /usr/local/etc/rc.d に置くシェルスクリプトを作成。
*.service はLinuxのsystemd専用なので, FreeBSDでは使いようがない。
/etc/rc.conf へ 丼サービス_enable="YES" を追加。
sudo service 丼サービス start