お知らせ

2014年1月28日火曜日

Trouble1 お使いのサーバーの PHP では WordPress に必要な MySQL 拡張を利用できないようです。

Step5 wordpressファイルをec2サーバーで展開しよう。 でやったとおりにWordPressにアクセスしたら、真っ白な画面に以下の表示

お使いのサーバーの PHP では WordPress に必要な MySQL 拡張を利用できないようです。


googleで調べると必要なモジュールが足りていないということらしい。
なんのこっちゃいと思うが、以下のコマンドで解決する。




# yum install –enablerepo=remi,epel,ius php-mysql

念のため、ec2は再起動した。


再度、http://ec2のPublic DNS/public_html/wordpressにアクセスするとログイン画面が。


バンザーイ


2014年1月27日月曜日

Step5 wordpressファイルをec2サーバーで展開しよう。

Step1 WordPressをダウンロードしようで、ローカルサーバーにはWordPressのファイルが一式あると思うが、それをec2に移動させるゾ。


①wordpress.zipをec2サーバーで解凍しよう。



FFFTPで/var/www/html/public_html/以下に解凍されたファイルを全て移動させてもいいけれど、時間がかかるので、ZIPファイルを/var/www/html/public_html/以下に置き、以下のコマンドで解凍すると直ぐにできる。


$sudo su -   ←root権限に移動

#su dbUser     ←dbUserに変更

$unzip /var/www/html/public_html/wordpress-3.8.1-ja.zip


この時、root権限で解凍するとroot以外のユーザーではアクセスできなくなる。
もし、間違えたら以下のコマンドでユーザー及びグループをdbUserに変更しよう。
#chown -R /var/www/html/public_html

#chgrp -R /var/www/html/public_html




#ls -al /var/www/html/public_html


lsコマンドで、フォルダ一覧が表示されるが、ユーザ名とグループ名がdbUserになっていればOKだ。
drwxr-xr-x 5 dbUser dbUser    4096 Jan 29 07:13 honyahonya


②wp-config.phpをec2サーバーに移動させよう。



今が、こんな状態であることを確認してほしい。



Step1 WordPressをダウンロードしようで作成したwp-config.php をec2サーバーに移動させよう。
場所が/var/www/html/public_html であることをしっかり確認だ。
ドラッグ&ドロップでできるぞ。

③いよいよWordPressにアクセスだ。

アクセス先は
http://ec2のPublic DNS/public_html/wordpress だ。

これでWordPressのログイン画面が出てきたら成功だ。



お疲れ様!!


・・ログイン画面が出てこないって?
次にトラブルシュートを解説するゾ。


2014年1月26日日曜日

Step4 FTPにデータを移動させよう。(550 Failed to change directory.)

いよいよFFFTPを使ってデータを移動させよう。




Step7 WordPressに必要なものをインストールしよう。 で少し触れているが、
/var/www/html/
フォルダ以下にデータを保存すると、EC2で割り当てたアドレスでHTMLが表示ができるぞ。


さっそく、WORDPRESSのZIPファイルを/var/www/html/に保存しよう。


あれ?
ん?


フォルダに移動できない。。。。
550 Failed to change directory.


というエラー付きである。
どうやら、権限がないらしい。


以下の手順で権限を追加してあげよう。
まず、TeraTermでログインし、FTPユーザーのためのディレクトリを作ってあげよう。


# cd /var/www/html
# mkdir public_html
# chown dbUser public_html
# chgrp dbUser public_html
青字の所は各自のFTPユーザー名に合わせよう。




それだけではダメだ。
デフォルトはchroot許可ユーザーリストであるchroot_listにユーザー名を記載しなくては行けない。


#vi /etc/vsftpd/chroot_list


で中に一行、dbUserと書いて保存だ。


さて、もう一度、FTPでチャレンジ。


つながったぁ(^ ^)


この設定ミスでかなりハマりました。











2014年1月25日土曜日

Step3 EC2でFTPデータを受け付けられる状態にしよう。その2

