人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 Apacheのデバッグの方法は多く紹介されていて、例えばgdbを使ってみましょうと紹介されている記事も多いです。しかし、操作の仕方が多岐に渡っていて、なんとなく敷居が高く感じて使わないという人も多いかもしれません。 例えば、Apache周りのエンジニアが一番気になるのは、Segmentation faultだと思います。そこで、今回は自分がSegmentation faultの原因を特定する時の一番手っ取り早い、gdbを使った方法を紹介しようと思います。gdbを使っていない人にとって、gdbって少し敷居が高いんじゃないかなぁ、と思っている人も多いかもしれませんが、今回の方法であればだれでも気軽にできると思います。 まずはバグを作る 今回は、自

Web サービスをリリースするにあたり避けては通れない(避けて通ってはいけない)性能・負荷テスト工程。 ウォーターフォールやアジャイルなど開発手法は様々ありますが、現実問題、概ね開発工程が遅延する傾向があります。なんとか単体テスト・結合テスト・システムテストはやりきるものの、力尽きて性能・負荷テストを実施せずにリリース・・・なんてことはありませんでしょうか? そんな場合に限って、リリース直後に高負荷でサービスダウン・・・なんてことになりがちです。 そうならないために性能・負荷テストは必ず実施すべき項目です。ツールとして JMeter がメジャーですがシナリオ作ったり、使い方覚えたりと、正直面倒です。でも apache bench なら使ったことあるし知ってる!という方も多いことでしょう。そこで僕が "簡易的" に性能・負荷テストで使っている方法を公開します。 ab を用いた簡易的な性能・負
CentOSの設定 SELinuxを無効にする /etc/sysconfig/selinux 開き、 SELINUX の値を disabled に変更後、CentOSを再起動してください。 # vi /etc/sysconfig/selinux SELINUX=enforcing ↓ SELINUX=disabled 再起動後、 getenforce コマンドを実行してSELinuxが無効になったことを確認してください。"Disabled"と表示されればSELinuxは無効になっています。 # getenforce DisablediptablesでHTTPを許可 CentOS 5.6をインストールした直後の状態ではiptables(ファイアウォール)が有効になっており、外部からサーバ上の80/tcpポート(HTTP)に接続することができません。このままではwebサーバを立ち上げてもクラ
Redmineを実行するのに必要なものRedmineはRubyによるwebアプリケーションフレームワークRuby onRailsで記述されています。従って、Redmineを利用するためにはRuby onRailsのアプリケーションが実行できる環境を構築する必要があります。 そのために本手順書では次のものをインストールします。 Apache (webサーバ) Passenger (Ruby onRailsアプリケーションをApache上で実行するためのモジュール)Ruby Enterprise Edition (Passengerとの組み合わせでメモリを効率よく利用できるよう変更が加えられたRubyインタプリタ) CentOSの設定 SELinuxを無効にする /etc/sysconfig/selinux 開き、 SELINUX の値を disabled に変更後、CentOSを再
Redmineを実行するのに必要なものRedmineはRubyによるwebアプリケーションフレームワークRuby onRailsで記述されています。従って、Redmineを利用するためにはRuby onRailsのアプリケーションが実行できる環境を構築する必要があります。 そのために本手順書では次のものをインストールします。 Apache (webサーバ) Passenger (Ruby onRailsアプリケーションをApache上で実行するためのモジュール)Ruby Enterprise Edition (Passengerとの組み合わせでメモリを効率よく利用できるよう変更が加えられたRubyインタプリタ) CentOSの設定 SELinuxを無効にする /etc/sysconfig/selinux 開き、 SELINUX の値を disabled に変更後、CentOSを再
Web 経由で Mercurial のレポジトリを公開すると,デフォルトの状態では clone / pull しかできません。push するためには設定が必要になります。 なお今回は hgweb.cgi や mod_wsgi 経由*1等で Apache と絡めた場合の話になります。 というのは,hg serve コマンドで起動される HTTP サーバは BaseHTTPServer をもとにしているのですが,ビルトインの機能としては Authentication をサポートしておらず((自力で WWW-Authenticate ヘッダ等やりとりすればいけるんじゃとは思います。詳しくないので自信ないです。)),また hgweb.server モジュールでもハンドリングしていないので認証関連の機能が実装されていないためです。 設定子 hgrc 設定ファイルで下記のものが特に関係のある設定子です
debianetchのサーバにMercurialの最新版(1.1.2)をインストールし、リポジトリを公開した際の作業手順です。 思い通りになるまでが想像より面倒くさかったので、メモをまとめてみました。debian lennyやubuntuでも基本的な手順は変わらないと思います。 リポジトリはsshとhttp(cgi)の双方から読み書きできるように設定します。Apacheはリポジトリの所有者と異なるwww-data:www-dataで動作している状態を想定しています。本当はmod_userdirやsuEXECを使えば簡単なのかも知れません。 参考にしたウェブサイトは最後の参考リンクとしてまとめました。詳しくはリンク先や公式ドキュメントを参照して下さい。 ダウンロードと展開 debianのリポジトリにあるのは古いので最新版をダウンロードした方が良いです。適当にtarボールを展開します。 wg
こんにちは。開発部の池邉です。 既に色んなところで発表していますが、ライブドアではWebサーバとして殆んどのサービスでApacheを使用しています。 Apache の特徴として、モジュールによる機能の追加、挙動の制御があります。その中でもよく利用されていながら、深く使っていくとハマりどころや謎の機能の多いモジュールとして mod_rewrite があります。Apacheの公式サイトでも以下のように書かれている事からも、本家でもその点については認めているという事でしょう。 今回はそんな mod_rewrite のちょっとマニアックな拡張方法について紹介したいと思います。 Despite the tons of examples and docs, mod_rewrite is voodoo. Damned cool voodoo, but still voodoo. 変数を利用したプログラム
PostgreSQL とやりとりする Apache のモジュールを作ってみた 以前から、特に理由はないのですが、Apache のモジュールを作りたいと思っていました。 で、この間、発作的に、 Apacheモジュール プログラミングガイド という本を買ってしまいました。 まあ、せっかくなので、作ってみました。 あ、今回使用したソースは、 ここにあります。 目次 1. 環境 2. 作るもの 3. モジュールの内容 3.1 基本なところ 3.2 設定ファイルなところ 3.3 pgsample_handler 3.4 pgsample_cdir_cfg 3.5 PostgreSQL とやりとりする関数たち 4. 動作確認 5. 最後に 1. 環境 VineLinux 2.5 および Debian GNU/Linux woody 上で確認しました。 Apache のバージョンは、どちらも 1.3.2
Apache HTTP Server 2.x系でプラットフォーム依存部分を吸収し、一貫したAPIを提供するために利用されているライブラリAPR - Apache Portable Runtimeを、Apache以外のプロジェクトで利用するための方法。 Apache moduleAPIの美味しいドコ取り APRを使用するとApache moduleAPIで利用できていた リソースプール 扱いやすく安全な文字列処理関数 動的なデータ型 などを、Apache HTTP Server以外のプログラムで利用できます。さらに メモリマップドI/O 共有メモリ スレッド など、プラットフォームごとにAPIやオプションが異なる機能も、一貫したAPIで利用する事ができるようになります。 しかしASFの他のプロジェクトと同様に、APIのリファレンスマニュアルはあれど、その利用方法やサンプルに関するドキュメ
先日は,必要に迫られて Apache 1.3 の mod_access を改造したという話を書きました.その時は単にあるものを改造しただけでしたが,ふと思い立って,一から Apache 2.0 用のモジュールを書いてみました.書く上で色々 Web サイトを探してみたのですが,あまり日本語の入門向けの文章が見あたらなかったので,開発する上で分かったこと(と言うほど大したものじゃないですが)をまとめておこうと思います. フェーズには,例えばそのリクエストを受け付けるか拒否するかを決めるフェーズや,リクエストされた URI と実際のディスク上のファイルとの間の対応付けを解決するフェーズ,そしてもちろん実際のレスポンスを生成するフェーズ等があります.hook 関数を挿入するポイントはこれらのフェーズになりますが,もちろんその全てのフェーズのための関数を用意する必要はありません.また個別の設定を施す

