気づいたら、ここだった

考えているようで、考えなしに生きてるので、気づいたらこんなことになてってた私のブログ

AWS で a-blog cms を動かすんだって!

別にほかのVPSとかでもあんまかわんないんだけど・・・一応これからAWSで動かそうって人が一通りここでわかったらいいかな的なメモです。

で、そもそもAWS使ってねー人もいるんだし、ログとして順に動くとこまで書くかなと。


なにはなくともサーバーを動かす

ポイントとしては、このまま運用するんだったらIPアドレスは固定がいるよねってところで、まずAWSで固定IPをとって、EC2のインスタンスを作る。


home の .ssh フォルダの中の config ってファイルを開いて(無かったら作って)

以下のように好きなホスト名でさっきのIPアドレスに、所定のpemでアクセスするように書いておくと便利らしい

Host aws.hogehoge
HostName 000.000.000.000
User ec2-user
IdentityFile ~/.ssh/your.pem

※ 000.000.000.000 はIPアドレスですよ、IdentityFile に さっき保存した鍵ファイル名

さて、a-blog cms いれる準備にかかるぞ

とりあえず、phpがいるよね
あとapachemysql

それはもういわゆるLAMP環境ってやつなので、ここで解説されている通りに作業すると簡単です

なにはなくとも、まずは

$ sudo yum update -y
$ sudo yum groupinstall -y "Web Server" "MySQL Database" "PHP Support"
$ sudo yum install -y php-mysql

あと mbstring がはいらないっぽいので、これも

$ sudo yum install php-mbstring

で、apache起動

$ sudo service httpd start

ちなみに、ここまで入れたらもうapacheが動いてるので、さっきのIPアドレスをブラウザに入れたらなんかしら表示されるはず

$ chkconfig --list httpd
httpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off

これが

$ sudo chkconfig httpd on

これすると

$ chkconfig --list httpd
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off

こうなる

で、今度はapacheで読んでるディレクトリをwwwってグループを作ってそのグループで使う設定にする。
(元がrootになってるので、そのままだと後々面倒なのです)

まずwwwってグループ作成

$ sudo groupadd www

自分(ec2-user)を www に参加させる

$ sudo usermod -a -G www ec2-user

あと、ここからファイルをアップしていく事になるんだけど・・・

FTPサーバーは入れちゃダメ

FTPを未だに使っている人がいますけど、もう止めましょう。

危険なのと、危険なので。あ、あと、危険なので。

とりあえず、もうすでにsshで入れるんですから、どうしてもFTP風にファイルアップしたいって人は、SFTPに対応したソフトを用意して(FileZillaとか)ください。

$ sudo service mysqld start
$ sudo mysql_secure_installation
$ sudo chkconfig mysqld on

これでだいたいおわり。


そしたら、MySql内にa-blog cms用のdatabaseをつくりませう

mysqlにろぐいん!

$ mysql -u root -p

パスワード聞かれるので、さっき設定したやつを入力

CREATE DATABASE acms_hogehoge CHARACTER SET utf8;

はいできた。

exitで終了

さてionCubeをいれまっしょい!

とりあえず、このへんから

Linux 64bitのをおとしてくる。(インスタンス作る段階で違うの選んでる人は、それにあわせてね)

何処でも好きな所へ・・・・私はとりあえずここにした

/var/www/libs/ioncube

どかっと全部入れます。phpバージョンみて必要なものだけでもいいけどね。

それでphpに読み込む設定をするので、今度はphp.iniですね。

どこにあるかなー・・・と思ったら、phpinfoとか見てみたらいかな

・・・ということで、/etc/php.d/ にファイルを作ったら仲間に入れてくれそうな気配なのでやってみようか

まず手元で

zend_extension = /var/www/libs/ioncube/ioncube_loader_lin_5.3.so

の一行を書いただけのテキストファイルを ioncube.ini と名付けて保存して、/etc/php.d/ にアップ。

・・・といきたいところだけど、ここはrootさんじゃないとファイルを置けない秘密基地なので、一旦さっき作った /var/www/libs の中にでもアップして、

$ sudo mv /var/www/libs/ioncube.ini /etc/php.d/

とすればOKかな。

うまくいったら、サーバーにてapacheの再起動

$ sudo service httpd start

ブラウザから phpinfoを確認・・・でたかな?

あ、あともうひとつ .htaccess を有効にしないといけません

ここだけ、ちょっと使った事無いひとには面倒かもですが、サーバー側のテキストエディタでやっつけましょうか

$ sudo vim /etc/httpd/conf/httpd.conf

とすると、apacheの設定ファイルが編集出来ます。

このテキストエディタはキーボード操作だけで使います。

まず、所定の位置は検索で見つけましょう

キーボードから / を打つと、画面下に検索用のライン(行)が出てきますので、そこで AllowOverride を入力、エンターで、該当箇所までジャンプしてくれたら、編集

AllowOverride None

AllowOverride All

にすりゃいいんだけど、まず i キーを押してインサートモードに切換えます。(一般的なエディタ使っていると全然イメージが違うと思うので気をつけて)

それから None を消して All に。

変更出来たら、esc を押してインサートモードを終了。

: キーを押して、また下の行にコマンドを受け付けるラインが出たら wq を入力してエンター!(w が書き込み、q が終了)

で、無事保存できたかな・・・

そしたら再度httpdをrestart

# ・・・・なんだけど、あとで気づいた、
#
# があるんだけど、こっちも上記の AllowOverride All にしとかないといけないよ。
# インストール後に効いてない事に気づいて直したので追記

あと、ほんとはもっといろいろ、このあたりを参考に。セキュリティ的に…とかで替えておいた方がいいところはチェックしてくれろ!

ここまできたら、あとはいつものa-blog cmsインストールの流れ。

a-blog cms インストールパッケージのファイルをアップしてアクセスしてみてくださいね。