①EC2画面からセキュリティ情報を確認しよう。


 
懐かしのEC2画面だ。
今のセキュリティグループ名を確認しよう。
左メニューからセキュリティ情報を 更新できるぞ。

 

②セキュリティ情報を更新しよう。



先ほど、確認したセキュリティグループ名を選択し、Inboundタグでセキュリティルールを追加しよう。
Custom TCP rule で21番と、60000 - 60010番を追加すればOKだ。

最後にApplyRuleChangesを押すのを忘れずに。

 

③FTP転送ソフトの設定をしよう。

FFFTP がFTPソフトとして有名だ。
ダウンロードしておこう。
※FFFTPを音読するとエフ!エフ!エフ・ティー・ピー!
チアガールの応援にありそうとか思ってみたり。

初期起動画面はこんな感じ。(ホスト一覧は空欄です。)


新規ホストでホストを追加しよう。


設定画面は以下の通り設定する。

ホストの設定名:何でも良い。
ホスト名(アドレス):EC2でIPアドレスを確認する。
ユーザー名・パスワード:前回作成したFTP用のユーザー名・パスワード
ローカルの初期フォルダ:WordPress.zipを解凍した所

続いて拡張タグに移り、「PASVモードで使う」からチェックを外そう。

これで設定はOKだ。
戻って「接続」ボタンで接続しよう。

ダラララとなって、以下の画面が出たら成功!!

ばんざーい!!!





2014年1月24日金曜日

Step2 EC2でFTPデータを受け付けられる状態にしよう。

いよいよ準備は整った。
FTPでダウンロードしたデータをEC2にアップしよう。

しかし、EC2側はまだFTPでデータを受け付けられる状態になっていない。
仕方ない、設定だ。

①vsftpdをインストールしよう。

vsftpdとは何ぞ?と思うが、FTPを使うためのソフトと思って欲しい。
よく見るとFTPの文字が隠れている。

まず、TeraTermでEc2にアクセスする。
ec2-userユーザーではインストールなど重要な処理はできないので、
以下のコマンドで管理者権限に移動しよう。

$sudo su -
 
以下のコマンドでvsftpdをインストールできる。
#yum -y install vsftpd
 ダララとインストールが始まるので確認しよう。
 
 

②設定ファイル(vsftpd.conf)を修正しよう。

/etc/vsftpd/以下にvsftpd.confが作成されるので、修正する。
その前に万が一に備えて、以下のコマンドでバックアップを取っておこう。
 
#cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.copy
 
いよいよ修正だ。
以下のコマンドで修正しよう。
#vi /etc/vsftpd/vsftpd.conf
 

修正事項は以下の通りだ。
43行目周辺



#connect_from_port_20=YES
connect_from_port_20=NO
に変更
 
98行目周辺
#chroot_local_user=YES
#chroot_list_enable=YES
chroot_local_user=YES
chroot_list_enable=YES
に変更。
---
100行目周辺
#chroot_list_file=/etc/vsftpd/chroot_list
chroot_list_file=/etc/vsftpd/chroot_list
に変更
---
121行目周辺
tcp_wrappers=YES
tcp_wrappers=NO
に変更
---
一番最後に以下を追記
use_localtime=YES
force_dot_files=YES
pasv_min_port=60000
pasv_max_port=60010
---

viのコマンドは面倒だが覚えるしかなさそうだ。
/(スラッシュ)文字列で文字列検索ができるので、それを使うと該当の場所に移動しやすいぞ。

③chroot_listをつくろう。

先ほどのvsftpd.confの修正でchroot_listで除外対象ユーザーを管理することに決まったらしい。
しかし、そんなファイルは無いので、以下のコマンドでつくろう。
#vi /etc/vsftpd/chroot_list
中身は空でいいので、作りっぱなしでOKだ。

④FTPのためのユーザーをつくろう。

以下のコマンドでFTPでアクセスするためのユーザーをつくり、パスワードを設定しよう。
#adduser 好きなユーザー名
#passwd 好きなユーザー名
passwdコマンドの後に2回パスワード入力する必要がある。


