ソフトウェア一覧

映画「MP3」

おっサンテレビでやってた。途中からしか見てないので、どこがMP3なのかよく分からなかったけど、よくこんなタイトルの映画が作れたものだ。コンピューターウィルスが人類を破滅へと導くというよくあるストーリー。サーバーにいろんなスイッチが付いていてやけに古臭い。最後にゲームボーイをサーバーにつないでウイルスを倒すのには笑った。

IE7にUpdateしてみました

IE7では、IE6の不具合(バグ)がいくつか修正されており、W3Cの標準規格に近づいているそうです。 OperaやFirefoxは、標準規格に沿った表示をほぼするのだが、IE6は標準規格から外れているため、HP作成者はすべてのブラウザで同じ表示をさせるためにCSSハックというような裏技を使う必要があった。そのため、IE6で表示させるためには、IE6のためだけの構文を書かなければならなかった。IE7でははたして…。 IE7を使ってみて、ある程度のページはほぼ問題なく表示されるが、一部のページは文字がずれていたりレイアウトがおかしなところも見受けられた。Pukiwikiのページは問題ないようだ。 インターフェースについては、タブに対応したということで使いやすくはなっていると思うが、小生、Donut RAPTを愛用しているためどうでも良い。



激突(DUEL)

見知らぬトラックに追い掛け回されるという映画。スピルバーグの若いときの作品。久しぶりに見たけど、面白いねー。この映画、たった13日で作られたそうだからすごい。

Lineage II

久しぶりにリネ2をインストールしてやってみた。今のバージョンはクロニクル5。さすがにWUXGAだと景色が違うねえ。

