サーバとか」カテゴリーアーカイブ

Apache起動障害(Unclean shutdown of previous Apache run?)続き

前のエントリでPHPのログの作業を実施したところ、うまく動くようにはなりましたが・・・

もう一度再起動しようとしたら、また起動しなくなりました。

色々やってみたところ、php.ini をちょっと編集して再起動するとうまくいく模様。

よくわからん。。。。。。

1.3系の古いバージョンだから、なにかあるのかもです。

とりあえず、なるべく再起動しないようにしますわ。

根本的な解決方法は時間のある時にでも調べます。

でわ。

OpenLaszloをいぢりたい

掲題の通りです。

OpenLaszloとか何か?

laszlo.jpによれば、

オープンソースソフトウェア(OSS)です。誰でも無料で使うことができます。

OpenLaszloはRIAをブラウザ上で実現します。

OpenLaszloで作成したRIAアプリケーションはFlashかDHTMLとして動作します。(マルチランタイム機能)

開発者はXMLとJavaScriptからなる独自のオブジェクト指向言語LZXでコードを記述します。

簡単なFlashムービーはもちろん、DBと連携した業務アプリを作ることができます。

百聞は一見に如かず。OpenLaszloでどんなのが作れるか、英語サイトですがデモをご覧ください。

OpenLaszloはJavaサーブレットなので、開発時にはJDK、TOMCAT等が必要です。

との事。

要は、XML+JavaScriptからなる、LZXでコードを書けば、swf/DHTMLにしてくれるので、RIAできますよって事ですね。

OpenLaszlo自体はServletらしいので、Tomcatが入っていれば動く模様。

Javaで構築された既存の業務システムに、Flashの上物を被せるのにいいかもしれません。

FlashとDBとのやりとりは、Flash → Servlet → DB → Servlet → Flash の流れが一般的。

Servlet → Flash は、XMLで返すもしくは、SOAP通信かな?

結構面倒だったりします。

システム自体を入れ替えるのではなく、RIA化する事が重要かと思うので、OpenLaszloをやってみたい感じです。

年末にでも検証しようかな。

でわ。

SSL対応Apache起動時にPasswordを入力せずに起動する方法 その2

以前、一度やり方を書きました。

SSL対応Apache起動時にPasswordを入力せずに起動する方法

今回は、その2と言う事で、ちゃんとしたやり方です。

■前提

 keyファイル名:2009key.pem

# cp ./2009key.pem 2009key.pem.org.20090727

# openssl rsa -in ./2009key.pem -out 2009nokey.pem

Enter pass phrase for ./2009key.pem: [パスワード入力]

writing RSA key

以上。

念の為、元のkeyファイルをバックアップしてからやって下さいね。

あとは、httpd.conf なり、ssl.conf にて、パスワードを解除したkeyファイル指定すればOK。

簡単ですね。

ちなみに、以下方法で、パスワード無しのkeyファイルも作れます。

# openssl genrsa -out ./2009key.pem 1024

「-des3」のオプションを付けなければおk。

ちゃんとパスワードを付けて運用するのが一番良いのですが・・・

でわ。

Smartyでファイル出力エラー

PHPのテンプレートエンジンである、Smartyを使用したWebサイトにて不具合が。

エラーの内容を見てみると、

Smarty error: problem creating directory [ディレクトリパス]

が出力されていました。

Apacheのサービスは正常動作している。

Apacheのエラーは出力されていない。

ディレクトリのパーミッションも問題無し。

phpinfo見ても大丈夫。

って事で、ちょっとハマりました。

結果、原因はinode。

※WebサーバはLinux(CentOS)

Smartyが出力するキャッシュのディレクトリにえらい数のディレクトリとファイルがあり、inode を超えていたようです。

なので、とりあえずはキャッシュ削除して復旧。

調査している中で、

Smarty.class.phpの、

var $use_sub_dirs = true;

を、

var $use_sub_dirs = false;

にすれば大丈夫。

とのエントリもありましたが、既に false になっていた。。。。。

暫定対応ですが、定期的にキャッシュ削除するスクリプトでも組んで、cronで回そうかと思います。

