PHPを 5.1.x から 5.3.x にアップデートすると、phpMyAdmin にアクセスできなくなった

phpMyAdmin のエラー表示には、

エラーが出たためセッションを開始できませんでした。PHP やウェブサーバのログファイルに出ているエラーを確認して、PHP を正しく設定してください。

と。以降、phpMyAdmin のログイン画面が表示されてもログインできず。

セッションファイルの保存場所 /var/lib/php/session のパーミッションが 770 (drwxrwx---) になっているので、セッションファイルが書き込めない状態になっているようだ。

sudo chmod 777 /usr/lib/php/session

で、パーミッションを 777 (drwxrwxrwx) に変更するとログインできた。

PHP をアップデートするときは、確認しておきたい。

関連する記事をピックアップ

Google Appsを使って独自ドメインのメールアドレスで Gmail

メールサーバを立ち上げて独自ドメインでメールを受け取るといつのまにかスパムメールが届く。基本はスパムフィルタを導入したりサーバの設定を調整することで対応するが、なかなか根絶は難しい。日々のメール処理でスパムメールに悩まれている方も多いと思う。今回優れたスパムフィルタがあるGmailでメールを受け取ってみることに。

独自ドメインとムームードメインでDNSがカスタマイズできるムームーDNSを使ってやってみます。

まずGoogle Appsで申し込み。

Google Appsは、ユーザーアカウント50個まで無料で使える。それ以上は Google Apps for Business で。いろいろな機能を追加で使えたり、Gmailの容量も25GBに。月額6,000円。

すでにドメインを持っている場合は、ドメイン名を入力して申し込もう。あとはフォームに従って入力していく。

次はドメインの所有確認。HTMLファイルをアップロードするか、CNAME レコードの変更の2つの方法。今回はHTMLファイルのアップロードで対応。

googlehostedservice.html にテキストを入力して作成保存。サーバにアップロード。
「確認」ボタンを押す。

上手くいくと設定ガイドに。

まずは、「組織とユーザー」でいままで運営していたメールアカウントを移行する。
「新しいユーザーを作成」ボタンを押してメールアカウントを作っていく。

作成後、ダッシュボードへ。「Gmailを有効にする」をクリック。

ここからムームードメインの管理画面でDNSをカスタマイズします。ムームーDNSのカスタム設定でMX レコードごとにGoogle Appsの管理画面にある表に従って情報を入力していきます。「セットアップ情報変更」ボタンを押して反映。DNSの反映に時間がかかるので一休み。

そして、Google Appsの管理画面に戻って「指定された手順を完了しました」ボタンを押して完了。

MXレコードの確認。最大48時間程度かかるようだ。

無事反映されると、Gmailから独自ドメインのメールアドレスとパスワードでログイン。

これで独自ドメインを使ってメールを送ったり受け取ったりできる。日々のメール処理でスパムメールに悩まれている方はどうぞ。

専用サーバ運営では必須の不正アクセス対策 SSHのポート番号変更

サーバを運営していると、SSH経由でユーザ名とパスワートの総当たりで不正な接続を試みる攻撃 (ブルートフォースアタック) を受けることが多い。ログ監視ツール Logwatch から毎日送られてくるレポートでも多数確認できる。root には数千件の数で試みられているのが見受けられることも。

対策は、ssh のポート番号を変更すること。デフォルトのポート番号 22 での接続を避ける。

デフォルトのポート番号 22 から別の番号に変更することで断続的な不正アクセスを無くして、サーバの負荷軽減にもなる。

ということで、sshのポート番号を変更。

設定ファイルを編集。

$ vi /etc/ssh/sshd_config

デフォルトではコメントアウトでポート番号 22 が使われているので、任意のポート番号 **** に変更。ポート番号は、使用されていない 0~1023 (ウェルノウンポート) 以外のポート番号に変更しましょう。

#Port 22
Port ****

SSHを再起動。

$ /etc/init.d/sshd restart

iptablesの設定

iptables でファイアウォールの設定をしている場合、変更したポートを通す必要があります。設定せずに ssh の接続を切ってしまうと、ssh に接続できなくなるので要注意。

$ vi /etc/sysconfig/iptables
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT

から

-A INPUT -p tcp -m tcp --dport 任意のポート番号 -j ACCEPT

に変更。

iptablesを再起動して、設定を再読み込み。

$ /etc/rc.d/init.d/iptables restart
iptables: Setting chains to policy ACCEPT: filter [  OK  ]
iptables: Flushing firewall rules: [  OK  ]
iptables: Unloading modules: [  OK  ]
iptables: Applying firewall rules: [  OK  ]

接続確認

接続確認は、念のため元のターミナルでの接続を保ちつつ、新規ウインドウでターミナルを立ち上げて接続を確認することをおすすめします。

まずはポート番号 22 で接続。

$ ssh ユーザID@ホスト名
$ ssh: connect to host **.**.**.** port 22: Connection refused

ポート番号 22 では接続が拒否される。

変更したポート番号で接続。

$ ssh -p ポート番号 ユーザID@ホスト名

接続できれば完了。

analogのログフォーマット (turn debugging on or try different LOGFORMAT)

Cron からアラートメールが返ってくる。

/etc/cron.daily/logrotate:
/usr/bin/analog: analog version 5.32/Unix
/usr/bin/analog: Warning L: Large number of corrupt lines in logfile stdin:
turn debugging on or try different LOGFORMAT
(For help on all errors and warnings, see docs/errors.html)
Current logfile format:
%v %S %j %u [%d/%M/%Y:%h:%n:%j] "%j%w%r%wHTTP%j" %c %b "%f" "%B"\n
%S %j %u [%d/%M/%Y:%h:%n:%j] "%j%w%r%wHTTP%j" %c %b "%f" "%B"\n
%S %j %u [%d/%M/%Y:%h:%n:%j] "%j%w%r" %c %b "%f" "%B"\n
%S %j %u [%d/%M/%Y:%h:%n:%j] "%r" %c %b "%f" "%B"\n

analog のログフォーマットが違うみたいだ。Apache のログ形式は combined なので、analogの LOGFORMAT ( /etc/analog.cfg ) を確認。なかったので末尾に以下を追記。

LOGFORMAT COMBINED

Apache のログ形式を変更したときには見直すことを忘れずに。

[提供終了]画像をBase64に変換するツール (data URI scheme)

Google のウェブ検索結果でウェブページのスクリーンショットに使われている data URI scheme。

data:[<mediatype>][;base64],<data> 形式のデータ (data URI scheme) を生成してウェブページに埋め込むことで HTTP リクエストを減らせるメリットがある。ただ、バイナリデータより3割ほどデータサイズが増える。

ファイルサイズが小さいアイコンを直接埋め込んだり、ブラウザが PC より対応しているスマートフォンでも使われ出している。ということで、画像のバイナリデータを Base64 にエンコードするツールをつくった。出力形式も HTML の img、CSS、JavaScript、生データに対応。

続きを読む "[提供終了]画像をBase64に変換するツール (data URI scheme)"

最近の投稿

カテゴリー

アーカイブ