カテゴリー
Apache

Ubuntu 20.04でcertbotを使ってLet’s EncryptでSSLしてみた

初めてcertbotを使ってSSL対応してみた。その前に超レガシーなサーバをubuntuに移行しているのだけれどそのエントリーは無し。

サーバの移行時にwebサーバを変えようかと思ったけど、まぁまぁ面倒なので結局Apacheにした。チョッパヤのLiteSpeedっていうのが流行っているみたいだけど。

肝心の導入は、下記の記事の通りやれば簡単に導入できる。ハマりどころは特に無いと思うけど、DNSの設定を先にしておかないとエラーになる。

Ubuntu 20.04でLet’s Encryptを使用してApacheを保護する方法 | DigitalOcean

という訳でこのブログも無事HTTPSでアクセスできるようになりました。ありがたい。

カテゴリー
Apache インストールメモ

【やり直し】Apache2.2にmod_SpeedyCGIを組込む【再度】

Apache2.2にmod_SpeedyCGIを組込むにはパッチが必要

で以前やったんだけどイマイチ手順がまとまっていないので。

ポイント
  • 作業ディレクトリは /root/src
  • httpd-develが必要
  • rootで作業した方が楽

1. Apacheインストール

$ su -
# yum install httpd httpd-devel

※ apxs が必要になるので httpd-devel をインストールすること

2. Speedy_CGIをダウンロードしてパッチを当てる

# cd /root/src
# wget http://daemoninc.com/SpeedyCGI/CGI-SpeedyCGI-2.22.tar.gz
# tar zxvf CGI-SpeedyCGI-2.22.tar.gz
# cd CGI-SpeedyCGI-2.22/mod_speedycgi2
# wget http://sourceforge.net/p/speedycgi/patches/_discuss/thread/f3ff7350/afa5/attachment/patch-mod_speedycgi2.c
# patch -p1 < patch-mod_speedycgi2.c

※ 参考ページにはパッチファイルをFTPでアップロードする必要があると書いてあるけどwgetで出来た。
パッチ公開ページ

3. Speedy_CGIインストール

# perl Makefile.PL
# make install
〜〜〜 コンパイル中 〜〜〜
----------------------------------------------------------------------
Libraries have been installed in:
   /usr/lib/httpd/modules

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,--rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
chmod 755 /usr/lib/httpd/modules/mod_speedycgi.so
[activating module `speedycgi' in /etc/httpd/conf/httpd.conf]
超参考:
カテゴリー
Apache

CentOS5.5にmod_fcgidをインストールする(Apache2.2+FastCGI)

FastCGIをApacheで使うには
mod_fastcgi
mod_fcgid
がある。

$ wget http://jaist.dl.sourceforge.net/sourceforge/mod-fcgid/mod_fcgid.2.2.tgz
$ tar zxvf mod_fcgid.2.2.tgz
$ cd mod_fcgid.2.2
$ make top_dir=/usr/lib/httpd
$ sudo make top_dir=/usr/lib/httpd install

make 時に top_dir=/usr/lib/httpd を指定することでMakefileの書き換えが必要ない。

カテゴリー
Apache perlモジュール

Apache2.2にmod_SpeedyCGIを組込むにはパッチが必要

Apache2.2でSpeedyCGIのperlモジュールを使うのならyumなりで一発インストールできるけど、mod_SpeedyCGIをインストールしようとするとmakeでコケる。

どうやらパッチを当ててからmakeする必要があるようだ。
参考:Apache2.2にmod_SpeedyCGIを組み込む方法(パッチファイルのあて方) / レンタルサーバー BIG-server.com

パッチファイルのダウンロード

パッチファイル:CGI::SpeedyCGI with apr-1.0

※パッチファイルはwgetで入手できないのでダウンロードしておいてFTP等でアップロードする必要がある。

カテゴリー
Apache

IPベースのバーチャルホストと名前ベースのバーチャルホストを混合させる

Apache でIPベースのバーチャルホストを使う場合の注意点

VirtualHostディレクティブを利用する。VirtualHostディレクティブは、

<VirtualHost IPアドレス>

</VirtualHost>

のように記述し、これが1ホスト分のブロックとなる。つまり、バーチャルホストでホスティングしたいホストの数だけ、このブロックを記述すればよい。

IPベースで注意する点は、<VirtualHost IPアドレス>のIPアドレスを各ブロックで異なるものにしなければならないということである。Apacheは、このIPアドレスでホストの設定のブロックを識別するからである。

バーチャルホストによる複数サイトの同時運用 より

つまり1つのIPアドレスで1つのサイト(FQDN)のみしか運営出来ない。
名前ベースのバーチャルホストと大きく異なる。

名前ベースのバーチャルホストと混合させる場合

名前ベースのバーチャルホストとIPベースのバーチャルホストを混合させる場合、 VirtualHost ディレクティブにポート番号も付加する。

<VirtualHost *:80>

</VirtualHost>

<VirtualHost IPアドレス:80>

</VirtualHost>

SSL を利用する場合も同様に 443 など、ポート番号を付加する。

IPベースでバーチャルホストを利用する場面としては(自分の場合)SSLサイトを作る際、ドメインが違うサイトでSSL証明書を使い分けなくてはならない為。通常の場合なら名前ベースのバーチャルホストで用が足りるはず。

ワイルドカード証明書では異なるドメインに対応出来ないし。ただ、ベリサインからマルチドメインなる証明書の販売が始まるとか始まったとか。