load-styles.phpが503

これ、なんだと思う?
WordPressの管理画面。CSSが無くて崩壊しているソレ

load-styles.phpが503で動いていないようです。
と言う訳で調査…するまでもなく、検索すれば前例と解決策が出てくるので、試してみます。

  • 原因:PHPのバージョン
  • 対策:PHPのバージョンを変更する
  • 他に見た対策:PHPの高速化設定を停止

とはいえ、一応情報は集めましょう。
現状と公式から得た情報は以下の通りです。

  • 現在のPHP:8.0.30
  • 現在のPHP高速化設定:有効
  • WordPress公式のPHP指定:7.4以上
  • レンサバのWordPress推奨:8.1.22

WordPress公式のPHP指定は古いですね。特に必要がなければ現在のバージョンから下げるのは優先度低めにしたいところです。
PHP高速化設定も有効状態です。こちらも無効にするのは後にしたい。


今回はレンサバがわざわざWordPress推奨のバージョンを記載しているので、8.0.3から8.1.22に変更しました。
7.4.33に変更しました。

結果としては管理画面は修正されました。
再発したらPHP高速化の無効化してみたいと思います。

Redmine 5 環境構築メモ

Redmineをローカルで弄ってみるかと思ったけど、公式の手順通りだと動かなかったのでメモ(当然手順を追えていないだけの可能性はある)
公式手順:https://www.redmine.org/projects/redmine/wiki/redmineinstall


環境

  • Ubuntu 22.04 LTS Server版
  • DBにPostgreSQL
  • インストールするのはRedmine 5.0

手順について

  • とりあえず全部コピペして動かせばRedmineが動く
  • 実行ユーザーは最低でもsudoersに必要な権限が乗っていること
    Ubuntuなら通常は初期ユーザーでOK
  • 「redmine」というユーザーを作成するので、既に居る場合は書き換える
  • 多分余計な手順も入っていると思う

以下手順という名前のスクリプト

# 設定
# DBパスワード
db_password=my_password


# 依存関係のインストール
sudo apt install subversion -y
sudo apt install ruby ruby-dev -y
sudo apt install build-essential -y
sudo apt install libpq-dev -y
sudo apt install postgresql -y


# ユーザーの追加
sudo adduser redmine --disabled-password --gecos ""


# DBセットアップ
sudo -u postgres psql -c "CREATE ROLE redmine LOGIN ENCRYPTED PASSWORD '$db_password' NOINHERIT VALID UNTIL 'infinity';"
sudo -u postgres psql -c "CREATE DATABASE redmine WITH ENCODING='UTF8' OWNER=redmine;"
sudo -u redmine psql -U redmine -d redmine -c "CREATE SCHEMA redmine;"
sudo systemctl restart postgresql


# 環境構築
sudo -u redmine svn co https://svn.redmine.org/redmine/branches/5.0-stable /home/redmine/redmine-5.0
echo "
production:
  adapter: postgresql
  database: redmine
  host: localhost
  username: redmine
  password: \"$db_password\" 
  encoding: utf8
  schema_search_path: redmine
" | sudo -u redmine tee /home/redmine/redmine-5.0/config/database.yml
sudo gem install bundler
sudo -u redmine sh -c "cd /home/redmine/redmine-5.0; bundle config set --local without 'development test'"
sudo -u redmine sh -c "cd /home/redmine/redmine-5.0; bundle config set --local path 'vendor/bundle'"
sudo -u redmine sh -c "cd /home/redmine/redmine-5.0; bundle install"
sudo -u redmine sh -c "cd /home/redmine/redmine-5.0; bundle exec rake generate_secret_token"
sudo -u redmine sh -c "cd /home/redmine/redmine-5.0; RAILS_ENV=production bundle exec rake db:migrate"
sudo -u redmine sh -c "cd /home/redmine/redmine-5.0; RAILS_ENV=production REDMINE_LANG=ja bundle exec rake redmine:load_default_data"
sudo -u redmine sh -c "cd /home/redmine/redmine-5.0; mkdir -p tmp tmp/pdf public/plugin_assets"
sudo -u redmine sh -c "cd /home/redmine/redmine-5.0; chown -R redmine:redmine files log tmp public/plugin_assets"
sudo -u redmine sh -c "cd /home/redmine/redmine-5.0; chmod -R 755 files log tmp public/plugin_assets"
sudo -u redmine sh -c "cd /home/redmine/redmine-5.0; find files log tmp public/plugin_assets -type f -exec chmod -x {} +"


