$myarr = array(1, 2, 3);
$smarty->assign("myarr", $myarr);
と php 側でやった場合、
{$myarr|@count}
で取得できる。 FireFox で Gmail のメール本文を等角フォントの Monospace にしました。
FireFox の profile にある userContent.css をいじるだけみたいです。
$ vi ~/.mozilla/firefox/u1iexrmm.default/chrome/userContent.css
div.msg div.mb {
font-family: monospace !important;
font-size: 12px !important;
}
textarea.tb {
font-family: monospace !important;
font-size: 12px !important;
}
td.ct {
font-family: monospace !important;
font-size: 12px !important;
}
新しくアプリケーションのネタが浮かんだので、せっかくだから ruby on Rails でやってみようと思いとりあえずセットアップまでしてみた。
今回は CentOS 5 だけど、サーバは 4 なので、そちらもセットアップしたら違いを追記する予定。
とりあえず、 RPM パッケージでセットアップできるものは以下のとおり。
ruby ruby-devel rdoc mysql mysql-server mysql-develand dependencies.
HTML_QuickForm_Rule クラスを継承したクラスを定義し、その validate 関数を加工してやればできます。
よく使う年月日を別々のテキストボックスで入力させてチェックさせたい場合などを例にします。
class IsDateExist extends HTML_QuickForm_Rule {
function validate($value) {
for ($i = 0; $i <= 2; $i++) {
if (! ereg ("^[0-9]+$", $value[$i])) {
return false;
}
}
return ( checkdate($value[1], $value[2], $value[0]) );
}
} |cat: を使ってやります。
例えば $str1 と $str2 をくっつけて間に "_" をいれて $str3 を連結したい場合を例にすると。
value = {$str1|cat:$str2|cat:"_"|cat:$str3} Linux でファイルの同期を取りたい場合があります。
例えば /home/user/dev/websrc/* と /var/www/html/* を同じ状態に保ちたい場合です。
シンボリックリンクを張るのも一つの方法ですが、同期にはなってません。
ここでは rsnyc を使います。
$ rsnyc -avzr /home/user/dev/websrc/* /var/www/html/
zip ファイルなどを圧縮した際に、自己解凍形式のファイルを出力するソフトとかあるじゃないですか。
あんな感じで exe ファイルを生成するソフトの .NET 版を作ってみたいなと思い、色々リサーチしてみたので、その時のメモ。
実は .NET には CSharpCodeProvider というとんでもないクラスが存在しているので、これを使ってみました。
今回開発した EnjoiCrypto にもこのテクは使っています。
一応環境。
.NET Framework 1.1/Mono 1.2
SVN から mono を取り出して Linux-Windows Cross-platform アプリを作ってるんだけど、ソースコードのコンパイルではまったので、むかつきがてらメモ。
mono の C# のコンパイルは mcs だっていうのは知ってたんだけど、どうやっても 2.0 対象のクラスとかもろもろがうまくいかない。
で、小一時間悩んだ挙句、 2.0 向けのコンパイラはそもそも gmcs だということが判明。
$ gmcs EnjoiXXXX.cs Compilation succeeded - 0 warning(s)できた。。
Linux で svn コマンドをいちいち打つのが段々めんどくさくなってきたので、 Eclipse をいれて Subversion plugin の Subclipse をインストールしてみた。
subclipse.tigris.org
その時のメモ。
このブログを作成している際に、特定の記事だけ簡単な認証を行いたかったので、 PHP で BASIC 認証 っぽいことをやってみた。
実装は簡単で、ユーザが BASIC 認証を行った場合 PHP_AUTH_USER と PHP_AUTH_PW 環境変数にその際のユーザ名とパスワードが復号化されて格納される。
これを PHP で認証して、違ったら 401 エラーを返せばいいだけ。
$signin = false;
if (isset ($_SERVER['PHP_AUTH_USER']) &&
isset ($_SERVER['PHP_AUTH_PW']))
{
if ($_SERVER['PHP_AUTH_USER'] == 'masaki' &&
$_SERVER['PHP_AUTH_PW'] == 'password')
{
$signin = true;
}
}
if (! $signin)
{
header('WWW-Authenticate: Basic realm="Enjoi Blog"');
header('HTTP/1.0 401 Unauthorized');
print "Error 401";
exit;
}
Visual Studio + PuTTY + TortoiseSVN + AnkhSVN でフリーな GUI svn+ssh 環境を構築してみた。
前回で svn+ssh 環境を構築して Linux からは svn コマンドで簡単にアクセスできるようになったんだけど、
肝心の Windows からのアクセスがまだできてなかったのです。
Subversion の構築メモはCentOS に Subversion を導入するを、 svn+ssh 環境の構築メモはCentOS で svn+ssh 環境の構築を参考。
次回の CentOS に Subversion を導入する では単純に over http の SVN 環境を導入したけど、
実際にソースを公開して、一方でソースを更新するにはアクセス制限をしとく必要がある。
今回は svn+ssh を構築して、 ssh アクセスでの更新のみを許可する環境を作ってみた。
最近 Linux と Windows を交互に切り替えて使ってるので、共有レポジトリでバージョン管理したいなと思い、
SVN をセットアップしてみた。そのときのメモ。
ただなんか色々調べてると Mercurial というのが結構あついみたいだね。
Mercurial - Mercurial
Windows から使いづらそうだったのでパスしたけど。
DAG(rpmforge) は redhat 及び fedora 向けの追加パッケージ群です。
DAG
これのレポジトリを CentOS 5 の yum に追加しておけば、 CentOS でもほぼ完全に使用できます。
レポジトリに追加するには以下の URL から追加用の rpm を取得してインストールするだけです。
rpmforge
RPM は Redhat 5 用のやつなので、
rpmforge-release-x.x.x-x.el5.rf.yyy.rpm
になります。
もちろん CentOS 4 とかなら Redhat 4 用のやつになるので、 el4 というやつを使ってください。
これをインストールすると /etc/yum.repos.d/ 配下に rpmforge.repo が追加されて、 yum を実行した際の検索対象になります。
# rpm -ivh rpmforge-release-0.3.6-1.el5.rf.i386.rpm追加パッケージはかなり豊富。ちなみに livna との関連は知りません。
telnet コマンドは基本的に平文の通信しかサポートしてなくて、 HTTPS プロトコルに HTTP コマンドを手動でちょっと発行したいときなどに対応できない。
debian には telnet-ssl っていうパッケージがあるみたい何だけど、 CentOS 5 上でコンパイルしようとしたらどうにもエラーで進まないので、ちょっと perl で作ってみた。
その時のメモ。というかソース。
特に細かい説明無し。気が向いたら。
例えば www.enjoitech.jp と blog.enjoitech.jp でセッションを共有したい場合は、 php のコードの session_start () 関数の前に、 session_set_cookie_params() でクッキーの影響範囲を enjoitech.jp にしてやることができる。
session_set_cookie_params (0 , '/', 'enjoitech.jp');もしくは php.ini で
session.cookie_domain "enjoitech.jp"でも可能。
Windows の共有フォルダをマウントするには、
smbfs を OS がサポートしているなら、 mount コマンドで windows の共有フォルダをマウントできる。
$ mount -t smbfs -o username=hoge,password=hoge01 //192.168.0.100/pub /mnt/smbfstab に書く場合は以下のようにする。
//192.168.0.100/pub /mnt/smb smbfs noauto,username=hoge 0 0
ただ GUI から参照するなら最近の Linux は Network Servers メニューから Windows Network がのぞけるので、ほとんど Windows と同じ感覚で使えますね。
どうしようもない不要メールがキューに溜まってしまうことがあります。
この場合は postsuper コマンドを使用して削除できます。
postfix のメールキューは /var/spool/postfix/ 配下のディレクトリにそれぞれの意味合いごとに溜まります。
例えば deferred のメールを全部削除したい場合は以下のコマンドを実行します。
# postsuper -d ALL deferred
totem は gnome 標準の動画再生ソフトで、 CentOS 5 にも標準でインストールされてます。
これ実は backend で gstreamer か xine を使用して再生するようになってるんだけど、
標準の gstreamer のプラグインは WMV とか AVI, FLV とか全然再生できない。
これを xine 向けの totem でパッケージングしなおして、インストールして動画を再生できるようにしてみた。
リアルプレイヤーを CentOS5 にインストールするには、 compat-libstdc++33 を入れる必要があるらしい。 libstdc++ のバージョンが 6 でリアルプレイヤーは 5 を要求するから。
# yum install compat-libstdc++*
次に以下のサイトでインストール用のバイナリをダウンロードしてインストールする。
RealPlayer for Linux
# chmod 755 ./RealPlayer10GOLD.bin # ./RealPlayer10GOLD.bin
新たにレコード INSERT 時に、シーケンスキーの次の値を特定の項目にセットする場合は以下のように行う。
INSERT INTO TBL_NAME VALUES (nextval ('seq_name'), 1, 2);
また、その結果インクリメントされたシーケンスキーの値を参照するには
SELECT currval ('seq_name');
さらに、シーケンスキーの値を設定しなおしたい場合は、
SELECT setval ('seq_name', 10);SELECT setval ('seq_name', 10, false);
となり、前者は nextval の結果が 11 となり、後者は 10 となる。
たまに Access で作成したマクロやフォームから特定の文字列を検索したいときなどがあり困るんですが、
実は Access のマクロやフォームはテキストファイルに変換できます。
しかも簡単な VB スクリプトを書くだけ。
そのやり方のメモ。
Youtube を始めとする動画共有サイトで多く使用されている FLV 形式のムービーを Linux で作成してみた。
あまりこの分野詳しくないんだけど、 AVI ってやつと WMV ってやつ MPEG って拡張子のやつは変換できた。
環境は以下のとおり。
CentOS 5
Mouse Gesture は時に便利ですが、時にうざいです。特にホイールパッドを使ってると、用もないのにがんがん操作されてしまうこともあります。
で、 FireFox の設定を立ち上げて無効にしようとしたのですが、設定項目が見当たりません。ないのでしょうか?少なくても Linux 版の FireFox には見当たりません。
しかたがないので、 All-in-One Gestures というプラグインをインストールしてこれを無効化しました。
All-in-One Gestures
本当にこれしか方法がないかは分かりません。
# getenforce Disabled状態を変更するには /etc/selinux/config の SELINUX パラメータを変更します。
# vi /etc/selinux/config
SELINUX=disabledenforcing とかそういうのは次回ってことで。
CentOS 5 の Rhythmbox は標準で mp3 に対応してないし、追加パッケージも存在しないみたいです。
でも DAG にある gstreamer のプラグインを追加すれば再生できるようになります。
DAG を yum レポジトリに追加したら、 gstreamer-plugins-ugly をインストールします。
# yum install gstreamer-plugins-uglyDAG を追加する方法は CentOS 5 で DAG(rpmforge) の yum repository 追加 を参照。
CentOS 5 に限らず Linux では alsa を使ってサウンドを再生してるが、ほとんどの Linux で複数のアプリケーションからサウンドデバイスを共有して音を出すことがデフォルトでできない。
例えば rhthmebox で音楽を再生していると gaim のサウンドが再生されなかったりするわけ。
これを有効にするには alsa の dmix プラグインを有効にすればいい。
CentOS 5 + Let's note (Intel® PRO/Wireless 2200BG) で無線 LAN の設定をした。設定をしたと言っても別に大したことはしてないんだけど。
Linux の時間を合わせるには ntpdate コマンドを使って外部の ntp サーバと同期をとるのが簡単です。
ntp server の一覧は http://www.pool.ntp.org を参照。
# ntpdate jp.pool.ntp.org
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 タブを開いて変更することもできる。
.Net から MySQL に接続するには MySQL AB がリリースしている MySQL Connector/Net を使用します。
MySQL® Connector/Net
MySQL はフリーでかなり優れているので、 .Net からの使用用途もかなり増えました。
とりあえず Visual Studio 2003 で C# ASP .NET から MySQL に接続しました。
以下のサイトから RPM をダウンロードしてインストール。
http://awstats.sourceforge.net/
設定ファイルは、 /etc/awstats/ に、 awstats 用の wwwroot は /usr/local/awstats/ に展開される。
Mailman で ML 環境を構築した際に、 ML の全てのメールのヘッダに Reply-To で ML のアドレスを指定するには、 /usr/lib/mailman/Mailman/ ディレクトリにある Defaults.py の DEFAULT_REPLY_GOES_TO_LIST に 1 をセットすればよい。
# vi /usr/lib/mailman/Mailman/Defaults.py
# 0 - Reply-To: not munged # 1 - Reply-To: set back to the list # 2 - Reply-To: set to an explicit value (reply_to_address) DEFAULT_REPLY_GOES_TO_LIST = 1
Redhat ES 4 に mrtg を入れた。ほとんどパッケージインストールで、ちょちょっと設定が必要。
いつも MRTG の導入はやり方を忘れるのでメモ。
まず、必要そうなパッケージは以下のとおり。
mrtg
net-snmp
多分それ以外も依存関係の影響で必要になるかもしれない。
あと、 CentOS 4.4 でも全く同じように設定できるみたい。
Munin のプラグインを作ると言っても、単純な文字列と数値を出力するスクリプトを作成するだけでとても簡単です。
スクリプトは bash だろうが perl だろうが、 C 言語でも別に構わないので、好きな言語で作れる。
とりあえず、マザーと CPU の温度を表示するプラグインを作ってみた。
インストールの仕方や基本設定はCentOS に Munin をインストールする、Munin を Debian にインストールする、Munin のグラフ(plugin)の種類を変えるを参考。
Coldfusion 7 の管理画面からデータソースへいって、データソースの設定をしようとしても、 MySQL 5 用のドライバは標準では用意されてない。
でも MySQL からしっかりと配布されているのでそれを入手して設定すれば普通に使えます。
そのときのメモ。
Munin の設定ファイルやプラグインを変えて、必要なグラフだけを表示するようにしてみた。
基本的にはプラグインへのシンボリックリンクを削除したり作成するだけで、グラフの数は自由に変えられる。実際のやり方をメモっておく。
インストールの仕方や基本設定はCentOS に Munin をインストールする、Munin を Debian にインストールするを参考。
echo filename | while read i do echo $i done
SQLServer で CSV 形式のデータファイルを import/export するには、 bcp コマンドを使用すると便利です。フォーマットファイルというのを指定することで、型の定義も可能で非常に便利。
またインポートは、 osql で BULK INSERT クエリを発行することでも対応できます。
SQLServer でデータを backup/restore するには osql で BACKUP/RESTORE クエリを発行することで行えます。
作成するダンプファイルにパスワードをつけることも可能です。
SQLServer で文字列検索を実行した際にアルファベットの大文字小文字やひらがなカタカナを区別しなかったりした時には、照合順序(Collation)が正しくない場合がある。
一通りの照合順序の設定方法と意味などをまとめておく。
this.Response.AddHeader("Content-Disposition","attachment;filename=CSVData.csv");
this.Response.AddHeader("media-type","application/octet-stream");
this.Response.WriteFile(csvFilelPath);
this.Response.End(); string strDir = "C:\\";
string strFile = "test.csv";
OleDbConnection myConn = new OleDbConnection ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
+ strDir + ";Extended Properties='TEXT;HDR=NO'");
myConn.Open ();
OleDbDataAdapter sqlda = new OleDbDataAdapter ("SELECT * FROM " + strFile, myConn);
DataTable dtbl = new DataTable ();
sqlda.Fill (dtbl);
dgrdCsv.DataSource = dtbl;
myConn.Close ();ちなみに、読み込む CSV のフィールドタイプを指定した場合は、 schema.ini を用意して CSV と同じフォルダにおいておく。
[filename.csv] ColNameHeader=True Format=CSVDelimited Col1=user_id Integer Col2=user_name Char Width 32 Col3=notes LongChar
といった感じ。はじめの一行目が CSV ファイル名をセクションで指定して、二行目がヘッダの有無、三行目はデータファイルの書式(ここでは CSV )を指定してます。それ以降が実際のカラムの指定。
public void Page_Load(Object sender, EventArgs e)
{
RegisterOnSubmitStatement ("submit", "return window.confirm ('削除します。よろしいですか?');");
もしくは、特定のボタンのみに登録したい場合は以下も有効。
public void Page_Load(Object sender, EventArgs e) {
Button1.Attributes["onclick"] = "return window.confirm ('削除します。よろしいですか?');"; ASP .NET はコントロールデータが全て一つの BASE64 エンコードされた __VIEWSTATE っていうフォーム変数に格納されてるんだけど、それ用のソフト等を使えば内容が閲覧できるし、書き換えることもできる。
これを暗号化して、改ざんされた際にはエラー処理するようにするようにするには、 web.config で Page.EnableViewStateMac を有効にすればいい。
<configuration> <system.web> <machineKey validation="3DES" /> <pages enableViewStateMac="true" /> </system.web> </configuration>Mac stands for "message authentication check".
HTML で、限られたスペースに、可能な限りのドキュメントを入力してスクロールバーで制御したい場合があります。 iframe や textarea でも行えますが、スタイルシートで overflow を使用してスクロールバーを出すこともできます。
例えば幅 400x40 のスクロールバーつきエリアを作成するには以下のようにします。
<div style="overflow: auto; width: 400px; height: 40px">
ここに入力したいドキュメントを書く。
</div>
実際どのようになるかというと、このように入力したドキュメントの長さに応じて、必要なスクロールバーを自動的に表示してくれます。当然 textarea とは違いタグも書けまし、 iframe みたいに別の HTML を作成する必要もありません。
MRTG みたいなツールで温度とかも簡単にグラフ化できるって専らのうわさだったので入れてみた。
ダウンロードはここ。
http://munin.projects.linpro.no/
Download リンクから munin と munin-node の最新版 RPM パッケージを入手。
CentOS には存在しない (Redhat にも存在しない) パッケージを要求されたりして結構面倒でした。
多分一番簡単にファイル内の行を削除するのは sed コマンドです。
その他にも grep コマンドを使用したりしても十分行えます。
sed で abc を含む行を全削除するには以下のコマンドを実行します。
$ sed '/abc/d' input.fileパイプで渡すこともできます。
$ cat input.file | sed '/abc/d'grep コマンドで削除するには以下のコマンドです。正確には削除してるわけで無い気がしますが。
$ grep -v abc input.filegrep の -v オプションは文字列を”含まない”行を出力するためのオプションです。
Windows で作成したテキストファイルの改行コードが CRLF で、この内の CR の部分を除去して、 Unix にあわせたい場合に便利なコマンド。
置換などに用いる tr コマンドを使う。
$ tr -d "\r" < input.file > output.fileただしこの tr コマンドの -d オプションは注意が必要で、指定した「文字列」を削除するんじゃなくて、指定した「charactors」を全て削除することです。なので、
$ tr -d "abc" < input.file > output.fileとやると、全ての a と b と c が削除されることになります。文字列を削除したりしたい場合は sed コマンドがおすすめです。
> subst P: C:\Util解除するときは -D オプションをつける。
> subst P: /D P:
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
<div id = "tarishou">test</div>JavaScript は以下のようになります。
var ctl = document.getElementById ("taishou");
if (ctl.style.display == "none")
ctl.style.display = "inline";
else
ctl.style.display = "none"; # yum install postgresql-serverレポジトリへの追加方法は、 CentOS に PHP5 をインストールする を参考。
> chkdsk C:
<cfcontent type = "image/gif" file = "path/to/file" />
Apache2 で IP やユーザごとに同時接続数や帯域を制限するために、 mod_cband っていうモジュールを使ってみた。
かなり細かい設定もできるし、ステータス画面は非常にシンプルだけど分かりやすいのでおすすめです。
環境は CentOS-4.4 でパッケージは無さそう。後で、ライセンスだけ確認して RPM 作るかも。
ダウンロードは以下からできる。
http://cband.linux.pl/
Coldfusion で Form 内に Dynamic variable name を使った場合、その入力内容の取得したい場合 Evaluate 関数を使う。
例えば abc_ という固定 name に通し番号の 1, 2, 3 などを付加した場合を考える。
for (i = 1; i LTE < 5; i = i + 1)
{
abc[i] = Evaluate ("form.abc_" & i);
} Coldfusion で、例えば form タグ内に同じ name 属性を持った要素を複数含んでいた場合、 Form 構造体にはその名前のリストが作成されます。
言葉で伝わりづらいので具体的に以下のコードを見てください。
<form action = "./" method = "post"> <input type = "checkbox" name = "sameopt" value = "1" /> <input type = "checkbox" name = "sameopt" value = "2" /> <input type = "submit"/> </form>name 属性が sameopt チェックボックスが二つあります。このフォームでチェックボックスの両方にチェックをし submit すると、 Form.sameopt は以下のようにセットされます。
1,2,区切りのリスト構造です。 PHP なら、
<form action = "./" method = "post"> <input type = "checkbox[]" name = "sameopt" value = "1" /> <input type = "checkbox[]" name = "sameopt" value = "2" /> <input type = "submit"/> </form>$_POST["sameopt"][0] と [1] とい感じで配列になる感じです。で、このリストを一つずつ処理するには、 list 関数を使ったり、 cfloop の list 指定で処理したりするといいでしょう。具体的には、
<cfloop index="i" list="#Form.sameopt#">という感じです。
cpan2rpm を使うと、 perl モジュールを RPM としてインストールできます。
以下からパッケージをダウンロードしてインストールします。
http://perl.arix.com/cpan2rpm/
↑がリンク切れてたら、↓から RedHat 4 用のも利用可。
http://atrpms.net/name/cpan2rpm/
rpm -ivh cpan2rpm-2.027-1.noarch.rpm
$ for file in *.htm; do mv $file `basename $file htm`html; done
SELECT current_date() + '1 weeks' FROM table;みたいな感じです。
SELECT setval ('seq_num', 100);
次のシーケンス番号をつけて挿入するには nextval 。
INSERT INTO table VALUES (nextval ('seq_num'), 'value');
その結果のシーケンス番号を取得するには、セッションを切らない内に currval 。
SELECT currval ('seq_num'); Smarty で年月日を表示するドロップダウンを作るには html_select_date というカスタム関数が便利。
これを使うといちいち select だ option だ、何日前を表示だ、とか考えなくてする。実際のコードはこんな感じ。
{html_select_date year_empty="-" month_empty="-" \
day_empty="-" prefix="start" start_year="-4" time=$start_time}
こうすると、ドロップダウンのトップ項目に - を含んだ 4 年前からのドロップダウンが生成され $start_time がデフォルト値になる。
prefix は name に start を付加させて startYear, startMonth とかなるような感じ。詳細は Smarty Documentation参照。
通常 PHP は Apache にモジュールとして取り込まれている。
これを cgi として動かしたいときには apache の設定ファイルに変更を加える必要がある。
PHP を cgi として動作させると、 suExec も有効にさせることができる。
ただしデメリットもあり、動作が若干遅くなる。
環境は以下のとおり。
CentOS-4.4
PHP-5.1.6
$ ssh host -l username -L localport:remotehost:remotehostport
javac -g:none *.java
AWStats は標準設定では月別 (Monthly) の解析しか行わないが、実は時間別や日別にも対応している。
実装は非常に簡単で、定期的に行っている更新スクリプトに -DatabaseBreak を付け加えるだけでよい。すると月別データベースとは別に時間別や日別のデータベースも作成される。
#HTMLCodeFormat (form.inputvalue)#
#HTMLEditFormat (form.inputvalue)#
Debian の Apache2 でバーチャルドメインを行うには、 /etc/apache2/sites-available/ ディレクトリにそれようの設定ファイルを作成し、 /etc/apache2/sites-enabled/ にシンボリックリンクを作る。
# apt-get install munin munin-node設定はCentOS に Munin をインストールする参照。
Coldfusion と SQLServer の環境で、最後に INSERT した際に自動的に発番される ID (シーケンス、オートナンバー)を取得するには @@Identity をうまいこと使ってやります。
仮想 X サーバと firefox などのブラウザ、 ImageMagic を使用して実現します。
環境は以下のとおりです。
CentOS-4.4
xorg-x11-Xvfb
firefox
ImageMagick
全部 yum でインストールできたと思います。
runas コマンドを使用することで、 administrator を含む特定のユーザ権限でプログラムを実行できます。
コマンドプロンプトを開いて実行します。
C:\>runas /user:administrator cmd
C:\>convert C: /fs:ntfs
pam 認証を使用して、指定したユーザ以外は su できないようにします。 以下の動作を行ってください。 /etc/pam.d/ の su ファイルを修正します。
Linux のコンソールのタイムアウト時間を設定するには /etc/ の profile をに TMOUT 環境変数をセットすることで行います。
/etc/profile はログインした全てのユーザに適用される設定ファイルです。
# vi /etc/login.defs
PASS_MIN_LEN 5
sh スクリプト(sh に限らずコマンドライン全般)を作成してる際に、
ユーザにパスワードなどを入力させる事がよくあります。
そんな場合、入力されたパスワードはコンソール上には表示させないようにする必要があります。
そんな動作を実装するためには stty を使用します。
String command[3] = "ls", "-l", "-a"; Runtime rt = Runtime.getRuntime (); Process pr = rt.exec (command); InputStream is = pr.getInputStream ();
DBMS には隔離レベルと言うのがあって、 PostgreSQL の場合少し特殊みたいです。
デフォルトでは Read Committed なんだけど、 Transaction 中の Update 後に、他の Transaction による SELECT は Commit を待たずに実行できるようだ。
grep は基本的に s/regex/string/ みたいな文法で '/' をそのまま扱いたいときは \/ と書かなければだめ。
でもこれを s@regex@string@ みたいな書き方をすることで '/' をそのまま扱える。
cadaver というツールが使えます。
以下のようにして Web サーバに接続し、様々なコマンドが使用できます。
$ cadaver http://example.com/webdavdir/
$ pg_dump -u dbname $gt; dbname.out
$ createdb dbname $ psql -e -f dbname.out dbname
ドメイン名を変更した際に、古いドメインにアクセスしてきたユーザを全て新しいドメインのページにリダイレクトしたい場合があります。
そんなときは、 apache の RedirectMatch を使います。
OVAL っていうのは、 Open Vulnerability and Assessment Language の略で、脆弱性を検査するためのオープンな言語です。
http://oval.mitre.org/その昔は SQL チックな記述言語だった気がするんですが、久々に見てみたら流行の XML になってた。