(2023年10月21日追記)このバージョンの Apache httpd にはセキュリティ脆弱性及び不具合が見つかっています。これらのセキュリティ脆弱性などが修正されている「Apache httpd 2.4.58(TLS1.3対応)+ HTTP/2 + Brotli インストールメモ」をご参照ください。 2015年10月13日にリリースされた Apache httpd 2.4.17 に mod_http2 が導入され、いよいよ Apache も HTTP/2 対応になりました。5月の HTTP/2のRFC 発表から約半年での実装になります。現時点(2015年10月18日)では yum などのパッケージ管理ツールは Apache 2.4.17 のインストールに対応していませんので、自前で依存関係を考慮しつつ、ソースコードからインストールする必要があります。そこで今回は、CentOS7.1 (
[レベル:上級] 今日は、X-Robots-Tagの使い方・書き方について説明します。 新しい情報でもなんでもないのですが、調べごとをしていてたまたまX-Robots-Tagに遭遇して、きちんと記事にしていなかったことに気付き忘備録の意味も兼ねて書いておくことにします。 X-Robots-Tagとは、クローラの動きを制御するときに用いるrobots meta タグを、HTMLドキュメントではないコンテンツのHTTPヘッダーに含めるために使う仕組みです。 たとえば、ウェブページを検索結果に表示させたくないときは、noindex robots meta タグを使います。 しかしXMLサイトマップやPDFドキュメントにはmetaタグはありません。 したがってnoindex robots meta タグを記述するとができません。 こんなときに使うのが、X-Robots-Tagです。 XMLサイトマ
Yahoo! Pipesの代替を探していた人に朗報です。Yahoo! Pipesのようなデータフロー管理システム「Apache nifi」が登場しました。 Apache nifiとはデータフロー管理システムというと難しいですが、「データを取ってきて形式変換・フィルタして出力する」ということを「Webベースで」できるというものなのでYahoo! Pipesに近しいものになります。 ライセンスはApache License 2です。オープンソースソフトウェアなのでサーバにセットアップする必要があります。発音はニーフィーのようですが、動画を聞く限り「ナイファイ」と発音しているように聞こえます。ASFのトップレベルプロジェクトに名前から分かるようにApache Software Foundationの開発で進められています。昨日トップレベルプロジェクトに昇格しました。 前身は米国家安全保障局(NS
Fusic 平田です。 前のエントリの延長のようなそうでもない話です。 あらすじ ある日「サーバがレスポンスをろくに返さない」と連絡があり、すわ障害発生かとおもむろにsshクライアントを立ち上げ、接続。 この時点でよくあるのは サーバがハングしていたりして接続できない なんとか繋がるもののすごく重い・ロードアベレージが鬼のように高い その他障害などでエラーが発生しているとかディスク障害が起きてるとかblog書いてる場合じゃない事態とか といったあたり(書いてる場合じゃない事態はそうそう起きません)なのですが。 普通にssh接続できるし、dstatで眺めてもCPUなりメモリなりで刺さってるわけでもなし。 はて。。。と思いつつ とかやってみると、滝のように流れまくるアクセスログ。 「どうしてこうなった」はさておき、とにかく対応せないかんという話で。 前のエントリの流れを汲むなら「よしvarni
FastCGI対応機能がH2Oにマージされたことを受けて、uzullaさんが「H2OでPHP(がちょっとだけ動くまで)」という記事を書いてくださっています。 ありがたやありがたや。 その中で、 http://hoge/entry/1 みたいなのをphpにマップする方法はまだよくわかってません。その内しらべます github.comを読む限り FastCGI (or PHP) applications should be as easily configurable as it is for the Apache HTTP serverということで、やったぜ!ってなるんですけど、nginxはもとより、Apacheにおいても現状ルーターをつかっているようなアプリだとhtaccessをいちいちかかないといけないので、Apacheみたいなスタイルが楽なのか?というとちょっと疑問があります。 (たと
ブログやWebサイトのパフォーマンスの改善やSEO、セキュリティの向上に役立つ.htaccessの設定を紹介します。 ドメインをwww有り・無しに統一、新ドメインに引っ越した時のリダイレクト、URLをクリーンなものにしたり、共有サーバーでのPHPのバージョンを指定したりなど、すぐに利用できるものばかりです。 .htaccess Snippets -GitHub 元記事には有用な.htaccessのスニペットがPublic Domainでまとめられおり、それら全部に加えて.htaccessファイルの作成と使い方を加えました。 .htaccessファイルの作成と使い方 リライトとリダイレクトの設定 セキュリティの設定 パフォーマンスの設定 その他のいろいろ有用な設定 .htaccessファイルの作成と使い方 「.htaccess」ファイルを作成することは非常に簡単です。 テキストベースのアプリ
元ネタはこちら。 Apache AddHandler madness all over the place Gentoo Bug 538822 どういうことか 次のような指定は危険である。 AddHandler php5-script .php この時に指定される.phpはファイル名の末尾である必要はない。例えば、 aaa.php.html bbb.php.pngなどもphp5-scriptとして解釈されてしまうのだ。これは.XXX.YYYと複数の拡張子が書かれた場合、.XXXと.YYYもAddHandlerの対象となることが原因。 ちなみに次のような場合にはphp5-scriptとして解釈されない。 ccc.php_foo (.php_fooとして解釈されるため) ddd.php_bar.html (.php_barと.htmlとして解釈されるため)実はこのことはApacheのドキュメン
Apacheのモジュールをアップデートしたときに通常は再起動を行っていますが、そもそも再起動が必要なのか、gracefulだけで大丈夫だったりしないかということを調べてみました。 Apacheのモジュールロードのタイミング モジュールをロードするコードはこのあたりだろうか。 https://github.com/apache/httpd/blob/2.4.10/modules/core/mod_so.c https://github.com/apache/httpd/blob/2.4.10/modules/core/mod_so.c Apache からは APR の apr_dso_load() を使っているみたいなので、APRの方を覗いてみる。 https://github.com/apache/apr/blob/1.5.1/dso/unix/dso.c 複数のOSをサポートするために
HTTPS(SSL利用)サイトがSEO的に優遇されるトレンドで、世間的にもHTTPS接続でサイト運用するサービスが増えてきています。 これが、ハイトラフィックサイトになってくると、このフロントエンドでSSL処理させることが負荷的にもなかなか辛いのです。 で、Apache 2.3以降では、Shared Object Cache Providerとして、memcachedが選択できるようになっています。 この仕組みを利用して、Apacheとmemcachedを並べることで、各サーバでユーザのSSL Session Cacheを共有しながらHTTPSリクエストを負荷分散できる構成を作ってみました。 WebサーバでSSLオフロード 常時SSLを利用したWebサイトを運用するために、SSLアクセラレータといったアプライアンス製品だとか、ソフトウェアだとApacheやNginxのSSLモジュールを使う
【SElinux★DE★httpd起動エラー】failed to map segment from shared object: Permission denied SElinux。 なにそれうめーの?? リソースごとに権限を細かく決めてしまうみたいなんだな。 で、ビルドしたphp5のsoが /usr/lib64/httpd/modules/libphp5.so into server: libmysqlclient.so.xx : failed to map segment from shared object: Permission denied とかで読み込めない。そんでhttpdが起動でこける。 Apacheのモジュールディレクトリで #ls -lZ してみたら、あら、libphp5.soだけうちの子(httpd_modules_t)じゃないって言われてるわΣ(´д`;) なので、
Mozilla SSL Configuration Generator Redirecting to the updated SSL Configuration Generator…
ディレクトリごとに設定を上書きできる.htaccessファイルの利用方法も紹介します。 Apacheの設定ファイルは,サーバーの管理者といった特別なアカウントでないと書き換えることはできません。 しかし,システムの管理者とWebサーバーの管理者,コンテンツの管理者といったように複数の管理者が混在している場合,不便が生じる場合があります。例えば,コンテンツの管理者が特定のディレクトリでCGIを利用したくなった場合,その都度システムの管理者に設定をしてもらう必要があるからです。 こうした際に役立つのが「.htaccess」ファイルです。設定を行いたいディレクトリに設定内容を書き込んだ.htaccessファイルを配置しておくと,そのディレクトリにアクセスがきた際には,.htaccessファイルが読み込まれて,その設定が有効になります。例えば,サイト全体でCGIを実行できないようにしていても,.h
人間とウェブの未来(旧) 「ウェブの歴史は人類の歴史の繰り返し」という観点から色々勉強しています。2014年までの人間とウェブの未来の旧ブログです。 これまでのApache2.2系以前でのアクセス制御の書き方は賛否両論でした。僕はあまり好きじゃありませんでした。 過去のアクセス制御に関しては、以下の記事がとてもわかりやすくまとめられていると思います。 こせきの技術日記 – Apacheのアクセス制御をちゃんと理解する。 ここで、以下のように言及されています。 こんなバッドノウハウ、本当はどうでもいいと思う。Apache 3.0では、かっこいいDSL(VCL)で書けるようにする構想があるらしいのでがんばってほしい。 ということで、2.4系ではDSLとはいかないまでも、Require*というディレクティブを使ったモダンな書き方ができるようになったので、それを2.2系以前のアクセス制御の記述と比
php + apache のメモリ量をおさえる
apacheは初期状態から少し設定するだけで、メモリの消費量を減らし、スピードを早くすることができます。 変更は基本的にhttpd.conf上を書き換えていきます。 いらないmoduleを消す httpd.confを開いて、 /LoadModule でモジュールを探します。 使っていないモジュールの頭に#をつけて動かさないようにします。 例えばこんな感じです。 #LoadModule userdir_module modules/mod_userdir.so 基本的にあまり使わないモジュール群 mod_userdir ユーザーファイルでホームページ表示をするためのモジュール /home/user名/????とかでホームページを表示していなかったらいりません。 mod_status apacheサーバの状態を監視するためのモジュール いつもサーバーの状態を監視する必要性がないかたはいりません
ちょっと間が空いてしまいましたが、久々にメモを残しておきます。 Apacheが遅い/止まると言われてしまいまして 現在進めているプロジェクトで、やや大きめのサーバ構築をしてたんですが、ちょくちょく「レスポンスが遅い/Apacheが止まる」と言われてしまい、うーんなんでだろうと色々試行錯誤していたメモ書きです。 ちなみにDBはMySQL-Cluster、サーバサイドはPHPです。 (本当はPound側とかMySQL側にもいくばくかの問題があったのですが、主な問題はここだったのでほかは省略) MPMの話だった 原因に気づいたのはパフォーマンスチューニングの最中でした。Apache Benchでもそもそ検証してたんですが、 ab -n 10 -c 2 http://localhost/xxx という小さめな条件振りでもレスポンスに失敗するケースに陥りました。それなりのスペックを積んでるマシンなの
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く