# 検証用サーバーの起動など
sudo gem install webrick
sudo -u redmine sh -c "cd /home/redmine/redmine-5.0; bundle add webrick"
sudo apt install imagemagick -y
sudo apt install libmagickwand-dev -y
sudo -u redmine sh -c "cd /home/redmine/redmine-5.0; bundle add rmagick"
sudo -u redmine sh -c "cd /home/redmine/redmine-5.0; bundle exec rails s -e production"

サイト刷新中

完成してから載せ替えるものじゃないの?
とは思うところですが、サイトを刷新中。

空き時間で直す感じなので、多分暫くは触っているでしょう。

ちなみに1年以上何もしてなかったらしいですよ?

雑記:PC冷やす

追記(オチ)
UEFIからCPBとPBOを無効化したらCPU温度はおとなしくなりました。
PBOはあまり差異を感じなかった感じです。
CineBench R23は22300程。LNA無しの室温20度でCPUは55度弱です。
UEFIも触ってみるものですね。

完全に雑記です

PCの温度が高いことに気付いた。
CPUはAMDのRyzenなので、サーマルスロットリングを起こす90度ギリギリです。
VRM温度は詳しく知らないけど、まあ良い温度には思えない。
何より、どちらも精神衛生上よろしくない。

ということで、PCに手を入れました。自作機なので好き勝手出来ます。

  1. マザーボード変更
    B550M AORUS PRO から B550M AORUS PRO-P に変更。
    一見同じだけど、VRM周りが違う。
    10+3フェーズVRM 低RDS(ON)MOSFET から、10+2 DrMOSFET になっている。
    詳しくはないが、ドライバーMOSFETはだいぶ発熱が小さいとのこと。元々も低発熱と言うけど、80度まで上がってしまっている。
  2. CPUクーラーの変更
    NH-U9S からNH-U12A (LNA使用)に変更。
    こちらは純粋に同じメーカーの上位版に置き換えの方針。
    一応Noctua公式では、NH-U9Sでも問題ないと表記されているけど、実際88度まで上がってしまっている。

結果です。これだけ変わりました。
VRM温度は30度下がりました。
CPUは14度低下ですが、LNA使用で性能が下がってこれです。グリスの性能も最初は発揮されないとのことだし、何よりこれだけ下がれば満足です。
ちなみにLNAを使用したのは、騒音が酷くなったからです。仕様上の騒音値は22.8dBAから22.6dBAに下がっているので、ケースとの相性が悪いのでしょう。

おまけ、今回負荷に使ったCinebench R23の結果です。
改修前
改修後
22556ptsから25079ptsにスコアアップしました。

DSM7の為にGitLabからGitLabへの移行

SynologyのDSMを7にアップする際、今までのGitLabが存在するとアップできない為、別のGitLabへ移行した際のメモです

参考にする場合は自己責任でお願いします

  • 移行元
    • Synology DSM 6.2.4-25556
    • Synology のパッケージマネージャから入れたGitLab
    • GitLabのバージョンは13.12.2-0072
    • 実態はSynology DSMで動いているDocker上で動くGitLabコンテナ
      • gitlab本体以外にPostfresqlとredisが付いてくる仕様
  • 移行先
    • GitLab CE のDockerコンテナ(GitLabが提供しているイメージから)
    • 深く考えずlatest
    • Synology DSM上のDocker上で動かす
      • 他のコンテナに依存しないスタンドアロン仕様

以下移行した手順

  1. Synology DSMのDocker GUIからgitlab/gitlab-ceを検索してイメージを取得
    1. 深く考えずlatest
  2. イメージからコンテナを起動する
    1. 次のURLを参考に、dataとlogsとconfigをコンテナの外に保存する設定を追加
    2. https://docs.gitlab.com/ee/install/docker.html
  3. 新しいGitLabを起動後、最初に画面を開いた時点でrootのパスワードを設定する
    1. と以下のURLに書いてあるが、設定画面が出てこない
    2. https://docs.gitlab.com/ee/install/docker.html
    3. 代わりに、以下を参考にしてコマンドでパスワードを設定する
    4. https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password.
  4. 普段のユーザーを追加
  5. 古いGitLabから新しいGitLabにリポジトリの移行
    1. 古いGitLabでgitlab-rakeコマンドが無いのかパスが通っていないのか、一括で移行できそうな方法が無理なので断念
    2. 新しいGitLabから古いGitLabのリポジトリを指定してクローン、Dockerのホストが同じためIPが同じで拒否され断念(ポートが違うけど見てくれない)
    3. 古いGitLabでリポジトリをエクスポートして、新しいGitLabでインポートする。これは上手く行った
  6. その他、必要なら設定