⑤vsftpdサービスを開始しよう。

以下のコマンドでvsftpdサービスを開始しよう。
ついでに毎回起動した時に自動的にサービス開始状態になるよう2つめのコマンドも実行しよう。
#service vsftpd start
#chkconfig vsftpd on


お疲れ様!!
次はEC2側の設定だ。



2014年1月23日木曜日

Step1 WordPressをダウンロードしよう。

①WordPress公式HPからzipファイルをダウンロードし、保存しよう。

公式HP


 

②ZIPファイルを解凍し、作業フォルダに保存しよう。

 

③【重要】wp-config.phpをつくろう。

解凍されたwordpressフォルダ以下にあるwp-config-sample.phpをコピーして、wp-config.phpを作成しよう。
wp-config.phpが正式な設定ファイルになり、wp-config-sample.phpは万が一の為のバックアップとなる。


④【超重要】wp-config.phpを編集しよう。

変更箇所その1 DB情報

ファイルの28行目辺りにある以下の4点を編集する。
/** WordPress のためのデータベース名 */
/** MySQL データベースのユーザー名 */
/** MySQL データベースのパスワード */
/** MySQL のホスト名 */

ドットインストールの通りに行えば以下の様になるが、各自、設定した通りに編集しよう。
また、MySQLのホスト名はAWSのRDSで詳細画面に表示されるEndPointだ。

define('DB_NAME', 'dotinstall');
/** MySQL データベースのユーザー名 */
define('DB_USER', 'dbUser');
/** MySQL データベースのパスワード */
define('DB_PASSWORD', '内緒!!');
/** MySQL のホスト名 */
define('DB_HOST', 'mydbinstance.camo1wdiqt4n.ap-northeast-1.rds.amazonaws.com');



 

⑤AUTH_KEY以下を編集しよう。

セキュリティ強化のため60行目辺りからあるAUTH_KEY以下8つのキーを設定しよう。
今後、このキーは覚えなくて良い+絶対にばれない文字列にする必要があるので、オンラインジェネレーターで自動生成してもらい、それをそのままコピーしよう。

 

 
 
ビフォー
 

 

アフター



保存すれば完了だ!!


夫々の作業の詳細や作業の意味についてはWordPressのWikiを見ると詳しく書かれている。
コレが読めたら、PCルーキーではないが。。。

2014年1月22日水曜日

Step9 Ec2からデータベースに接続しよう。

ここから先の内容はドットインストール#11 スペック変更とEC2からの接続 に該当する。
合わせて確認しよう。

①DBが立ち上がっている事を確認しよう。

以下の設定が正しくなされているか確認しよう。
Status がavailable(動いてますよという意味)
Strage が5GB
AvailabilityZone がap-northeast-1a
Instance Class が db.t1.micro

下3つは、設定を間違うと課金されます。

また、EndPointと書かれている箇所は後々EC2からアクセスする上で必要な情報なので、メモっておこう。

②SecurityGroupの値を変更しよう。

画面右下のSecurityGroupから設定を変更できる。

以下の2点をAddRuleで追加しよう。
・SSH
・MySQL

③EC2から実際にアクセスしてみよう。

EC2の画面に戻ろう。

懐かしの画面
右上のConnectボタンで接続するための情報が記載されている。
【重要】IPアドレスは再起動するたびに変更されるので前回と違う可能性がある。注意しよう。



TeraTermでEC2サーバーに接続しよう。
接続の仕方は以前の記事を参考にされたし。

④TeraTermでDBに接続しよう。

以下のコマンドで接続できる

 sudo mysql -h mydbinstance.camo1wdiqt4n.ap-northeast-1.rds.amazonaws.com -u dbUser -p

赤字の部分はRDSで確認したEndPintです。

