Apache などのアクセスログから、ぱっと簡単な統計を見たい時などに awk は便利です。
便利なものをメモ。
でも最近は大体 goaccess を使っている。
新しいホスティングに移動するにあたって、せっかくなので HTTP サービスを整理してみた。その時に HAProxy をフロントの Proxy に使ってみたのでメモ。
環境は以下のとおり
公開しているサービスは色々あり、これを整理したかった。
これを一台でやってるので、 haproxy は別にロードバランサー的な役割は特にしていない。ただのプロキシ、兼SSL。
Phusion Passenger の標準の実行ユーザーは Apache の実行ユーザー、例えば Ubuntu だと www-data 、とは違うらしい。これを変更するには
PassengerDefaultUser www-data
を mods-available/passenger.conf なりに指定する。
まじめに Rails アプリを Mongrel cluster でセットアップした時のメモ。環境は、 ruby-1.8.7-p334@rails_2_3_14 です。
注意: Mongrel-1.1.5 は Rails3 ではエラーで動きません。
1.2.0pre2 を使うか、 Rails のバージョンをデグレするか、もしくは、手動で Mongrel を少しいじるか。
もしくは Thin か Phusion Passenger を使ってもいいかと思います。
ちなみにエラーは以下のようなもの。
[Enjoi-MacBook:~/Websites/EnjoiTech/www.enjoitech.com] $ mongrel_rails start ** Starting Mongrel listening at 0.0.0.0:3000 ** Starting Rails with development environment... /usr/local/rvm/gems/ruby-1.8.7-p334@rails_3_0_9/gems/activesupport-3.0.9/lib/active_support/dependencies.rb:239:in `require': no such file to load -- dispatcher (LoadError)
Passenger を使えばこんな小面倒くさいことはしなくてもいいんですけどね。 cluster とか響きがいいじゃないですか。
何か知らないけど、パッケージを用いてない Linux を使ってるせいで apache とか手動インストールされていた。
しかも時々必要なモジュールが追加されてないので、後からどうやって追加するのか調べと時のメモ。
一応環境
Apache/2.0.59
OS: ??
FLV や MP4 ファイルを Web で配信した際に、Apache では基本的にストリーミング配信はできません。
ようするに、配信中に動画の閲覧はできますが、動画の初めから見ることしかできず、
ダウンロードが完了するまで任意の場所へのシークなどができないわけです。
Flowplayer や JW Player などの Flash ベースのプレーヤーは、もちろんストリーミングに対応していますが、
サーバー側が対応していないとどうしようもありません。
Lighttpd を利用すれば、簡単にストリーミングサーバーが構築できますが、
実は apache でも PHP などのスクリプトで実行する事もできますし、
探すといくつかモジュールも存在します。
今回は mod_flvx と mod_H264_streaming を使用して、
Pseudo-streaming を実装してみたので、そのメモを残しておこうと思います。
環境は Ubuntu 10.04 LTS 。
Mac に LAMP もとい MAMP 環境を構築したときのメモ。いろいろと癖もあったりはまったところもあったけど、とにかくできました。
構築する上でのポリシーとしては、
Mac にインストールされているライブラリと DarwinPorts で入れたものを混合するとコンパイルでエラーを起こすことが多いっぽい。
環境は以下の通り。
Mac OS X 10.5.6
mysql-5.1.33
postgresql-8.3.7
apache-2.2.11
php-5.2.9
Apache のロードバランサーモジュールを使って、 Apache を proxy を go-lang で作った独自アプリケーションサーバと接続させる設定をした時のメモ。
基本的には RoR アプリを作成した時に Apache のバックに Mongrel を何台が走らせたりする時に使う方法と一緒。
忘れないようにメモ。
以前 centos で構築したサーバが壊れ、新しく ubuntu サーバを導入したので、これに subversion をセットアップした。その時のメモ。
以前構築したときよりいくから良くなってると思う。前回の記事は
CentOS に Subversion を導入する
と
CentOS で svn+ssh 環境の構築
環境は以下の通り。
PDF などを Web サーバに配置して配布した際に、ブラウザのプラグインで PDF を開いてしまい、ダウンロードダイアログを表示させる事ができない事がある。
色々やり方はあるが、こんなことに一々 php などのスクリプトを書くのもバカらしいので、 apache の headers module であっさりとやってしまう方法のメモ。
とりあえず環境は apache2 系。
先のポストに引き続き、 IIS x PHP 絡みで、 Zend Framwork を IIS 上の PHP で動かす時のメモ。特に rewrite モジュールが apache のようにはいかないので、それについて。
とりあえず今回の環境は以下の通り
IIS6 上で php が動作してる場合に、 php.ini の変更を IIS の再起動無しで反映させるには、アプリケーションプールをリサイクルすればいいらしい。
IIS Manager を開き、ツリービューのホスト配下の [Application Pools](アプリケーションプール?) を開き、 DefaultAppPool (デフォルトアプリケーションプール?)を右クリックして Recycle (リサイクル?)を実行する。
mod_rewrite を使って特定の IP のみアクセスさせる、もしくはアクセスさせないようにするには以下のようにする。
RewriteCond %{REMOTE_ADDR} ^192\.168\.0\.1$ [OR] RewriteCond %{REMOTE_ADDR} ^192\.168\.0\.2$ RewriteCond %{REQUEST_URI} !^error\.html RewriteRule .* error.html
RewriteCond %{REMOTE_ADDR} !^192\.168\.0\.1$ RewriteCond %{REMOTE_ADDR} !^192\.168\.0\.2$ RewriteCond %{REQUEST_URI} !^error\.html RewriteRule .* error.html
久しぶりに最近ネットセキュリティについて触れることが多くなり、 iptables だの chkrootkit だの snort だの tripwire だの nessus だのと色々いじってる。しかも結構楽しい。
今後のブログネタはしばらくこの線で行こうかな。
その第一弾ってことで mod_security のインストールから設定までのメモ。
modsecurity はフリーの Web アプリケーションファイアーウォールで、 Apache のモジュールとしてインストールする。
Apache のリバースプロクシにインストールしてもいいし、 Web サーバと共存させて動作させてもいいっぽい。
とりあえず今回は Web サーバと共存の形で CentOS 4 にパッケージでインストールした。あとで CentOS 5 にもソースからインストールする予定。
環境
Plesk で php 関連の作業していると、必ずといっていいほど毎回 open_basedir とか safe_mode のエラーではまり、その度に解決策を探しているので、とりあえずメモっておく。
今回の Plesk 環境は以下の通り。
Fedora Core 6
PSA-3.2.0
Visual Studio .Net/2003/2005 などがインストールされてるマシンで、 ASP .NET のプロジェクトを作成する際に、「ASP .NET Version 1.1 が実行されていません」みたいなメッセージが表示されて、作成できないことがある。
これは、 IIS を再インストールしたり、 .Net は 1.0 、 2003 は 1.1 、 2005 は 2.0 と、 Visual Studio のバージョン毎に動作する .NET のバージョンが違うことから起きたりする。
このエラーを解消するには、 IIS で動作させたい ASP .NET のバージョンにしてやればいい。実際には以下のコマンドを打つ。
1.1.4322 の場合。
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322>aspnet_regiis.exe /i ASP.NET (1.1.4322.0) のインストールを開始します。 ASP.NET (1.1.4322.0) のインストールが完了しました。
もしくは「管理ツール」の「インターネット インフォーメーション サービス」、「既定の Web サイト」のプロパティから、 ASP .NET タブを開いて変更することもできる。
以下のサイトから RPM をダウンロードしてインストール。
http://awstats.sourceforge.net/
設定ファイルは、 /etc/awstats/ に、 awstats 用の wwwroot は /usr/local/awstats/ に展開される。
Redhat ES 4 に mrtg を入れた。ほとんどパッケージインストールで、ちょちょっと設定が必要。
いつも MRTG の導入はやり方を忘れるのでメモ。
まず、必要そうなパッケージは以下のとおり。
mrtg
net-snmp
多分それ以外も依存関係の影響で必要になるかもしれない。
あと、 CentOS 4.4 でも全く同じように設定できるみたい。
Apache でローカルアドレスや特定のサイトからのアクセスをログに残さないようにするには、環境変数を使ってやると便利。
まずは /etc/httpd/conf/httpd.conf に特定のアドレスからのアクセスに環境変数を設定するように以下のように追記。
例えば 192.168.0.0/24 からのアクセスの場合。
SetEnvIf Remote_addr 192.168.0. nologで、 CustomLog 設定を以下のように変更すれば終了。
CustomLog logs/access_log combined env=!nolog
Apache2 で IP やユーザごとに同時接続数や帯域を制限するために、 mod_cband っていうモジュールを使ってみた。
かなり細かい設定もできるし、ステータス画面は非常にシンプルだけど分かりやすいのでおすすめです。
環境は CentOS-4.4 でパッケージは無さそう。後で、ライセンスだけ確認して RPM 作るかも。
ダウンロードは以下からできる。
http://cband.linux.pl/