2010-01-20 07:54:37
個人的備忘録の続き。
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+0000EC2のシステムに戻って、
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/mysqlMySQLを再起動
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という二つのホームディレクトリが存在している状態になる。