【2016最新】AWSだけで完結!独自ドメイン取得&ペライチHP作成(完了目安:1時間)

カテゴリー 卑屈で塗り固めた深夜の本音トーク, 時を加速させるプライベート★ライフ

どうも、白戸です。

 

自分の事業を立ち上げ中という話を何度か書きましたが、先日、その会社のHP作成に取り掛かりました。ちなみに、会社はまだ存在しません。登記は投資家プレゼンが上手くいってからにするつもり。

まだ中身はサンプルのままですが、サイトはこちら↓

//nanakusa-lab.com(停止中)

※現在休業中につきHPも停止中。最近、アプリ用HPをGCPで作って記事にしたのでよかったら下のリンクもご参考までにどうぞ(2018/08/08追記)

【簡単すぎwww】AWSより安くて簡単と話題のGCPで独自ドメインとってホームページ作ってみた

 

うふふ。流行り&憧れのペライチです。ペライチとは、縦スクロールでページが1枚だけのサイトのこと。スマホで閲覧されることが多いので、イケてるサイトはだいたいこの形態です。

 

こっからあとはWordpressのダッシュボードで編集するだけ。写真を変えたりね。でも写真がないのでまた後日。

とても簡単&ペライチのHPくらいならスペック的にもAWS無料枠内で余裕なので、皆さんも遊びの一環で、お気楽に作ってみてはいかがでしょうか。

 

1. サーバーを作る

10年くらい前だと、秋葉原にマザーボードやらメモリやらパソコンの部品を買いに行って、ハードウェアの組み立てから始めて自宅サーバーを構築し、そこに秘密のデータ(主にセクシー画像中心)をストックしたりHPを設置したりという、選ばれしオタクな人たちだけの、マニアックな世界でした。

ですが、今はクラウドサービスが充実しているので素人でも無料かつ簡単にHPが作れちゃうんですね!Thank you, Amazon! I love Amazon!

AWSはミニマムスペックなら1年間は無料で使えるので助かります。ちなみに1年過ぎても使い続ける(インスタンスが起動したまま)だと課金されるので注意!まー課金される前にお知らせメールが来るのですが、一応ね。

 

ECショップとかはなくシンプルなHPを作りたいだけなら、AWSのEC2(無料利用枠)で余裕です。

ちなみに当サイトも完全AWSで構成されていますが、ブログなのでEC2だけではなく、DBにRDSを使っています。 「はぁ?」って人は気にしなくて大丈夫です。

 

1.1. AWSにサインアップ/サインイン

https://aws.amazon.com/jp/

AWSアカウントを持ってない人は、ページ右上の黄色いボタン「サインアップ」を押下。

※持ってる人は「サインイン」画面に遷移します。

1.2. EC2インスタンス作成 & 固定IP割り当て

管理コンソールが開いたら、EC2(Amazon Elastic Compute Cloudの略。クラウドサーバーのサービス)をクリック

→画面左のメニューに「EC2ダッシュボード」と表示されていることを確認

→画面左のメニューから「インスタンス」を選択

→画面左上の青ボタン「インスタンスの作成」を押下

→ステップ1: AMIの選択 で、「Amazon Linux 64ビット(無料利用枠の対象)」を選択

※AMI:Amazon Machine Imageの略。OS(WindowsとかLinuxとか)のこと。

→ステップ2: インスタンスタイプの選択 で、「t2.micro(無料利用枠の対象)」を選択

※インスタンスタイプ:スペックのこと。もっと大容量に、もっと高速に、という人は有料のやつを選択しましょう。

→ステップ3: インスタンスの詳細の設定 は、何もいじらない

→ステップ4: ストレージの追加 も、何もいじらない。

→ステップ5: インスタンスのタグ付け は自分がわかればOK。テキトーでOK。

→ステップ6: セキュリティグループの設定

→「新しいセキュリティグループを作成する」を選択

→セキュリティグループ名と説明はデフォルトのままでOK。テキトーでOK。

→ルール①誰でもHTTP接続(WEBでアクセス)できるようにする

タイプ「HTTP」、プロトコル「TCP」、ポート範囲「80」、送信元「0.0.0.0/0」

→ルール②自分だけがSSH接続(サーバー内部をいじれる)できるようにする

タイプ「SSH」、プロトコル「TCP」、ポート範囲「22」、送信元「※マイIP」