mod_rewriteとは Apacheのモジュールのひとつで、アクセスURLを正規表現で書き換えることができます。リダイレクト処理を行うのに便利なモジュールです。 モジュールの解説ドキュメントによれば URLを操作するためのスイス製のアーミーナイフ と例えられるほど、非常に複雑な処理を行えます。 URLからURLへ、同一サーバ内URLだろうが、別サーバURLだろうが問いません。 引数を含む動的URLを通常のHTMLファイルのような静的URLに見せることも可能です。 素晴らしく詳細なマニュアルもありますが、機能が多いだけに情報量が多く読むのも面倒だと思いますので、ここでは、mod_rewriteを使用すると便利な場面を想定して具体的に解説してみたいと思います。 mod_rewriteの基本 ひとまず、mod_rewriteはApacheのモジュールです。インストールされていなければ、サーバ
本日はGoogle Gears 関連のもうひとつのネタを書こうと思ったのですが、間に合わなかったので最近仕事で使った Apache のリバースプロキシ機能の設定方法などをご紹介します。リバースプロキシは、特定のディレクトリ以下へのリクエストを他の Web サーバーに中継する機能です。 LAN 内の複数のマシンで稼動している Web サイトをひとつのグローバル IP で公開したり、 Apache 以外の Web サーバー(Rails でよく使われる mongrel とか)を Apache の Web サイトに統合したりとかが簡単にできます。 Web サイトを柔軟に構築するために、覚えておくと便利ですよ。 前提条件 Apache のリバースプロキシ機能を利用するためには、 mod_proxy を組み込んだ Apache が必要です。通常のLinux ディストリビューションなどではデフォルト
とある事情で SSL の証明書を IIS から Apache に移す作業を行ったので、本日はその方法をご紹介しようと思います。最近は IIS のシェアが Apache に迫っているらしいので、 IIS から Apache への移行が少しでも増えればと思います。証明書が移行できないと、たしか再発行には何万円もかかるはずですからね :) IIS から証明書・秘密鍵ペアをエクスポート それでは、さっそくやってみましょう。まずは IIS から証明書・秘密鍵ペアをエクスポートします。これは IIS の標準機能で普通にやれば OK です。具体的な手順は以下のとおりです。 スタートメニューの管理ツールなどから「インターネット インフォメーション サービス(IIS) マネージャ」を起動。 左のペインで [マシン名(ローカル コンピュータ)]-[Web サイト] を開き、証明書をエクスポートしたいサイトのプ
GentooLinuxサーバー構築GentooLinux は強力なパッケージ管理システム Portage を核としたLinuxディストリビューションです。 Portageは各ソフトウェアの依存関係を解決しつつ、ソフトウェアのインストールやアップデートを行います。 また、GentooLinux は、インストール直後は最低限のソフトしか入っていません。このため、必要なソフトのみを インストールする事ができ、シンプルな構成でサーバーを構築することができます。本サイトではGentooLinuxによるサーバー構築を中心に解説していますが、各サーバーソフトの設定に関しては、 他のディストリビューションの方にも参考になる部分も有るかと思います。また、サーバーを利用するクライアント ソフトの紹介も行っております。是非ご活用ください。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く