
「やはり弁当に暖かい汁物がほしい」と思い立ち、スープジャーを足しました。
前に使ったものよりサイズダウンして、取り回しをよくしています。
同様に、弁当箱も心持ち小さくしました。ダイソーにて手頃なサイズのドーム型があったのはありがたいです。

調理例はこんな形。

好物の麻婆豆腐も入れられる構成なので、かなりの重宝です。
地味に、スープジャーに小さめの弁当箱もあるのでサラダジャーとしても活用可能。
レパートリーを増やす準備が整いました。
「やはり弁当に暖かい汁物がほしい」と思い立ち、スープジャーを足しました。
前に使ったものよりサイズダウンして、取り回しをよくしています。
同様に、弁当箱も心持ち小さくしました。ダイソーにて手頃なサイズのドーム型があったのはありがたいです。
調理例はこんな形。
好物の麻婆豆腐も入れられる構成なので、かなりの重宝です。
地味に、スープジャーに小さめの弁当箱もあるのでサラダジャーとしても活用可能。
レパートリーを増やす準備が整いました。
Growi v7.1.0のインストールメモです。
パッケージ管理がyarnからpnpmに変更されているため、若干手間が異なります。
の基本的な設定が済んだという状況です。
sudo aptitude install build-essential git git-lfs apt-transport-https
※v6系と異なり、git-lfsをインストールしない状態でgit-clone
を行うと正しくビルドが行えません。
sudo curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash
sudo aptitude update
sudo aptitude install nodejs
node -v
2024/10/30現在:v20.18.0
npm -v
2024/10/30現在:10.9.0
sudo aptitude install redis-server
systemctl status redis-server
active(running)を確認します。
sudo systemctl enable redis-server
sudo aptitude install openjdk-17-jdk
sudo aptitude install openjdk-17-jdk sudo bash -
sudo wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg
sudo echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-8.x.list
sudo aptitude update
sudo aptitude install elasticsearch
※この後、デフォルトパスワードが表示されますが、控えておく程度にしましょう。
sudo mkdir /etc/elasticsearch/old
※任意のバックアップディレクトリを指定します。
sudo cp -pi /etc/elasticsearch/jvm.options /etc/elasticsearch/old/jvm.options.$(date +%Y%m%d)
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
+-Xms256m
+-Xmx256m
※この作業だけ管理者権限で実行します。
sudo su -
cp -pi /etc/elasticsearch/elasticsearch.yml /path/to/backup/elasticsearch.yml.$(date +%Y%m%d)
任意のバックアップディレクトリを指定します。
sed -i -e 's/xpack.security.enabled: true/xpack.security.enabled: false/' \
-e '/xpack.security.http.ssl:/{n; s/ enabled: true/ enabled: false/}' \
-e '/xpack.security.transport.ssl:/{n; s/ enabled: true/ enabled: false/}' /etc/elasticsearch/elasticsearch.yml
diff -u /path/to/backup/elasticsearch.yml.$(date +%Y%m%d) /etc/elasticsearch/elasticsearch.yml
# Enable security features
-xpack.security.enabled: true
+xpack.security.enabled: false
xpack.security.enrollment.enabled: true
# Enable encryption for HTTP API client connections, such as Kibana, Logstash, and Agents
xpack.security.http.ssl:
- enabled: true
+ enabled: false
keystore.path: certs/http.p12
# Enable encryption and mutual authentication between cluster nodes
xpack.security.transport.ssl:
- enabled: true
+ enabled: false
exit
sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-kuromoji
sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu
sudo systemctl start elasticsearch
systemctl status elasticsearch
active(running)を確認します。
sudo systemctl enable elasticsearch
sudo aptitude install gnupg
curl -fsSL https://www.mongodb.org/static/pgp/server-6.0.asc | \
sudo gpg -o /usr/share/keyrings/mongodb-server-6.0.gpg \
--dearmor
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-6.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
sudo aptitude update
sudo aptitude install mongodb-org
MongoDBの格納先を、冗長化構成されているパーティションにするため対応しました。
sudo mkdir /home/mongodb
保存先を変えたいところにします
sudo chown -R mongodb:mongodb /home/mongodb
ls -ld /home/mongodb
sudo cp -pi /etc/mongod.conf /path/to/backup/mongod.conf.$(date +%Y%m%d)
任意のバックアップディレクトリを指定します。
sudo diff -u /etc/mongod.conf /path/to/backup/mongod.conf.$(date +%Y%m%d)
バックアップが保存されたか、差分がないことで確認します。
sudo sed -i 's/dbPath: \/var\/lib\/mongodb/dbPath: \/home\/mongodb/' /etc/mongod.conf
sudo diff -u /path/to/backup/mongod.conf.$(date +%Y%m%d) /etc/mongodb.conf
- dbPath: /var/lib/mongodb
+ dbPath: /home/mongodb
sudo systemctl start mongod
systemctl status mongod
active (running)を確認します
sudo systemctl enable mongod
sudo npm install -g pnpm
※Growi v6.1.0から必須パッケージとなりました。
sudo yarn global add turbo
sudo git clone https://github.com/weseek/growi /home/www-data/growi
※任意のディレクトリを指定します。
cd /home/www-data/growi && pwd
先ほどcloneしたディレクトリです。
sudo git checkout -b v7.1.0 refs/tags/v7.1.0
sudo git lfs pull
sudo pnpm install
CPUのスペックによっては相当な時間がかかります。
sudo npm run app:build
やはり時間がかかります。
cat <<- __EOF__ | sudo tee -a /etc/systemd/system/growi.service
[Unit]
Description = growi
After=network-online.target mongod.service
After=network.target elasticsearch.service
ConditionPathExists=【/home/www-data/growi】
[Service]
ExecStart=【/home/www-data/growi/】growi-start.sh
Restart=no
Type=simple
[Install]
WantedBy=multi-user.target
__EOF__
※【】内を、git cloneしたディレクトリにします。
growi-start.sh
#!/bin/bash
cd 【/home/www-data/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=[任意の文字列] \
npm run app:server
※【】内を、git cloneしたディレクトリにします。
[]内には任意の文字列を入れます。 例:PASSWORD_SEED=GOLDEN_SEED
また、オプションなどは好みに応じて指定してください。(今回はs3互換クラウドストレージに保存するため、ファイルのアップロードを自由選択にしています。)
sudo chmod +x /home/www-data/growi/growi-start.sh
sudo systemctl daemon-reload
sudo systemctl start growi.service
systemctl status growi.service
active(running)を確認
sudo systemctl enable growi.service
sudo a2enmod proxy_http rewrite
sudo systemctl restart apache2.service
suod mkdir /var/log/growi/
sudo chown -R www-data:www-data /var/log/growi
cat <<- __EOF__ | sudo tee -a /etc/apache2/sites-available/growi.conf
<VirtualHost _default_:80>
ServerName 【hoge.example.com】
# ドメイン名を指定します
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
# HTTPアクセスを強制的にHTTPSにリダイレクトします
</VirtualHost>
<VirtualHost _default_:443>
ServerName 【hoge.example.com】
# ドメイン名を指定します
CustomLog /var/log/growi/growi_access.log combined
ErrorLog /var/log/growi/growi_error.log
#SSL設定
SSLEngine on
Protocols h2 http/1.1
# SSLを有効化します
SSLCertificateFile 【/etc/certs/hoge.example.com.crt】
# SSL証明書を指定します
SSLCertificateKeyFile 【/etc/private/hoge.example.com.key】
# 秘密鍵を指定します
# Header に Host: example.com を追加するため
ProxyPreserveHost On
# HTTPS利用時: Header に x-forwarded-proto: https を追加するため
RequestHeader set x-forwarded-proto 'https'
# Apache では static assets で 304 が返らないことがあるので ETag を無効化する
<ifModule mod_headers.c>
Header unset ETag
</ifModule>
FileETag None
# socket.io の path を rewrite する
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/socket.io [NC]
RewriteCond %{QUERY_STRING} transport=websocket [NC]
RewriteRule /(.*) ws://localhost:3000/$1 [P,L]
ProxyPass / http://localhost:3000/
ProxyPassReverse / http://localhost:3000/
</VirtualHost>
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1 -TLSv1.2
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:EC6-GCM-SHA384
SSLHonorCipherOrder off
SSLSessionTickets off
__EOF__
【】内を自分の環境に変更してください。
※Ubuntu22.04の時と異なり、socket.ioのpathは公式ドキュメント通りで正常に動作しています。
sudo a2ensite growi.conf
sudo apache2ctl configtest
Syntax OKを確認します。
sudo systemctl restart apache2.service
http://設定したドメイン でアクセスします。
この初期サイトが表示されたらインストール完了です。
Ubuntu 7.1.0はかなり大きめの仕様変更がありました。
https://github.com/weseek/growi/releases/tag/v7.1.0
いくつかハマったポイントがありましたが、「自分はこの手順でうまくいった」 というメモを残します。
以下の手順に沿ってインストール済みです。
https://barrel.reisalin.com/books/growi/page/ubuntu2404growi-v7v710
ここで分かるように、パッケージ管理がyarnからpnpmへと変わっています。
なぜか通常のgit checkoutはビルドがうまくいきませんでした。
systemctl status growi.service
active(running)
を確認します。
sudo systemctl stop growi.service
systemctl stop growi.service
inactive(dead)
を確認します。
筆者環境は/home/www-data/growi
です。
sudo mv /home/www-data/growi /path/to/backup/directory/growi_org
ls -l /path/to/backup/directory/growi_org
ファイル一覧が参照できることを確認します。
sudo git clone https://github.com/weseek/growi /home/www-data/growi
※任意のディレクトリを指定します。
cd /home/www-data/growi && pwd
先ほどcloneしたディレクトリですが、退避前のディレクトリと同じことを確認します。
sudo git checkout -b v7.1.0 refs/tags/v7.1.0
sudo git lfs pull
sudo npm install -g pnpm
pnpm --version
9.12.3
を確認(2024/11/02現在)
sudo git lfs pull
sudo pnpm install
※ マシンスペックによっては相当時間がかかります
※ Done in 【時間】と書かれていたらアップグレード完了です
sudo npm run app:build
筆者のように、起動スクリプトをGrowiのインストールディレクトリに仕込んでいる場合の手順です。
sudo cp -pi /path/to/backup/directory/growi_org/growi-start.sh /home/www-data/growi/
それぞれ、バックアップしたディレクトリとcloneしたディレクトリです。
ls -l /home/www-data/growi/growi-start.sh
ファイルがあることを確認します。
systemctl status growi.service
inactive (dead)を確認します
sudo systemctl start growi.service
※ 完全に起動していないと、アクセスしても503エラーが発生します。
systemctl status growi.service
サービススクリプトを[growi]にしている場合
active (running)を確認します
「動きが気になる」ということで、ドクター・フー統率者デッキ『タイミーワイミー』購入。
このシリーズの構築済みを全て購入した形になります。
デッキのテーマは作中にも出てくる「タイムトラベル」。時間カウンターの操作により様々なシナジーを生み出していくもの。
その反面、入れられるカードは少なめなので、フレーバーを活かしつつデッキを組み上げていくのが楽しみです。
こちらを元に、少し買い足して以下の形に。
記号がついているのは、それぞれでシナジーがあるカードです。先述したように、追い込まれた後に無限ライフルーズを決めて勝利。
数で押し包む厳が決まる、割と楽しいデッキです。
ようやく、Ubuntu24.04にGrowiをインストールできたのでそのメモです。
参考手順:GROWIをUbuntuで構築した
の基本的な設定が済んだという状況です。
sudo aptitude install build-essential git git-lfs apt-transport-https
※v6系と異なり、git-lfsをインストールしない状態でgit-clone
を行うと正しくビルドが行えません。
sudo curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash
sudo aptitude update
sudo aptitude install nodejs
node -v
2024/10/30現在:v20.18.0
npm -v
2024/10/30現在:10.9.0
sudo aptitude install redis-server
systemctl status redis-server
active(running)を確認します。
sudo systemctl enable redis-server
sudo aptitude install openjdk-17-jdk
sudo aptitude install openjdk-17-jdk sudo bash -
sudo wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg
sudo echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-8.x.list
sudo aptitude update
sudo aptitude install elasticsearch
※この後、デフォルトパスワードが表示されますが、控えておく程度にしましょう。
sudo mkdir /etc/elasticsearch/old
※任意のバックアップディレクトリを指定します。
sudo cp -pi /etc/elasticsearch/jvm.options /etc/elasticsearch/old/jvm.options.$(date +%Y%m%d)
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
+-Xms256m
+-Xmx256m
※この作業だけ管理者権限で実行します。
sudo su -
cp -pi /etc/elasticsearch/elasticsearch.yml /path/to/backup/elasticsearch.yml.$(date +%Y%m%d)
任意のバックアップディレクトリを指定します。
sed -i -e 's/xpack.security.enabled: true/xpack.security.enabled: false/' \
-e '/xpack.security.http.ssl:/{n; s/ enabled: true/ enabled: false/}' \
-e '/xpack.security.transport.ssl:/{n; s/ enabled: true/ enabled: false/}' /etc/elasticsearch/elasticsearch.yml
diff -u /path/to/backup/elasticsearch.yml.$(date +%Y%m%d) /etc/elasticsearch/elasticsearch.yml
# Enable security features
-xpack.security.enabled: true
+xpack.security.enabled: false
xpack.security.enrollment.enabled: true
# Enable encryption for HTTP API client connections, such as Kibana, Logstash, and Agents
xpack.security.http.ssl:
- enabled: true
+ enabled: false
keystore.path: certs/http.p12
# Enable encryption and mutual authentication between cluster nodes
xpack.security.transport.ssl:
- enabled: true
+ enabled: false
exit
sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-kuromoji
sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu
sudo systemctl start elasticsearch
systemctl status elasticsearch
active(running)を確認します。
sudo systemctl enable elasticsearch
sudo aptitude install gnupg
curl -fsSL https://www.mongodb.org/static/pgp/server-6.0.asc | \
sudo gpg -o /usr/share/keyrings/mongodb-server-6.0.gpg \
--dearmor
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-6.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
sudo aptitude update
sudo aptitude install mongodb-org
MongoDBの格納先を、冗長化構成されているパーティションにするため対応しました。
sudo mkdir /home/mongodb
保存先を変えたいところにします
sudo chown -R mongodb:mongodb /home/mongodb
ls -ld /home/mongodb
sudo cp -pi /etc/mongod.conf /path/to/backup/mongod.conf.$(date +%Y%m%d)
任意のバックアップディレクトリを指定します。
sudo diff -u /etc/mongod.conf /path/to/backup/mongod.conf.$(date +%Y%m%d)
バックアップが保存されたか、差分がないことで確認します。
sudo sed -i 's/dbPath: \/var\/lib\/mongodb/dbPath: \/home\/mongodb/' /etc/mongod.conf
sudo diff -u /path/to/backup/mongod.conf.$(date +%Y%m%d) /etc/mongodb.conf
- dbPath: /var/lib/mongodb
+ dbPath: /home/mongodb
sudo systemctl start mongod
systemctl status mongod
active (running)を確認します
sudo systemctl enable mongod
sudo npm install -g yarn
※Growi v6.1.0から必須パッケージとなりました。
sudo yarn global add turbo
sudo git clone https://github.com/weseek/growi /home/www-data/growi
※任意のディレクトリを指定します。
cd /home/www-data/growi && pwd
先ほどcloneしたディレクトリです。
sudo git checkout -b v7.0.23 refs/tags/v7.0.23
2024/10/30現在の最新版をチェックアウトします。
sudo yarn
CPUのスペックによっては相当な時間がかかります。
sudo yarn app:build
v7からこの操作が必要です。やはり時間がかかります。
cat <<- __EOF__ | sudo tee -a /etc/systemd/system/growi.service
[Unit]
Description = growi
After=network-online.target mongod.service
ConditionPathExists=【/home/www-data/growi】
[Service]
ExecStart=【/home/www-data/growi/】growi-start.sh
Restart=no
Type=simple
[Install]
WantedBy=multi-user.target
__EOF__
※【】内を、git cloneしたディレクトリにします。
growi-start.sh
#!/bin/bash
cd 【/home/www-data/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=[任意の文字列] \
npm start
※【】内を、git cloneしたディレクトリにします。
[]内には任意の文字列を入れます。 例:PASSWORD_SEED=GOLDEN_SEED
また、オプションなどは好みに応じて指定してください。(今回はs3互換クラウドストレージに保存するため、ファイルのアップロードを自由選択にしています。)
sudo chmod +x /home/www-data/growi/growi-start.sh
sudo systemctl daemon-reload
sudo systemctl start growi.service
systemctl status growi.service
active(running)を確認
sudo systemctl enable growi.service
sudo a2enmod proxy_http rewrite
sudo systemctl restart apache2.service
suod mkdir /var/log/growi/
sudo chown -R www-data:www-data /var/log/growi
cat <<- __EOF__ | sudo tee -a /etc/apache2/sites-available/growi.conf
<VirtualHost _default_:80>
ServerName 【hoge.example.com】
# ドメイン名を指定します
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
# HTTPアクセスを強制的にHTTPSにリダイレクトします
</VirtualHost>
<VirtualHost _default_:443>
ServerName 【hoge.example.com】
# ドメイン名を指定します
CustomLog /var/log/growi/growi_access.log combined
ErrorLog /var/log/growi/growi_error.log
#SSL設定
SSLEngine on
Protocols h2 http/1.1
# SSLを有効化します
SSLCertificateFile 【/etc/certs/hoge.example.com.crt】
# SSL証明書を指定します
SSLCertificateKeyFile 【/etc/private/hoge.example.com.key】
# 秘密鍵を指定します
# Header に Host: example.com を追加するため
ProxyPreserveHost On
# HTTPS利用時: Header に x-forwarded-proto: https を追加するため
RequestHeader set x-forwarded-proto 'https'
# Apache では static assets で 304 が返らないことがあるので ETag を無効化する
<ifModule mod_headers.c>
Header unset ETag
</ifModule>
FileETag None
# socket.io の path を rewrite する
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/socket.io [NC]
RewriteCond %{QUERY_STRING} transport=websocket [NC]
RewriteRule /(.*) ws://localhost:3000/$1 [P,L]
ProxyPass / http://localhost:3000/
ProxyPassReverse / http://localhost:3000/
</VirtualHost>
SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1 -TLSv1.2
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:EC6-GCM-SHA384
SSLHonorCipherOrder off
SSLSessionTickets off
__EOF__
【】内を自分の環境に変更してください。
※Ubuntu22.04の時と異なり、socket.ioのpathは公式ドキュメント通りで正常に動作しています。
sudo a2ensite growi.conf
sudo apache2ctl configtest
Syntax OKを確認します。
sudo systemctl restart apache2.service
http://設定したドメイン でアクセスします。
この初期サイトが表示されたらインストール完了です。
再インストールしたLinuxサーバに対して、Linuxクライアントから公開鍵認証でSSH接続を行ったところ以下のメッセージが出ました。
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ED25519 key sent by the remote host is
SHA256:********************************
Please contact your system administrator.
Add correct host key in /home/hoge/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /home/hoge/.ssh/known_hosts:2
Host key for hoge.example.com has changed and you have requested strict checking.
Host key verification failed.
それに備えて秘密鍵を新しいものに差し替えていましたが、サーバが再インストール前の公開鍵情報を覚えていたという形です。
上記そのものズバリの解決策がありましたので、これに沿って対応していきます。
エラーが起きたLinuxクライアントで
ssh-keygen -R hoge.example.com
を実行するだけ。(ホスト名は自分の環境に合わせます)
# Host hoge.example.com found: line 1
# Host hoge.example.com found: line 2
/home/hoge/.ssh/known_hosts updated.
Original contents retained as /home/hoge/.ssh/known_hosts.old
のメッセージが出てきたら対処完了です。
改めて、新たな秘密鍵を用いて
ssh -i /path/to/private/key/hoge.exammple.com.key hoge@hoge.example.com
等としてssh接続を行い、
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
と、無事に接続ができました。
平日休みにボードゲームを行いました。
ソロではわりとやっていましたが、対人は初。アクションの取り合いでままならない状況がありましたが、素点の高い部屋を建てられた分、8点差で勝利。
資源管理とアクションの読み合いが楽しいいいゲームです。
《根花のヘイゼル》より《リスの大将軍、サワギバ》の報が組みやすいコンボがあると気づき、こちらに差し替え。
残り5点まで追い詰められた状態で無限宝物&無限死亡誘発が決まりなんとか勝てました。
このサワギバデッキは動きも好きなので、もう少し詰めていきます。
5年ぐらい前に買っておいて3年前に故障。その後、長らく使っていなかったアイテムを新調しました。
こちらの撮影台。
折りたたみ式で、
展開、セットアップすると天井のライトと反射板で覆われた撮影ボックスになります。
早速、撮影してみました。
が利点ですが、上から光が降り注ぐ関係上、顔に影が着くのが問題。ここをすこし直していくのが課題です。
Ubuntu24.04にリポジトリを利用して追加したnginxは、apacheのようにバーチャルサイトが最初から備わっていませんでした。
そこで、その設定を施します。
sudo mkdir -p /etc/nginx/sites-available
sudo mkdir -p /etc/nginx/sites-enabled
ls -ld /etc/nginx/sites*
sites-available
とsites-enabled
ディレクトリがあることを確認します。
sudo cp -pi /etc/nginx/nginx.conf /path/to/backup/directory/nginx.conf.$(date +%Y%m%d)
任意のバックアップディレクトリを指定します。
diff -u /path/to/backup/directory/nginx.conf.$(date +%Y%m%d) /etc/nginx/nginx.conf
差分がなければバックアップは成功です。
sudo sed -i '/http {/a \ include /etc/nginx/sites-enabled/*;' /etc/nginx/nginx.conf
diff -u /path/to/backup/directory/nginx.conf.$(date +%Y%m%d) /etc/nginx/nginx.conf
以下の差分を確認します。
+ include /etc/nginx/sites-enabled/*;
ファイル格納ディレクトリは自分の環境に合わせます。
sudo -u www-data tee /home/www-data/index.html > /dev/null <<EOL
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Welcome to example.com</title>
</head>
<body>
<h1>Welcome to example.com!</h1>
<p>This is a sample page served by Nginx.</p>
</body>
</html>
EOL
ファイル名やserver_nameは自分の環境に合わせます。
sudo tee /etc/nginx/sites-available/sample.conf > /dev/null <<EOL
server {
listen 80;
server_name example.com www.example.com;
root /home/www-data;
index index.html index.htm;
location / {
try_files \$uri \$uri/ =404;
}
# セキュリティ設定
# サーバー情報を隠す
server_tokens off;
# MIMEタイプの設定
include /etc/nginx/mime.types;
default_type application/octet-stream;
# XSS対策
add_header X-Content-Type-Options nosniff;
add_header X-Frame-Options SAMEORIGIN;
add_header X-XSS-Protection "1; mode=block";
# ファイルのアップロードサイズ制限
client_max_body_size 1M;
# ログの設定
access_log /var/log/nginx/example.com.access.log;
error_log /var/log/nginx/example.com.error.log;
}
EOL
sudo ln -s /etc/nginx/sites-available/sample.conf /etc/nginx/sites-enabled/
sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
を確認します。
sudo systemctl restart nginx.service
設定したURLでアクセスできることを確認します。
これで、バーチャルサイトが設定されました。
Powered by WordPress & Theme by Anders Norén