※マイIPは確認くんの「現在接続している場所(IPv4)」でも確認できる。

→確認&作成

キーペアはダウンロードして保管

※あとでSSH接続に使います。名前は自分がわかればOK。テキトーでOK。

 

ここからは固定IPの取得。続けてGO!

→画面左のメニューで「Elastic IP」を選択

→画面左上の青ボタン「新しいアドレスの割り当て」を押下

→「関連付ける」でElastic IPが割り当てられたことを確認。取得したElastic IPはメモっときましょう。

→「アクション」ボタンで「アドレスの関連付け」を選択

→「インスタンス」に先ほど作成したEC2インスタンスIDを入力

→「関連づける」を押下

 

完成!かんたん〜

1年前くらいに作った時より、AWSが大幅に改善されててわかりやすくなってました。前はマイIPとかなかったのに。。ちょっとびっくりしました。

 

2. 独自ドメイン取得

調べたら、「AWSはレジストラではないのでドメイン取得は別(お名前.comとか)でしないとダメよ」的なサイトが多いのですが、現在はAWSのRoute53でドメイン取得までできるようになっているので、AWSで取得することをお勧めします。

(AWS内のサービスなので当たり前ですが)AWSとの親和性も高いし、何よりAWSだけで完結している方が管理面で楽ですよね。

ちなみにドメイン代は有料ですが、AWSに限らずどこでも同じなので「もっと安いところは・・・」とか探さなくて大丈夫です。

$37とか失神レベルの高額なのもありますが、何が違うのかわたしはよく知りません。

 

2.1. AWSにサインアップ

https://aws.amazon.com/jp/

2.2. Route53でドメイン取得

管理コンソールが開いたら、Route 53(DMS:Domain Name Service、ドメイン登録も始めたらしい!)をクリック

※このサービスは日本で使ってる人が少ないのか、英語です。

→画面左のメニュー(Dashboard)から「Registered domains」を選択

→好きなドメイン名を入力し、「check」ボタン押下

※HPのアドレスを「nanakusa-lab.com」の場合は、「nanakusa-lab」を入力し「.com -$12.00」を選択

→Contact Details for Your 1 Domainで、自分の連絡先を入力

→ドメイン取得。つまりは購入(登録してあるクレジットカードで支払いになります)

 

ここからはホストゾーンの作成です。続けてGO!

→画面左のメニュー(Dashboard)から「Hosted zones」を選択

→画面左上の青ボタン「Create Hosted Zone」を押下

→画面右側の「Domain Name」に先ほど取得したドメイン名を入力(例:novelel.com)

→「Create」ボタン押下

→画面左上の青ボタン「Create Record Set」を押下

→画面右側に必要事項を入力

※例)HPアドレスを「nanakusa-lab.com」にしたい場合↓

Name:そのまま(空欄)、Type:そのまま(A – IPv4 address)、Alias:そのまま(No)、TTL:そのまま(300)、Value:取得したElastic IP

※HPアドレスを「test.nanakusa-lab.com」にしたい場合は、Nameに「test」と入力

→「Create」ボタン押下

→画面中央のRecord Setが2行から3行に増えたことを確認。

Typeが「A」のやつが追加されてるはず。

→3つのRecord Setの真ん中(Typeが「NS」)のValueにある4行の文字列をコピーしてどっかに貼っとく(こんなん↓)。ちなみにNSはネームサーバーの略。

ns-111.awsdns-11.net.

ns-222.awsdns-22.com.

ns-333.awsdns-33.co.uk.

ns-444.awsdns-44.org.

 

次に、レジストラにネームサーバーを登録します。

この場合、レジストラもAWSになるのでお名前.comとかで請求が発生したり管理しなくて良いので楽ですね!ありがたや。

→画面左のメニュー(Dashboard)から「Registered domains」を選択

→先ほど取得したドメインが1行、青字で表示されているはずなので青字リンクをクリック

→画面右らへんのName Serversに、先ほどコピーして貼っといた文字列の、最後のピリオドを抜いて入力。(通常はAWSが自動でセットしてくれているはずなので変更しなくて良いはず)

→無事登録が終わると、しばらくしてさきほど入力した連絡先(メールアドレス)に、確認&認証メールが届きます。リンクをクリックするのを忘れないように!

 

