phpMyAdmin でテーブル一覧がページングされるのを解除する

最近のバージョンの PHPMyAdmin は左側のフレームに表示されるテーブル一覧がページングされるようになった。

テーブルを選択する際にいちいちページを切り替えて探さないといけないので、自分にとっては何のメリットも無いどころか、かなり使いにくくなってしまった。

しばらくそのままで使っていたが、我慢の限界で、ページングしないようにできないものか設定をいじってみたら、ページングを解除できた。

vi config.inc.php で以下を追加する

$cfg[‘MaxNavigationItems’] = 100;
$cfg[‘MaxTableList’] = 100;

ログアウトしてログインしなおせば、ページングされずに1画面で表示されるようになった。

テーブルが100個以上ある場合は数字をもっと大きくすれば大丈夫だと思います。

 

Apache で Forbidden .htaccessにアクセスできない?

CentOS 5 ではTLS1.2の構築が難しいというので、CentOS 7 の環境でWebサーバを構築しなおしました。

ブラウザでアクセスしてみたら早速

Forbidden
You don’t have permission to access /xxxx on this server.

というエラーが表示される。

/var/log/httpd のエラーログを確認してみると

(13)Permission denied: [client xxx.xxx.xxx.xxx:xxxxx] AH00529: /xxx/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable and that ‘/xxx/’ is executable

とのこと。

.htaccess のアクセス権限をチェックするも、読み取り権限有り
/xxx の権限をチェックするも、読み取り権限(実行権限も)有り

 

うーむ。。
試行錯誤の結果、SELINUXが悪さをしているのを発見しました。
setenforce 0
コマンドでSELINUXを一時的にOFFにするとアクセスできました。

vi /etc/selinux/config で
SELINUX=disabled
に編集すると次回のマシン再起動時もOFFのままです。
(このファイルを編集しないと次回起動時にSELINUXが有効になってしまい、同じ現象が発生する)

ほんとはOFFにしなくてSELINUXの設定でなんとかできるんだろうけど。。。

 

EC2 のインスタンスタイプを変更しようとしたらエラー

AWS EC2 のインスタンスで、Create Image で AMI を作成し、別のインスタンスタイプでインスタンスを起動したところ、Unreachable で接続できない状態となってしまった。

再度同じAMIで起動しても現象は変わらず。

AMIを作り直しても現象は変わらず。

システムログを見てみたところ、

cloud-init[2555]: url_helper.py[WARNING]: Calling ‘http://169.254.169.254/2009-04-04/meta-data/instance-id’ failed [13/120s]: request error [HTTPConnectionPool(host=’169.254.169.254′, port=80): Max retries exceeded with url: /2009-04-04/meta-data/instance-id (Caused by <class ‘socket.error’>: [Errno 101] Network is unreachable)]

なエラーが出て止まっている模様。

AWSのサーバにインスタンスIDを問い合わせようとしているのだが、ネットワークがつながっていないのでできない。といったところか。

さらにログを見ていったところ

udev: renamed network interface eth0 to eth1

という一行を発見。

ネットワークデバイスの名前を eth0 から eth1 に変えといたよ!

いやいや変えちゃだめでしょ。eth0 で設定しているんだから。

つまり、ネットワークデバイスは eth1 という名前になったのだが、設定はeth0 で探しに行っているので、ネットワークデバイスが見つからず、ネットワークがつながらず、インスタンスIDが取得できず、インスタンスが正しく起動しない。

ということのようだ。

調べたら

/etc/udev/rules.d/70-persistent-net.rules

というファイルに

SUBSYSTEM==”net”, ACTION==”add”, DRIVERS==”?*”, ATTR{address}==”01:23:45:68:89:ab”, KERNEL==”eth*”, NAME=”eth0″

というような設定があり、ここのMACアドレスがハードのものと違うとリネームされてしまうようでした。

この行の先頭に # をつけてコメントアウトし、Create Image で AMI を再作成した後、再度インスタンスを起動したら問題なく起動できました。

 

 

IEが突然起動しなくなった

Windows 7 上の Internet explorer が突然起動しなくなりました。

起動直後に Internet explorer は動作を停止しました。となり、何もさせてくれません。。

詳細を見てみると以下のようなことになっています。

問題の署名:
問題イベント名:    BEX64
アプリケーション名:    IEXPLORE.EXE
アプリケーションのバージョン:    10.0.9200.16843
アプリケーションのタイムスタンプ:    53096f36
障害モジュールの名前:    StackHash_534e
障害モジュールのバージョン:    0.0.0.0
障害モジュールのタイムスタンプ:    00000000
例外オフセット:    00000001000200a0
例外コード:    c0000005
例外データ:    0000000000000008
OS バージョン:    6.1.7601.2.1.0.256.1

