在二週前災難發生後,把之前不做的事全都做了一遍,其中一件就是註冊Domain! 免錢網域其實己經用很久了,但壓根沒想到,能抽到一台免費的伺服器測試,就利用這機會試試看!
首先花了點時間,在台灣註冊二個網域及到到GoDaddy註冊二個國外網域.
在4個域名中間,最後選擇使用 funseed.net 。另外目前 Go Daddy有優惠凡購買.com網域, 3個以內每個 2.95元 一年很便宜,註冊5年才16美元,台灣1年要6百多塊台幣呢)。
在這段想域名的時侯,還觀察到一個現象,以自己覺得還行的 noexist.com為例,一般老外會用單字都被搶走,像 notexist 就是!但老外只會想註冊文法或習慣言上的網域,如文法不會這麼說的,就不太會被註冊,像我註冊的 noexist,我才搶的到。
這次主要想做就是把
- DNS主機架在EC2
- 原本的Blog指到新網址
- 修改Wordpress相關設定
我的文章多數是經歷多天”組合”而成,思緒與寫法雜亂或有省略部分,如果網友不懂也歡迎請教。
Step 1. 申請Domain Name 網路上有不少教學文章,GoDaddy對我來說很方便也可靠!
Step 2. Setup DNS server in EC2 instance
我選擇利用 EC2 Free Tier Usage方案來架設DNS,伺服器雖然一年後可能面臨收費的問題,但個人站台只好先暫放到時侯再考慮怎麼做。
sudo apt-get update ; sudo apt-get upgrade -y sudo apt-get install bind9 dnsutils
執行下方指令製作zone transfter交換用的key
dnssec-keygen -a HMAC-MD5 -b 512 -n USER funseed.net.
搞定後,把產生出來的key 最後方的一長串字填入到 named.conf
[/etc/bind] -root- 09:37 # cat Kfunseed.net.+157+37241.key funseed.net. IN KEY 0 3 157 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxx== [/etc/bind] -root- 09:37 # vi named.conf key funseed.net. { algorithm HMAC-MD5; secret "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxx=="; };
第6行中secrect 內填寫的資料是由Kfunseed.net.+157+37241.key 內容而來。
把申請的網域名加入到 /etc/bind/named.conf.default-zones
# My register zone funseed.net. zone "funseed.net" { type master; file "/etc/bind/zone/db.funseed.net"; allow-update { key funseed.net.; }; allow-query { any; }; };
第5行內就是等會要建立網域內容的檔案所在。
依上個步中內指定的位置與檔名,把網域內容建立起來,內容如下列的樣子
$TTL 10800 @ IN SOA funseed.net. xxx.FUNSEED.NET. ( 10 ; Serial number 43200 ; Refresh timer - 12 hours 3600 ; Retry timer - 1 hour 7200 ; Expire timer - 2 hour 86400 ; Minimum timer - 1 day ) @ IN NS ns1.funseed.net. @ IN NS ns2.funseed.net. @ IN MX 10 smtp.asia.secureserver.net. ns1 IN A 50.112.98.95 ns2 IN A 50.112.98.95
– 包含domain 管理者連絡 email(xxx.funseed.net.),一般說會建議2台NS主機分屬不同網段,但在無足夠經費情況下只好一台撐著點用。
– MX部分,則利用GoDaddy原本附送1個EMAIL信箱接收([email protected]),由於Godaddy有三台SMTP主機可設定為MX,根據站台FAQ要以你註冊帳號所屬地區來設定,而我的帳號是隸屬於亞太區,所以在第11行內所示的主機名。
– 啟動DNS服務
service bind9 start
Step 3. 申請一個固定 Elastic IP 及改變反杳名稱與DNS內設定相符
申請一個固定IP是架站最基礎的,且在 AWS 申請是免費的。
接下來可以把 Reverse DNS改成你所要的名稱,這點對未來利用主機做郵件或一些需要反查做為檢核的服務是很重要的。很幸運的AWS 是可以申請反查變更為你要的名稱,以ns1.funseed.net為例
以下是Amazon 的回信,提交後等了二天左右,收到這封回信,隔天反查就生效了。
申請更動反查的頁面 Request to Remove Email Sending Limitations
Step 4. 把原來BLOG 舊址轉到 blog.funseed.net
– add this to function.php
我不知道是否因為使用了Wordpress import plugin 的緣固,在wordpress管理界面中,畫面中siteurl and home 二個值內是反灰的情況無法更動,所以利用下列方法可以快速的解決。
進入使用中的Wordpress佈景目錄所在(/var/www/wordpress/wp-content/themes/xxxxxx),找尋function.php 加入下列二行,網址請自行替換成自己的網站位址
update_option('siteurl','https://blog.funseed.net'); update_option('home','https://blog.funseed.net');
打開你的新網址後,其管理介面就會更新成這二個新網址
-更動 .htaccess
原因是舊址可能在搜尋引擎上有很前面的排列,不想因為改新值而被重新計算或者網友找不到網頁,因此除保有DNS名稱外也同時轉址到新網址去。作法是改動 .htaccess
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} !funseed.net$ [NC] RewriteRule ^(.*)$ https://blog.funseed.net/$1 [R=301,L] RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule>
第5-6行就是把非新網址全都轉到新的Blog網址,當然也包含原先的舊Blog網址。
– 記得改動原先使用的Plugin對應的網址,像analytics , statcounter 等等