【注意】
・RDSのEndPointoには ホニャホニャ.com:3306 と書かれているが:3306は消します。
・SSHで入っているユーザーがec2-userなので、前にsudoを付けてroot権限での実行にします。
・ユーザー名は大文字小文字を判別します。(私はそれで10分ほど迷いました)



⑤データベースが作成されているかを確認しよう。

以下のコマンドでデータベースが作成されているかを確認できます。
show databases;


出力された一覧に先ほど作成したデータベース名があればOKだ。





2014年1月21日火曜日

Step8 データベースを立ち上げよう。

ここから先の内容はドットインストール#10 データベースを立ち上げてみよう に該当する。
合わせて確認しよう。
また、#7~#9については、軽く見ておこう。
本格的にサイトを構築するには必要な知識だが、今はまだ必要ないし、課金される可能性がある。

①RDSを立ち上げよう。

AWSの一覧画面から選択することができる。



②regionを確認し、DBを立ち上げよう


右上にregionがあるのでTokyoになっている事を確認しよう。
左下のLaunchDB ボタンからDBを立ち上げる事ができる。

③ MySQLを選択してDB Instanceの詳細を確定しよう。


次にどのDBにするか選択画面がでるので、一番上のMYSQLを選択しよう。
(画面をキャプチャし忘れました。すまん)

続いて、DBの詳細画面が出るので以下を設定しよう。
【重要】
・DB Instance Classでdb.t1.microを選択しよう
・Multi-AZ DeploymentでNoを選択しよう
・AllocatedStrage はミニマムの5GBで設定しよう。

いずれも間違うと、もれなく課金される。
気をつけよう。

DB Instance Identifier以下は好きなDBインスタンス名、ユーザー名、パスワードだ。
何でもいいが、忘れない様に、どこかにメモししておこう。




④DB名その他を入力しよう。


DB名は何でも良いが、忘れない様に、どこかにメモししておこう。
AvailabilityZoneはap-northeast-1aを選択しよう。


⑤バックアップのタイミングを設定しよう。

この画面はいつバックアップを取りますか?という画面だ。
とりあえず、デフォルトのママで構わない。(デフォルトのままだと1日の適当な時間にバックアップを取ってくれるという設定になる。)




⑥設定を確認しよう。


今まで設定してきた一覧が表示される。
内容に問題が無いかを確認して、いよいよDBの立ち上げだ。

下記の様な画面が出たら、OKだ。
DBの立ち上げには暫く時間がかかるので、お茶でも飲もう。

2014年1月20日月曜日

Step7 WordPressに必要なものをインストールしよう。

ここから先の内容はドットインストール#06 仮想サーバーを設定しよう に該当する。

①WordPressに必要なものをインストールしよう。

WordPressでホームページを公開するにあたって必要なもの(アプリ?)は以下の3点だ。
一.httpd (←これが無いとWebブラウザで見られない?)
二.php (←プログラミング?)
三.mysql (←データベース!!)

それぞれが何かはPCルーキーの私に聞かず、他で勉強して欲しい。



【重要】以下のコマンドでhttpd php mysqlがインストールできる。
TeraTermで実行してみよう。
sudo yum -y install httpd php mysql




コマンドの意味などはリナックスコマンド集で勉強しよう。
※ドットインストールでもちょっと説明してくれているぞ。

②httpdを起動しよう。

以下のコマンドでhttpdを起動し、今後、再起動しても自動で起動状態にしてくれる。



sudo service httpd start

sudo chkconfig httpd on

今までみたいに、コマンドを打った後にダラララッと出ないのが悲しいが、起動はキチンとされているので安心しよう。

③ためしにHTMLを作ってみよう。

ドットインストールでは以下のコマンドでindex.htmlを作るとある。
vimというのはlinuxのテキストエディタでコマンドが面倒臭く、PCルーキーの敵なのだが避けては通れないらしい。
細かい所は後々勉強するとして、以下の手順でindex.htmlを作って欲しい。

一.
TeraTermで以下のコマンドを入力
sudo vim /var/www/html/index.html

二.
画面が下一行を残して真っ黒になるので、a ボタンを押す。
すると、下に黄色でinsertと記載される。



