変奏現実

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

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

CentOS

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にもどし、ネットワークへつないでください。

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



dovecot

元ネタはココ。

/etc/postfix/main.cf

以下を追記

myhostname=ssiscirine.perma.jp

mydomain=ssiscirine.perma.jp

myorigin = $mydomain

inet_interfaces = all

mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

home_mailbox = Maildir/

smtpd_banner = $myhostname ESMTP unknown

 

smtpd_sasl_auth_enable = yes

smtpd_sasl_local_domain = $myhostname

smtpd_recipient_restrictions =

permit_mynetworks

permit_sasl_authenticated

reject_unauth_destination

message_size_limit = 10485760


認証サービス起動

# /etc/rc.d/init.d/saslauthd start

# chkconfig saslauthd on

# mkdir -p /etc/skel/Maildir/{new,cur,tmp}

# chmod -R 700 /etc/skel/Maildir/

(1)dovecotをインスト

# yum -y install dovecot

(2)設定を修正

/etc/dovecot/conf.d/10-mail.conf

以下を追記

mail_location = maildir:~/Maildir

disable_plaintext_auth = no                          ← SSL接続なしを許可

(3)サービス起動

# service dovecot start

(4)自動起動設定

# chkconfig dovecot on

(5)メールアカウント作成

# adduser ユーザー名

# saslpasswd2 -f /var/lib/qpidd/qpidd.sasldb -u ssiscirine.perma.jp ユーザー名

# service saslauthd restart

状況

メール受信はOK。

しかしメール送信は認証ではじかれたが、暫くたったら通るようになった。



vmtoolbox

まだvmwareツールを入れてなかった。
これを入れておかないとVMDKファイルを圧縮できなくなる。
(1)X-WINDOWをインスト

# yum -y groupinstall “X Window System”

# yum -y groupinstall “Desktop”

# yum -y groupinstall “General Purpose Desktop”

このまま startx するとマウスもキーボードも使えなかったから
(2)日本語化パッチも入れる。

# yum -y groupinstall “Japanese Support”

もしTeraTermやWinSCPなどで接続しているならこの時点で全てオフラインにする。
ここから先はVMwareの画面で行う。
(3)vmtoolをインストールする
VMPlayer画面下の【ツールのインスト-ル】ボタンを押す。
(4)CD-ROMをマウント

# mkdir /mnt/cdrom

# mount /dev/cdrom /mnt/cdrom

mount: ブロックデバイス /dev/sr0 は書き込み禁止です、読込み専用でマウントします

(5)解凍しインスト。

# tar xvf /mnt/cdrom/VMwareTools-8.8.1-528969.tar.gz

# cd vmware-tools-distrib/

# ./vmware-install.pl

しばらく【Enter】応答を繰り返す

(6)X-Window起動

# startx

(7)キーボードを日本語に設定

画面上のSystem⇒Preferences⇒Keyboardで、Keyboard Preferencesを開き

Layoutsを選択し、画面下の【Add…】ボタンを押し、リストからJapanを選択して【OK】ボタンを押す。

リストのJapaneseにデフォルトを切り替える。

(8)VMware Toolを起動しディスク圧縮を行う。

画面上のApplication⇒System Tools ⇒ Terminalでコマンドラインを開き

# su –

# vmware-toolbox &

VMware Tools Properties 以外のウインドウを全て閉じる。

VMware Tools Properties画面のShrinkを選択し、リストの/をクリックして画面左下の【Shirink】ボタンを押す。

確認メッセージで【Yes】ボタンを押す。

Please Wait… のプログレスバーが進むのを待つ。

Shirink Diskメッセージで【Yes】ボタンを押す。

<暫く処理待ち>

Informationメッセージで【Yes】ボタンを押す。

画面上のApplication⇒System Tools ⇒ ShutDown…で【ShutDown】ボタンを押し停止させる。

2.84GバイトあったVMDKファイルが2.7Gバイトと若干小さくなっていた。

 
 



phpmyadmin

phpmyadminをインストする。

# yum -y install phpmyadmin

/etc/htpd/conf.dにphpMyAdmin.confが出来ているので
ブラウザから繋いでみる。

http://192.168.***.***/phpMyAdmin

しかし403エラーなので、設定をちょっと修正してLANの中ならOKにする。

/etc/htpd/conf.d/phpMyAdmin.conf

<Directory /usr/share/phpMyAdmin/>

の中に1行追加
Allow from 192.168

ブラウザから繋いでみる。

http://192.168.***.***/phpMyAdmin

パスワード応答は root と先に設定したパスワードでもいい。

※後で調整。

デザインが替わった様だ。

このままでも動くが

一応、

/usr/share/phpMyAdmin/の

config.sample.inc.phpをコピーしてconfig.inc.phpを作り、0666にモードを変えておく。

$cfg[‘blowfish_secret’] = ”; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

にパスワードを入れるため

パスワード作成ツールをインストし、

# yum -y install expect
# mkpasswd -l 46

で作ったパスワードを貼り付けてapache再起動。



mysql

mysqlをインストする。
元ネタはココ。
(1)パッケージをインスト。

# yum -y install mysql-server

(2)WinSCPで /etc/my.cnf を修正

[mysqld]

default-character-set = utf8

[mysql]

default-character-set = utf8

(3)起動

# /etc/rc.d/init.d/mysqld start

(4)自動起動設定。

# chkconfig mysqld on

# chkconfig –list mysqld

mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off

(5)セキュリティを強化。

# mysql_secure_installation

Enter current password for root (enter for none):  【Enter】

OK, successfully used password, moving on…

Setting the root password ensures that nobody can log into the MySQL

root user without the proper authorisation.

Set root password? [Y/n]  【Enter】

New password:  mysqlでのrootパスワード

Re-enter new password:  mysqlでのrootパスワード

Password updated successfully!

Reloading privilege tables..

… Success!

・・・

Remove anonymous users? [Y/n]  【Enter】

・・・

Disallow root login remotely? [Y/n]  【Enter】

・・・

Remove test database and access to it? [Y/n]  【Enter】

・・・

Reload privilege tables now? [Y/n]  【Enter】

… Success!

Cleaning up…

All done! If you’ve completed all of the above steps, your MySQL

installation should now be secure.

Thanks for using MySQL!



apache

apacheのインスト
元ネタはここ。
# yum -y install httpd
# yum -y install php php-mbstring
# /etc/rc.d/init.d/httpd start
# chkconfig httpd on
# chkconfig –list httpd
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
あとで以下のフォルダを元サーバーからコピー。
/etc/httpd/conf/*
/etc/httpd/conf.d/*
/etc/php.ini
/var/www/*
 




top