環境構築

さくらのVPSを再契約した

2012-05-06 環境構築

これまで利用していたさくらのVPSの512MBプランが4月からなくなり、
同じ値段で1Gが使えるようになった。
ただ、自動マイグレーション的なものはないので、他作業で移行になるのだが、
5月20日までに申しこめば、新プランが1ヶ月無料で使えるらしく、申し込んでみた。

しかし、1ヶ月無料になる期間が新プランの初期2ヶ月のあとの1ヶ月無料。
万が一請求されていたとしても気づかなさそうなタイミング。
初回請求の2ヶ月分の料金が1ヶ月分になるとかなら、安心して申し込めたような気もする。

オンラインサインアップでログインして新しくVPSを申し込む
申し込み後、これまで利用していた、さくらのVPSの解約申請
すぐさま、新しいVPSの本契約を開始してみた。

しばらくするとメールが5通。仮申込→本申し込み、解約受付とたくさんですね。
*  お申込受付完了のお知らせ
* [さくらのVPS] 仮登録完了のお知らせ
 → これに新VPSのRootの仮パスワードがついてくる
* クレジットカードによるお支払いについてのお知らせ
* [解約申請] 手続きの確認
* 解約手続き完了のお知らせ

解約申請の手続き確認メールと同時に、手続き完了メールがとどいたのだが、これ分ける必要あったのだろうか・・・
なんか、トラブルのある際には、完了メールが遅れてくるのかな?

新しく申し込み→解約 まではひと通りできたので、あとはのちのちに1ヶ月無料が提供されるのを注意深くまってみます。

しかし、サーバー移行ってやっぱ面倒だな・・・

AWSのEC2でWordPressを移行するまでにしたこと。

2011-12-04 環境構築 , , ,

AWSでEC2を作成し、WordpressをこれまでのさくらのVPSから移行してきた。

その際に作業した内容をメモ。

1) EC2にインスタンスを作成

 

2) EC2のインスタンスのセットアップ

Apache, PHP,  MySQLのアプリケーション、PHPからMySQLへの接続extention

$ sudo yum -y install httpd
$ sudo yum -y install php
$ sudo yum -y install mysql
$ sudo yum -y install php-mysql

Rootのパスワード設定

$ sudo passwd root

サーバーのタイムゾーンの修正(デフォルトではUTC標準時になっているので日本になおす)

$ sudo cp /usr/share/zoneinfo/Japan /etc/localtime

 

3) RDSにMySQLを作成し、EC2から接続できるようにする 同時にさくらのVPSからもつながるようにしておく

 

4) さくらのVPSのWordpressのDBをEC2にコピー(ダンプ&リストア)

$ mysqldump -u VPS側のDBユーザー名 -pVPS側のパスワード DB名 | \
> mysql -h ENDPOINT -P 3306 -u AWSRDsのユーザー名 -pAWSRDsのパスワード AWSRDsのDB名

 

5) さくらのVPSでワードプレスのソースを圧縮

 

6) 圧縮したソースをSCPでコピーしAWSのEC2側で展開(さくらのVPSにはEC2の秘密鍵をあらかじめ設置しておく)

 

7) wp-config.phpを修正

// ** MySQL 設定 - こちらの情報はホスティング先から入手してください。 ** //
/** WordPress のデータベース名 */
define('DB_NAME', 'RDsのDB名');

/** MySQL のユーザー名 */
define('DB_USER', 'RDsのDBユーザー');

/** MySQL のパスワード */
define('DB_PASSWORD', 'RDsのパスワード');

/** MySQL のホスト名 (ほとんどの場合変更する必要はありません。) */
define('DB_HOST', 'RDsのENDPOINT');

 

8) ApacheにVirtualhostの追加

 

9) Apacheの再起動

 

10) blog.eumyang.netのDNS切り替え

 

とりあえずこの10ステップだけで今のところ動いている。S3を利用するなどは今後対応してみたい。

 

AmazonRDSにEC2から接続できるようにする。

2011-12-04 環境構築 , ,

AWSでEC2からRDsに接続するのに、結構はまったので、メモ。

AWSでMySQLが使えるAmazonRDSというサービスがあるのだが、デフォルトではDBインスタンスの作成後、どこからも接続ができない状態になっている。

これをEC2から接続できるようにするためには、セキュリティグループの設定が必要。

具体的には、RDsのDBインスタンスのMySQLに接続したい、EC2のセキュリティグループをDBのセキュリティグループに追加するという作業が必要。