特にエクスポートからインポートで消えるデータなどは気にする必要が無いので楽でした。とはいえ本来ならコマンドで一括かつ簡単に移行できそうな所なので、調査不足感は否めない終わりでした

SMARTのPower_On_Hours

DS218jのHDDに、WD Blue(CMR)が入っている
久しぶりに確認してみたら、PowerOnHoursが94まで低下していた

Power_On_Hoursが94まで低下。生データは4420(時間)

ということで、この値が0になるまでの時間を計算してみる(24時間稼働)

4420/6*100 = 73666時間
4420/6*100/24=3069日
4420/6*100/24/365=8.4年

筐体の陳腐化のほうが早そう。実際DS220j出ているし

Synology NASとCMRなHDDとSMRなHDDの比較

データ保存の為のNASを新調した結果、色々とあったのでちょっと書いておきます
218jで試したけど、試してる間に220j出たよ

結論

  • アプリ入れるならCMRなHDDを入れた方が良い

アプリ一切入れないならSMRでも良いかも。でもSynology NAS使う理由もなくなる。

比較方法

  • DS218jにHDDを入れて、各HDD毎に共有フォルダを切る
    • SMR:SeagateのST4000DM004
    • CMR:WDのWD40EZRZ
  • 1回目:初期状態で何もアプリを入れずにベンチマーク
  • 2回目:WDにSynology Driveと依存ソフトをインストールしてベンチマーク
  • 3回目:STにSynology Driveと依存ソフトをインストールしてベンチマーク

アプリケーション追加なし

WD40EZRZの方。特に変な場所は無し
ST4000DM004の方。こちらも問題なし。
これだけ見れば、安くて高性能なHDDです。

WD40EZRZにSynology Driveをインストールする

アプリはインストール先が選べるので、両方試す
今回はWD40EZRZが不利です

不利なはずのWD40EZRZの結果。有利なST4000M004と同じ結果を出している。 こちらはST4000M004。有利なハズだが劣化がひどい。
体感速度の劣化はもっと酷く、ベンチマークは終わる気がしない。

ST4000M004にSynology Driveをインストールする

今度はST4000M004が不利なパターン
もしアプリインストール先の影響がなければ、同じ結果になるはず

まずWD40EZRZ。Synology Driveインストールし忘れたか不安になる結果 そして今回の主役、ST4000DM004の結果
壊れたかと思うくらい遅い

おまけ

その他、気づいた点
どれもこれもST4000DM004に対して良くない印象を得る

CMRなWD40EZRZにSynology Driveをインストール
WD40EZRZのベンチマーク後に、ST4000DM004のベンチした結果
見ての通り、ST4000DM004はI/O待ちが酷すぎてCPUが遊んでいるし、HDDも余裕なWDに対して必死感が伝わってくる。

SMRなST4000DM004にSynology Driveをインストール
WD40EZRZのベンチマーク後に、ST4000DM004のベンチをした結果
ベンチが終わった直後に、謎の負荷が跳ね上がっている。SMRをDBとして使った結果だろうか?
HDDの方は分かりやすい。DBとして使っているだけなのにST4000DM004の必死感が伝わってくる

おまけのおまけ

STのベンチマーク直後の結果はどうなっていると思う?
わかるだろうか、通信はもう終わっている(右下見て)
なのにST4000DM004は負荷がかかったまま帰ってこない
Synology DriveをWDにインストールしようがSTにインストールしようが変わらなかった
この状態、結構長く続くので高頻度で注意。今回のベンチだと1時間くらい維持した気がする(計ってないので体感です)

DirectX SDK インストール S1023対処

古い本が出てきたので弄っていたら、SDK(DXSDK_Jun10.exe)がインストールできない
エラーコードはS1023
文字がバグっていて不安になる

原因

  • SDKより新しい再配布可能パッケージが環境にインストールされている

インストールできた手順

  1. Microsoft Visual C++ 2010 x64 Redistributable を削除
  2. Microsoft Visual C++ 2010 x86 Redistributable を削除
  3. 以下からSDKインストーラを取得
    https://www.microsoft.com/en-us/download/details.aspx?id=6812
  4. 普通にインストール

インストール後は再配布可能パッケージが古くなっているので、必要なら(必要なので入っているのでほぼ必須)再度最新にしておく。