以上でAWS管理コンソールでの作業は終了です!おめでとうございます。

 

3. 必要なソフトウェアをインストール

1、2、であなただけの仮想サーバーが立ちました。イメージしにくい人は、「パソコンを1つ手に入れた」と思ってもらえれば良いです。当サイトの手順通りにやった人は、OSはLinux、メモリは8GBです。

 

次は、この仮想サーバーにHPを構築します。

必要なものは「Wordpress」と、Wordpressを動かすために必要な「MySQL」「PHP」「nginx」なので、それらをインストールしていきます。nginxというのは、apacheの代わりと思ってもらえれば良いと思います。apacheってナニ?って人は気にしなくて良いと思います。

 

3.1. サーバーにSSH接続

まずは自分のパソコンでダウンロードフォルダを開く。

→1でダウンロードしておいたキーペア(xxxxxx.pem.txt)をコピーし、一つはそのまま保管、もう一つはファイル名から「.txt」を削除。

→自分のパソコンで「ターミナル」を起動

※Macの人は「ターミナル」、Windowsの人は「コマンドプロンプト」

 

→ディレクトリ移動

cd Downloads/

→キーペアをSSH用のフォルダに移動(Linuxできる人はべつにやんなくても良いです)

mv xxxxxx.pem ~/.ssh/

→キーペアのアクセス権限を変更

chmod 600 ~/.ssh/xxxxxx.pem

→SSH接続

ssh -i ~/.ssh/xxxxxx.pem ec2-user@”自分のElastic IP”

Elastic IP(例:52.196.123.456)の部分は、ドメイン名(例:novelel.com)でもOKです。ただし反映されるのに時間がかかることもあるので、繋がらなくても落ち込まないで大丈夫です。元気出してください。

→一番下の行に「[ec2-user@ip-xxx-xxx-xxx-xxx ~]$」と表示されていれば接続完了

 

ターミナルは閉じないでくださいね。続けてGO!GO!

※Linuxいじったことない人にはちょっとコマンド操作はなれないかもしれませんが、慣れるまでは細かいことは考えずに淡々とやれば良いと思います。

もっと言うと、この初期設定だけしてしまえばあとはSSH接続とか必要ないので慣れるほどいじらないです。すみません。

3.2. MySQLのインストール

→ec2-userからrootに変更

sudo su –

→yumインストールコマンドでMySQL(ver56)をインストール

yum install mysql56-server

※下手にバージョンを変えると動かなくなる可能性があるので、わかんない人は最新とかにせず、このままインストールすることをお勧めします。

→MySQLの設定ファイルを編集

vi /etc/my.cnf

→以下を追記

