apacheでネットワークマウントされたディレクトリを配信するときの注

NFSやsambaでマウントされたディレクトリをapacheで公開するときにエラーになってしまうことがあるが、 これは EnableSendfile Off とすることで回避できるhttp://httpd.apache.org/docs/2.2/ja/mod/core.html#enablesendfile

configureやmake時に必要なライブラリやヘッダーファイルが標準ではないディレクトリに置かれている場合、 検索パスを環境変数で追加することができる。 LDFLAGS="-L" CPPFLAGS="-I" configure [options] とか LDFLAGS="-L" CPPFLAGS="-I" configure [option…

apacheのLDAPモジュール

■認証/認可のモジュール apache1時代からあった mod_auth_ldap(サードパーティ製) http://www.muquit.com/muquit/software/mod_auth_ldap/mod_auth_ldap_apache2.htmlapache2.0.41以降 mod_auth_ldap(標準モジュール) http://httpd.apache.org/docs/2.0/ja/m…

「WAN越しリモートデスクトップ接続」 on ssh

以前書いた「smb on ssh」と同様に、「リモートデスクトップ」の接続もssh上で行うことができる。Windowsのファイル共有(samba)をssh上で行う場合と違ってクライアントPC側のポートは何番でも良いので、普通にサーバー側で特定のポート(3389)にフォワードさ…

ユニークIDの生成方法について

■PHPのuniqueid エポック秒+マイクロ秒が基本 オプションで、指定の接頭語と、もう一つ(詳細は不明)の値を付加することもできる■UUID(GUID) uuidgen()というシステムコールがある linuxであればuuidgenというコマンドがあるのでそれで生成できる 時間+MAC…

linuxサーバにUSBHDDを接続してみた

大まかに言うと以下のような流れになる・USBHDDを物理的にサーバーに接続する ・パーティションを新たに切り直す fdiskでパーティションを切る ディスクの中に1つしかパーティションは入らないので、基本パーティションで (5つ以上パーティションを作りた…

サーバー起動時に自動実行されるスクリプト

要はinitプロセスが起動時に実行されるスクリプト。 /etc/init.d の下に入っていて、rc?.dディレクトリにシンボリックリンクが張ってあるやつ。 start(),stop(),restart()等の関数が含まれていれば良いようだ。さらに、このスクリプトに以下のコメントを含め…

smbfsについて

http://www.atmarkit.co.jp/flinux/rensai/linuxtips/605usens.htmlrh系ならsamba-client(samba-commonも一緒に入る)を入れるとsmbmountが入るので、 それを使うとsamba共有フォルダをlinuxでマウントすることができる。例: smbmount //192.168.1.252/files…

sshfsのインストールと活用

・sshfsとは http://www.atmarkit.co.jp/flinux/rensai/linuxtips/948sshfs.html http://linux.mini13i.gotdns.org/filesystem%2Fsshfs.html http://wiki.mmj.jp/index.php?Fedora5%2FFUSE-sshfs公式は以下 http://fuse.sourceforge.net/・利点と注意点 NFS…

Linux上のディレクトリツリーを簡単に出力するコマンド

treeというプログラムがあるようだ http://mama.indstate.edu/users/ice/tree/

WEBアプリ開発時の「リロード対策」

たとえばECサイトなどで「注文確定」ボタンを押したときに一件の注文が発生するとか、 メール送信フォームで「送信」ボタンを押したときにメールが一通送信される場合など、 ボタンを押したときのリクエストを、ブラウザの「リロード」ボタンで何度も送信さ…

smb on sshでWAN越しにファイル共有

以下のことをやりたいと思いたちました。 「WANの向こう側にあるサーバーの共有ディレクトリを、Windowsクライアントでネットワークドライブとしてマウントする」 WAN越しで安全にsambaを使うために、sshのポートフォワードで暗号化された通信路上でsamba接…

Windowsクライアントでお手軽にRSYNCを使う方法

cwRsyncというパッケージがあります。 cygwinのrsync,ssh,ssh-keygenなどのアプリケーションだけを独立して使えるようにした物です。 cwRsyncをインストールして、インストール時に入った上記の各アプリにパスを通すだけで、 DOSのコンソールからこれらのア…

Linuxサーバー:複数ユーザーが使う共有スペースのアクセスコントロ

あるWebスペースのコンテンツを複数人で編集していて、複数ユーザーがサーバーにファイルをUPする必要がある場合等、ファイルの所有者やパーミッションをどう設定するのが最適なのか悩むときがあるので、最適な答えを考えてみた。 (「ユーザー」にはwebサー…

格安SSL

・Rapid-SSL.jp http://www.rapid-ssl.jp/ \4,200/年・サイバートレーディング https://yt.com/ \3,600/年

動作中のapacheの設定を調べたいとき

bin/httpd -h 使用可能なオプションを表示bin/httpd -V コンパイル時の設定を表示bin/httpd -l コンパイル時に組み込まれたモジュールの一覧を表示bin/httpd -L 使用可能なディレクティブの一覧を表示

GMailのメールを受信するスクリプト

Mail::POP3Clientモジュールを使ってGMailのメールボックスよりメール受信をするPerlプログラムを書く。 このモジュールはSSL上のPOP3にも対応していてくれているので便利だ。 (GMailでPOP受信する際はSSLが必須であるようだ) インスタンス作成時にUSESSL…

改行コードを取る(LF/CR問わず)

$temp =~ s/[\012\015]//g;

cpanの使い方

perl -MCPAN -e shell sudo perl -MCPAN -e install Unicode::String

apacheの設定ファイルの、コメント部分を省いて表示する

cat /usr/local/apache2/conf/httpd.conf | perl -lne 'print "$_" if /^[^#]/'

ファイル・ディレクトリ一覧を取得

my $path='/var/www/svn/rep'; my @excludelist = qw(dt3_temp dt3_temp2); my @files = (); my %excludelist ; foreach (@excludelist){ $excludelist{$_} = 'true'; } chdir($path); @files = ; foreach my $file (@files){ if(-d $file && !exists($exclu…

ファイル内の文字列を置換する

パイプ動作オプション-p、上書きオプション-iを指定すると、引数で指定 されたすべてのファイルに対する置換実行を行える。 以下の例は、カレントディレクトリのMakefile中のCFLAGS=という行を CFLAGS=-g -O2で置き換える。 % perl -pi -e 's,^(CFLAGS\s*=\s…

日付の妥当性チェック

use Date::Manip qw(ParseDate);my $datestring = '20050229'; # 日付として解析できる文字列であればなんでもよい if(!ParseDate($datestring){ #不正な日付の時の処理 }

ある文字列のMD5ハッシュを得る

my $source = 'hogehoge';#文字列 use Digest::MD5 qw(md5_hex); my $md5 = md5_hex($source);

例外処理をきちんと行う。

eval{ #ここに、例外発生する可能性のある処理を記述する。 !system('mkdir /root') or die; my_subroutine();#サブルーチン中で例外が起こったらdieする }; if($@ ne ''){#例外を捕捉する。 die "error in eval:$@\n"; }

先月の1日〜末日までの日付を得る。

use Date::Calc qw(Add_Delta_YMD); my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime(time()); $mon = $mon + 1; $year = $year + 1900; ($sy,$sm,$sd) = Add_Delta_YMD($year,$mon,1,0,-1,0); ($ey,$em,$ed) = Add_Delta_YM…

ある文字列の文字コードを判別する。

use Encode::Guess qw/euc-jp shiftjis 7bit-jis/; #(文字列が短いと正確な判定が出来ないことがある) my $enc = guess_encoding($str); print "encoding is ", $enc->name, "\n";

ある文字列が、UTF-8フラグが立っているかどうかを判定

use Encode; print Encode::is_utf8($str) ? 'UTF-8 Flag' : 'not UTF-8 Flag';

2バイト文字列の外部コード→外部コード変換

use Encode; #$strをコード変換する(代入不要) Encode::from_to($str, $fromenc, $toenc);

2バイト文字列の内部コード→外部コード変換

use Encode; $str = Encode::encode($toenc,$str);