山の幸。海の幸。

旅行ならではの豪勢な食事を楽しみました。

山の幸

夕食

  • 鮎の塩焼き
  • 牛の陶板焼
  • 鯉の洗い
  • 各種きのこ料理

が特に目を引きます。どれも丁寧に作っていたという印象ですし、(写真には載っていなかった)ミョウガと舞茸の天ぷらもまた山の息吹を感じました。

朝食

きのこのホイル焼きが絶品。その他にも温泉卵が実に滋味溢れていました。

海の幸

舞台は湯檜曽温泉から寺泊へ。

昼食

市場通で頂いた日本海セット。刺し身以上にカニの頭部や魚のあらを豪快に使った味噌汁に驚嘆です。

夕飯

これに関しては、予想の外でした。

  • カニまるごと
  • 伊勢海老とタラバガニの刺し身
  • アワビの鉄板焼
  • 牛ステーキ
  • 天ぷら盛り合わせ
  • ノドグロ煮付け
  • 回線炊き込みご飯

などなど、「豪勢」と呼ぶにピッタリ。手がふやける勢いでカニにがっつきましたし、旨味が凝縮されてたアワビが特筆すべきものでした。

ソースカツ丼とモグラ駅。

2年半ぶりというタイミングでの旅。この日が来るのを待ちかねていましたし、楽しいイベントが待っていました。

ソースカツ丼

昼食で頂いたのはこちらのソースカツ丼。

  • サクサクの衣
  • 極厚なのにスッと歯が通るカツ
  • 肉の旨味を引き立てつつ自己主張もするソース

これらが一体となってご飯に染み渡ります。一気呵成にぺろりと平らげ大満足でした。

土合駅(モグラ駅)

続いて訪れたのは「日本一のモグラ駅」と評される土合駅。

パット見は地方にある駅。(しかも改装中)

ですが、構内を歩いていくと消失点が見える程度には長い階段が待っていました。(これがモグラ駅たる所以です)

取って付けたようなベンチや

近くの湯檜曾川から出てきたと思われる排水口などが雰囲気満点です。

そして、400段をこえる階段を下りきったあと

ようやくホームに到着です。しかもこれ、片側路線。もう一つは地上に出ているという落差もモグラ駅の名に恥じないものです。

待合室は訪問記念で残されたメモでぎっしり。

こうして一通り撮影したあと、単純な事実に気づきました。

もう一度、これを登っていくことです。

ボードゲーム『ことりファイト!』感想。

可愛いイラストが描かれていながら、シビアな戦略とバチバチのインタラクションが味わえる秀逸な小箱です。

【概要】

プレイヤーは森の精霊たち。お気に入りの小鳥(推し鳥)「のみ」を繁栄させるべく裏から手を回していきます。

【ゲームシステム】

ここでは対戦モードのシステムをご紹介。

ゲームのルールは手順ごとに数字が書かれた手札のカードを配置するだけ。ゲーム終了のトリガーもカードが5×5に配置されたタイミングと単純なものになっています。

このとき、プレイヤーの手札にカードが必ず1枚残ります。これが「推し鳥」となります。

そこから

  • 左→右の行
  • 上→下の列

の数字を色ごとに足していき、数字が一番高い色を持つ鳥が脇に置かれた得点チップを得る…… とは限りません。

  • 最大の数字が複数ある:それらの色はチップを獲得できず、次に大きい色を持つ鳥が得点チップを得ます。
  • 全ての色が同じ数字となっている:いずれの色の鳥も得点チップを得られません。

こうして色ごとに点数を足していきます。

プレイヤーの得点は

「推し鳥(手札に残った色のカードの点数 ) + その推し鳥たちが獲得したチップの合計」

となります。

上記の流れを2回繰り返し、2回の合計得点が一番高いプレイヤーが勝者となります。

【素晴らしいと思ったところ】

ルールと裏腹のシビアなゲーム

カードを1枚場に出すだけのシンプルなシステムなのに

  • エリアマジョリティ
  • バッティング
  • 損切り
  • 他プレイヤーが推す鳥の推測

の読み合いが非常に激しく、小箱とは思えぬ疲労感に包まれます。

また、イラストのかわいさがそのシビアさをより苛烈なものにしています。

「推し鳥」に何を残すかの悩ましさ

本作の最高のキモと言えます。対戦モードの得点は

