2020/01/20(月)Debian10で Apache + php-fpm の正しい設定メモ

Apache + php-fpm 環境で Debian 9(jessie) から 10(buster) にアップデートしたら動かなくなったので、メモ。

概要

Debian付属のmod_phpはスレッドセーフではないため、Apacheを event_mpm や worker_mpm で運用している場合は使用できません(prefork専用)。

そもそも今どきmod_phpで動作させるのはナンセンスなので、FastCGIデーモンによるPHP環境 PHP-FPM を使用します。

Debian10での設定

  • Apache 2.4
  • PHP 7.3 (php7.3-fpm)
apt-get install php-fpm libapache2-mod-fcgid

php-fpmをインストールすることで自動的に「php-fpm7.3」サービスが起動します。

/etc/apache2/conf-available 以下に php7.3-fpm.conf が作られるので、これを有効にします。

cd /etc/apache2/conf-enabled
ln -s ../conf-available/php7.3-fpm.conf

proxy_fcgi_moduleが必要なのでこれも有効にします。

cd /etc/apache2/mods-enabled
ln -s ../mods-available/proxy_fcgi.load

この状態で、Apacheを再起動すれば有効になっているはずです。ついでに、OPcacheも最初から有効になっています。

php7.3-fpm.confの中身(特に変更せず)

# Redirect to local php-fpm if mod_php is not available
<IfModule !mod_php7.c>
<IfModule proxy_fcgi_module>
    # Enable http authorization headers
    <IfModule setenvif_module>
    SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1
    </IfModule>

    <FilesMatch ".+\.php$">
        SetHandler "proxy:unix:/run/php/php7.3-fpm.sock|fcgi://localhost"
    </FilesMatch>
    <FilesMatch ".+\.phps$">
        Require all denied
    </FilesMatch>
    <FilesMatch "^\.ph(ar|p|ps|tml)$">
        Require all denied
    </FilesMatch>
</IfModule>
</IfModule>

以前使っていた古い設定

Debian 9(jessie)でも全く同じ設定で動作するのですが、以前は古い設定を使っていました。その設定を書いておきます。

  • php-fpm7.0
  • libapache2-mod-fastcgi (Debian9までしか提供されず)

Apache2の libapache2-mod-fastcgi(libapache2-mod-fcgidではダメ)を有効化してから、sites-available/000-default.conf 等に以下の設定を行います。

<IfModule mod_fastcgi.c>
        AddHandler      fastcgi-script  .fcgi
        AddHandler      php7.0-fcgi     .php
        Action          php7.0-fcgi     /usr/sbin/php-fpm7.0
        FastCgiExternalServer   /usr/sbin/php-fpm7.0 -socket /var/run/php/php7.0-fpm.sock -pass-header Authorization
        FastCgiConfig           -maxClassProcesses 100

        <Directory /usr/sbin>
                <Files php-fpm7.0>
                        Require all granted
                </Files>
        </Directory>
</IfModule>

何が変更になったのか

外部プログラムを呼び出して、そこから php-fpm サーバに接続するという形式が無効になったようです。上に書いた古い設定は多くの新しいLinuxディストリビューションで無効になっているようです

この古い設定を行った場合、エラーログ等はなく「404 Not Found」と言われ白紙のページが出るだけなので混乱します。

現在は Apache に直接組み込んだ FastCGIのProxyのモジュール(proxy_fcgi_module)から、直接php-fpmに接続するようになりました。このほうが遥かに効率的です。

メモ

  • php-fpmを利用する場合、SuEXECと併用できない。
    • SuEXECと同じことをしたければ、php-fpmデーモン(設定ファイル)を権限(ユーザー)ごとに分ける必要がある。

2019/10/19(土)JNBのカード型トークンを分解してみる

ジャパンネットバンク銀行(PayPay銀行)が発行しているカード型トークン(セキュリティキー)を分解してみました。

jnb-token_01.jpg

ネットバンクの操作に必要なワンタイムパスワードを表示する機械で、今では一般的になりましたけど、JNBが最初だったんんじゃないかな。他行では乱数表が一般的だったと思います。

厚さなんと0.8mm。上にシート(約0.15mm)がついているのでこれを慎重に剥がします。

jnb-token_02.jpg

結構しっかりと融着されているので剥がすのは大変です。個体によるのかもしれませんが、特に左上(「電池」の赤字があるところ)は強固に融着されていました。剥がしたあとの厚みはたったの0.65mm。このサイズに回路が入っていて、しかも10年持つというのは驚きです。

余談

分解したものは壊れたトークンです。壊れた場合、電話しなくてもWebから再発行を依頼できたらしい。カードに電話番号しか書いてないので、電話必須だと思ってしまった……。

jnb-token-web.png

ちなみに故障の症状は以下のものでした。参考にしてください。

  • ONにした瞬間「EEEEEE」表示がされ、その後数字が出る。
  • 1分以上経ってもその数字が消えない。
  • 何度ON/OFFしてもその数字が変わらない。

関連記事

2019/03/29(金)温度調整機能付き はんだごての比較

gootのPX-201とHAKKO(白光)FX-600の比較。

性能比較

元々、PX-201を使っていたのですが、持ち手部分が太く手に馴染まなかったため、FX-600を新たに購入しました。

soldering_iron.jpg

PX-201

asin:B001PR1KLK

  • ヒーター 70W
  • 調整温度 250~450℃
  • 持ち手部分が太い
  • こて先もやや太い
  • 使っているうちに持ち手カバーがずれて通電ランプが見えなくなる。

FX-600

asin:B006MQD7M4

  • ヒーター 50W
  • 調整温度 200~500℃(切り替え式)
  • 持ち手部分が細め
  • 持ち手が滑りやすい
  • こて先もやや細め

感想

持ち手部分の太さは明らかに違います。こて先も白光FX-600が少し細めです。この角度のちょっとした差で使いやすさが違うのです。

soldering_iron-2.jpg

一番下は久冨のこて先です。中学生の頃、久冨は授業で作ったはんだごてですが、手に馴染んでいて長年使っていました。細めの芯が便利なのですよね……。

PX-201を購入して乗り換えましたが、こて先も太くて困っていました。「細いこて先」を買えよという声が聞こえてきそうです。もちろんPX-2RT-SBを購入して試したのですが、このこて先は細すぎて熱伝導効率が悪く使いにくいのです。*1

さて白光のこて先はどうか。

*1 : 鋭利なため基板やICの足を傷つけてしまいやすいのも問題でした……

その後 2021/05/05

PX-201は太すぎるのでカバーを外して使っていたのですが、それでも使いにくく隠居(封印)しました。

今はFX-600をメインに使っています。ほとんど問題ないですが、小さいチップ部品をつけるときは、久冨のこてを使用することもあります。

2019/02/28(木)祝700万ヒット

700万ヒットありがとうございます。今どきPVでもUUでもないカウンタ付いてるブログなんてめずらしくなってしまいました。時代でしょうか(苦笑)

ドメイン変更で一時的にアクセスが減ったりしましたが、最近は復帰して平日1500/dayぐらいになっていますね。

近況

bispaさんで委託しているmsBerryDACですが、最終ロットの製造を完了したので、3月上旬には販売再開されると思います。2月中と言ってたのですが遅れてごめんなさい。

なお次回の製造は未定です。作るかもしれませんし、作らないかもしれません。どちらにしても今回ほど大量には作れないので、再販するとしても値段は確実に上がります(そもそも部品が高くなってますし……)。

今更ですが、今の価格はどう考えても頑張りすぎた値段設定で、やりすぎだったのではないかと思っています(苦笑)

記念ヒットの記録

続きを読む