1.サインイン
- アカウントの作成 メールアドレスはAmazonの宅配のものとは別にする。
- コンソールにルートユーザーでサインイン
- サービス → コンピューティング → EC2
- ダッシュボード → リージョンを東京に変更 → インスタンスの作成
- OSの決定 無料枠で使えるものから今回は Amazon Linux 2 AMI (HVM) SSD Volume Type を選択
- インスタンスのタイプは無料で使えるもの (t2-micro)
- 新しいキーペアの作成 名称は任意で可 ダウンロードしてpemファイルは保管
2.インスタンスの起動
//秘密鍵をダウンロードして以下の名前のフォルダに保管
.ssh/keys
//ターミナルで上記に移動して以下コマンドで権限委譲
chmod 600 秘密鍵の任意の名前.pem
//ダッシュボードの「接続」の例にあるコマンドで接続
接続は一定時間何もしないと切れるのでその場合もこのコマンドで再接続
ssh -i "秘密鍵の任意の名前.pem" ec2-user@ec2-18-183-169-243.ap-northeast-1.compute.amazonaws.com
//諸々アップデート
sudo yum update
//WEBサーバー(Apatch)のインストール
sudo yum install httpd
//WEBサーバーの起動
sudo systemctl start httpd
//WEBサーバーの起動確認
sudo systemctl status httpd
//セキュリティグループのインバウンドでhttpのポートの設定(番号は80で変更はできない。)
//これをウェルノウンポートという。
//httpの場合urlの後ろに「:80」をつけても同じページにアクセスできる。(httpsなら443)
3.index.htmlファイルの作成と表示
cd /var/www/html/
・・lsで確認しても何もない。
sudo vim index.html + enter
//vim画面起動
i
//insert mode になるので書き込める。
何か入力(例:Hello)
esc (左上escキー)
:w + enter
//終了
:q
4.PHPのインストール
sudo yum install php + enter
//Yes/Noを効かれるので
Yes + enter
5.MySQL他インストール
sudo yum install php-mysql php-mbstring php-gd + enter
//Yes/Noを効かれるので
Yes + enter
sudo systemctl restart httpd
これはWordpressを入れるために必要なモジュール群
MySQL データベース
mbstring 日本語を扱うための拡張モジュール
gd 画像を扱うライブラリ
sudo systemctl restart httpd はスーパーユーザー権限でhttpd(Apatch)を再起動するコマンド
6.PHPの動作している環境の確認
sudo vim info.php でファイル作成(方法は上に同じ)
<?php
phpinfo();
?>
ブラウザでip/info.phpと入力し確認できる。
7.固定IPの取得(課金)
IP(Internet Protocol)アドレス -> サーバーの住所
0.0.0.0~255.255.255.255
IPアドレスの種類
- グローバルIPアドレス 外部から接続できる ⭕️
- プライベートIPアドレス ローカルネットワークないで利用 192.168.xxx.xxx
- リンクローカルアドレス 特殊な環境下で利用される 169.254.xxx.xxx
- ループバックアドレス 自分自身のIPアドレス 127.0.0.1
サーバー 固定IP
クライアントなど 動的IP
ダッシュボードのElastic IP
新しいアドレスの割り当て → Elastic IP 保管
インスタンスに割り当て → アクション → アドレスの関連づけ(課金) 使わなくなったらアドレスの開放で課金終了
リソース: インスタンス
インスタンス: runningを選択
これでIPv4が固定IPに変更される。
8.WordPressのセットアップ
アップデートが有る時は
sudo yum update + enter
ここからWordPressのインストール
//zipファイルのダウンロード
wget https://ja.wordpress.org/latest-ja.zip
//zipファイルの解凍
unzip latest-ja.zip
//ここでできたwordpressディレクトリに移動
cd wordpress
//mariaDB(データベース)をインストール
sudo yum install mariadb mariadb-server
//mariaDBの起動
sudo systemctl start mariadb
//mariaDBにログイン
mysql -u root //-uでユーザーを指定 rootで管理者
//rootにパスワードを設定 ()で囲むと暗号化される
update mysql.user set password=password('パスワード') where user='root';
//これを反映させる
flush privileges;
//rootを普段使いするのは危険なのでwordpress専用のユーザーをs設定
create user 'wordpress'@'localhost' identified by 'パスワード';
//出来上がったユーザーが使うデータベースのスペースを作る
create database wordpressdb;
//このスペースを使う権限を先のユーザーに与える
grant all privileges on wordpressdb.* to 'wordpress'@'localhost';
//反映させる
flush privileges;
//確認できる
show databases;
//退出
exit
9.WordPressを表示する。
ダウンロードし、解凍済のフォルダをDocumentRootに移動させる。
//ディレクトリも含めてwordpress全てのファイルを/var/www/htmlにコピーする。
sudo cp -R wordpress/* /var/www/html
cd /var/www/html
ls
index.html sum.php wp-config-sample.php wp-load.php wp-trackback.php
index.php wp-activate.php wp-content wp-login.php xmlrpc.php
info.php wp-admin wp-cron.php wp-mail.php
license.txt wp-blog-header.php wp-includes wp-settings.php
readme.html wp-comments-post.php wp-links-opml.php wp-signup.php
この状態では、index.htmlとindex.phpの両方があり、設定上index.htmlが優先して表示されるので削除する。
sudo rm index.html
PHPのバージョンが古いのでバージョンアップする。
sudo yum install php72 -y
//このコマンドはAWSでは使えないので下を使う。
sudo amazon-linux-extras install php7.2 -y
//アパッチの再起動
sudo systemctl restart httpd
//wp-config-sample.phpをwp-config.phpという名前でコピーを作成する
sudo cp wp-config-sample.php wp-config.php
//wp-config.phpをvimで編集
sudo vim wp-config.php
//vimでdatabase,username,passwordを8で作った内容に書き換える
//書き込みと削除は同時に行えないので都度escで出入する。
//xはdelete
//ddは行削除
//最後のセキュリティーキー部分は指定のurlにアクセスするとapiが自動でユニークなものを作成してくれるのでそれを貼り付ける。
//llで所有者や権限を見れる
//var/www/htmlのオーナー権限をapacheのグループのapacheに全部与える。
sudo chown apache.apache -R /var/www/html
//var/www/htmlの全てについて書き込み権限を与える
sudo chmod +w -R /var/www/html
//chはchange? modはmodify(変更)? ownはowner(所有者)?
10.DNSの設定
AWSのRoute53でもできる。