だぱんだブログ

プログラミングを中心にした忘備録代わりのメモ

AWS無料枠でWordpressセットアップ

EC2インスタンス立ち上げ

  • AWSのサービスから「EC2」を検索→インスタンスを起動
    • ステップ1:Amazon マシンイメージの選択
      Amazon Linux 2 AMI (HVM), SSD Volume Type - ami-0ca38c7440de1749a (64 ビット x86) / ami-0d14de74618b313e2 (64 ビット Arm) を選択
    • ステップ6:セキュリティグループの設定
      • 新しいセキュリティグループを作成する(launch-wizard-1)
      • HTTP、HTTPSを追加
    • 起動時にkey-pairを選択、または新規作成(hoge.pem)

Elastic IPアドレスの生成とEC2インスタンスへの紐付け

RDSインスタンス立ち上げ

  • AWSのサービスから「RDS」を検索→データベースの作成
    • データベース作成方法を選択:標準作成
    • エンジンのオプション
      • エンジンのタイプ:MySQL
    • テンプレート:無料枠
    • 設定
      • DBクラスター識別子:任意(database-1)
      • 認証情報の設定
        • マスターユーザ名:任意(admin)
        • パスワード:任意(password)
    • 接続
      • VPNセキュリティグループ:新規作成(rds-wordpress)
    • 追加設定
      • 最初のデータベース名:任意(wordpress_db)

ドメインの取得と紐付け

  • ドメインの登録(3日かかる)
    • AWSのサービスから「Route53」を検索→ドメインの登録
    • 希望のドメインを入力して、「チェック」
    • チェックの結果「利用可能」となれば、「カートに入れる」→「続行」
  • ドメインとIPの紐付け

ApatchWordpressのインストール

  • EC2へログイン
sudo chmod 600 ~/.ssh/hoge.pem # 秘密鍵のPermissionを変更
ssh -i ~/.ssh/hoge.pem ec2-user@ec2-XX-XX-XX-XX.ap-northeast-1.compute.amazonaws.com # @以降はEC2のインスタンスをクリックして「パブリック IPv4 DNS」で確認可能
sudo yum install httpd
sudo systemctl start httpd.service # 開始
sudo systemctl status httpd.service # 確認
●httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
   Active: active (running) since 日 2021-05-16 07:08:56 UTC; 2s ago
     Docs: man:httpd.service(8)
...
sudo systemctl enable httpd.service # 自動起動設定
sudo chown ec2-user -R /var/www/html
wget http://ja.wordpress.org/latest-ja.tar.gz # パッケージのダウンロード
tar xzvf latest-ja.tar.gz # パッケージの解凍
cd wordpress
cp wp-config-sample.php wp-config.php 
vi wp-config.php
  • wp-config.phpへRDS情報の入力
// ** MySQL 設定 - この情報はホスティング先から入手してください。 ** //
/** WordPress のためのデータベース名 */
define( 'DB_NAME', 'wordpress_db' );

/** MySQL データベースのユーザー名 */
define( 'DB_USER', 'admin' );

/** MySQL データベースのパスワード */
define( 'DB_PASSWORD', 'password' );

/** MySQL のホスト名 */
define( 'DB_HOST', 'wordpress-db.XXXXX.ap-northeast-1.rds.amazonaws.com' ); # RDSのインスタンスを選択すると「エンドポイント」で確認可能
/**#@+
 * 認証用ユニークキー
 *
 * それぞれを異なるユニーク (一意) な文字列に変更してください。
 * {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org の秘密鍵サービス} で自動生成するこ>ともできます。
 * 後でいつでも変更して、既存のすべての cookie を無効にできます。これにより、すべてのユーザーを強制的に再>ログインさせることになります。
 *
 * @since 2.6.0
 */
define( 'AUTH_KEY',         'put your unique phrase here' );
define( 'SECURE_AUTH_KEY',  'put your unique phrase here' );
define( 'LOGGED_IN_KEY',    'put your unique phrase here' );
define( 'NONCE_KEY',        'put your unique phrase here' );
define( 'AUTH_SALT',        'put your unique phrase here' );
define( 'SECURE_AUTH_SALT', 'put your unique phrase here' );
define( 'LOGGED_IN_SALT',   'put your unique phrase here' );
define( 'NONCE_SALT',       'put your unique phrase here' );
sudo amazon-linux-extras enable php7.4
sudo yum clean metadata
sudo yum install php-cli php-pdo php-fpm php-json php-mysqlnd
sudo systemctl restart httpd.service
cd ..
mv wordpress /var/www/html/
sudo chown -R apache:apache /var/www/html/