「自分が最後に残した鳥カードの点数 + その色が獲得したチップの得点」

ですので、手札に残したいのは高得点の鳥カード。しかし、それだとエリアマジョリティに負けたりバッティングが発生して得点を得られない可能性もあるのです。

そこに、場が埋まるにつれて手札が減る(選択肢が限られてくる)も拍車がかかります。結果として、終盤になるほど皆が悩む事態が発生します。

パッケージを用いたスコアリング

得点計算の際、パッケージに書かれた4羽の鳥それぞれにチップを置くことで、煩雑なスコア計算が非常に楽なものになっています。

箱自体もまた一つのコンポーネントとなっているのです。

【やや残念と思ったところ】

イラストと裏腹に敷居が高い

上記で示した読み合いが前提として求められるので、これらが苦手な方には不向きです。

良くも悪くも人を選ぶゲームです。

【まとめ】

  • カードとチップのみのコンポーネントでありながら高い戦略性
  • イラストと全くマッチしていないえげつなさ
  • 短時間でひりつく展開が味わえるゲーム
  • 読み合いに勝てたときの爽快感(と負けてしまったときの『もう一回!』度)

は、将に秀逸。

パッケージに書かれている

“あのくちばしを見てごらん、命を刈り奪る形をしているだろう?”

が本作の本質を物語っていました。

大きさの違い、光の違い。(spiritale 白水着ライザ 1/6フィギュア撮影)

3ヶ月の遅れを経て、ようやくの到着です。

パッケージ外観

梱包材から透けて見えるほどの存在感がありました。

撮影 take 1

各所の丁寧な作りに感動です。

1/7との違い

背景との比較、実際の比較もこの通りの違い。

そして、ここで気づく「光の当たり方の違い」です。

大きな被写体は光を必要とする部分も大きくなる上、影のでき方も違ってしまうわけです。

そこに最初は気づきませんでした。

撮影 take 2

それを踏まえて撮影2回目。今度は背景をシンプルにします。

また、付属品のぷにや水筒などはむしろねんどろいどと併せられる形に。

ここで得られた知見は

  • マクロの撮り方と言うよりはポートレートの撮り方
  • 光を回していってISOを上げていく

スタイルが良さそうと言う個人的見解。

撮影 take3

またもや背景を増やしての撮影。被写体を中心に光を当てる形にしてみました。

フィギュアの出来に圧倒されることはもちろん、まだまだ撮影や光の当て方を研究していく余地があります。

Ubuntuサーバで再起動が必要かを判断するコマンド。

apt(aptitude)でパッケージをインストール後、以下の判断に迷うことがあります。

  • サーバの再起動は必要なのか
  • サービスを再起動させる必要があるのか

これらをチェックするコマンドがありました。

コマンドインストール

sudo aptitude install debian-goodies update-notifier-common

再起動判断基準

カーネルなどのアップデートがされて、システム全体の再起動が必要な場合、以下のファイルが作成されます。

/var/run/reboot-required

cat /var/run/reboot-required
*** System restart required ***

また、サービスの再起動が必要な場合は、次のコマンドを実行してその判断が可能です。

sudo checkrestart

Found 27 processes using old versions of upgraded files
(14 distinct programs)
(10 distinct packages)

Of these, 9 seem to contain systemd service definitions or init scripts which can be used to restart them.
The following packages seem to have definitions that could be used
to restart their services:
accountsservice:
        441     /usr/lib/accountsservice/accounts-daemon
networkd-dispatcher:
        470     /usr/bin/networkd-dispatcher
policykit-1:
        471     /usr/lib/policykit-1/polkitd
rsyslog:
        473     /usr/sbin/rsyslogd
modemmanager:
        511     /usr/sbin/ModemManager
unattended-upgrades:
        567     /usr/share/unattended-upgrades/unattended-upgrade-shutdown
openssh-server:
        683     /usr/sbin/sshd
        246134  /usr/sbin/sshd
        246245  /usr/sbin/sshd
apache2-bin:
        15285   /usr/sbin/apache2
        238252  /usr/sbin/apache2
        238253  /usr/sbin/apache2
        238254  /usr/sbin/apache2
        238255  /usr/sbin/apache2
        238258  /usr/sbin/apache2
        238559  /usr/sbin/apache2
        238902  /usr/sbin/apache2
        244571  /usr/sbin/apache2
        244580  /usr/sbin/apache2
