機能 #3
完了白林檎 美和 さんがほぼ5年前に更新
- ステータス を 新規 から 進行中 に変更
参考文献¶
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以上は非対応。
白林檎 美和 さんがほぼ5年前に更新
- 進捗率 を 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
-