Apache
Zabbix で マルチスレッドな Apache のリクエスト数を監視する方法
Zabbix で Apache httpd のプロセス数をリクエスト数の目安として監視することがあります。これは1つのプロセスで1つのリクエストを処理する prefork で Apache httpd を動作させている場合では有効なのですが、1つのプロセスで複数のリクエストを処理するマルチスレッドな worker や event の場合は、リクエスト数の目安とはなりません。そこで今回は、Zabbi...
Apache HTTP/2+PHP7.2+MySQL5.7 インストールメモ(2018年)
ここ最近、新規で WEBサーバーをセットアップする時に「ミドルウェアは最新バージョンで!」とオーダーされることが多くなりました。ひと昔前は安定性を優先して十分に枯れたミドルウェア(Apache 1.3 など) を使うことがよくありましたが、最近では新しいバージョンでもそこそこ安定していますので、新機能や性能向上などのメリットがある最新版を使うのが正解なのかもしれません。そこで今回は、現時点(201...
WordPress で画像をアップロードできない場合は mod_fcgid を疑え!
つい先日 WordPress のメディアライブラリに画像ファイルをアップロードをしようとしたら「HTTP エラー」と表示され、とつぜんアップロードができなくなりました。色々調べた結果 PHP を FastCGI で動かすための Apache httpd のモジュール mod_fcgid の設定に原因がありました。そこで今回は、ファイルのアップロードができなくなった原因とその対処方法をご紹介いたしま...
Apache の SSLPolicy ディレクティブが動かなかった話(2017/11/5)
Apache httpd の SSLPolicy ディレクティブは、SSL/TLS設定を簡単にするための仕組みです。もはや職人芸ともいえる Apache の SSL/TLS設定を、だれでも簡単にできるようになるのはありがたいことです。さっそく SSLPolicy を試してみたのですが、うまく動作しませんでした、、、せっかくなので記録としてやったことをメモしておきます。
Apache httpd 2.4.29 + HTTP/2 + Brotli インストールメモ
Apache の ACMEモジュールで Let's Encrypt 証明書を取得してみた
ACME は、SSL/TLSサーバー証明書の発行や管理などを自動で行うための仕組みです。Apache httpd ではこの ACME をサポートする mod_md(Managed Domain)というモジュールの開発が進められていて、将来 Apache httpd 2.4.x の安定版へのリリースが計画されています。そこで今回は一足先に、Apache の ACMEモジュール mod_md を使った...
HTTP/2 に対応した Apache を yum でインストール
これまで HTTP/2 に対応した Apache httpd をインストールするには、関連するライブラリを含めソースからコンパイルしなければならないため、なかなかの手間がかかっていました。しかし CentOS7.4 (1708) から OpenSSL1.0.2 がサポートされたことにより、CentOSコミュニティ承認済みの IUSリポジトリから yum で簡単にインストールできるようになりました。...
CentOS 7.4 で手軽になった HTTP/2 対応 Apache のインストールメモ
CentOS 7.4(1708)から、OpenSSL 1.0.2 が導入され ALPN がサポートされました。これまでは HTTP/2(mod_http2)に対応した Apache httpd をインストールするには、OpenSSL や HTTP/2 関連ライブラリなどを自前でソースからビルドしなければなりませんでしたが、ALPN がサポートされたことにより、これらを yum からインストールでき...
FastCGI PHP の設定方法 と mod_php とのパフォーマンスの比較(Apache httpd)
FastCGIとは、CGIプロセスの起動と終了にかかる手間を減らすことにより、プログラムをCGIで高速に動作させるとともに、サーバーへの負荷も少なくすることができる仕組みです。Apache httpd での FastCGI の実装 mod_fcgid により PHP を動作させると、mod_php と同じようなパフォーマンスで PHP を実行できるそうです。そこで今回は、mod_fcgid を使っ...
安全な SSL/TLS 設定にするための10のポイント(Apache httpd 2.4)
Apache httpd をパッケージやソースからインストールしたときに配置される初期状態の SSL/TLS 設定ファイルでは、古いブラウザも含め幅広いクライアントに対応できるように SSL/TLS の設定をしてくれています。しかし、ここ近年 SSL/TLS に対する攻撃手法が多く見つかっているため、ある程度セキュリティに配慮した SSL/TLS の設定が求められています。そこで今回は、Apach...
Apache httpd 2.4 + Brotli(mod_brotli)インストールメモ
Brotli は、Google が開発した新しい圧縮アルゴリズムです。Apache httpd など、インターネット通信で広く使われている圧縮形式 Deflateと処理速度は同じですが、圧縮率は約20%も向上しています。そこで今回は、CentOS7.3 (1611) に Apache httpd 2.4.27 と Brotli(mod_brotli)をインストールする手順をまとめてみました。
Apache httpd 2.4.27 + mod_http2 インストールメモ
Apache httpd 2.4.26 + mod_http2 インストールメモ
Apache 2.4 の DoS攻撃対策 mod_dosdetector 設定メモ
mod_dosdetector は、DoS攻撃を検出することができる Apache httpd のモジュールです。mod_dosdetector で検出したDoS攻撃のアクセスを mod_rewrite でエラーページなどにリダイレクトさせることで、DoS攻撃対策をすることもできます。そこで今回は、mod_dosdetector のインストール方法と設定手順をまとめてみました。
Apache httpd 2.4.25 + mod_http2 インストールメモ
WordPress メディアのURLを mod_ext_filter で一括変換
WEBサイトへCDNを導入する時に一番大変なのは、画像やCSS、JavaScriptなどの、URLの書き換え作業ではないでしょうか? 特にWordPressで構築したWEBサイトでは、投稿記事以外のURLを書き換えるには、PHPをいじる必要もあるのでなかなか大変です。そこで今回は、Apache HTTPサーバ の mod_ext_filter を使って、画像やCSSなどのURLを一括で書き換える方...
WordPress 認証画面を IPアドレスで制限する方法(Apache)
先日、IPAセキュリティセンターから「CMSを用いたウェブサイトにおける情報セキュリティ対策のポイント」が公開されました。WordPress や MovableType など、CMS のセキュリティ対策ガイドラインとして活用できそうですね。このガイドラインの中で「CMS認証画面への攻撃」の対策として、認証画面へのアクセスを、許可されたIPアドレスのみに制限することがあげられていました。そこで今回は...
WordPress インストールメモ(CentOS)
WordPress(ワードプレス)は、無料で使えるブログソフトウェアです。サイトをデザインするテンプレートや、色々な機能を追加するプラグインが豊富なことが特徴で、簡単にブログサイトを作ることが出来ます。また、単なるブログだけではなく、企業サイトやニュースサイトでも WordPress が使われているのを、よく見かけるようになりました。「全世界のサイトの4分の1はWordPressで作られている」と...
Apache httpd 2.4.23 + mod_http2 インストールメモ
統計的仮説検定で HTTP/2 と HTTP/1.1 の表示速度を検証
統計的仮説検定は、標本の統計量を元に、母集団に関する仮説を検証するための統計学の手法です。例えば、「日本人の平均身長は170cmである」という仮説を、無作為抽出した100名の身長から検証することができます。そこで今回は、仮説検定を使って、HTTP/2 と HTTP/1.1 の表示速度に、はたして違いはあるのか?を検証してみました。
Apache を ATS(App Transport Security)に対応する方法
ATS(App Transport Security)は、iOS 9.0 や OS X 10.11以上で導入された、セキュリティ機能です。この機能により、アプリとWEBサービス間の接続のプライバシーと、データの整合性を向上させることができます。ATS が有効なアプリは HTTP を使った通信ができないため、WEBサーバには HTTPS が必須になります。加えて、TLSのバージョンや、暗号化スイート...
Apache ネットワーク転送量を計測
最近のレンタルサーバやVPSは、ネットワーク転送量無制限のサービスがほとんどのため、あまり転送量を気にすることが少なくなりましたが、ネットワーク転送量で従量課金するAWSや、CDN、クラウド型のロードバランサーを利用する際に、費用見積のため、転送量を調べたい場合が時々あります。そこで今回は、Apacheのアクセスログから、ネットワーク転送量を計測する方法をまとめてみました。
Apache HTTP/2 + PHP7 のパフォーマンスを測定
前回の記事「Apache HTTP/2+PHP7+MySQL5.7 インストールメモ」で構築したサーバの、パフォーマンス(レスポンスタイム)を測定してみました。HTTP/1.1+PHP5.4 の環境と比較してみると、大幅にパフォーマンスが向上しています。当然の結果かと思いますが、あまりに劇的だったのでメモとして残しておきます。
Apache HTTP/2+PHP7+MySQL5.7 インストールメモ
2015年もあと少しになりました。今年を振り返ってみると、HTTP/2 の標準化と主要WEBサーバへの実装、2倍以上の性能向上やメモリ使用量を低減した PHP7 のリリース、Let's Encrypt によるSSL/TLSサーバー証明書の無料化、パフォーマンスが飛躍的に向上した MySQL5.7 のGA版リリースなど、2015年はWEBに関する技術が、大きく変化した年だったと思います。そこで今回は...
Let's Encrypt サーバー証明書の取得と自動更新設定メモ
Let's Encrypt は、自分が所有しているドメインのSSL/TLSサーバー証明書を、無料で発行してくれる認証局(CA)です。この認証局は、Mozilla、アカマイ、シスコなどが参加するISRGというカリフォルニア州の公益法人が運営しています。Let's Encrypt は、証明書にまつわる作業の「自動化」を目指しているため、わずか1行のコマンドを実行するだけで、証明書が取得できます。ただ、...
Apache 2.4.17 + mod_http2 インストールメモ【HTTP/2】
Zabbix 3-10. Apache(HTTP/HTTPS)監視テンプレートの設定
WEBサイトを表示するためのミドルウェア、Apache が正常に起動していることを監視するためのテンプレートを作成します。Apache の死活監視は、80番ポート(HTTP)と 443番ポート(HTTPS)へのTCP接続ができることにより確認します。また、WEBサイトに現在どのくらい同時接続がされているかを把握するため Apache(httpd)のプロセス数の監視設定も行います。
格安SSL証明書でサイトを完全HTTPSに移行【WordPress+RapidSSL】
このサイトでは、Wordpressの管理画面のみ自己署名証明書を使ってHTTPS化していましたが、通常のページに張り込んでいる画像のリンクURLが「https://〜」になってしまったり、 自己署名証明書を使っているため、AWSのS3へのデータバックアップの手動実行ができなかったりと、 色々不都合がありました。また、以前記事に書いたのですが、Googleの検索結果のURLがhttpsになってしまう...
名前ベースのバーチャルホストでSSLを使う(SNI)
TLS拡張(RFC4366)仕様の一つ Server Name Indication(SNI)によって名前ベースのバーチャルホストでもSSLが使えますが、そもそもなぜ、名前ベースのバーチャルホストでSSLが使えないのかその理由と、SNIの仕組みと設定方法について調べてみました。