三.
以下をコピペ。
<html>
hello
</html>

直接、入力しても良いし、コピペもできる。

四.
ESC キーを押す。 insertの文字が消えるのを確認する。

 

 

 
:wq と入力する。

大丈夫だったろうか?

後々、Vimは勉強しなくてはいけないので、もし時間があったら、色々コマンドの意味を確認して進んで欲しい。

 

④Webページを確認しよう。

EC2に戻り、PublicDNSを確認しよう。
ec2ホニャホニャと書かれているのが与えられたURLだ。
それをコピーして、新しいタブでアクセスしてみよう。
 


helloと出たら成功だ!!!

他にもphpがちゃんとインストールされたかなどを確認する方法もあるのでドットインストールの動画を確認しておこう。

2014年1月19日日曜日

Step6 SSHでAWSサーバーに接続しよう。

ここから先の内容はドットインストール#05 仮想サーバーに接続してみよう に該当する。
合わせて確認しよう。

①AWSサーバーに接続しよう。
Ec2のインスタンス一覧表示画面に戻ろう。
作ったインスタンスをクリックすると上の「Connect」というボタンが有効になるはずだ。



②AWSサーバーアクセス情報を確認しよう。
「Connect」ボタンを押すと、ポップアップでこんな表示がされる。
この情報がSSHでアクセスするための情報となる。
Linuxを使っている人は、ssh -i なんちゃらと書いてあるコマンドを入力すればアクセスできるらしい。
※pemキーの場所をキチンと指定しないとエラーになるぞ。
Windowを使っている人は以下のステップに進もう。



③Teratermにアクセス情報を入力してみよう。
TeraTermの入力画面にまず、表示されたIPアドレスを入力しよう。



OKボタンを押すと、こんな画面になる。
初めてPCでアクセスした場合、出るお約束なので焦らず「Continue」を押そう。


【重要】ユーザー名とpemキーを入力しよう。
 

 


ユーザー名はEc2で記載されていた「ec2-user」だ。
パスワードの箇所は空欄で良い。
真ん中らへんのUse RSA/なんちゃらと書かれている箇所をチェックしてpemキーを選択してあげる必要がある。
Pricatekeyfileボタンからpemキーを選択しよう。
※pemキーがある場所なのに、一覧に出てこない場合はファイルの種類をallに指定してあげよう。

この画面が出たらOKだ。
Ec2サーバーにつながったのだ!!バンザイ!!!!


④AWSのサーバーをアップデートしよう。
英語なので良くわからないが、何やらゴニョゴニョ前半に書かれているのはアップデートしてという意味だ。
アメリカ人なら見逃さないだろうが、日本人は見逃してしまいそうだ。
日本人に生まれた事を後悔しつつ、sudo yum updateコマンドでアップデートしよう。

ダララララと文字列が出るのは爽快だ。

途中で色々ダウンロードするけどOK?って聞いてくるので、すかさず「y」(←YESの省略形と思われる。)でOKしよう。
 ダウンロードしてる感だたまらなく心地良い。


最後にCompleteと出たら、終了だ。
お疲れ様!!!



2014年1月18日土曜日

StepX SSHで接続できる環境を用意しよう。

さて、いよいよEc2サーバーにSSHでアクセスしよう。

と言われてこういう顔→(゜Д゜)になった人は良い具合にPCルーキーだ。
SSHでアクセスするにはアプリが必要なので、ダウンロードしよう。
(Windowsの場合、Linuxの場合はデフォルトで入っているらしい。)


①SSHアプリの王様、TeraTermをダウンロードしよう。
SSH接続のアプリでベストなのはTeraTermだ。
さっそく、以下から、ダウンロードしよう。
http://www.forest.impress.co.jp/library/software/utf8teraterm/

このソフトは今後、沢山使うので、直ぐにアクセスできる所にショートカットを作る事をオススメする。

②TeraTermを立ち上げてみよう。
こんな画面が出れば、成功だ。





