ec2 でcrontabを確認

crond statusで動いているかをチェック

$ /etc/rc.d/init.d/crond status
crond (pid  2648) is running...

runningですね。

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

2~5がonになっています。

実行権限をみる。

$ ls -la /etc/crontab
-rw-r--r-- 1 root root 457 Jan  6  2012 /etc/crontab

root? これでいいのか?わからない。先に進む。

cronの実行ログを確認

 sudo tail -f /var/log/cron
Jun 23 19:01:01 ip- run-parts(/etc/cron.hourly)[5578]: finished 0anacron
Jun 23 20:01:01 ip- CROND[5666]: (root) CMD (run-parts /etc/cron.hourly)
Jun 23 20:01:01 ip- run-parts(/etc/cron.hourly)[5666]: starting 0anacron
Jun 23 20:01:01 ip- run-parts(/etc/cron.hourly)[5675]: finished 0anacron
Jun 23 21:01:01 ip- CROND[5801]: (root) CMD (run-parts /etc/cron.hourly)
Jun 23 21:01:01 ip- run-parts(/etc/cron.hourly)[5801]: starting 0anacron
Jun 23 21:01:01 ip- run-parts(/etc/cron.hourly)[5810]: finished 0anacron
Jun 23 22:01:01 ip- CROND[5918]: (root) CMD (run-parts /etc/cron.hourly)
Jun 23 22:01:01 ip run-parts(/etc/cron.hourly)[5918]: starting 0anacron
Jun 23 22:01:01 ip- run-parts(/etc/cron.hourly)[5927]: finished 0anacron

なんだこれは? /etc/cron.hourlyが実行されているように見える。あれ、日付今日?とりあえず、timezone変更が必要だ。

とりあえず/var/localで作業するため、ec2-userの権限を変える。

$ sudo chown -R ec2-user:www /var/local
$ sudo chmod 2775 /var/local
$ find /var/local -type d -exec sudo chmod 2775 {} \;
$ find /var/local -type f -exec sudo chmod 0664 {} \;

Elastic IPでお名前.comのドメインとEC2のインスタンスを紐づける

Elastic IP アドレスは、動的なクラウドコンピューティングのために設計された静的 IPv4 アドレス
Elastic IP アドレスを使用すると、アドレスをアカウント内の別のインスタンスに迅速に再マップして、インスタンスやソフトウェアのエラーを隠すことができる

IPv4:Internet Protocolの一種で、OSI参照モデルにおいてネットワーク層に位置付けられるプロトコル

インスタンスのサイドメニューから選択する

インスタンスに割り当てる

では、お名前.comで適当に、capital-technology.xyz を取得します。

Route53
Hosted zonesでお名前.comで取得したドメインを入力する。

create record setのvalueのところにEC2インスタンスを割り当てたElasticIPをかくらしい

で、create

お名前.com
対象のドメインのDNSレコードの設定

digする。

おおおおおおおおおおおおおおおおおおおおおおおおおおおおおお
what’s goin on?
とりあえず、ec2に紐づいたみたいだ!とりあえず。。よっしゃあああああああああああああああああ!

さて、では、つぎはec2でスクレイピングかな。
待て待て。落ち着け。

ec2でphpファイルが認識されない

/var/www/htmlのphpファイルがphpと認識されない。

php.iniを開きます。

short_open_tagをonにします。

short_open_tag = On  

httpdを再起動

# service httpd restart

来たー!
落ち着け、落ち着け

続いて、お名前.comで取得したドメインのルーティングを設定したい。

ec2にmysql5.7をインストール

rpmを入れて、community-serverを入れる。

sudo yum -y install http://dev.mysql.com/get/mysql57-community-release-el6-7.noarch.rpm
sudo yum -y install mysql-community-server

–versionでバージョンを確認する。

mysql --version

mysql –version
mysql Ver 14.14 Distrib 5.7.22, for Linux (x86_64) using EditLine wrapper

service start

$ sudo service mysqld start
Initializing MySQL database:                               [  OK  ]
Starting mysqld:                                           [  OK  ]

初期パスワードが自動生成されているらしい。mysqld.logをみる。

$ cat /var/log/mysqld.log

するとずらずらとログが表示されるので、中から、
A temporary password is generated for root@localhost:
を探して、mysql -u root -p でログイン。

$ mysql -u root -p

ログイン出来ました。

/etc/my.cnfに文字コードを追加します。

sudo service mysqld restart でrestart

passwordを変える。

ALTER USER root@localhost IDENTIFIED BY ''

mysql> show databases;
+——————–+
| Database |
+——————–+
| information_schema |
| mysql |
| performance_schema |
| sys |
+——————–+
4 rows in set (0.00 sec)

OK!来た!
次は、var/www/html のページ編集です。

>ec2-user が Apache ウェブサーバーのデフォルトルートディレクトリにあるファイルを管理できるようにするには、/var/www ディレクトリの所有権とアクセス許可を変更する必要がある。
なに!?

>EC2 インスタンスに www という名前のグループを追加し、そのグループに /var/www ディレクトリの
>所有権を付与してグループへの書き込み許可を追加します。
>そのグループの任意のメンバーは、ウェブサーバーに対してファイルの追加、削除、および変更ができるようになります。
なるほど!

ec2の環境を整える

開発系のツールを一括で入れられるそうだ!

sudo yum groupinstall 'Development tools' -y

何じゃこりゃ?

とりあえず、AWSでphpファイルまではきた。

php -vが5.3なのでバージョンを上げたい。
2.2系httpdを削除。2.4系を入れる。

sudo yum remove -y httpd
sudo yum remove -y httpd-tools

sudo yum -y install httpd24

php7.0を入れる

sudo yum -y install php70 php70-mbstring php70-pdo

来た aws php 7.0

調子出てきたので、cyberduckからec2にアクセスしてみる

sftp(sshによる暗号化FTP)接続を指定すると、SSH Private Keyでpemファイルを設定できるようになる。

きたー 大分進んだー 色々やりてー

ルートをみると、普通にlinuxじゃん。OKOK!テンション上がってきました!

/var/www/htmlでindex.phpをつくろうとしましたが、cannot create file index.phpと出ました。

どうやらパーミッション変更が必要のようですね。

awsのKMSとは

AWS Key Management Service (KMS) は、データの暗号化に使用する暗号化キーを簡単に作成および管理できるマネージド型サービスで、キーのセキュリティを保護するために FIPS 140-2 で検証されたハードウェアセキュリティモジュールを使用

FIPS 140-2:連邦情報処理規格140-2:暗号モジュールのセキュリティ要件

AWS Key Management Service は完全マネージド型のサービス。基盤となるインフラストラクチャの可用性、物理的セキュリティ、ハードウェアの管理を AWS が担当し、アプリケーションの暗号化ニーズに集中できる。