変奏現実

パソコンやMMORPGのことなどを思いつくまま・・・記載されている会社名・製品名・システム名などは、各社の商標、または登録商標です。

この画面は、簡易表示です

Linux

MRTG

元ネタはここ。
MRTGをインストして、
# cfgmaker –ifref=descr –ifdesc=descr public@192.168.***.***  > /etc/mrtg/mrtg.cfg
で、設定が大体でき、
# indexmaker –columns=1 \
> –addhead=”<META HTTP-EQUIV=\”Content-Type\” CONTENT=\”text/html; charset=euc-jp\”>” \
> /etc/mrtg/mrtg.cfg > /var/www/mrtg/index.html
で、index.htmlを作る。
 
 



snmpd

snmpdをインストして起動したら、
/var/log/messagesに

/etc/snmp/snmpd.conf: line 60: Error: invalid MASK

net-snmp: 1 error(s) in config file(s)

NET-SNMP version 5.5

その60行目は

view     all           included   .1 80               # ← 追加

だったので

view     all           included   .1 80

に変えたら

NET-SNMP version 5.5

だけになった。
怪しいので追加行のコメントを全部削除。
 



BASIC認証

MOE人 i-googleガシェットの画像追加する画面に普通に入れてたので、
BASIC認証を追加してみたが、うまくいかない。
<Directory “/****/****/**************/secret/”>
AuthUserFile       /etc/httpd/conf.d/.htpasswd
AuthGroupFile      /dev/null
AuthName           “登録したアカウント”
AuthType           Basic
Require            <ユーザ名>
</Directory>
ではうまくいかず、
Require            user <ユーザ名>
にしないといけなかった。



WordPress移行

1.ブログ用のmysqlアカウントを作成する。
2.phpmysqlからデータベースごとのバックアップが取れるが、そのまま復元すると途中で終わってしまいテーブルがいくつかできていなかった。データが少ない場合には支障が無かったのでタイムアウトの処理がうまくいっていないのだろう。

※この物量に対する異様なまでのモロさはWEBツールの永遠の泣き所となるだろう。

3.仕方なく1テーブルづつバックアップを取り、復元。
4./var/www/の下のブログファイルをtar圧縮し、復元。
5./etc/httpd/conf.dの下のVirtualHostの設定をコピー。一部修正。
でブログを開くとデータベース接続エラー
6.ブログ用のmysqlアカウントの設定を見直すと作成時の設定では一部権限が未設定だった。
でブログを開くとデータベース接続エラー
7.ブログ用のmysqlアカウントのパスワードを再度設定しなおす。
でブログを開くとOKだった。
そう、もうCentOS6.2に移行済みです。



phpmyadmin

CentOS6.2の方のphpmyadminが使える様になったら、
CentOS6.0の方のphpmyadminが使える様になくなった。
ログには何も出ないのでphpの問題ではなくブラウザー上の問題らしい。
phpのセッションファイルを消してもダメだったので、
phpmyadminを入れなおしてみたら
使える様になった。
 



apache 移行中

apacheのVirtualHostの設定をコピって起動したら、
# service httpd start
httpd を起動中: [Fri Jan 20 18:25:47 2012] [warn] _default_ VirtualHost overlap on port 80, the first has precedence
[Fri Jan 20 18:25:47 2012] [warn] _default_ VirtualHost overlap on port 80, the first has precedence
設定を見てみると
<VirtualHost *:80>
#...

</VirtualHost>
<VirtualHost *:80>
# ...
</VirtualHost>


NameVirtualHost 1.2.3.4
<VirtualHost 1.2.3.4>
# ...
</VirtualHost>

NameVirtualHost 1.2.3.5
<VirtualHost 1.2.3.5>
# ...
</VirtualHost>

のように変更すると警告はでなくなった。
CentOSの6.0も6.2
httpd.i686                      2.2.15-15.el6.centos
なので何か忘れてるらしい。



一枚のNICに複数のIPアドレスを割り当てる

既にIPアドレスを割り当てているeth0にもう一個IPアドレスを割り当てるには、
# ifconfig  eth0:1  192.168.***.***
でOK。
ここで、追加したIPアドレスでリモートコンソールの接続できることを確認しておくこと。

※後述のifupコマンド実行直後になぜかリモートコンソールの接続が切れてしまう