駐車場でのバトルw


    • うおおおおおw激突夜中にやってたよ!!追い抜いて追い抜かれてを繰り返して意味のわからない映画だったw結局最後まで見てなかったよ(´゚Д゚`) — おーしゃん 2006-11-25 (土) 12:15:04
    • まじでぇ?DVDかっちゃったよー — admin 2006-11-26 (日) 18:12:26

ウイルスの作り方

メモ帳を開いて、以下の文字列をコピペします。

X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*

abc.exeという名前で保存します。

以上。

アンチウイルスソフトが入っている場合、保存するときに検出するはず。



Solaris9 パッケージ管理

パッケージは、ディレクトリとして構成される。パッケージ名はディレクトリの名前。

パッケージ操作

  • パッケージのインストール
    # pkgadd -d [パッケージのディレクトリが入っているディレクトリ] [パッケージ名]
    
  • インストールされたパッケージの確認
    # pkginfo [パッケージ名]
    
  • インストールされたパッケージのファイルを確認
    # pkgchk -v [パッケージ名]
    
  • パッケージのアンインストール
    # pkgrm [パッケージ名]
    


Solaris9 ネットワーク


設定を確認するコマンド

  • IPアドレス、ネットマスク、MACアドレス
    # ifconfig -a
    
  • ホスト名
    # hostmname
    
  • ルーティングテーブル(デフォルトゲートウェイ)
    # netstat -r
    
  • ARPテーブル
    # arp -a
    

設定ファイル

  • ホスト名
    /etc/nodename
    
  • ホスト名とIPアドレスの対応
    /etc/hosts
    
  • ネットマスク
    /etc/netmasks
    
  • デフォルトゲートウェイ
    /etc/defautlrouter
    
  • NICとIPアドレスの対応
    /etc/hostname.iprb0
    
  • DNSサーバ
    /etc/resolv.conf
    

対話式ネットワーク設定ツール

# sys-unconfig

設定ファイルを一括変更できる。



Solaris9 起動と停止


システム起動の流れ(SPARC)

  1. PROM(IAのBIOS)
  2. bootblk(IAのMBR)
  3. uftboot
  4. /kernel/genunix
  5. /kernel配下のカーネルモジュール
  6. デバイスドライバ
  7. /etc/system
  8. /sbin/init参照⇒/etc/inittab
  9. /sbun/rc?

実行レベル

0 PROMモニタモード、システム停止
1,s,S シングルユーザモード
2 マルチユーザモード、NFSサーバデーモンなし
3 マルチユーザモード、NFSサーバデーモン起動、デフォルトの実行レベル
4 未使用
5 システム停止
6 システム再起動
  • PROMモニタモード OSが起動していない状態。安全に電源を切ることができる。ハードウェアの管理作業を行える。
  • シングルユーザモード 最低限のサービスのみ起動。スーパユーザのみログイン可能
  • マルチユーザモード すべてのサービスが起動。すべてのユーザがログイン可能。
  • 現在の実行レベルの確認方法
    # who -r
    
  • 実行レベルの変更方法
    # init ?    (?は実行レベルの番号)
    
  • /etc/inittab ファイル これを編集することでシステム起動時の実行レベルを変更することができる。
    is:3:initdefault:
    

    デフォルトの実行レベル3

サービスの起動

/etc/init.d ディレクトリにサービスの起動スクリプトが入っている。例えば、httpdを起動したいときは、

# /etc/init.d/httpd start

などとする。 システム起動時にある実行レベルでサービスを自動的に起動したいときは、/etc/rcS.d/ ? /etc/rc3.d/ ディレクトリに /etc/init.d/ 配下のスクリプトへのシンボリックリンクを置く。 例えば、httpdを実行レベル3で自動的に起動したいときは、

# ln -s /etc/init.d/httpd /etc/rc3.d/S90httpd

などとする。ここで、S(スタート)は起動するという意味で、K(キル)を指定すると停止を意味する。90というのは90番目に起動するという意味で、00から順番に実行され99まで指定することができる。

システム停止の流れ

  1. システム停止コマンドの実行
  2. initプロセスによる実行レベルの移行開始(/etc/inittab)
  3. rcスクリプトによる各種サービスの停止(/etc/rc?.d/Kxx)
  4. カーネルによる終了処理
  5. 電源断

システム停止コマンド

  • shutdown
    • ユーザーへの通知、時間指定、同期(sync)、解除(umount)、APの後処理
    • 実行例
      # shutdown -i0 -g0 -y
      i:実行レベル、g:待ち時間、y:すべてyesと答える
      
  • init
    • 同期(sync)、解除(umount)、APの後処理
    • 実行例
      # init 0
      

上記コマンドが使えないとき

  • halt
  • poweroff
  • reboot
    • 同期(sync)、解除(umount)、プロセス終了


Solaris9 インストール


インストールの種類

  • 初期インストール 全部まっさらに消して入れる
  • アップグレード 以前のシステムの設定やデータなどを維持 ※インストール前に要検証
    • ちなみに・・・ Solaris10 3/05はSolaris7以降からup可能 Solaris10 1/06はSolaris8以降からup可能

インストールの方法

  • WebStart Solaris2.6から使用可能。ユーザインタフェースにCDEとWebブラウザを利用。初心者向け。512MBのスワップ領域が必要。
  • 対話式インストール 従来のインストール方法。細かい設定が可能。大量のスワップを必要としない。
  • カスタムJumpStart あらかじめプロファイル(インストール情報)を作成し、それを元にインストールを進めていく方法。同一システムを多数台インストールする場合に効率的。
  • フラッシュインストール 既存システムからイメージファイル(フラッシュアーカイブ)を作成し、これをインストール時に使用する。

動作環境

アーキテクチャ sun4m,sun4d,sun4u,sun4us(Sparc Solaris),i86pc(IA Solaris)
メモリ 96MB(128MB以上推奨)
スワップ WebStartの場合512MB以上
  • Sparc (Scalable Processor ARChitecture)・・・SunのRISCプロセッサ
  • IA (Intel Architecture)・・・IntelのCISCプロセッサ

Solaris9 CD-ROMの構成

Solaris 9 Installation WebStart用ブートCD-ROM
Solaris 9 software 1 of 2 インストールCD1
Solaris 9 software 2 of 2 インストールCD2
Solaris 9 Languages 各国語対応インタフェース
Solaris 9 Documentation Asian Solaris 9 Documentation European オンラインドキュメント
Solaris Software Companion フリーソフトウェア

インストールに必要な情報

  • ホスト名
  • IPアドレス
  • ネットマスク
  • デフォルトルート
  • DHCPの有無
  • ネームサービスの有無(NIS、NIS+、DNS、LDAP)

ファイルシステムの配置、見積もり

1つのディスクを複数に分割した領域をUNIXではスライスという。Windowsのパーティションと同じ。 UNIXでは基本的に複数のスライスに分割してインストールする。ファイルサイズが増えるログファイルなどは単独のスライスにすることで、OSへの影響を最小限に抑えることができる。

/(ルート) ルートディレクトリ
/var ログやスプール
/usr コマンドやライブラリ
/opt サードパーティ製のソフトウェア
/export/home ユーザーのホームディレクトリ
swap スワップ領域(仮想メモリ)

各スライス領域は、管理者であれば100%まで利用できるが、一般ユーザは安全のため90%までしか利用できない。

ソフトウェアグループ

コアシステム 必要最低限のソフトウェアグループ。Window環境はなし。
エンドユーザシステム コア+Window環境。
開発者システム エンド+開発用ライブラリ、インクルードファイル、マニュアル
全体ディストリビューション 開発者+NISやDHCPなど、リリース全体が含まれる。
全体+OEMサポート 全体+サードパーティ製ドライバなど。


Apache2.2でWebDAV

WebDAV(Distributed Authoring and Versioning protocol for the WWW)でファイル共有を行うための設定です。

Apache2.2では設定ファイルが個別になっており、httpd.confでインクルードするようになっています。

ロックディレクトリの作成。作成したらディレクトリの所有者をapacheに変更する。

# mkdir /usr/local/apache2/var
# chown apache:apache /usr/local/apache2/var

WebDAVディレクトリの作成。作成したらディレクトリの所有者をapacheに変更する。

# mkdir /home/httpd/dav
# chown apache:apache /home/httpd/dav/

httpd.confの編集。httpd-dav.confをインクルードするためコメントアウトする。

# vi /usr/local/apache2/conf/httpd.conf
# Distributed authoring and versioning (WebDAV)
Include conf/extra/httpd-dav.conf

httpd-dav.confの編集。自分の環境に合うように書き換える。

# vi /usr/local/apache2/conf/extra/httpd-dav.conf
上で作成したロックディレクトリの場所
DavLockDB "/usr/local/apache2/var/DavLock"
共有したい場所のエイリアス
Alias /dav "/home/httpd/dav"
ディレクトリの制御設定
WebDAVを有効にする
Dav On
ブラウザアクセス時に自動でファイル一覧indexを作成する
Options Indexes
認証のタイプ:ダイジェスト認証
AuthType Digest
認証ダイアログに表示する名前:なんでもよい
AuthName DAV
パスワードファイルの指定
AuthUserFile "/usr/local/apache2/conf/user.passwd"
OPTIONSメソッド以外は認証が必要
認証されたユーザは誰でもアクセス可能
require valid-user

アクセス用パスワードの作成

“test”ユーザーのパスワードを作成。realmは上で設定したAuthNameと同じにする。この場合DAV。

# /usr/local/apache2/bin/htdigest -c /usr/local/apache2/conf/user.passwd DAV test
Adding password for webshare in realm DAV.
New password:
Re-type new password:

apache2の再起動

# /etc/rc.d/init.d/apache2 restart
httpdを停止中: [ OK ]
httpdを起動中: [ OK ]

動作の確認

クライアント側でIEを起動して、ファイル→開く、でWebDAVの”ドメインorIP/dav?”を入力。そして、Web フォルダとして開くにチェックをいれOKをクリック。パスワード入力のダイアログが出るので入力し、無事に入れればOK。



ファイル転送における日本語ファイル名の文字コード(2)

Linuxの標準文字コードはEUCなため、EUCに統一できればいいが・・・。

  • FTP
クライアント文字コード 変換 サーバ保存文字コード
IE SJIS 無変換 SJIS
ffftp SJIS 無変換 SJIS
ffftp SJIS EUC指定 EUC

サーバ保存文字コードをEUCに統一するには、ProFTPDにiconv() 文字コード変換パッチを当てる必要あり。SJISやUTF-8に変換することも可能。

  • HTTP(WebDAV)
クライアント文字コード 変換 サーバ保存文字コード
IE(WinXP) SJIS UTF-8 UTF-8
IE(Win2k以前) SJIS 無変換 UTF-8(文字化け)

WebDAVはUTF-8が基本なので、途中に変換処理を入れないと文字化けしてしまう。文字化けさせずに転送するにはmod_encodingでUTF-8に変換してやる必要あり。さらにサーバ保存文字コードをEUCに統一するには、apacheに文字コード変換パッチを当てる必要がありなのだが・・・。

FTPとHTTPで同じディレクトリを共有したい場合、サーバ上でファイルを加工しない限りUTF-8で統一したほうが楽そうだ。

ポッキー

が熱で解けて1本の束になっていた。悔しかったので束のまま食ってやった。



Apache2.2 + PHP5 + eAccelerator + Pukiwiki1.4.7 on VineLinux3.2

Apache2.2が出てから半年以上経ったので新規に構築してみました。ついでにPHPとPukiwikiもバージョン上げました。

Apache2.2

ダウンロード&解凍

# wget http://www.apache.jp/dist/httpd/httpd-2.2.2.tar.gz
14:56:24 (607.73 KB/s) - `httpd-2.2.2.tar.gz' を保存しました [6282043/6282043]
# tar zxf httpd-2.2.2.tar.gz
# cd httpd-2.2.2

SSLに対応させたいのでopenssl-develを入れておく。

# apt-get install openssl-devel

インストール。オプションは適当に。

# ./configure --enable-mods-shared='auth_digest headers rewrite dav dav-fs ssl' --enable-so --with-ssl=/usr
# make
# make install

起動してみる。

# /usr/local/apache2/bin/apachectl start

ブラウザでアクセスしてみる。

It works!

前バージョンまでに比べ、限りなく寂しい画面が現れる。

ドキュメントルートディレクトリの作成。

# mkdir -p /home/httpd/html

動作ユーザーの作成。

# useradd -s /bin/false -d /dev/null apache

設定ファイルの編集

# vi /usr/local/apache2/conf/httpd.conf
動作ユーザーの設定
User apache
Group apache
サーバ名
ServerName 192.168.0.2:80
ドキュメントルート
DocumentRoot "/home/httpd/html"
htmlディレクトリの設定
Options MultiViews SymLinksIfOwnerMatch Includes
?/でアクセスしたときに表示するファイル
DirectoryIndex index.html index.shtml index.php
ログの設定
ローカルからのアクセスはhomelogに記録
SetEnvIf Remote_Addr 192.168.0. homelog nolog
SetEnvIf Remote_Addr 127.0.0.1 homelog nolog
homelogはhome_logに記録
CustomLog logs/home_log common env=homelog
nolog以外はaccsess_logに記録
CustomLog logs/access_log combined env=!nolog
エイリアス
Alias /cgi-bin/ "/home/httpd/cgi-bin/"
cgi-binディレクトリの設定
AllowOverride None
Options FollowSymLinks MultiViews ExecCGI
Order allow,deny
Allow from all
cgi許可
AddHandler cgi-script .cgi
SSI許可
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml

自動起動スクリプトを作成し/etc/init.d/に入れる。

# cp apache2 /etc/init.d/
# chmod 755 /etc/init.d/apache2

起動

# /etc/init.d/apache2 restart
httpdを停止中: [ OK ]
httpdを起動中: [ OK ]

自動起動するようにする。

# ntsysv

PHP5.1.4

ダウンロード&解凍

# wget http://jp2.php.net/get/php-5.1.4.tar.gz/from/jp.php.net/mirror
16:20:53 (2.03 MB/s) - `php-5.1.4.tar.gz' を保存しました [8109575/8109575]
# tar zxf php-5.1.4.tar.gz
# cd php-5.1.4

以下のパッケージを入れておく

# apt-get install flex \
bzip2-devel \
libjpeg-devel \
libpng-devel \
libxml2-devel \
MySQL-server \
MySQL-devel \
t1lib-devel \
zlib-devel

インストール

# ./configure \
--prefix=/usr \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-config-file-path=/etc \
--with-mysql=/usr \
--with-jpeg-dir=/usr \
--with-zlib-dir=/usr \
--with-bz2 \
--with-openssl \
--with-gd \
--with-t1lib \
--with-ttf \
--enable-exif \
--enable-mbregex \
--enable-mbstring \
--enable-zend-multibyte \
--enable-gd-jis-conv \
--enable-gd-native-ttf
# make
# make install

設定ファイルのコピー

# cp php.ini-dist /etc/php.ini

設定ファイルの編集

# vi /etc/php.ini
output_buffering = On
output_handler = mb_output_handler
magic_quotes_gpc = Off

apacheの設定ファイルに以下を追加

# vi /usr/local/apache2/conf/httpd.conf
   AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

apache再起動

# /etc/init.d/apache2 restart
httpdを停止中: [ OK ]
httpdを起動中: [ OK ]

動作確認。以下の内容のphpファイルをドキュメントルートにおいてアクセス。うまくいけば設定情報が見れるはずだ!

# vi /home/httpd/html/info.php
< ?php phpinfo() ?>

eAccelerator

PHPの処理を高速に行うアドイン(?)みたいなもの。今まではPHPAcceleratorを使っていたけど、更新されていないようで、PHP5には対応していないみたい。なので、今回はPHP5.1.xに対応しているeAccelerator-0.9.5-beta2を導入してみた。なにやらスレッドセーフにも対応していそうな雰囲気。

ダウンロード&解凍

# wget http://jaist.dl.sourceforge.net/sourceforge/eaccelerator/eaccelerator-0.9.5-beta2.tar.bz2
17:45:03 (679.89 KB/s) - `eaccelerator-0.9.5-beta2.tar.bz2' を保存しました [113387/113387]
# tar zxf eaccelerator-0.9.5-beta2.tar.bz2
# cd eaccelerator-0.9.5-beta2

インストール

# export PHP_PREFIX="/usr"
# $PHP_PREFIX/bin/phpize
Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20050922
Zend Extension Api No: 220051025
# ./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config
# make
# make install

php.iniに以下の内容を追加

# vi /etc/php.ini
[eaccelerator]
zend_extension = "/usr/lib/php/extensions/no-debug-non-zts-20050922/eaccelerator.so" ;exte
nsion="eaccelerator.so"
eaccelerator.shm_size = "16"
キャッシュディレクトリの指定
eaccelerator.cache_dir = "/tmp/eaccelerator"
eaccelerator.enable = "1"
eaccelerator.optimizer = "1"
eaccelerator.check_mtime = "1"
eaccelerator.debug = "0"
eaccelerator.filter = ""
eaccelerator.shm_max = "0"
eaccelerator.shm_ttl = "0"
eaccelerator.shm_prune_period = "0"
eaccelerator.shm_only = "0"
eaccelerator.compress = "1"
eaccelerator.compress_level = "9"
eaccelerator.keys = "shm_and_disk"
eaccelerator.sessions = "shm_and_disk"
eaccelerator.content = "shm_and_disk"
管理ツールを置く場所を指定
eaccelerator.allowed_admin_path = "/home/httpd/html/admin"

キャッシュディレクトリの作成

# mkdir /tmp/eaccelerator
# chmod 777 /tmp/eaccelerator/

管理ツールのコピー

# mkdir /home/httpd/html/admin
# cp control.php /home/httpd/html/admin

apache再起動

# /etc/init.d/apache2 restart
httpdを停止中: [ OK ]
httpdを起動中: [ OK ]

動作確認。control.phpにアクセスしてCached scriptsの一覧が表示されていればOK。また、info.phpにアクセスすればZend Engineのロゴのところに、

with eAccelerator v0.9.5-beta2, Copyright (c) 2004-2006 eAccelerator, by eAccelerator

が追加されているはず。

例によってPukiwikiのHTML convert timeを比べてみた。

  • 使用前
    HTML convert time: 0.189 sec
    
  • 使用後
    1回目
    HTML convert time: 0.239 sec.
    2回目
    HTML convert time: 0.102 sec.

1回目はキャッシュするため若干遅いが2回目以降は速くなっている。

Pukiwiki-1.4.7



スポンサーリンク