Jan 20, 2010

Amazon EC2再び・続き

ポスト @ 7:54:37 , 修正 @ Jan 19, 2010 22:54:37 | Amazon,ubuntu,MacOSX

 個人的備忘録の続き。

 Apache、PHP、MySQLのインストールから。

 sudo apt-get install apache2とやってインストール。http://ec2-xxxx.compute-1.amazonaws.comをブラウザで開いて、It works! と表示されればいい。

sudo apt-get install php5-cli
sudo apt-get install libapache2-mod-php5
sudo apt-get install mysql-server
 *rootのパスワード設定を求める画面が出てくるので入力
sudo apt-get install php5-mysql
 /etc/mysql/my.cnfに以下の2行を追加。 [mysqld]
default-character-set = utf8
skip-character-set-client-handshake
 /etc/php5/apache2/php.iniを少し修正。/etc/php5/cli/php.iniも。
magic_quotes_gpc Off
default_charset = "UTF-8"
mbstring.language Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = auto
mbstring.http_output = pass
mbstring.encoding_translation = Off
mbstring.detect_order = auto
mbstring.substitute_character = none;
 一通り設定したら、apacheの設定更新を
sudo /etc/init.d/apache2 reload
とやって反映させる。

 pythonは入っていたので、python-mySQLdb libapache2-mod-pythonだけ追加しておく。あと、phpmyadminもインストール。

 確認すると、MySQLにパスワードのないユーザは存在しなかったので、追加のみ。

sudo /etc/init.d/mysql restart
mysql> show variables like "char%";
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       | 
| character_set_connection | utf8                       | 
| character_set_database   | utf8                       | 
| character_set_filesystem | binary                     | 
| character_set_results    | utf8                       | 
| character_set_server     | utf8                       | 
| character_set_system     | utf8                       | 
| character_sets_dir       | /usr/share/mysql/charsets/ | 
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
となっていることを確認。

 次に、EBSにMySQLのデータベースを置くための設定。インスタンスが停止してもデータが消えないように。EBSのvolumeは前に作っておいたものを使う。まず、SSHでログインして、sfsprogsをインストール。
 次に、volumeとinstanceの対応付けを行う。

ec2-attach-volume -d /dev/sdh -i i-2exxxx vol-xxxx
次のような表示がなされる。
ATTACHMENT  vol-xxxxxx  i-2exxxxx   /dev/sdh    attaching   2010-01-19T03:18:31+0000
EC2のシステムに戻って、
sudo mkfs.xfs /dev/sdh
mkfs.xfs: /dev/sdh appears to contain an existing filesystem (xfs).
mkfs.xfs: Use the -f option to force overwrite.
という表示が出たので、
sudo mkfs.xfs -f /dev/sdh
meta-data=/dev/sdh               isize=256    agcount=4, agsize=65536 blks
         =                       sectsz=512   attr=2
data     =                       bsize=4096   blocks=262144, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=0
realtime =none                   extsz=4096   blocks=0, rtextents=0
続いて、
sudo echo "/dev/sdh /vol xfs noatime 0 0" >> /etc/fstab
-bash: /etc/fstab: Permission denied
としたら、拒否されたので、/etc/fstabを開いて書き込んだ。
echo "/dev/sdh /vol xfs noatime 0 0" | sudo tee -a /etc/fstab
とすればよかったのか。
sudo mkdir /vol
sudo mount /vol
次にMySQLをいったん止め、MySQLデータの保存場所の設定を変更する。
sudo /etc/init.d/mysql stop
sudo mkdir /vol/etc /vol/lib /vol/log
sudo mv /etc/mysql     /vol/etc/
sudo mv /var/lib/mysql /vol/lib/
sudo mv /var/log/mysql /vol/log/
sudo mkdir /etc/mysql
sudo mkdir /var/lib/mysql
sudo mkdir /var/log/mysql
echo "/vol/etc/mysql /etc/mysql     none bind" | sudo tee -a /etc/fstab
    /vol/etc/mysql /etc/mysql     none bind
sudo mount /etc/mysql
echo "/vol/lib/mysql /var/lib/mysql none bind" | sudo tee -a /etc/fstab
    /vol/lib/mysql /var/lib/mysql none bind
sudo mount /var/lib/mysql
echo "/vol/log/mysql /var/log/mysql none bind" | sudo tee -a /etc/fstab
    /vol/log/mysql /var/log/mysql none bind
sudo mount /var/log/mysql
MySQLを再起動
sudo /etc/init.d/mysql start
これでいいのだろうか。よく判らない。

 次にユーザの追加。いつもはこれはGUIでやっていたので、コマンド操作は久しぶり。Jonas Lieさんのjonasというユーザを追加するときの例。

sudo adduser jonas
Adding user `jonas' ...
Adding new group `jonas' (1002) ...
Adding new user `jonas' (1002) with group `jonas' ...
Creating home directory `/home/jonas' ...
Copying files from `/etc/skel' ...
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully
Changing the user information for jonas
Enter the new value, or press ENTER for the default
    Full Name []: Jonas Lie
    Room Number []: 
    Work Phone []: 
    Home Phone []: 
    Other []: 
Is the information correct? [Y/n] Y
これで/homeディレクトリ下にはubuntuとjonasという二つのホームディレクトリが存在している状態になる。

Trackback

No Trackbacks

Track from Your Website

http://nakano.no-ip.org/attic/trackback/tb.php?id=563
(言及リンクのないトラックバックは無視されます)