AWSでPukiWikiをインストールするまでの流れ

# はじめに
AWS初心者の私がEC2(仮想サーバー)のインスタンスを立ててPukiWikiを設置するまでの流れをまとめます。

# 大まかな流れ
1. https://console.aws.amazon.com/ec2/ を開く
1. 「インスタンスを起動」を選ぶ
1. 各項目を入力して特に問題なければそのまま進む
    1. 名前とタグの「名前」を入力
    1. (OpenSSH(.pem) もしくはPuTTY(.ppk) で公開鍵と秘密鍵を作成)
    1. 「キーペア (ログイン)」にてキーペア(.pem もしくは .ppk)を指定
1. 

# 手順
https://console.aws.amazon.com/

AWSのコンソールホームまでは各自でログインしてください

## 1. EC2インスタンスの作成と起動
補足：Amazon EC2 (Elastic Compute Cloud) とは、AWS上の仮想サーバーのサービス、EC2インスタンスはそれを用いて立てられたサーバー1つのこと

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1015774/fde6635b-585e-fa8b-2a49-2f1498576c42.png)
(1) 上の検索バーから「ec2」と入力するとEC2が出てくるのでそれを選択！


(2) 「インスタンスを起動」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1015774/717aafc7-cce3-3358-3369-00847eda06d6.png)

(3) 各項目の入力
特に理由がなければAmazon Linuxでいいでしょう。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1015774/d5006bdf-c92d-c8a0-3d2a-0217001a63ed.png)

(3-2) キーペアの指定
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1015774/aef536a4-ec4a-68a9-69f4-9931f4d5cada.png)

キーペアがなければ「新しいキーペアの作成」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1015774/ff6d1bf7-b1e4-18b4-6a07-f837ccc8ae49.png)

キーペア名を入力して「キーペアを作成」をクリックします。
クリック後、pem形式のキーがダウンロードされます。
これにはインスタンスへのSSH接続用の秘密鍵が含まれるので誰にも見られない場所に保管してください。

基本的には`.ssh/***.pem`へ保存します。
Windowsであれば多くは`C:/Users/(ユーザー名)/.ssh/***.pem`に保存するでしょう。

(3-2.5) [任意]
ネットワーク設定はそのままで構いませんが、もし、既存のセキュリティグループを使うのであれば変更します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1015774/3798234d-e16e-5dc4-ead8-0c922ef3e0bd.png)

(3-3) 「インスタンスを起動」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1015774/ab24c9e2-b9fa-ec38-10dc-83d1b5513b51.png)


## 2. つくったインスタンスへSSH接続
Apache、PHPのインストール、PukiWikiを突っ込むためにSSH接続します。

ファイル転送に関してSSH接続以外では以下のようにSFTP対応のFTPクライアントを用いることもできるようです。(UserKazun様の記事)

https://qiita.com/UserKazun/items/0d77a718c1871c06a986

(1) 左メニューバーの「インスタンス」を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1015774/b5d8ddfe-92b4-1bfc-a33c-61e1546a92a6.png)

(2) インスタンスID i-xxxxxxxxxxxxxxxx をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1015774/c985079f-8e0b-f49b-cacd-28fb690e2b27.png)

(3) 「接続」をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1015774/643dec51-fa06-61b9-7673-a8446d392454.png)

(4) インスタンスに接続するための説明が記載されているのでこの指示に従います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1015774/789b3348-009d-bb7f-fa6d-3009ef938d29.png)
```sh
ssh -i "xxxxxx.pem" ec2-user@xxx.ap-xxxxxxxx-x.compute.amazonaws.com 
```

sshが使えるターミナルで上記のようなコマンドをタイプして接続しましょう。("インスタンスに接続"の説明にある例からコピペできます)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1015774/d129467f-1fa5-60ca-3288-ba68d052f1a4.png)

## 3. Apacheのインストール
(1) yumのアプデとApacheの導入
```sh
sudo dnf update
sudo dnf install httpd
```

(2) 必要であればインスタンス起動時にApache起動の有効化 (任意)
```sh
sudo systemctl enable httpd
```

## 4. PHPのインストール
(1) PHP 8.3 をインストールする
```sh
sudo dnf install php8.3.x86_64
```

(2) PHPを適用させるためにApacheをリロード
```sh
sudo systemctl reload httpd
```

## 5. PukiWiki 1.5.4のインストール
(1) pukiwiki-1.5.4_utf8.zip をSourceForge.netからダウンロード
```sh
wget --content-disposition -c  https://sourceforge.net/projects/pukiwiki/files/1.5.4/pukiwiki-1.5.4_utf8.zip
```

(2) pukiwiki-1.5.4_utf8.zip の解凍
ファイル名のあとに?viasf=1と余計なものが付いているようなので以下でダメだったら`dir`でチェックしてみてください。
```sh
sudo unzip pukiwiki-1.5.4_utf8.zip?viasf=1 -d ../../var/www/html/
```

(3) zipは削除
```sh
sudo rm pukiwiki-1.5.4_utf8.zip?viasf=1 
```

(4) /var/www/html/pukiwiki-1.5.4_utf8/ から /var/www/htmlへ移動
```sh
cd ../../var/www/html/
sudo mv ./pukiwiki-1.5.4_utf8/* ./
```

## 6. Apacheの起動
```sh
sudo systemctl start httpd
```

## 7. 完了！
これでPukiWikiの設置が完了しました。
あとは焼くなり煮るなり好きにしてください。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1015774/7f004183-a5da-51d2-7bef-4d6213e00078.png)