2014年1月17日金曜日

Step5 AWSで仮想サーバーの詳細を見よう。

ここの内容はドットインストール#04 仮想サーバーの詳細を確認しように該当する。
こちらも合わせて確認しよう。
というか、今回はそっちを見た方がわかりやすいかも。

①インスタンスの詳細を確認しよう。

Instanceが緑色のrunningになったらサーバが起動した証拠だ。
インスタンス名をクリックすると色々、詳細が出るので見てみよう。


以下を確認しよう。
一.Public DNS  は、アマゾンさんから頂いたURLだ。
 後々、Webページを確認する時に使う。

二.AvailabilityZoneがnortheastになっている事を確認しよう。
 アジア向けページだし。

三.Instance typeがmicroになっている事を確認しよう。
大きくすることは可能だが、もれなく課金だ。

四.Security groupsのview rulesをクリックしよう。




SSHの他にHTTPも追加されている事を確認しよう。


この他、サーバ画面の見方やサーバのStart・Stop・TerminateやVolumeについて、ドットインストール#04 仮想サーバーの詳細を確認しようで解説されている。
PCマスターになった時、きっと役にたつのでサラッと見ておこう。




Step4 AWSで仮想サーバーを立ち上げよう。その2

ここの内容はドットインストール#02 仮想サーバーを立ちあげてみよう (1) #03 仮想サーバーを立ちあげてみよう (2)に該当する。

合わせて参考にしよう。

①ストレージの大きさを決めよう(Add Strage)


ここはデフォルトのママでOKだ。
Next:TagInstance ボタンで次に進もう。

② インスタンスの名前を決めよう。(TagInstance)




インスタンスの名前を決める!!という訳で重要そうに見えるが、外に公開される訳ではなく、
自分が分かれば良い名前なので、何でもよい。
「MyWeb1」とでもしておこう。

【重要】セキュリティグループを追加しよう。(Configure Security Group)


セキュリティグループにHTTPを追加する必要がある。
デフォルトはSSHでしかアクセスできない。
つまり、普通にWebブラウザからアクセスする事ができないのだ。
(WebアクセスはHTTP)
ホームページを作る上でこれは困る。

ADD RuleからHTTPのアクセスも許可してあげよう。


④設定を見直そう。(Review Instance Launch)


今までしてきた設定の一覧が出てくるので見直そう。
先頭にアラームがあるが、「HTTPで全世界から見られちゃうけどいいの!?」ときいているだけだ。
ホームページはHTTPで全世界から見せたいものなのでOKだ。





確認事項としては、
一.InsganceTypeがt1.microになっているか(そうしないと課金)
二.SecurityGroupにHTTPが追加されているか

の二点だ。
後は基本的にどうでもいい。
Launchボタンで次へ進もう。


【重要】キーペアをつくろう(select an exiting key pair or create a new key pair)

キーペアとはなんぞや?
と思うが、サーバをいじくれる部屋に入るための鍵と思って欲しい。

CreateNewKeyPair を選択して、鍵をつくろう。
名前は何でもよい。


DownLoadKeyPairボタンを押すと、ダウンロードが始まる。
YAEKO(入力した文字列).pemという名前のファイルがダウンロードされるので、
ダウンロードされた鍵を必ずローカルフォルダに保存しよう。

この鍵が無いと、サーバをいじる部屋に入れない。
絶対になくさないようにしよう。

終わったらLaunchInstanceボタンで次に進もう。

⑥完成!!
Your Instance is now Launding と書かれていれば、完成だ。



作り終わるまで、ちょっと時間がかかるので、お茶とトイレタイムだ。
View Instance を押すと今作ったインスタンスの場所に行けるぞ。


InstanceStateの箇所が緑色(running)になったら、完成だ。
黄色(pending)の場合は、まだ作成途中なので、もう一杯、お茶を飲んで待とう。

画面の細かい見方については#03 仮想サーバーを立ちあげてみよう (2)で解説しているので、見ておこう。