その際に、EC2のセキュリティグループとAWSのアカウントIDが必要になる。
アカウントIDは、ログインIDではなく、アカウント毎に別途発行されているIDになるので注意。

A) デフォルトの何も許可されていない状態(AWS Management Console›Amazon RDS > DB Security Groups)

DBSecurityGroup Default

B)  EC2のグループを確認する(AWS Management Console > Amazon EC2 > Instances)

EC2SecurityGroup

C) AWS Account IDを確認する(アカウントアクティビティ > セキュリティ証明書 > アカウント識別子)

AWSのアカウントIDの確認

D) RDSのセキュリティグループに追加する(AWS Management Console›Amazon RDS > DB Security Groups)

BとCで確認した内容をそれぞれ入力してAddを押す
EC2のグループを追加する画面
これでEC2のインスタンスからRDsのインスタンスのインスタンスへ接続が可能になる。

E) 実際に接続するための確認項目

RDsへの接続ホスト名は以下のDB Instancesの画面からインスタンスを選択した際に表示されるEndpointが該当する

DBインスタンス

mysqlコマンドを利用しての接続例(ENDPOINTを上のものに置き換える)

mysql -h ENDPOINT -P 3306 -u ユーザー名 -pパスワード DB名

 

おまけ

ちなみに、EC2のセキュリティグループ以外にも特定のIP等を指定する方法もある。
DB Security GroupsのEC2セキュリティグループのところで「 CIDR/IP 」を選択し、xxx.xxx.xxx.xxx/32 のように特定のIPやネットワークを設定すればOK

自分は現在つかっている、さくらのVPSからAWSに移行するために、さくらのVPSのグローバルIPを指定して、ちょくせつ さくらのVPSからAWSにWordpressのDBを移行した。
参考までに、さくらのVPS上で実行したコマンドは以下。

$ mysqldump -u VPS側のDBユーザー名 -pVPS側のパスワード DB名 | \
> mysql -h ENDPOINT -P 3306 -u AWSRDsのユーザー名 -pAWSRDsのパスワード AWSRDsのDB名

パスワードの入力を標準入力でキーボードから打とうとすると、Poderosaだけなのかわからないが、画面がおかしくなってしまったので、コマンド実行時にパスワードも両方記載した。MySQLの場合、パスワードはオプションからスペースをあけずに、つまり、-pに続けて書く必要がある。

AWSにPoderosaでつなぐ

2011-12-04 環境構築

今の会社に入社してから、WindowsからSSHでサーバーにつなぐってなるとずっとPoderosaを使ってきた。

AWSにも当然、Poderosaで繋ぎたかったのだが、AWSでインスタンス生成時につくられるキーではPoderosaからはつなげないので、Pemを変換して、Poderosaで利用できるようにした。

その際の手順。
■事前条件:
1) PuTTY Key Generatorがインストール済みであること。(WinSCPをインストールしたらセットではいってます)
2) AWSでインスタンスを作成して秘密鍵(A)をダウンロードしてきていること。

▼作業手順
PuTTY Genを起動し、【File】 → 【Load Private Key】押してAのファイルを読み込む

【Conversions】 →【Export ssh.com key 】を押して、鍵を保存(B)

Bの鍵を利用してPoderosaから接続。

Windows AzureのStorage操作

2011-10-21 Tools, 環境構築

Windows AzureのStorageを操作するのに、便利なツールがあるのでメモ。

どちらも、ストレージの、Account NameとPrimary Access Keyが必要なので管理ポータルから確認しておく!

Azure Storage Explorer;
http://azurestorageexplorer.codeplex.com/

複数のストレージアカウントも切り替えて管理できるのでかなり便利。
ただ、Azure SDKなどAzureの開発環境を整えてないとできないかも?
Windows XPは Azure SDKがサポートされていないのでつかえないかも?

Azure Storage Explorerがつかない場合は、ブラウザーで操作できる以下のサイトなら利用できるはず。

myazurestorage.com
https://www.myazurestorage.com/

Redmineにメールからチケットを投稿する

2011-03-08 アプリケーション, 環境構築

ちょっと会社の業務で必要なったのでついにRedmineにメールで投稿する機能を設定した。

参考: Redmine.jp メールによるチケットの登録