[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
skip-character-set-client-handshake
character-set-server=utf8
collation-server=utf8_general_ci
init-connect=SET NAMES utf8

## for performance
max_connections=15

tmp_table_size=48M
max_heap_table_size=48M

key_buffer_size=8M
net_buffer_length=16K
sort_buffer_size=2M
read_buffer_size=128K
join_buffer_size=256K
read_rnd_buffer_size=256K

innodb_buffer_pool_instances=1
innodb_buffer_pool_size=24M
innodb_log_buffer_size=2M
innodb_additional_mem_pool_size=2M
myisam_sort_buffer_size=2M

query_cache_size=64M
query_cache_limit=32M
query_cache_type=1
thread_cache_size=16

→MySQL起動

/etc/rc.d/init.d/mysqld start

→自動起動設定

chkconfig mysqld on

→MySQL実行

mysql

→DB作成。この例では、DB名は「wordpress」としました。

mysql> create database wordpress;

→ユーザ作成。この例では、ユーザー名は「wpuser」、パスワードは「wppass」としました。

mysql> grant all privileges on wordpress.* to wpuser@localhost identified by wppass;

mysql> flush privileges;

mysql> quit;

 

続けてGO!

3.3. PHPのインストール

→yumインストールコマンドでPHP(ver56)をインストール

yum install php56 php56-mysqlnd php56-fpm php56-mbstring

→PHPの設定ファイルを編集

vi /etc/php.ini

→ファイルサイズの上限設定。以下のように数値を変更(8Mから20Mに)

upload_max_filesize = 20M
post_max_size = 20M

→php-fpmの設定

vi /etc/php-fpm.d/www.conf

→以下のように変更(apacheをnginxに。あと数値)

user = nginx
group = nginx
...
pm.max_children = 10
pm.start_servers = 2
pm.min_spare_servers = 2
pm.max_spare_servers = 6
pm.max_requests = 500

→自動起動設定

chkconfig php-fpm on

 

続けてGO!GO!

3.4. Nginx(エンジンエックス)のインストール

→yumインストールコマンドでnginxをインストール

yum install nginx

→nginxの設定

vi /etc/nginx/nginx.conf

→以下のように設定

...
http {
    ...
    sendfile            on;
    open_file_cache max=100 inactive=20s;
    ...
    server {

        root         /usr/share/nginx/html/wordpress;
        client_max_body_size 20M;
        index           index.html index.htm index.php;

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        # (中略)
        location ~ \.php$ {
        #    root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
            }
    ...
}
...

→自動起動設定

chkconfig nginx on

 

次でラスト!続けてGO!GO!GO!

3.5. WordPressの取得

→wordpressをインストールするディレクトリに移動

cd /usr/share/nginx/html

→Wordpressを取得&解凍(インストール)

wget https://ja.wordpress.org/wordpress-4.4-ja.tar.gz

tar xvzf wordpress-4.4-ja.tar.gz

→アーカイブファイルの削除

rm wordpress-4.4-ja.tar.gz 

→オーナーを変更

chown nginx:nginx wordpress -R

→nginx、php-fpmの起動

/etc/rc.d/init.d/nginx start

/etc/rc.d/init.d/php-fpm start

 

以上でターミナルでの操作はおしまいです。お疲れ様です!

4. WordPressのインストール

SafariでもGoogle CromeでもInternet exploreでも良いのですが、ブラウザを起動します。

→URLアクセス!この例では、「//固定IPアドレス」

→「Wordpressへようこそ」画面が開くことを確認

→「さあ、始めましょう!」ボタンを押下

→DB設定。3.2のMySQLインストールのところでやったDB設定と同じにする。

データベース名:wordpress

ユーザー名:wpuser

パスワード:wppass

データベースのホスト:そのまま(localhost)

テーブル接頭辞:そのまま(wp_)

→「送信」ボタンを押下

 

→サイト設定。お好きなように入力。パスワードはわからなくなっても誰も教えてくれないので保存しておきましょう。

→「Wordpressをインストール」ボタンを押下

→ダッシュボードの「設定」の「一般」で、数字の固定IPを独自ドメインのアドレスに変更

WordPressのアドレス(URL)://独自ドメイン(例://novelel.com)

サイトのアドレス(URL)://独自ドメイン(例://novelel.com)

→ペライチのWordpressテーマを選択

この例では、「MOESIA」にしました。他にも、「ADVERTICA」とかイケてるのがいっぱいです。いつの間にこんなに充実したのでしょう。

→あとはデザインとかもろもろ、自由にやってください。

 

 

以上、終了!!

あ、重ねて言いますが、WordPressのアップデートとかすると動かなくなる可能性もあります。アップデートするなら、事前にAWS管理コンソールのEC2ダッシュボードで、AMIのスナップショットを取ってからにしましょう。そうすれば、失敗しても復元できるので安心です。

 

あとは、独自ドメインでアクセスしてみましょう!ドキドキ!

404が出ないことを陰ながらお祈りしまております。

 

どうでしょう? いやぁ、長かったですね。

ちなみに、私はこの記事書くのに丸一日潰しましたが、サイトの立ち上げ自体は1時間くらいでできました。あとはどうデザインしていくか、楽しみですね!でも疲れたので当分は変わらないかも。デザインとか内容とか、いろいろ考えるのめんどい(本末転倒)

 

みなさんも、ぜひ自分でサイトを作ったら、作業過程をブログ発信してみてください。

一緒に一日を棒に振りましょう。

 

※現在休業中につきHPも停止中。最近、アプリ用HPをGCPで作って記事にしたのでよかったら下のリンクもご参考までにどうぞ(2018/08/08追記)

//nanakusa-lab.com(停止中)

【簡単すぎwww】AWSより安くて簡単と話題のGCPで独自ドメインとってホームページ作ってみた

【2016最新】AWSだけで完結!独自ドメイン取得&ペライチHP作成(完了目安:1時間)” への1件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です