packagekit:
        246707  /usr/lib/packagekit/packagekitd

These are the systemd services:
systemctl restart accounts-daemon.service
systemctl restart networkd-dispatcher.service
systemctl restart polkit.service
systemctl restart ModemManager.service
systemctl restart packagekit-offline-update.service
systemctl restart packagekit.service

These are the initd scripts:
service rsyslog restart
service unattended-upgrades restart
service ssh restart
service apache2 restart

These processes (1) do not seem to have an associated init script to restart them:
passenger:
        238230  /usr/lib/passenger/support-binaries/PassengerAgent
        238235  /usr/lib/passenger/support-binaries/PassengerAgent

上記で再起動の必要性があったのでシステム全体を再起動。

sudo checkrestart
# Found 0 processes using old versions of upgraded filesと表示されること
cat /var/run/reboot-required
# ファイルがないこと

を確認し、システムを最新の状態に保ちました。

mkcertのエラーを解消。

ローカル環境でのSSL通信を可能にするmkcert。単純な設定ミスを見つけました。

発生した現象

Kaspersky Antivirusで「もうこうな証明書のSSL接続が検知されました」のエラーを検知。理由は「この証明書チェーンは不完全です」

というもの。

原因

  • nginxの設定
  • mkcertの証明書の内容

は問題なしでした。(そもそも、他のドメインで同じように作ったときにはこんなエラーを検知しませんでした)

そこで、どんなコマンドを打っていたかの履歴をたぐります。

mkcert -install

mkcert -key-file [証明書秘密鍵].key.YYYYMM -cert-file [証明書].crt.YYYYMM ドメイン 

とすべきところを、

mkcert -install

sudo mkcert -key-file [証明書秘密鍵].key.YYYYMM -cert-file [証明書].crt.YYYYMM ドメイン 

と、root権限を付けていたことが原因。

  • ローカル証明局:一般ユーザ
  • SSL証明書:root

だったため、齟齬を起こしていたという次第。

対処

  1. 「sudo」で作っていた証明書を削除。
  2. 再度、一般権限でmkcertでローカル証明書を作成。
  3. 証明書ファイル差し替え

により、冒頭で述べたエラーは消えました。

こちらで紹介した手順では、このエラーが発生しないように差し替え済みです。

秋の空間。-百均グッズの撮影用小物(その22)-

figma 『各務原なでしこ』入手

話はこの両者のフィギュアを手に入れたことから始まります。(ライザについては既になんとか登場済み)

この、百均グッズを用いた背景を更に推し進めて、秋を表現です。

作例

  • ミニチュアの一輪車
  • figmaライザについてきた斧
  • ボードゲーム『アグリコラ』の木材トークン

と合わせてキャンプ感。

ミニチュアのキャンピングチェアと、うってつけのものもありました。

手前に百均の紅葉を添えることで奥行きを広げることができました。

新規インストールしたLinux Mint 20.03にgrowiをインストール。-3-

growiとnginxを連携させ、ポート番号をブラウザに入力することなくアクセスできるよう設定します。

前提

この作業を行う場合は、サーバ名とIPアドレスが名前解決できることが必須となります。

mkcertのインストール

sudo su -

curl -s https://api.github.com/repos/FiloSottile/mkcert/releases/latest | grep browser_download_url | grep linux-amd64 | cut -d '"' -f 4 | wget -qi - \
    && mv mkcert-v*-linux-amd64 mkcert \
    && chmod a+x mkcert \
    && mv mkcert /usr/local/bin/

exit

mkcert 認証局作成

mkcert -install

mkcert -CAROOT
# 指定通りの場所にあるかを確認します
# このディレクトリにある「rootCA.pem」はブラウザにインポートすることによって「信頼された情報局」であると示すことができます

mkcertでローカル証明書を作成

cd ~

mkcert -key-file [証明書秘密鍵].key.YYYYMM -cert-file [証明書].crt.YYYYMM ドメイン 
mkcert -key-file corn.wall.key.202204 -cert-file corn.wall.crt.202204 corn.wall penzance.corn.wall "*.corn.wall" 
# ワイルドカード証明書も作成できます

openssl x509 -text -noout -in ./corn.wall.crt.202204 |grep DNS
# DNSの蘭に登録した証明書のローカルドメイン名があることを確認します

ローカル証明書を格納

sudo mkdir /etc/certs

