諸事情があって、BASIC認証やDigest認証を設定する必要があった。 ただ、そのための管理ファイル含めGitで管理+Dockerでデプロイみたいなことをしていたので、htpasswdやhtdigestコマンドが無くてファイルを作るのがちょっと手間がかかるということがあった。

その時はdockerの中に入ってhtpasswdやhtdigestを実行してファイルを取り出すみたいなことをしていたけど、それらのコマンドなしで認証用のファイルが作れないかなとおもったので、ちょっと調べてみることにした。

1.BASIC認証の場合

今まで知らなかったのだが、BASIC認証で使える暗号化方式は...


Apacheのアクセスログやエラーログだが、デフォルトではSyslogは経由しない。 これらをSyslogを使って管理する場合、httpd.confに設定の追加が必要になる。

設定自体は簡単で、CustomLog/ErrorLogの設定に対して、パイプで繋げてloggerでSyslogに流すだけだ。 以下、設定の記述例(VirtualHostとか設定してると記述先のファイルも変わるので、自分の環境に合わせて記述すること)。 CentOS 7で確認をしている。

/etc/httpd/conf/httpd.conf
CustomLog "|/usr/bin/logger -p l...

Webサイトを運営するうえで、Firewallはどこも利用していると思う。 しかし、iptablesやfirewalldのようなFirewallの場合、防御してくれるのはされたポートやIPアドレスレベルでのフィルタリングであり、Webアプリケーションの脆弱性に対する攻撃を防御してくれるわけではない。

そういった攻撃を防ぐには、Webアプリケーションファイアウォール(WAF)が必要になるのだが、そんな時にApacheのモジュールとして動作するオープンソースなプロダクトが今回導入するmod_securityだ。

今回は、このmod_securityをCentOS 7にインストールして不正ア...


WebページからGUIでApacheの設定を編集できる『ApacheGUI』

あまり頻度は多くないかも知れないが、リバースプロキシとして利用しているApacheの設定を変えるときなどにWebページ上からApacheの設定を編集したいときもある。
そんな時は、今回紹介する『ApacheGUI』を入れてみてはどうだろうか。このパッケージは、httpd.confやhttpdサービスの状態などについて、WEBページから操作するJava製のツールだ。

今回は、このパッケージをCentOS 7上にインストールし、実際にApacheの設定を行ってみる事にする。
なお、OSにはすでにLAMP環境がインストール済である状態。

1.『ApacheGUI』のインストール

まず...


ソースからインストールしたApacheで実行したConfigureのオプションを確認する場合、Apacheのインストール先ディレクトリにある以下のファイルから確認出来る。

cat Apacheのインストール先ディレクトリ/build/config.nice
[root@test-apache ~]# cat /opt/httpd01/build/config.nice
#! /bin/sh
#
# Created by configure

"./configure" \
"--prefix=/opt/httpd01" \
"--enable-rewrite=shared" \
"--...

CentOS 7でApacheのインスタンスごとに違うバージョンのPHPを利用する

先日、仕事でLAMPサーバで、異なるバージョンのPHPをApacheのインスタンスごとに切り替える必要があった。
複数のバージョンのPHPを使い分ける場合、『phpenv』を利用する方法もあったけれど、さすがにそれはNGだったのでApacheのインスタンスごとに使い分けを行う事にした。

なお、この設定を行うにあたりApacheとPHPはソースからコンパイルする方法でインストールしている。
仕事で利用したものと違うが、今回の検証ではCentOS 7を用いている。

各インスタンスの対応は、httpd01にphp01を、httpd02にphp02を適用する。
今回は、Apacheはバー...


apacheのログをSQLでselectできる『asql』

Apacheのアクセスログやエラーログを解析するとき、基本的にはawkやgrepを組み合わせて整形する事が多いだろう。
今回は、そんなApacheのログファイルをSQLで解析することが出来るツール『asql』を紹介する。

1.インストール

まずはインストールから。
Debian/Ubuntu系の場合はapt-getで、RHEL系の場合はソースからコンパイルしてインストールする。

Debian/Ubuntu系の場合

sudo apt-get install asql

RHEL系の場合

sudo yum install perl-DBD-SQLite perl-Term...

Apache、MySQL、PostgreSQL…様々なログを解析できる『request-log-analyzer』

前回、Webサーバのログを解析、モニタリング出来る『GoAccess』というツールを紹介したが、今回はそれと似たツール『request-log-analyzer』を紹介する。
このコマンドも『GoAccess』と同様にログを解析することが可能。解析できるログもWebサーバだけではなく、MySQLやPostgreSQL、Ruby on Railsと様々なログを解析できる。
ただし、ターミナル上でのリアルタイムのモニタリングには不向きなので、用途に応じて使い分けたほうがいいだろう。

1.インストール

まずはインストール。以下のコマンドを実行する。

gem install req...