新しいホスティングに移動するにあたって、せっかくなので HTTP サービスを整理してみた。その時に HAProxy をフロントの Proxy に使ってみたのでメモ。
環境は以下のとおり
公開しているサービスは色々あり、これを整理したかった。
これを一台でやってるので、 haproxy は別にロードバランサー的な役割は特にしていない。ただのプロキシ、兼SSL。
SMTP でちょっとテストしたい時などに SMTP コマンドを実際に叩いてテストすることがよくあるが、 smtp auth のやり方がいまいち分からなかったので、調べた時のメモ。
マシンにディスクを追加したり、 VMWare でディスクサイズの変更をした際に、既存の ext4 をリサイズするためのメモ。
最近は Cloud ばっかりなので、こういうのはすっかり忘れている。
他のドキュメントからコピーしたテキストを、直接コマンドでファイルに書き込みたい時があるが、 vi を開いてコピペすると syntax 機能やタブ設定のせいで余計なインデントが追加されてしまい面倒なことになる。
そんな時は cat を使って
$ cat > file_name.txt << EOF
とうち、コピペしたい内容をターミナルにコピペして、最後に
EOF
と打って終了する。
ただし、コピペする内容に EOF という行が存在しないのが前提。もし存在する場合は、 EOF を何か適当な他のものに変える必要あり。
いつもこの方法を忘れるのでメモ。
rsync を ssh 経由でバックアップなどに用いたりすることは良くあるけど、それだけの為に Linux ユーザーを作成してシェルを与えるのは嫌な場合が多い。そんな時は、 ssh の PubkeyAuthentication と組み合わせて、特定のユーザーは rsync のみを実行できるように制限する事ができる。その設定をした時のメモ。
ちにみにここで紹介する方法は、 su などでそのユーザーになったり、 ssh の PasswordAuthentication が有効になっていてパスワードでログインできたりする場合は意味がなくなるので注意。
ffmpeg コマンドを使って、様々なフォーマットの動画、音声、画像を操作するメモ。主に mp4, flv 関連。
応用すればもっと色々できる。
環境は Ubuntu 10.04 LTS
telnet コマンドは基本的に平文の通信しかサポートしてなくて、 HTTPS プロトコルに HTTP コマンドを手動でちょっと発行したいときなどに対応できない。
debian には telnet-ssl っていうパッケージがあるみたい何だけど、 CentOS 5 上でコンパイルしようとしたらどうにもエラーで進まないので、ちょっと perl でサイトを色々参考にして作ってみた。その時のメモ。というかソース。
特に細かい説明は無し。
追記:最近はほとんど openssl の s_client でやっている。
$ openssl s_client -connect www.example.com:443
普段 rsyc を使ってよくバックアップを行うが、ふとバックアップサーバーのセキュリティが意外と甘かったりすることがある。
バックアップサーバーだからといっても、データベースのダンプやファイルなど、結構重要なものがあって、そのまま置いておくのはもちろん危険。
そこで duplicity と GnuPG を使って、バックアップファイルを暗号化しながら(比較的)安全にバックアップを取って保存することにしたので、その時のメモ。
duplicity は rsync と同様なお手軽にフルバックアップ、差分バックアップが行える上、リモート接続の選択肢も豊富(s3 などもサポート)で、バックアップファイルは gpg で暗号化されサインもされる。
かなりいい感じのツールだと思う。
今回の環境は、
sysv-rc-conf というのがある。
コマンドがみつからない場合は、以下をを実行してインストールする。
$ sudo apt-get install sysv-rc-conf
ある php スクリプトを走らせるのにロケールを ja_JP.utf8 に設定しないとうまくいかないことがあったので、設定しようと
$ locale -a C POSIX
と、 C と POSIX しかないので、 localedef コマンドを使って追加する。
$ sudo localedef -f UTF-8 -i ja_JP ja_JP.utf8
何か知らないけど、パッケージを用いてない 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 。
開発を行っていて、 IDE などの設定の個人差により、インデントに使われているホワイトスペースとタブが混在して Diff で差分チェックするのが困難な場合があるが、そんな時は、 svn diff --ignore-eol-style オプションを付ける事で回避できる。
$ svn diff -x --ignore-eol-style file_name
毎回新しいプロジェクトを作成するたびに SVN Ignore の方法を忘れているのでメモ。
propedit で svn:ignore プロパティの値を変更してやればいい。例えば、 . ディレクトリの .project ファイルを無視リストに追加したい場合は以下のコマンドを実行する。
$ svn propedit svn:ignore .
そして開かれたファイルに .project を追加する。
最近 Mac 上で darwin port を使ったパッケージ管理に嫌気を感じ、全部コンパイルしてインストールし始めてみた。今の Macbook は Core 2 なので、せっかくだから i386 と x86_64 両方の architecture に対応したライブラリを作ってみた。
作ってみたというよりは、実際過去に i386 でコンパイルした物があり、それにリンクしているライブラリが x86_64 をインストールしたことで動かなくなったので、やらざるをえなかったわけだけど。
例としてここでは openssl-0.9.8o をインストールしてみる。コンパイラは gcc-4.5.1 を使用。
exim4 は ubuntu の標準 MTA の様で、設定ファイルは /etc/exim4/ 配下にあるんだけど、基本的にまた一から新しい MTA の設定を覚えたいとは思わない。
そんな時調べていたら、というか検索したら便利なコマンドがみつかったのでメモ。
基本的には以下のコマンドを叩いて後はインタラクティブな質問に答えていけば良い。
$ sudo dpkg-reconfigure exim4-config
SVN 作業時に、 svn サーバーの URL が変更になった際に、ローカルのレポジトリコピーを新しい場所に移動するには、以下のコマンドで行います。
svn switch --relocate {old URL} {new URL} SVN で特定の branch を元の trunk に戻すには以下のコマンドを実行する。
$ svn merge --reintegrate svn://repo.domain/repo.dir/path/to/branch /path/to/working_copy
reintegrate オプションは subversion 1.4 からサポートされている。うちの環境が 1.3 だったので 1.5 にあげたんだけど、エラーが消えずにはまりかけたんだけど、 repository 自体のバージョンもあげないとだめだったらしい。
$ svnadmin upgrade /path/to/repo_dir
Web アプリケーションからメールを送信したい場合に、メールの宛先のドメインが、そのサーバに登録されていたりすると、 Sendmail がローカル宛の配送ととらえてしまい、想定していた場所にメールが届かなくて途方に暮れる事がある。
特に最近は Google apps なんかでメールを管理する事が多いので、レンタルサーバを借りる時などは注意が必要だ。
レンタルサーバをシェアしている場合は、管理会社に相談するしかないと思うけど、 VPS みたいに全部自分で管理してる場合は、 Sendmail の設定などを変更すれば、ローカル転送をさけられる。
デジタルビデオの映像を DVD に焼いてもらったので、それをファイルに抽出した時のメモ。
手軽に使えるフリーソフトも存在するみたいですが、見つけられなかったので mplayer でやりました。
まず mplayer のインストール。 darwin ports で。
$ sudo port install mplayer
そして mencoder 。以下がその時のコマンド。
$ mencoder dvd://1 \ -ss 00:00:03 -endpos 00:00:48 \ -aspect 4:3 -ovc lavc -lavcopts vcodec=mpeg4:vhq:vbitrate=9800 \ -vf crop=640:480:0:0 -oac mp3lame -lameopts abr:br=96:vol=9 -o mazatlan05-visit.avi;
dvd:// でデバイス ID を指定
-ss はトリミングしたい場合にスタートポジションを指定
-endpos で同様にエンディングポジションを指定。実際はポジションではなく、スターティングからの時間(例の場合は 3 秒目から 48 秒)
-aspect アスペクト比を指定
lavc でエンコーディングタイプを指定。 vbitrate などは出直したいファイルサイズに合わせてうまい事調整
-vf もしクロッピングが必要ならサイズ、ポジションを w:h:x:y で指定(たぶん)
mp3lame でオーディオ設定。 br でビットレート指定。ボリュームは vol でコントロール可能
-o で出力ファイル名指定。