これのIMAP方式でいれてみました。
IMAP方式にした理由は

  • MTAに特殊な設定がいらず、アカウントさえ用意すれば、Redmineのサーバーだけで対応できる。
  • 今回は障害監視等ではないので、そこまでリアルタイムである必要もない。(せいぜい10分~30分後に確認できればOK)

メールの書式は、メールのタイトルがチケットのタイトルになります。

本文は以下のような感じ

チケットの本文を適当に先に入力しておきます。

別にあとからでもいいのかもしれませんが、なんとなく先にしておきます。

# ここからがチケットの情報を更新するためのキーワード
Project: [チケットを登録するプロジェクト識別子]
Tracker: [開発,バグ,要望 等]
Priority: [低め,通常,高め 等]
Category: [プロジェクトに存在するカテゴリ]
Status: [新規,着手,解決,終了 等]
Version: [プロジェクトに存在するバージョン] Redmine1.1以上じゃないと使えない。

※ メールの送信元のメールアドレスが投稿者になるので、メールの送信元のメールアドレスが、投稿しようとするプロジェクトで有効なユーザーである必要があります。

これにあわせてテスメールを送ってみたら、タイトルだけが文字化けしていました。

そこで、下記を参照して修正

メールでチケット登録時に題名が文字化けする問題を修正

これで無事タイトルも表示されるようになりました。

ひと通りテストができたらCRONに設定して、定期的に取得するようにします。

# Redmine Mail Checker

*/10 * * * * /usr/local/bin/rake -f /var/lib/redmine/Rakefile redmine:email:receive_imap RAILS_ENV=”production” host=メールサーバーのIP username=メールサーバーのユーザー名password=ぱすわーど move_on_success=Trash move_on_failure=Failed allow_override=project,tracker,category,priority

今回のポイントは

  • move_on_successとmove_on_failureで取り込みに成功したメールと、失敗したメールの振り分け先を決めておいて、普通のメーラーからも、取り込み結果が確認しやすいようにしておきます。
  • allow_overrideはメールの本文で上書きする内容を設定しますが、いろんなプロジェクトに対応したいので、プロジェクトやトラッカーを予め決め打ち等はせず、メールで設定できるようにしておきます。

Redmine1.1からは、もっと使用できるキーワードがもっと色々ふえているらしく進捗なんかもメールから更新できるらしいので、はやいところ、1.1にバージョンアップしなきゃなぁと、また思いました。

CentOS 5.5にPHP5.3.4とMySQL5.1をいれる

2010-12-31 CentOS, 環境構築 , ,

さくらのVPSを契約して使ってみるが、CentOSのリポジトリには、PHP5.1系しかおらず、ちょっと5.3系をつかってみたいので、epelとremiのリポジトリを追加して、アップデートすることにした。
ついでに、mysqlも5.1系にしてみた。

作業メモを残しておく。
RPMダウンロード用のディレクトリを作る

$ mkdir ~/rpm/

yumのリポジトリに、epelとremiを追加する

$ cd ~/rpm/
$ wget http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
$ sudo rpm -Uvh epel-release-5-4.noarch.rpm
$ wget http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
$ sudo rpm -Uvh remi-release-5.rpm

epelのリポジトリが初期が有効になっているので無効にしておく

$ sudo sed -i “s/^enabled=1$/enabled=0/” /etc/yum.repos.d/epel.repo

php5.3.4とmysql5.1へアップデート
初期にはいっているmysqlと衝突するので、mysqlは消しておく

$ sudo yum erase mysql
$ sudo yum –enablerepo=remi,epel install php mysql mysql-server

mysqlのセキュアな初期設定を行う
$ sudo /usr/bin/mysql_secure_installation

  • rootユーザーのパスワードを設定
  • 匿名ユーザーの削除
  • rootユーザーのリモート接続を禁止
  • testデータベースの削除

をまとめて行うことができる。

WordPress Install LOG

2010-03-07 環境構築

せっかくドメインもとったのでWordpressをインストールしてみた

WordPressのソースをダウンロード

$ wget http://ja.wordpress.org/wordpress-2.9.2-ja.tar.gz

解凍して公開ようのフォルダにうつす

$ tar zxvf wordpress-2.9.2-ja.tar.gz
$ mkdir -p /home/www/blog.eumayng.net
$ mv wordpress /hoem/www/blog.eumyang.net/html

apacheのバーチャルホストを設定

$ sudo vi /etc/httpd/conf.d/blog.eumyang.net.conf

