投稿者: shun@takahashi

  • 3日目:画面表示されない為SSL 接続修正

    -作業手順-

    ・リダイレクトループ(ERR_TOO_MANY_REDIRECTS)を発見
    ・.htaccessのリダイレクト設定を修正
    ・Cookie・キャッシュの削除
    ・開いたリンクが表示されリダイレクトループ解消

    リダイレクトループ(ERR_TOO_MANY_REDIRECTS)を発見

    ・takatakawordpress.com/blogは接続できていたがtakatakawordpress.com/blog/wp-adminに接続しようとするとERR_TOO_MANY_REDIRECTSと表示される。

    . htaccessのリダイレクト設定を修正

    ・HTTPSのリダイレクトとApache設定の衝突している。

    ・SSL設定によりhttp→httpsのリダイレクトが強制されているのにWordPress側がhttpでアクセスしようとしているとリダイレクトループになるため.htaccessの中身を確認し問題部分を修正する。

    Cookie・キャッシュの削除

    ・Google chromeの画面右上の縦の三点をクリック。

    ・設定→プライバシーとセキュリティ→サードパーティ Cookies へ移動する。

    ・すべてのサイトデータと権限を表示を選択する。

    ・takatakawordpress.comを検索しサイトデータと権限を削除をクリック。

    開いたリンクが表示されリダイレクトループ解消

    ・/blog/配下の/wp-admin/にアクセス可能。

  • 2日目:EC2 WordPres   SSL証明書  発行 

    -発行手順-


    ・お名前.comでドメイン取得
    ・AWS Certificate Manager (ACM)で証明書リクエスト
    ・Route 53でホストゾーン作成
    ・作成されたNSレコード、IPアドレスをお名前.comに設定(ネームサーバー変更)
    ・ACMのCNAME検証レコードをRoute 53に追加
    ・ALB(ロードバランサー)を作成
    ・ターゲットグループを作成
    ・Route 53で独自ドメインをALBに向ける
    ・WordPressをhttps接続確認

    お名前.comでドメイン取得

    ・お名前.comでtakatakawordpress.comドメイン取得。

    AWS Certificate Manager (ACM)で証明書リクエスト

    ・AWSで「Certificate Manager」 を検索する。

    ・証明書をリクエストをクリック。

    ・証明書タイプでパブリック証明書をリクエストを選択して次へをクリック。

    ・ドメイン名に取得したtakatakawordpress.comを入力する。

    ・エクスポートを許可で無効を選択する。

    ・検証方法はDNS検証を選択する。

    ・キーアルゴリズムでRSA 2048を選択する。

    ・リクエストをクリックし作成完了

    Route 53でホストゾーン作成

    ・AWSで「Route 53」 を検索する。

    ・左側メニューでホストゾーンをクリック。

    ・ホストゾーンの作成をクリックする。

    ・ドメイン名をtakatakawordpressで登録する。

    ・タイプをパブリックホストゾーンを選択する。

    ・ホストゾーンの作成をクリックして作成完了。

    ・ACMのCNAME検証レコードをホストゾーンに追加する。

    作成されたNSレコードとIPアドレスをお名前.comに設定(ネームサーバー変更)

    ・お名前.comにログインする。

    ・左側メニューのネームサーバー/DNSのドメインDNS設定を選択する。

    ・ドメイン一覧でtakatakawordpress.comのDNS設定をクリックする。

    ・DNSレコード設定でレコードの追加を選択する。

    ・Route 53 で自動作成されたNSレコード(4つのネームサーバー)とインスタンスのパブリックIPアドレスを入力し保存する。

    ALB(ロードバランサー)を作成

    ・AWSで「EC2」を検索する。

    ・左側メニューのロードバランサーをクリック。

    ・ロードバランサーの作成をクリック。

    ・Application Load Balancer を選択する。

    ・ロードバランサー名にmyLoadBalancerを入力する。

    ・スキームでインターネット向けを選択する。

    ・ロードバランサーのIPアドレスタイプでIPv4を選択する。
     リスナーとルーティングでリスナーにHTTP(ポート80)と HTTPS(ポート443)を選択する。

    ・ネットワークマッピングでVPCとサブネットマスク(最低2つ)を選択する。

    ・セキュリティグループでHTTPS (443) と HTTP (80) を許可したのを追加する。

    ・HTTPSリスナーの証明書に「ACMで発行した証明書」を選択する。

    ・ロードバランサーの作成をクリックして完了。

    ターゲットグループを作成

    ・AWSで「EC2」を検索する。

    ・左側メニューのターゲットグループをクリック。

    ・ターゲットグループの作成をクリック。

    ・ターゲットのタイプでインスタンスを選択する。

    ・ターゲットグループ名をmy-target-groupで入力する。

    ・プロトコルをHTTP:80にする。

    ・ヘルスチェックのヘルスチェックパスを/にする。

    ・EC2インスタンスをターゲットとして登録し作成完了。

    Route 53で独自ドメインをALBに向ける  

    ・AWSで「Route 53」を検索する。

    ・左側メニューのホストゾーンをクリック。

    ・対象ドメインのホストゾーンを開く

    ・レコードを作成からMyLoadBalancerのレコード名、タイプ(A)、値(ALB、ターゲット)を指定する。

    WordPressをhttps接続確認

    ・takatakawordpress.com でブラウザにアクセスする。

    ・https接続されている。

  • 1日目:WEBサーバー(EC2) でwordpress構築

    -構築手順-

    ・EC2インスタンスを作成
    ・Tera Term 5インストール&インスタンスにSSHで接続
    ・Apacheインストール
    ・PHPをインストール
    ・MariaDBインストール
    ・phpMyAdminインストール
    ・phpMyAdminブラウザ表示
    ・WordPressインストール
    ・Wordpressブラウザ表示

    補足

    EC2とはAmazon Web Services (AWS)が提供している仮想サーバーです。

    EC2におけるインスタンスタイプとはサーバーをどのくらい高性能にするかを決めるものです。

    1.EC2インスタンスを作成

    ・AWSマネジメントコンソールからEC2を開く。

    ・左側メニューからインスタンスを開きインスタンスを起動をクリック。

    ・名前とタグので任意の名前を決める。

    ・アプリケーションおよび OS イメージ (Amazon マシンイメージ)で無料利用枠の対象にあるAmazon Linux 2 AMI (HVM) – Kernel 5.10, SSD Volume Typeを選択する。

    ・インスタンスタイプで無料利用枠の対象にあるt2.microを選択する。

    ・キーペア(ログイン)でキーペア名を入力しキーペアのタイプをED25519を選択しプライベートキーファイル形式を.pemを選択しキーペアを作成する。

    ・ネットワーク設定でセキュリティグループを作成を選択し、他の設定はデフォルトのままでインスタンスを作成する。

    ・左側メニューからインスタンスをクリックし、作成したインスタンスを選択します。インスタンス画面下部にあるセキュリティをクリックしセキュリティグループを選択する。

    ・セキュリティグループのインバウンドのルールを編集します。ルールの追加をクリックし、タイプに”HTTP”を選択して保存ボタンをクリック。

    ・これでHTTP通信完了。

    Tera Term 5インストール&インスタンスにSSHに接続

    ・Tera TermホームページからTera Term5をダウンロード&インストールする。

    https://teratermproject.github.io

    ・Tera Term5を開きホスト名に作成したインスタンスのパブリックDNSを入力、サービスはSSHを選択し、OKをクリック。

    ・ユーザ名を”ec2-user”で入力する。

    ・認証方式RSA/DSA/ECDSA/ED25519鍵を使うで作成した秘密鍵をファイルから選択しOKをクリック。

    ・SSH接続完了。

    Apacheをインストール

    ・wordpressを使うためのwebサーバーApache(httpd)をインストール

    ・Apache起動。

    ・サーバー開始時に自動的に起動するように設定する。

    ・いま使っているec2-userをapache グループに追加し、/var/www/ 配下にファイルを書きこめるようにする。

    ・/var/www とそのコンテンツのグループ所有権をapacheグループに変更する。

    ・グループの書き込み許可を追加して完了。

    PHPをインストール

    ・php7.3が参照されるように事前にコマンドを実行する。

    ・PHPと関連するパッケージをインストールする。

    MariaDBをインストール

    ・WordPress のデータベースとして使用する MariaDB をインストール。

    ・起動&自動起動設定する。

    ・mysql_secure_installation を実行し、設定変更する。

    phpMyAdminをインストール

    ・phpMyAdmin関連パッケージをインストールする。

    ・Apacheを再起動する。

    ・cdコマンドでApacheドキュメントルートに移動する。

    ・wgetコマンドを使ってphpMyAdminをダウンロードする。

    ・phpMyAdmin フォルダを作成して、phpMyAdmin パッケージを展開(解凍)する。

    ・元の tar.gz ファイルをrmコマンドで消す。

    ・Webブラウザからhttp://[パブリックDNS]/phpMyAdmin にアクセス完了。

    WordPressインストール

    ・最新の WordPress を EC2 インスタンス上にダウンロードして展開(解凍)する。

    ・mysql クライアントを使って MariaDB に root ユーザーでログインし、WordPressの為のデータベースをセットアップする。

    ・CREATE USERでデータベースのユーザーとパスワードを作成する。

    ※パスワード部分は独自のパスワードを設定。

    ・CREATE DATABASEでデータベースを作成する。

    ・GRANTによって、データベースに対してさきほど作成したユーザーの権限を追加する。

    ・すべての変更を有効にするため、データ権限をフラッシュする。

    ・mysqlクライアントを終了する。

    ・wp-config-sample.php ファイルを wp-config.php という名前でコピーする。

    ・vimでwp-config.php ファイルを編集する。

    ・DB_NAME、DB_USER、DB_PASSWORDをmysqlクライアントでセットアップした内容に変更する。

    ・WordPress をドキュメントルートではなく、その下の子ディレクトリで実行するために/html/配下に/blog/ディレクトリを作成しコピーする。

    ・vimでhttpd.conf ファイルを開き<Directory “/var/www/html”>セクションのAllOverrideをNoneからAllに変更する。

    ・Apache (httpd) プロセスが /var/www/ に書き込めるようにする。

    ・Apacheを再起動する。

    Webブラウザーでhttp://[パブリックDNS]/blog/wp-admin/install.phpでWordPressにアクセスしてインストールを完了。