しかしこれだけでは
# service network restart
で追加した設定が消えてしまう。
/etc/sysconfig/network-scripts の ifcfg-eth0 をコピーして ifcfg-eth0:1を作り、
DEVICE=”eth0″ ⇒ DEVICE=”eth0:1
IPADDR=”192.168.1.xxx”      xxxは他のIPと重ならない番号に変更
ファイルができたら、
# ifup eth0:1
で追加した方が使える様になる。
だが、元のifcfg-eth0の設定が無効になってしまい、
リモートコンソールも応答がなくなるので、

※コレってバグじゃねぇの?http接続のapacheはそのまま接続できるのに?

eth0:1のIPアドレスでリモートで入ってreboot。
reboot後は両方のIPアドレスが使える様になる。
 
 
 



PHP修正

アップロードサイズは初期は2Mなので20Mに拡張

php.ini

upload_max_filesize = 2M

↓修正

upload_max_filesize = 20M

但し、このままではphpmyadminでアップロードできるのは8Mバイトまで。
別途にpost_max_sizeでOSTデータに許可される最大サイズを設定があるせいだ。
デフォルトは8Mバイト。

post_max_size=32M

とか設定して、

# service httpd reload

する。



mysqlのrootのパスワードを忘れた時

CentOS6.2へ移行しようと思ったら、mysqlのrootのパスワードを忘れていた。
rootのパスワードをかけ直してみた。
参考URL
※mysql-server.i686   5.1.52-1.el6_0.1 の場合。
(1)外部から見えなくする。
(2)mysqlデーモン停止。

# service mysqld stop

(3)GRANT無効モードでmysqldを起動。

# su mysql -c ‘/usr/libexec/mysqld –skip-grant-tables’

/etc/my.cnf に、
[mysqld]
skip-grant-tables

を追加して、普通に再起動してもいいらしい。

(4)ルートのパスワードを変える。

# mysqladmin –user=root password **********

mysqladmin:
You cannot use ‘password’ command as mysqld runs
 with grant tables disabled (was started with –skip-grant-tables).
Use: “mysqladmin flush-privileges password ‘*'” instead

で、ダメだった。
この状態でLANからphppgadminからパスワードを変更しようとしたら失敗したので、同じ方法かもしれない。
普通にデータベースに接続し、

# mysql mysql

ユーザーの設定内容を確認し、

mysql> select user,host from user;
+————-+———–+
| user        | host      |
+————-+———–+
| root        | localhost |

| 他のユーザー|
+————-+———–+

パスワードを消したいユーザーのpasswordだけnullにする。

mysql> update user set Password=null where Host=’localhost’ and User=’root’;
Query OK, 0 rows affected, 1 warning (0.00 sec)
Rows matched: 1  Changed: 0  Warnings: 1

結果を確認。

mysql> select user,host,password from user;
+————-+———–+——————————————-+
| user        | host      | password                                  |
+————-+———–+——————————————-+
| root        | localhost |  空っぽになっていればOK   |
| 他のユーザー|
+————-+———–+——————————————-+

mysql> exit
Bye

これで、

# mysqladmin –user=root password **********

できるかと思ったけど、–skip-grant-tablesで起動中は password 機能は使えないらしい。
参考どおりにはいかないらしいので、普通に再設定する。

# mysql -u root

mysql> SET PASSWORD FOR root@localhost=PASSWORD(‘**********’);
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye

GRANT無効モードのsqldを停止。

# ps aux | grep mysqld
root      2432  0.0  0.3   8048  1640 pts/0    S+   11:44   0:00 su mysql -c /usr/libexec/mysqld –skip-grant-tables
mysql     **** 0.0  3.1 135468 16252 ?        Ssl  11:44   0:00 /usr/libexec/mysqld –skip-grant-tables
root      ****  0.0  0.1   5392   832 pts/1    S+   11:48   0:00 grep mysqld
# kill -TERM 2432

通常モードで再起動。

# service mysqld start

 なお posgreSqlの場合は

まず、情報漏れを防ぐため、ネットワークのLANケーブルを抜いてください。
pg_hba.confのエントリを編集し直します。

# TYPE DATABASE USER IP-ADDRESS/CIDR-mask METHOD
host all all 127.0.0.1/32 password

この、passwordと書いているエントリの部分をtrustへ変更します
そしてpostgreSQLを再起動し、postgresユーザーで全部いじれるようになります。
使えるようになったらtrustとした部分をpasswordにもどし、ネットワークへつないでください。

らしいが真偽のほどは不明。




top