sshが使えないサーバーがあるらしい
自分初心者なんでサーバーのことわかんないですけど、なんかsshが使えないサーバーが存在するみたいです。へぇって感じだ。
しかもphpMyAdminとかも入ってないサーバーがあるらしいです。
もちろんmysqlコマンド使えないし・・・DB操作するのにどうすりゃいいんだ
サポートサイトみてみた
サポートサイト見てみたら、データベース用のメンテナンスツールを自分で入れるかプログラム書けみたいなことしか書いてなかった。
じゃあまあphpMyAdminを入れるかと思いサーバーに入れてみました。
phpMyAdminにログインできません
結論、入れたphpMyAdminにログインできなかった。
ポート番号がMySQLのデフォルトじゃなかったんで設定ファイルとかいじってみましたがダメだった。
(ログイン認証はされているみたいですが、セッション関係がなんかぁゃιぃそうでしたが結局わからず※)
※最後に原因ぽいのが判明します。
代替案、というか救世主?「Adminer」
エロい人に助けを求めたらphpMyAdminの上位互換(?)ツール、Adminerというのがあるらしい。
なんと「adminer-*.*.*.php」という名の1ファイルだけで動くらしい。すごい
しかも日本語にも対応してるみたい。すごい
こいつをサーバーに入れて、それぞれ入力
(この時、ポート番号がデフォルトでない場合はサーバー入力部分にサーバー名:ポート番号を入れる)
し、ログインしてみた。
しかし「セッションの期限切れ。ログインし直してください」というエラーが
ログインできへんやん
やっぱりセッション関係が問題あるらしい。
session.save_pathを変更する
もう一回サポートサイトみてみた。
どうやらロードバランサーの下にWEBサーバーが複数あるらしく、サーバーのローカルにセッション関連のファイルを保存させないようにしているらしい。はよいえや
サーバーの.htaccess
に以下の記述を追記してセッションを保存させるようにした。
php_value session.save_path /****/****/ドキュメントルート/セッション用ディレクトリ名/
設定後、再度Adminerにログインしてみたら無事にログインできました。
おわり
- ssh使えないサーバーあるなんてしらなかった。勉強になった。
- 結局Adminer使ったけど最後の
session.save_path
を変更で恐らくphpMyAdminも使えると思います - でも1ファイルでいろいろできるAdminerすごい
- あんまり防御策にならんと思うが、Adminerのファイル名は適当に変えておくべき・・・
- というか、使用後は削除して必要に応じて都度Adminerをおくべきかなぁと