どうやらセキュリティソフトのAVGが悪さをしているようで、一時的にAVGをOFFにするとIEを起動できるようです。

AVGが対策してくれるのを待つか、それともAVGをやめて他に乗り換えるか。

しばらく様子を見てみるか。。。

 

S3 にインスタンスイメージをアップしようとしたらerror:0D0C50A1

EC2インスタンスのデータを作成してS3にアップしようとしたら以下のエラーが出てしまいました。

ERROR: Error talking to S3: Curl.Error(35): error:0D0C50A1:asn1 encoding routines:ASN1_item_verify:unknown message digest algorithm.

一年前は大丈夫だったんですが、何かが変わってしまったみたいです。

調べてみたら、openssl が古かったようで

yum update openssl

でアップデートをかけたら無事に動くようになりました。

 

Windows Update が終わらない

たまにしか使っていない Windows 7 のノートPC

使う前にいつも Windows Update をかけてから使うようにしているが、いつのころからか Windows Update ができなくなった。

正確には、更新プログラムの確認、を実行するがそれがまったく終わらないので、先に進めないのである。

10時間ぐらい放っておいても終わらない。

いろいろやってみたが改善されないので Windows 7 をインストールしなおすことにした。

Windows 7 をクリーンインストールしてから、更新プログラムの確認、を実行してみると。

。。。(・_・;)

終わらない!

えー、OS初期状態でも終わらないって。。

とか思いながら解決策を探し続けた結果、以下のUpdater をインストールすれば解決できることがわかりました。

https://support.microsoft.com/ja-jp/kb/3138612

OSまで入れなおしたのに(T_T)。もっと早く気づけば良かった。

 

nslookup で DNS request timed out がでたら。

windows でドメイン名からIP アドレスを引けるコマンド nslookup ですが、timeout のデフォルトが2秒なので、たまにタイムアウトばかりでアドレスが引けないときがあります。
そんなときは -timeout オプションをつけましょう。
nslookup -timeout=20 sukimash.com
というように秒数指定でタイムアウトを設定できます。
20秒待っても引けないようなら他に原因があるのかも。。。

Cloud Front の invalidation が有料だなんて知らんかった

AWS からお知らせが来て、Cloud Front の Invalidation にワイルドカード指定ができるようになったらしい。

Invalidation とは、各サーバにキャッシュされたファイルを削除して、新しいファイルが配信されるようにすることです。

Invalidation しないとキャッシュサーバに古いファイルが24時間ぐらい残っているので、元ファイルを更新してもエンドユーザには古いファイルが配信されます。

今までは、ファイル一つ一つを指定して Invalidate していたものが、今回ワイルドカード指定で、例えばあるディレクトリの下のファイル全部、というような指定のしかたができるようになったとのこと。

で、このお知らせに書いてあったのが、Invalidation には費用がかかるということ、最初の1000回は無料だが、それ以降は 1 invalidation 毎に $0.005 かかるそうな。

そんなの知らんかったなぁ。。。

まぁ、私の場合は機械的に Invalidate したりしていないので特に影響は無いのですが、大量に Invalidation する際は注意しましょう。

ワイルドカードを使った場合、該当するファイルがいくつになっても 1 Path 1 Invalidation とカウントするようですので、ワイルドカードを効率的に使えば安くすませられるかもしれません。

 

Perl Couldn’t untar xxx.tar

perl のモジュールで LWP::UserAgent が使いたかったので CPAN で

install LWP::UserAgent

としたら

Couldn’t untar libwww-perl-6.13.tar

というエラーが発生しました。

tar ファイルが展開できないということのようだが、ちゃんと tar コマンドはインストールされているし、動いている。

もしかして、Perl で tar が展開できないといけない?と思い CPAN でまず

install Archive::Tar

してからやってみた。

結果、

install LWP::UserAgent

もちゃんと動くようになりました。

 

sort コマンドで、入力レコードが最大長を超えました。より大きい最大長を指定してください。エラー

Windows のコマンドプロンプトで sort コマンドを使ったら

入力レコードが最大長を超えました。より大きい最大長を指定してください。

というエラーになった。

type somefile.txt | sort > somesorted.txt

こんな感じで使った。

どうやら、somefile.txt 中に長い行があるので処理できないらしい

調べたら sort コマンドに /REC オプションをつけると良いらしいことが判明

type somefile.txt | sort /REC 65535 > somesorted.txt

とやったら無事ソートできました。

しかし1行が65535文字を超えるとできないんだろうな。。。

 

IT系開発について