DocumentRoot /home/www/blog.eumyang.net/html
ServerName blog.eumyang.net
CustomLog logs/blog_access_log combined
ErrorLog logs/blog_error_log

Apacheを再起動

Mysqlがはいってなかったのでインストール

$ sudo yum install mysql mysql-server php-mysql

設定ファイルの修正

# vi /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
default-character-set = utf8 ← 追加(MySQLサーバーの文字コードをUTF-8にする)

以下を追加(MySQLクライアントの文字コードをUTF-8にする)
[mysql]
default-character-set = utf8

Mysqlを起動 初回はDBのインストールが行われる

# /etc/init.d/mysqld start
Initializing MySQL database: Installing MySQL system tables…
100306 19:59:59 [Warning] option ‘max_join_size’: unsigned value 18446744073709551615 adjusted to 4294967295
100306 19:59:59 [Warning] option ‘max_join_size’: unsigned value 18446744073709551615 adjusted to 4294967295
OK
Filling help tables…
100306 20:00:00 [Warning] option ‘max_join_size’: unsigned value 18446744073709551615 adjusted to 4294967295
100306 20:00:00 [Warning] option ‘max_join_size’: unsigned value 18446744073709551615 adjusted to 4294967295
OK

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/usr/bin/mysqladmin -u root password ‘new-password’
/usr/bin/mysqladmin -u root -h eumyang.net password ‘new-password’

Alternatively you can run:
/usr/bin/mysql_secure_installation

which will also give you the option of removing the test
databases and anonymous user created by default. This is
strongly recommended for production servers.

See the manual for more instructions.

You can start the MySQL daemon with:
cd /usr ; /usr/bin/mysqld_safe &

You can test the MySQL daemon with mysql-test-run.pl
cd mysql-test ; perl mysql-test-run.pl

Please report any problems with the /usr/bin/mysqlbug script!

The latest information about MySQL is available on the web at
http://www.mysql.com
Support MySQL by buying support/licenses at http://shop.mysql.com
[ OK ]
Starting MySQL: [ OK ]

自動起動を設定しておく

# chkconfig –list mysql
error reading information on service mysql: No such file or directory
[root@eumyang ~]# chkconfig –list mysqld
mysqld 0:off 1:off 2:off 3:off 4:off 5:off 6:off
# chkconfig –level 35 mysqld on
# chkconfig –list mysqld
mysqld 0:off 1:off 2:off 3:on 4:off 5:on 6:off

mysqlのルートアカウントにパスワードを設定

$ mysqladmin -u root password ‘パスワード’

wordpress用のDBとアカウントを作成

$ create database wordpressdb;
grant all on wordpressdb.* to ‘wordpress’@’localhost’ identified by ‘ぱすわーど;

WordPress用のURLにアクセスして初回インストール

Eclipse3.3.2(Europe)&XAMMP でのPHP開発環境構築

2010-02-18 アプリケーション, 環境構築

EclipseとXAMPPでPHP開発環境を利用する。

EclipseはPDTが搭載されたGanimedeいこうはあんまり好きじゃないので、PHPEclipseの全盛期の3.3.2を利用。
PHPEclipseの方が初期化エラーのチェック等をしてくれるので、PDTより使いやすいと判断。

XAMPPはPHP4と5の切り替えができる1.6.8を利用。最新版だと、PHP5.3のため、自分が良く開発するEC-CUBEが対応しきれておらずWarningがやたら出てしまうので・・・

XAMPP1.6.8インストール
http://sourceforge.net/projects/xampp/files/

Eclipse3.3.2インストール
http://www.eclipse.org/downloads/packages/release/europa/winter

必要なプラグインを入れる

  • サードパーティー日本語化:
    http://sourceforge.jp/projects/nttdatagroup-oss-square/downloads/33301/NLpackja-eclipse-SDK-3.3.2-blancofw.zip をダウンロード
  • PHPEclipse:
    http://update.phpeclipse.net/update/stable/1.2.x
    を更新サイトに追加
  • JStyle:
    http://prdownloads.sourceforge.jp/mergedoc/29738/jstyle_3.3.2.1.zip
    をダウンロードして展開後、所定のフォルダにコピー
  • AnyEdit:
    http://andrei.gmxhome.de/eclipse/ を更新サイトに追加
  • Subclipse
    http://subclipse.tigris.org/update_1.6.x を更新サイトに追加

参考:http://www.okushin.co.jp/information/tanuki11/index.php