丼鯖の建てかた » 履歴 » バージョン 1
白林檎 美和, 2020/07/07 19:22
1 | 1 | 白林檎 美和 | # 丼鯖の建てかた |
---|---|---|---|
2 | ## 材料 |
||
3 | * 最新のFreeBSD, nginx, PostgreSQL等が走るホスト |
||
4 | * データ置き場のストレージ: ユーザーを増やしたり,廃人のやうにつぶやいたりする気満々の方のみ |
||
5 | * 80/tcp, 443/tcpへ外からアクセス可能な,イソターネット接続環境 |
||
6 | |||
7 | ## 準備 |
||
8 | ### OSのインスコ |
||
9 | 1. 最新のFreeBSDのディスクイメージを取ってきて,そいつからホストを起動。2020/7/7現在の最新リリースは, [12.1](http://ftp.jaist.ac.jp/pub/FreeBSD/releases/ISO-IMAGES/12.1/)。 |
||
10 | 1. テキストベースのウィザードを,淡々と進める。データ置き場のストレージを,ルートファイルシステムと別に設ける方は,そいつを /usr/home へマウント。 |
||
11 | 1. 作業しやすいやう, sshdを有効化。sshdを常駐させるもよし, inetdで必要なときだけ起こすもよし。 |
||
12 | |||
13 | ### ホストがNATの内側にいる場合 |
||
14 | 1. イソターネットからの80/tcp, 443/tcpへのアクセスを,ホストへ通すよう設定。 |
||
15 | 1. NATの内外どちらからも,同じFQDNでホストへアクセスできるよう, DNS鯖を設定。さうしないと, SSLの証明書を取れなかったり, WWWブラウザで開いたときにSSLが有効にならなかったりする。 |
||
16 | |||
17 | ## 丼建て |
||
18 | ここからは基本的に,公式サイトの[Installing from source](https://docs.joinmastodon.org/admin/install/)の順番で進める。Ubuntu (Debian系Linux) 固有のコマンド等がばしばし出てきて, FreeBSDでは使えないので,読み替えていく。 |
||
19 | ### Pre-requisites |
||
20 | 1. /etc/make.conf へ, 次を追加。 |
||
21 | |||
22 | ``` |
||
23 | DEFAULT_VERSIONS+=perl5=5.32 python=3.8 python3=3.8 ruby=2.7 ssl=openssl |
||
24 | ``` |
||
25 | 1. パッケージのオプションを選択。nginxのオプションは, PASSENGERをON。丼では使わないが, Redmineを建てるときに要る。 |
||
26 | ``` |
||
27 | # portsnap fetch update |
||
28 | # don_pkgs='databases/gdbm databases/postgresql12-server databases/postgresql12-contrib databases/redis devel/autoconf devel/bison devel/git devel/protobuf devel/protobuf-c devel/bison devel/icu devel/libffi devel/readline dns/libidn graphics/ImageMagick7 lang/ruby27 multimedia/ffmpeg textproc/libxml2 textproc/libxslt security/openssl security/py-certbot-nginx security/sudo sysutils/rubygem-bundler textproc/libyaml www/nginx www/yarn-node12' |
||
29 | # for pack in don_packs; do make -C /usr/ports/$pack config-recursive; done |
||
30 | ``` |
||
31 | 1. Portsの一括インスコや更新に便利な, portupgradeをインスコ。 |
||
32 | ``` |
||
33 | # make -C /usr/ports/ports-mgmt/portupgrade config-recursive install clean |
||
34 | ``` |
||
35 | 1. 丼が使うパッケージを, portsからごりごりインスコ。 |
||
36 | ``` |
||
37 | # portinstall $don_pkgs |
||
38 | ``` |