sudo cp -pi ./*.crt* /etc/certs/

sudo mkdir /etc/private

sudo cp -pi ./*.key* /etc/private/

ローカル証明書のシンボリックリンク化

mkcertsはあくまでもローカル環境での証明書を作成するツールなので、更新サイクルが3ヶ月程度となっています。
そこで、後のメンテナンスがしやすいようにシンボリックリンクを張ります。

実行例

cd /etc/certs/

ln -s corn.wall.crt.202204  corn.wall.crt

cd /etc/private/

ln -s corn.wall.key.202204 corn.wall.key

nginxインストール

sudo aptitude install nginx

リバースプロキシー化事前設定

sudo mkdir /etc/old

sudo cp -pi /etc/hosts /etc/old/hosts.`date +%Y%m%d`

sudo sed -i 's/127.0.1.1/127.0.0.1/g' /etc/hosts
# Ubuntu系はhost名のローカルアドレスを127.0.1.1と記載するので書き換えます
sudo openssl dhparam -out /etc/nginx/dhparam.pem 2048
# 環境によっては5分以上かかります

sudo mkdir /var/log/nginx/growi

sudo chown www-data:www-data /var/log/nginx/growi

nginx設定ファイル作成

※ コマンド実行の前に[ ]でくくった箇所を自分の環境に置き換えてください。

以下の順番で行うとやりやすいです。

  1. 以下のコマンド全行(cat - ~ 最下行のEOFまで)をコピーする
  2. 任意のテキストエディタに貼り付ける
  3. [ ]でくくった箇所を置き換えて編集する(このとき、[ ] も外します)
  4. 置き換えて編集したコマンド全行をコピー
  5. ターミナルに貼り付けて実行する
cat <<- 'EOF' | sudo tee -a /etc/nginx/sites-available/growi.conf
upstream [growiを公開するサブドメイン(e.g. growi)] {
       server [growiサーバのIPアドレス]:3000;
}

server {
        listen 80;
        server_name [公開するWebドメイン(e.g. growi.example.test)];
        server_tokens off;
        return  301 https://$host$request_uri;
        access_log /var/log/nginx/growi/access.log;
        error_log /var/log/nginx/growi/error.log warn;
}

server {
        listen 443 ssl http2;
        server_name [公開するWebドメイン(e.g. growi.example.test)];
        server_tokens off;
        ssl_session_timeout 1d;
        ssl_session_cache shared:SSL:50m;
        ssl_session_tickets off;
        ssl_dhparam /etc/nginx/dhparam.pem;
        ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
        ssl_prefer_server_ciphers off;
        add_header Strict-Transport-Security 'max-age=63072000';

        ssl_certificate [証明書が格納されているディレクトリ/証明書ファイル];
        ssl_certificate_key [秘密鍵が格納されているディレクトリ/秘密鍵ファイル];

        ssl_stapling on;
        ssl_stapling_verify on;
        # mkcert以外のきちんとした証明書を用いる時に使うオプションです

        access_log /var/log/nginx/growi/ssl_access.log;
        error_log /var/log/nginx/growi/ssl_error.log warn;

        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto https;
        proxy_max_temp_file_size 10240m;
        client_max_body_size 10240m;
        proxy_redirect off;

       set $proxy_target  '[growiを公開するサブドメイン(upstreamの行で設定したもの)]';

       location / {
          proxy_pass http://$proxy_target;
       }

       location /socket.io/ {
          proxy_http_version 1.1;
          proxy_set_header Upgrade $http_upgrade;
          proxy_set_header Connection "Upgrade";
          proxy_cache_bypass $http_upgrade;
          proxy_pass http://$proxy_target/socket.io/;
       }
}
EOF

コンフィグファイルの有効化

cd /etc/nginx/sites-enabled
sudo unlink default
# nginxの基本設定を無効化します
sudo ln -s /etc/nginx/sites-available/growi.conf growi.conf
# 先ほど作成したコンフィグファイルを有効化します

起動確認

sudo nginx -t
# syntax is ok と test is successful を確認します

sudo systemctl restart nginx

sudo systemctl enable nginx

systemctl status nginx
# (runnning) と enabled を確認します

確認後、

http://[指定したドメイン名]

で、

  • Growiのログイン画面が見えること(:3000を付ける必要がないこと)
  • SSL通信(httpsにリダイレクトされること)を確認してください

新規インストールしたLinux Mint 20.03にgrowiをインストール。-2-

ここでは、インストールしたGrowiをサービス化して、サーバを再起動しても自動実行されるようにします。

起動スクリプト化

※ cat ~ EOFまで全行を実行します。

※ コマンド実行の前に[ ]でくくった箇所を自分の環境に置き換えてください。

以下の順番で行うとやりやすいです。

  1. 以下のコマンド全行(cat - ~ 最下行のEOFまで)をコピーする
  2. 任意のテキストエディタに貼り付ける
  3. [ ]でくくった箇所を置き換えて編集する(このとき、[ ] も外します)
  4. 置き換えて編集したコマンド全行をコピー
  5. ターミナルに貼り付けて実行する
cat <<- 'EOF' | sudo tee -a /var/growi/growi-start.sh
#!/bin/sh
cd /var/growi
NODE_ENV=production \
AUDIT_LOG_ENABLED=true \
FORCE_WIKI_MODE=private \
MONGO_URI=mongodb://localhost:27017/growi \
ELASTICSEARCH_URI=http://localhost:9200/growi \
REDIS_URI=redis://localhost:6379 \
PASSWORD_SEED=[ランダムな文字列を指定する] \
FILE_UPLOAD=local \
npm start
EOF

また、上記は筆者の環境に合わせています。不要な場合は削除ください。

  • AUDIT_LOG_ENABLED=true \
    • v5.1.10から実装された監査ログを有効化する機能
  • FORCE_WIKI_MODE=private \
    • 強制的に全てのページを非公開にする

起動スクリプトに実行権限を付与

sudo chmod +x /var/growi/growi-start.sh

ls -l /var/growi/growi-start.sh
# 実行権限がついていることを確認

サービスとして登録

cat <<- 'EOF' | sudo tee -a /etc/systemd/system/growi.service

[Unit]
Description = growi
After=network-online.target mongod.service
ConditionPathExists=/var/growi

[Service]
ExecStart=/var/growi/growi-start.sh
Restart=no
Type=simple

[Install]
WantedBy=multi-user.target

EOF

登録したサービスを有効化

sudo systemctl daemon-reload

sudo systemctl start growi.service

sudo systemctl enable growi.service

sudo systemctl status growi.service
# (running)とenabledを確認

起動確認

起動後(3分ぐらいかかります)、
http://[IPアドレス/dns登録名]:3000

にアクセスすることで、growiのログイン画面が出てきます。この段階で利用可能です。

次にご紹介するリバースプロキシー有効化などは、ローカル運用と割り切ってしまえば不要なオプション設定です。

新規インストールしたLinux Mint 20.03にgrowiをインストール。-1-

コンテナ環境だともっと楽なのでしょうけれど、きちっとオンプレで運用したいので、こういう方法をとりました。

前提

  • インストールするサーバはUbuntu 20系のLinux Mint 20.03を用います。(22系はMongoDBで詰まりました)
  • 他にWebサーバを稼働していないサーバにて実施しています。
  • ローカルNW内で運用するため、サーバのセキュリティ設定は低くなっています。
  • インストールするディレクトリは「/var/growi」とします。
  • ここではあくまでもインストールと起動確認を行うまでです。
  • エディタによる編集は極力使わず、コマンドのコピー&ペーストで完結するようにしています。
  • ここではインストールと動作確認にとどめます。

参考にしたURL

  • Ubuntu Server 20.04 LTSにGROWIをインストール

https://qiita.com/BigTree777/items/4a67d36c4111a1fb50e7

  • Ubuntu18.04にGrowiをインストール

https://qiita.com/hawk777/items/0916024c1bd7b24904ae

手順

別途、記載がない限りは

  • 1行空いているコマンドは、1行ずつ実行します。
  • 空白行がない一連のコマンドは全てをコピー&ペーストして実行します。

必要に応じて:aptitudeのインストール

sudo apt-get install aptitude
# 本項ではパッケージ管理にaptitudeを用いますので、導入されていない場合はインストール。
# ポリシーによりaptを用いる場合は読み替えてください。

事前準備 - nginx リポジトリの追加

sudo add-apt-repository ppa:ondrej/nginx
# これを先に実施しないと、mongodbのバージョン固定に失敗しました

Node.js/npm/yarnのインストール

cd ~

curl -sL https://deb.nodesource.com/setup_14.x -o nodesource_setup.sh

sudo bash nodesource_setup.sh

sudo aptitude install nodejs
Node.jsとnpmのインストール確認
node -v

npm -v
# インストールしたバージョンを確認

yarnのインストール

sudo npm install -g yarn

yarn -v
# インストールしたバージョンを確認

Elasticsearchのインストール

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg

sudo aptitude install apt-transport-https

echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-7.x.list

sudo aptitude update && sudo aptitude install elasticsearch

dpkg -l |grep elasticsearch
#インストールしたバージョンを確認
Elasticsearchに割り当てるメモリを調整
sudo mkdir /etc/elasticsearch/old
# 切り戻しができるように、設定ファイルのバックアップを格納するディレクトリを作ります

sudo cp -pi /etc/elasticsearch/jvm.options /etc/elasticsearch/old/jvm.options.`date +%Y%m%d`
# .`date +%Y%m%d`をつけることで、バックアップファイルは当日日付(YYYY/MM/DD形式)で記録されます

echo -e "-Xms256m\n-Xmx256m" | sudo tee -a /etc/elasticsearch/jvm.options
メモリ調整確認
sudo diff -u /etc/elasticsearch/old/jvm.options.`date +%Y%m%d` /etc/elasticsearch/jvm.options

diffの出力結果(差分)が以下であることを確認します。

+-Xms256m
+-Xmx256m
Elasticsearchの自動起動の有効化
sudo systemctl start elasticsearch

sudo systemctl enable elasticsearch

sudo systemctl status elasticsearch
# (running) と enabledを確認

Growiに必要なElasticsearchプラグインのインストール

sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-kuromoji

sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu

sudo systemctl restart elasticsearch

Redisのインストール

sudo add-apt-repository ppa:chris-lea/redis-server

sudo aptitude update && sudo aptitude install redis-server
インストール後の確認
redis-cli --version

redis-server --version
# インストールしたバージョンが表示されることを確認

sudo systemctl start redis-server

sudo systemctl enable redis-server

sudo systemctl status redis-server
# (running) と enabledを確認

MongoDBのインストール

wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list

sudo aptitude update && sudo aptitude install mongodb-org=4.4.13 mongodb-org-server=4.4.13 mongodb-org-shell=4.4.13 mongodb-org-mongos=4.4.13 mongodb-org-tools=4.4.13

MongoDBのバージョン固定

echo "mongodb-org hold" | sudo dpkg --set-selections

echo "mongodb-org-server hold" | sudo dpkg --set-selections

echo "mongodb-org-shell hold" | sudo dpkg --set-selections

echo "mongodb-org-mongos hold" | sudo dpkg --set-selections

echo "mongodb-org-tools hold" | sudo dpkg --set-selections
インストール後の確認
redis-cli --version

mongod --version
# インストールしたバージョンが表示されることを確認

sudo systemctl start mongod

sudo systemctl enable mongod

sudo systemctl status mongod
# (running) と enabledを確認

Growiのインストール

sudo aptitude install git build-essential

sudo git clone https://github.com/weseek/growi /var/growi

cd /var/growi

sudo git tag -l
# 2022/09/15での最新版は5.1.4

sudo git checkout -b v5.1.4 refs/tags/v5.1.4

sudo yarn

Growi起動確認

ここでは「PASSWORD_SEED」を「GOLDEN_SEED」と設定します。任意のランダム文字列を指定してください。

先頭のsudo から最終行のnpm startまで全てコピー&ペーストで実行します。

sudo \
NODE_ENV=production \
MONGO_URI=mongodb://localhost:27017/growi \
ELASTICSEARCH_URI=http://localhost:9200/growi \
REDIS_URI=redis://localhost:6379 \
PASSWORD_SEED=GOLDEN_SEED\
FILE_UPLOAD=local \
npm start

以下の表示が出たら起動は成功です。

> growi@(インストールしたバージョン) start /var/growi
> yarn app:server

ブラウザで

http://IPorホスト名:3000

に接続し、ログインページ表示を確認します。(ここではまだログインをしないでください)

ログインページ表示を確認後、[Ctrl]+[C]で抜けます。

これからの流れ

最終的に以下を行います。

  • mkcertによるSSL取得と常時SSL化
  • nginxによるリバースプロキシー
  • growiの起動スクリプト化

Page 100 of 246

Powered by WordPress & Theme by Anders Norén