根本的な対応はまた別途。

でわ。

EC-CUBE 2.4.1の文字化け回避

ちょっくらEC-CUBEを触る事がありまして、最新版を入れたところ文字化けしましてね。

UTF-8でうまくいかなかったので、その回避の為の設定を記載します。

※あまり詳しくは書かないです

■環境

OS   : CentOS 5

Apache : 2.2.3

PHP   : 5.1.6

MySQL  : 5.0.22

1) EC-CUBEのファイルを展開する

# unzip eccube-2.4.1.zip

2) PHPの設定

# cd eccube-2.4.1/html

# vi .htaccess

php_value default_charset UTF8

php_flag magic_quotes_gpc Off

php_flag auto_detect_line_endings On

php_value output_handler mb_output_handler

php_value mbstring.language Japanese

php_flag mbstring.encoding_translation On

php_value mbstring.internal_encoding UTF-8

php_value mbstring.detect_order auto

php_value mbstring.substitute_character none

php_value mbstring.http_input auto

php_value mbstring.http_output pass

php_value upload_max_filesize 5M

3) MySQLでDBと接続ユーザを作成

# mysql -u root

mysql> create database test_db default character set utf8;

Query OK, 1 row affected (0.00 sec)

mysql> grant all on test_db.* to test_db_user@localhost identified by ‘パスワード’;

Query OK, 0 rows affected (0.04 sec)

4) ちょっとApacheの設定

DocumentRoot:eccube-2.4.1/html

に設定

5) EC-CUBEのDBアクセスファイルを編集

# cd eccube-2.4.1/data/class/

# vi SC_DbConn.php

————————————————-

66行目付近にこれを追加

if (DB_TYPE == ‘mysql’) {

$objDbConn->query(‘SET NAMES utf8’);

}

————————————————-

6) EC-CUBEのインストール

http://example.com/install/index.php

これで大丈夫なはず・・・

でわ。

rpmコマンドエラー回避方法

検証機にMRTGを仕込もうと、net-snmp が入っているかどうか確認しようとしたところ、

# rpm -qa | grep ‘snmp’

rpmdb: Lock table is out of available locker entries

rpmdb: Unknown locker ID: a4e

エラー: db4 エラー (22) (db->close において): 無効な引数です

エラー: Packages インデックスを db3 でオープンできません – メモリを確保できません (12)

エラー: /var/lib/rpm にある Package データベースをオープンできません。

との事。

rpmの情報を管理しているDBが壊れたかな・・・?

って事で、rpmのDBを再構築。

# cd /var/lib/rpm/

# rm ./__db*

# rpm –rebuilddb

再度、rpmコマンド発行。

# rpm -qa | grep ‘snmp’

net-snmp-5.3.1-24.el5

net-snmp-utils-5.3.1-24.el5

net-snmp-libs-5.3.1-24.el5

おk。

ちょっとした事ですが、知っておくと便利かもです。

でわ。

Outbound Port25 Blocking (OP25B)について

朝から

「メールが送れねぇぞ(゚Д゚)ゴルァ!」

との連絡が。。。

調べたところ、プロバイダの Outbound Port25 Blocking (OP25B) が原因でした。

事前通達無しで、いきなりやられた。。。

って事で、メールサーバの設定を変更。

qmailの場合

vi /etc/rc.d/init.d/qmail

# SUBMISSION SMTP

tcpserver -qv -l0 -HR -u `id -u qmaild` -g `id -g qmaild` \

-x /etc/tcp.smtp.cdb 0 submission \

qmail-smtpd `hostname` /bin/checkpassword /bin/true 2>&1|\

splogger submission &

/etc/rc.d/init.d/qmail restart

追加。

postfixの場合

vi /etc/postfix/master.cf

submission inet n – n – – smtpd

/etc/rc.d/init.d/postfix restart

コメント外し。

これで完了。

ちなみに、/etc/services に、

submission 587/tcp msa # mail message submission

submission 587/udp msa # mail message submission

この記載があるかどうか、確認して下さいね。

もし、記載がない場合、submission -> 587 として下さいな。

でわ。