当社はIT技術のオンライン教育を得意としたセミナー専門会社です。 | 一戸英男

ITエンジニアの技術力UPをお約束します。

Caddy WEB サーバー V2でのWORDPRESS設定

Caddy WEB サーバー V2でのWORDPRESS設定


Caddy Webサーバーは記事でも過去に3回位書いているが、頻繁に仕様が変わってしまうWEBサーバーだ。意外とそれに翻弄されているエンジニアも多い。でも設計の思想が斬新で個人的には好みのWEBサーバである。

今回はWORDPRESSをCaddy V2.xで動作させて見ることにした。案の定、やってみるとV1の頃とコンフィグが変わっているし。そう来ると思ってた。一つ良かったことはrewrite処理を内部でやってくれるのでコンフィグでやる必要がなくなった。PHPの記述はH2プロトコルでお馴染みのphp-fpm(FastCGI)を使用します。

Caddy Webサーバの導入

Caddy Webサーバのインストールは前回の記事でVersion2の導入方法書いてあるのでそのとおりにやれば簡単

下記のCentOS7/CentOS8の導入方法が記事後半に掲載されているので参考されたし。

https://www.netmarvs.com/archives/3385

設定ファイルの編集

設定ファイルは/etc/caddy/Caddyfileを編集するが、事前にオリジナル設定ファイルはリネームしてバックアップしておこう。設置ファイルを見てもらうとわかるのだが全く以前のrewrite設定の記述ブロックがなくなっていることがわかるだろう。Caddy V2ではrewrite処理は内部で処理するので基本的に不要なのです。特殊なケースではrewriteの設定は存在していますので今でも使えます。

タグ: , , ,

Caddy WEBサーバが仕様(Configuration)がかなり変わった!



先日、Caddyをバージョンアップ(v2.1.1)にしたら、エラーが生じて全く起動できなくなったしまった。 あれれ~おかしいぞ~。 検索してみるとv2のバージョンで設定の仕様が大きく変わっているでねーの。もう参ったなー。 圧縮の箇所、ドキュメントルート、ログの書き方が大きく違う。 後はfile_serverという記述入れないとブラウザで表示させたときに真っさらになります。 未だにわかっていないのがエラーログの書き方。同じことを思った海外の方がいた。 未だに回答が無い。だって仕様に記載がありませんから。(*^^*) とりあえずlevelディレクティブでwarnを書いてみたら、エラーや警告が出ているのでこれでいいかな。。

v2以降の典型的な記述例

タグ: , , ,

Caddyソケット連携fastCGI + Python bottle FrameworkでWEBサーバ起動


Python BottleフレームワークをCaddyで連携してみる。ソケット経由での例を作ってみました。スクリプトタイプで接続するのでスレッドセーフな作りを心がけてpythonコーディングすればスクリプト側はマルチスレッドせずに連携できるはずです。つまりcaddy側でマルチスレッド通信を制御してくれるはず。通常連携する方法で一番簡単なのはリバースProxy接続なのですが今回はfastCGIでBottleフレームワークのアプリを連携する例をやってみました。今回はhttp仕様での例ですが、SSL証明書を登録すればHTTP2対応も簡単にできちゃいます。

flupを導入してfastcgi仕様でPython Bottleを連携(今回はソケット接続でやってみます。)

下記のようなソースコードapp.pyを用意します。

Caddy側の設定(fastCGIソケット仕様)

非常に設定がシンプルですね。

タグ: , , ,

備忘録:古いUbuntu14環境でhttp2対応 caddy & spawn-cgi で作るPHP環境 Roundcubeの設置


指定された環境(Ubuntuだけど)がバージョンが古くphp7.xとかApache2.4.17以降がパッケージインストールできない。以前はダウンロードできたのに今は何故かレポジトリ追加してもリストされない。ということでphpソースコンパイル&spawn-fcgiで対応することにした。最終的にWEBメールのRoundcubeの設置リクエストがあったのでセットアップしましたがすんなり簡単に終わりました。めでたし!

php7.1をダウンロード&コンパイル。

最新のphpソースだとライブラリー関連で時々エラーや警告で痛い目に合うので、無難にphp7.1だといけるかな!?ってことでphp7.1をダウンロードしてコンパイルすることにしました。もっと上のバージョンでも成功するかもしれないので是非ご覧なっている方はチャレンジしてみてください。

FAST CGI環境を構築しPHPが実行できるように整える。

Caddyの設定を行う

caddyのインストールは省きます。過去の記事から参照ください。caddy設定のところのみ掲載します。またroundcubeの設定も割愛します。あくまでもroundcubteの動作確認まで。phpコンテンツの作りによってrewrite設定が必要なケースが様々あるので今後ご紹介して行こうと思います。

サーバ起動

FASTCGIでPHP処理を待機させ、caddyを起動します。

タグ: , , , , ,

HTTP2対応 CaddyWEBサーバで仮想サーバ作る場合のやり方


caddy Webサーバで仮想サーバを作る場合は、/etc/caddy/配下にvhostsフォルダを作成し大元の設定ファイルをコピーしてドメインに該当する箇所とSSLの在り処、Pushする箇所のみ書き換えれば良い。
仮想サーバ設定はimportのある最下行だけ削除しましょう。仮想サーバ設定ファイルは名前は何でも良い。拡張子が.confであるならすべてそのフォルダーにあるファイルを読み込んでくれる。 仮想サーバは大元設定ファイル(Caddifile)の一番最下行にあるimport文で仮想ホストのインクルードを行う。ワイルドカードが使えるのでこの一行でvhostsに配置する仮想サーバ設定は終わりだ。 今回はWEBメールのRoundcubeとPhpMyadminを以下の設定を修正してやってみたがあっさり動いた。caddyは設定が簡単でいいね。

※設定ファイルの編集前に事前にフォルダー/etc/caddy/vhostsは作る必要があります。

タグ: , , ,

1 2