轉移我的網站至 GoDaddy 新的主機服務上

前言

GoDaddy 的主機服務並不是我最早接觸的服務,當年我所接觸的主機服務,後來似乎已不見蹤跡,可能是改了名,或是…,但無論如何,我這幾年都是用 GoDaddy,原因是 GoDaddy 的主機服務,符合我這樣的小站,能夠在顧及荷包的前提下,滿足現階段網站在流量與空間上需求。

GoDaddy 通常提供第 1 年優惠的方案,第 2 年開始,價格就比較高,網路上或是 GoDaddy 也會提供一些新註冊服務的主機服務特惠,但是,這都僅止於第 1 年,以 JUTE.PW 而言,想要單以透過酷碰券的方式,在 1 年後,直接延續那些優惠是不太可能的。

今天這一篇要分享的,就是透過一些程序與步驟,讓自己可以繼續以原本(或非常接近)的優惠價格,維持網站運作。


過程概述

  1. 首先,一樣透過酷碰券再註冊一個為期 1 年的主機服務。
  2. 接著,啟用主機服務的時候,選擇「轉移現有網站」。
    transferMyWebsiteToNewHostOnGodaddyEp (1)
  3. 接下來,就很簡單,照著說明一步一步就可以完成,這裡,我把每個步驟截圖下來,有興趣的伙伴,可以點相簿瀏覽參考。
    hostServiceByGodaddy

後記

上面的整套程序走完,就算結束了嗎?

  1. 以我而言,只能說是完成一半,我所轉移的是 WordPress 架設的部落格,還有一些 Plugins 要處理,另外,也要把 SSL 重新再做一些設定。
  2. 其實,能夠再用酷碰券是滿關鍵的,我用了 2、3 年,發現 GoDaddy 都還是會釋出這樣的酷碰券,如果沒有酷碰券優惠,我可能就會再繼續找網路上其他的服務商能不能有類似的價格,當然,服務的品質至少要達到 GoDaddy 目前所提供的這樣才行。

轉址到 jute.PW

前言

基於 2 個原因,我把原本的部落格網址,轉址到 JUTE.PW。

  1. 成本與 App 熟悉度:原本的部落格租用的主機空間,將於 2022 年 8 月 27 日到期,有點小氣的我,本來還想說再轉到 Blogger 上,…但,坦白說,WordPress 實在太好用,我已經決定運用這支 Web App 讓自己的部落格生根,不再移來移去的。另外,原本的域名每年租用費用偏高,我找到網路上 DYNADOT.COM 提供的域名租用服務,目前每年租用價格是 19.99 美元,即使已經比較便宜,仍比新域名:JUTE.PW 每年 9 美元高出 2 倍。
  2. Google Domains:JUTE.PW 可以在 Google Domains 這邊註冊租用,雖然,價格不一定是最便宜的,然而,將近 1 年的體驗,我認為 Google Domains 幾乎都能夠滿足我的需求。之前的頂級域名,Google Domains 的服務尚未納入與提供使用者進行註冊租用,假設 Google Domains 願意納入且價格合理的前提下,我可能就不會有 Redirection 的想法與規劃。

設定 Redirection 前

  1. 預備好新域名與主機:我目前沒有另外花錢,因為,新域名:JUTE.PW 是老早就註冊好,而主機 (Web Hosting) 也是之前花錢租用的,我做的事情,就是把 WordPress 這支 App 安裝上去,並且設定好 SSL。
  2. 匯出文章:2 個網站都用 WordPress 架設,所以,非常容易就可以搞定,從舊站 WordPress 後台的【工具】→【匯出程式】,將舊有的部落格文章匯出。
  3. 整理連結:承上述,我會用文字編輯器把匯出的檔案開啟,用「搜尋/取代」的方式,把舊網站設定的連結,改成新網址。
  4. 匯入文章:到新站 WordPress 後台的【工具】→【匯入程式】,在接下來的畫面,找到「WordPress」後,安裝並執行程式,將上面 2 個步驟整理好的匯出資料,整個匯入並指定好使用者,基本上就可以搞定。
    redirectToJuteDotPw1
    redirectToJuteDotPw2
    redirectToJuteDotPw3

設定 Redirection

  1. Redirection 是一支 WordPress 的外掛程式,透過 Redirection 就可以輕鬆地將原本的部落格網址以 Redirect 的方式,轉到新域的網站。
  2. 上面提到,匯入/匯出文章過程中的內文連結設定,只要把 Redirect 寫好,讓 Permalink(靜態連結、固定連結) 也跟著 Redirect 的話,一開始影響並不會太大。如果舊域名與主機可以持續運作個幾年,基本上也應該不用太擔心。
  3. Redirection 安裝好,初次啟用會有一些動畫,可惜我沒有拍下來。不過,後續要找到這支外掛的設定頁面,只要在 WordPress 後台,滑鼠移到【工具】,就會跳出相關選單。(下圖)
    redirectToJuteDotPw4
  4. 所有的 Redirection 裡的設定,我只去做這個設定,基本上就搞定得差不多。(下圖)
    redirectToJuteDotPw5

後記

  1. Google Search Console 的移轉設定:雖然我目前並不常去看 Google Search Console 的資料,但,我認為有必要進行這個步驟,讓自己走過的路,比較容易找到脈絡。
  2. 整併 mattQQ 的文章:mattQQ 的文章以 Coding 為主,我mattQQ 最近有點忙,我找他商量一下下(真的就一下下,可見 mattQQ 的忙碌程度),mattQQ 立馬答應整併。整併的時候,保留 mattQQ 的文章所有權,並且幾乎所有的文章都整理到 Coding 一大類裡面。
  3. 參考網址:Redirection – WordPress plugin | WordPress.org

.DAY 域名與 Google Domains

前言

screenshotForDotDayDomainName
今年,Google 推出 .DAY 域名註冊服務(詳可見:Today is the .day),我並不是第一時間注意到的人,如果是的話,我就可以在 Google Domains 完成 Beta 版測試時,以 7 折的價格入手目前的域名。


Google Domains 服務

尚未科普之前,就我自己的印象是 Google Domains 服務已經行之有年,早期如果想要用 Google Domains 服務,就跟其他的 Domains 服務供應商一樣,多半要想辦法找一個美國的地址來處理,絕大多數可以透過信用卡直接消費,或是使用 Paypal 搞定。

就我個人而言,我當時並不會把 Google Domains 服務做為我的首選,但是,多年後的今天,我就會想要試試 Google 所提供的 Domain Name 服務。

其中一個重要的原因是 Google 做為一個全球搜尋引擎的領航者,我認為服務的效能、穩定度都一定有水準上的表現。另外一個原因,就是像今天的 .DAY 域名一樣,Google 也開始涉足頂級域名的世界,…我所謂的涉足,不單單只是把腳踩進來擔任「登記註冊商」而已,同時,Google 也已經是「網域註冊管理機構」,推出不少頂級域名,我也發現,這些 Google 推出的頂級域名,都有更完整的服務,比方說,更注重隱私權等。

還有一個原因是「沒有比較,就沒有傷害」,而這裡所謂的比較,指的是我也使用過其他家「登記註冊商」的域名註冊服務,雖然價格便宜很多(詳可見:開箱我的域名服務註冊、使用經驗),但是不到半年的時間,讓我遭遇到「登記註冊商」被 DDoS 攻擊 2 次(事後「登記註冊商」都有寫 E-Mail 道歉),所幸我只是寫寫部落格,要是拿來做商業經營的網站,可能就會有顯而易見的損失。當然,也不是說 Google 就不會當機,但是,印象中不會像前面提到的「登記註冊商」那樣頻繁吧!

Google Domains 服務介面

我並不打算把整個 Google Domains 服務裡面的所有介面都逐一截圖與說明,今天大概就幾個我看到的點,拿出來聊聊。

  1. 如果,您跟我一樣是在台灣這邊的話,頭一次登入到 Google Domains 就會看到像這樣的畫面,「Google Domains 尚未於您所在國家/地區推出。」的字樣就在眼前,我認為這個說明會誤導使用者,讓人以為自己是在無法使用的國家/地區。
    screenshotofGoogleDomainsUI
  2. 註冊好自己想要的域名後,從畫面左手邊點進【我的網域】,就可以看到右手邊的介面,會列出自己註冊好的域名。
    screenshotofGoogleDomainsUiEp2
  3. 再點一下自己的域名,或是點【管理】,就會走到下面的畫面,剛註冊好的時候,一點進來,會有「透過 Google 提供線上服務」這樣的「任務」要解,事實上是 Google 希望在這個過程,讓使用者有機會跟 Google 家直接或推薦的服務綁在一起,我相信這些服務都有一定的價值,只是,以我的需求而言,這些服務的價格算是偏高很多。
    screenshotofGoogleDomainsUiEp3
  4. 承上,右邊的功能選項,我認為都算簡單、直覺,想要找的設定,並不會太難找。

後記

回到一開始聊到的 .DAY 域名這個話題,我在購買 .DAY 準備要結帳時,在結帳畫面有一個提示說明,特別講到 .DAY 這個網域必須使用安全資料傳輸層 (SSL) 憑證,才能與網站相互連結。我個人認為,依現今網路而言,「安全資料傳輸層 (SSL) 憑證」是必要的存在,在註冊時就特別聲明 .DAY 必須使用會是過渡時期的「產物」,不久的將來,當「安全資料傳輸層 (SSL) 憑證」成為日常,那麼,這個聲明應該就不會出現。

只不過,目前在架設網站時,想要使用「安全資料傳輸層 (SSL) 憑證」多半得付出額外的費用,或是找尋不用錢,卻得花點時間設定,或是幾個月之後就要重新設定,難免麻煩,…又是一個安全與便利無法兼顧的狀況。

無論如何,.DAY 我覺得是一個滿有意思的頂級域名,雖然,搭配我原本常用的域名之後,看起來就是怪怪的(…有點像是「國際某某日」的節日型域名),但,也剛好讓我想想,這個部落格的撰寫方向,嘗試取一個感覺比較輕鬆的名字。

我目前,總共註冊 3 個 .DAY 的域名,花了我 36 美金(折合新台幣約 1,080 元),這個本似乎下得有點重 XD(更新日期:2022 年 5 月 13 日,星期五)。

安裝與運作 Contest Management System (ubuntu Server 版)

前言

本次紀錄所使用的是在 VirtualBox 上安裝的 ubuntu 18.04.6 LTS Live Server,本篇紀錄大致分為 3 個部分。
第一階段,在 VirtualBox 上安裝 ubuntu 18.04.6 LTS Live Server。
第二階段,在 ubuntu 18.04.6 LTS Live Server 上安裝 Contest Management System。
第三階段,執行並測試 Contest Management System。

在 VirtualBox 上安裝 ubuntu 18.04.6 LTS Live Server

以下是在 VirtualBox 的安裝過程截圖(點圖至 Flickr 瀏覽相簿)
ubuntu18.04.6LiveServer

在 ubuntu 18.04.6 LTS Live Server 上安裝 Contest Management System

以下是在 ubuntu 18.04.6 LTS Live Server 的安裝過程截圖(點圖至 Flickr 瀏覽相簿)
contestManagementSystemonUbuntu18.04.6LiveServer

指令大致如下:
sudo apt update

sudo apt install build-essential openjdk-8-jdk-headless fp-compiler postgresql postgresql-client python3.6 cppreference-doc-en-html cgroup-lite libcap-dev zip python3.6-dev libpq-dev libcups2-dev libyaml-dev libffi-dev python3-pip python3-setuptools python3-tornado python3-psycopg2 python3-sqlalchemy python3-psutil python3-netifaces python3-crypto python3-six python3-bs4 python3-coverage python3-mock python3-requests python3-werkzeug python3-gevent python3-bcrypt python3-chardet patool python3-babel python3-xdg python3-future python3-jinja2 python3-yaml python3-sphinx python3-cups python3-pypdf2
//python3 的相關套件很多。
//如果想要方便的話,比較建議可以用 Shell Script 的方式服用。

wget https://github.com/cms-dev/cms/releases/download/v1.4.rc1/v1.4.rc1.tar.gz

tar xvf v1.4.rc1.tar.gz

cd cms

sudo python3 prerequisites.py install

exit

cd cms

sudo python3 setup.py install

sudo su – postgres

createuser –username=postgres –pwprompt cmsuser
//這個「設定密碼」等一下會用到。

createdb –username=postgres –owner=cmsuser cmsdb

psql –username=postgres –dbname=cmsdb –command=’ALTER SCHEMA public OWNER TO cmsuser’

psql –username=postgres –dbname=cmsdb –command=’GRANT SELECT ON pg_largeobject TO cmsuser’

exit

sudo vim /usr/local/etc/cms.conf
//用剛才「設定密碼」把 your_password_here 置換掉。

cmsInitDB

cmsAddAdmin -p [password/密碼] [name/帳號名稱]
//直接下指令,設定 CMS Admin 的帳號與密碼:cmsAddAdmin -p [password/密碼] [name/帳號名稱]

cmsLogService

cmsAdminWebServer

執行並測試 Contest Management System

要從目前的主機,登入到 VirtualBox 上的 CMS Server 前,請確認一下網卡的設定。
第一步是先到 「Oracle VM VirtualBox 管理員」→「建立」一張新的網卡。
installingContestManagementSystemonUbuntu18.04.6LiveServerEp19

再到 VirtualBox 上的 ubuntu 18.04.6 LTS Live Server 的「設定」→「網路」→「介面卡 1」,改成「僅限主機介面卡」。
installingContestManagementSystemonUbuntu18.04.6LiveServerEp20

ifconfig -a
//看一下 [CMS Server 的 IP] 是什麼,本次的例子所顯示的是 192.168.56.102。

從另外一部電腦,去 ping 一下 [CMS Server 的 IP] 看看。

從另外一部電腦,用 Web Browser 登入設定好的 CMS Server 試試看,本例為 http://192.168.56.102:8888。

開啟 Web Browser,在網址列打 http://[CMS Server 的 IP]:8889 進入 Admin 頁面。

使用剛才新增的 Admin 帳號、密碼登入。

新增 Contest。

新增 User。

選擇加入 Contest 的 User。

回到 VirtualBox 上 CMS Server 的 Terminal,執行 cmsResourceService -a。

開啟 Web Browser,在網址列打 http://[CMS Server 的 IP]:8888 進入 Contest 的首頁。

後記

  1. Contest Management System
  2. Welcome to CMS’s documentation! — CMS 1.4.rc1 documentation
  3. Have fun!

安裝與運作 Contest Management System (ubuntu Desktop 版)

前言

縮寫同樣都是 CMS,Contest Management System 與 Content Management System 的全名僅有一字之差,但功能上卻有很大的不同。

今天要架設的是 Contest Management System,而官網上的介紹是這麼寫的:

CMS, or Contest Management System, is a distributed system for running and (to some extent) organizing a programming contest.

CMS has been designed to be general and to handle many different types of contests, tasks, scorings, etc. Nonetheless, CMS has been explicitly build to be used in the 2012 International Olympiad in Informatics, held in September 2012 in Italy.

安裝過程截圖

以下是在 VirtualBox 的安裝過程截圖(點圖至 Flickr 瀏覽相簿)
contestManagementSystem

安裝流程

跟安裝過程截圖的步驟不太一樣,我回顧之後,把整個流程大致分成 3 個階段:

  1. 第一階段,多半是在 Terminal 下指令就可以搞定。(下面的紀錄中,我使用 gedit 編輯 cms.conf 才跳出 Terminal,如果選用 vim 編輯,那就可以持續待在 Terminal 裡)
  2. 第二階段,絕大部分是用 Web Browser 做完後續的設定。
  3. 第三階段,算是一個小 Lab,這個 Lab 可以測試能不能從其他的電腦主機,登入同一區域網路裡,我們所安裝、設定與開始運作的 CMS。

第一階段

wget https://github.com/cms-dev/cms/releases/download/v1.4.rc1/v1.4.rc1.tar.gz

tar xvf v1.4.rc1.tar.gz

cd cms

sudo apt update

sudo apt install build-essential openjdk-8-jdk-headless fp-compiler postgresql postgresql-client python3.6 cppreference-doc-en-html cgroup-lite libcap-dev zip python3.6-dev libpq-dev libcups2-dev libyaml-dev libffi-dev python3-pip python3-setuptools python3-tornado python3-psycopg2 python3-sqlalchemy python3-psutil python3-netifaces python3-crypto python3-six python3-bs4 python3-coverage python3-mock python3-requests python3-werkzeug python3-gevent python3-bcrypt python3-chardet patool python3-babel python3-xdg python3-future python3-jinja2 python3-yaml python3-sphinx python3-cups python3-pypdf2
//python3 的相關套件很多。
//如果想要方便的話,比較建議可以用複製貼上的方式服用。

sudo python3 prerequisites.py install

sudo reboot

cd cms

sudo python3 setup.py install

sudo su – postgres

createuser –username=postgres –pwprompt cmsuser
//這個「設定密碼」等一下會用到。

createdb –username=postgres –owner=cmsuser cmsdb

psql –username=postgres –dbname=cmsdb –command=’ALTER SCHEMA public OWNER TO cmsuser’

psql –username=postgres –dbname=cmsdb –command=’GRANT SELECT ON pg_largeobject TO cmsuser’

exit

cd /usr/local/etc/

ls

sudo vim cms.conf
//如果沒有先安裝 vim 套件,也可以跟截圖下一樣指令:sudo gedit cms.conf。
//重點是記得用剛才「設定密碼」把 your_password_here 置換掉。

cmsInitDB

cmsAddAdmin [name/帳號名稱]
//[name/帳號名稱] 的意思是給即將要新增的 Admin 一個名字,在這裡我的命名是:cmsadmin。
//下完指令後,請記下新增 Admin 後系統給的密碼,等會兒就會用到。
//也可以直接下指令,指定一個自己認為好記的密碼:cmsAddAdmin -p [password/密碼] [name/帳號名稱]

cmsLogService

cmsAdminWebServer

第二階段

開啟 Web Browser,在網址列打 http://localhost:8889 進入 Admin 頁面。

使用第一階段新增的 Admin 帳號、密碼登入。

新增 Contest。

新增 User。

選擇加入 Contest 的 User。

回到 Terminal,執行 cmsResourceService -a。

開啟 Web Browser,在網址列打 http://localhost:8888 進入 Contest 的首頁。

第三階段

sudo apt install net-tools
//我習慣下 ifconfig 這道指令,而 ubuntu 的 Desktop 通常要另外安裝。

ifconfig -a
//看一下自己設定的 IP 是什麼,本次的例子所顯示的是 192.168.56.101。

從另外一部電腦,去 ping 一下 CMS Server 的 IP 看看。

從另外一部電腦,用 Web Browser 登入設定好的 CMS Server 試試看,本例為 http://192.168.56.101:8888。

後記

  1. Contest Management System
  2. Welcome to CMS’s documentation! — CMS 1.4.rc1 documentation
  3. 本次紀錄所使用的是在 VirtualBox 上安裝的 ubuntu 18.04.6 LTS Desktop,如果不是很有把握,我也滿建議先在 VirtualBox 嘗試看看。
  4. 滿建議使用 ubuntu Server 版本,並且在上頭安裝 SSH,以遠端登入的方式,完成 CMS Server 的安裝與相關設定,這一次,我是安裝完 Desktop 版本之後,才再安裝 SSH 充當 Server 使用。
    connecttoMyCMSServerwithSSH

筆記關於我目前選擇的 WordPress 外掛

下列是我在重新使用 WordPress 來維護部落格時,我目前選擇使用的外掛(Plug-ins):

  1. Akismet Anti-Spam
  2. CoBlocks
  3. Import Markdown
  4. Limit Login Attempts Reloaded
  5. Really Simple SSL
  6. Site Kit by Google
  7. WordPress Importer
  8. WP Githuber MD
  9. WP Statistics

除了預設安裝的外掛,我首先想要安裝的是 Really Simple SSL,這支外掛很重要,就我所知,沒有 SSL 加密的話,會影響到 Google 搜尋結果,而且,沒有 SSL 加密,瀏覽器還會顯示這個網站不安全之類的。你說,這好嗎?這當然不好,所以,我果斷先安裝這個外掛。

再來,我還有安裝跟 Markdown 有關的外掛,其中,我尤其推薦 WP Githuber MD 這一支外掛,它可以讓直接預覽用 Markdown 語法所產出的網頁模樣,雖然我之前認為預覽也沒有差,但是用過之後,就不會想再回去用 Notepad++ 寫 Markdown。

統計流量的外掛,我安裝了 2 支,主要是為了做比較,有助於實際觀察 Google 對流量的計算方法。

使用 Markdown 心得

使用 Markdown 大概快 3 個月了,來說說我的心得吧!

環境設定

  1. 設定 Hexo 算是很簡單的:把 Git 與 Node.js 裝上去,基本上就差不多搞定,雖然,我在網路上參考不少文章,而且多半是分享他們在 macOS 上的做法,但,我從一開始就選擇在 Windows 上設定本地端的撰寫環境。
  2. 原因是我想使用 Windows 的純文字編輯程式(最後我選擇 Notepad++),再來是假設我要換機的時候,我希望本地端的資料處理可以容易一點,…由於我還讀到 macOS 上的換機建議文章,在還沒有細讀之前,我就決定用別的作業系統來處理,Windows 在這個部分,可以說相當容易:只要在新機子上重新安裝 Git 與 Node.js,然後把本地端的資料整個轉到新機器上面,大致就搞定。

文章撰寫

  1. Markdown 的語法,從開始使用到目前,我沒有記得很清楚,可以說…都沒有在記,能夠讓我這麼懶的原因是我的貼文有一定習慣的寫法,而這裡的文章,要不就是插個圖檔或是影片檔,如果貼文的結構類似,直接就是製複、貼上,然後我把想要寫的東西置換就好。
  2. 寫完貼文後,看不到即時預覽是我目前遇到的狀況,我認為應該有工具可以讓自己寫的 Markdown 即時預覽,但,就跟上面說的一樣,貼文結構單純,再者,貼文量不大與更新率也不高,所以,沒有預覽,對我的影響也不大,上傳後的文章呈現的樣貌若與我的想像有差距,再改就可以,使用至今,多半只有微調而已。

把我的部落格從 Blogger.com 轉移至 GitHub

GitHub 可以免費架設部落格,引發了我的興趣,我花了大概 6 個小時,去瞭解 GitHub 的部落格相關基本知識、遷移 Blogger 到 GitHub 的方法。

我選用 Hexo,至於轉換上的心得,我自己實做後的感想是 Blogger 直接轉換成 MarkDown 還算容易,但是在整個部落格文章的轉換上,先把 Blogger 轉到 WordPress.com 後,再匯出 WordPress 上的 xml 檔,接著,再使用 Hexo 做最後的轉移,反而是比較穩定的做法。

目前稍為看了一下文章,初步的發現是 Blogger 的文字特性(粗斜體、顏色)等等會在過程中跑掉,變成被斜線號(Slash)夾在中間的文字。

Blogger 的收益

今天進入 Blogger 的管理介面時,發現多了營利二個字,直覺於第一時間告訴我:「會不會是通往 Google AdSense 的捷徑呀?」

為了省下成本,轉用 Blogger 至今,我一直都感到很滿意,也漸漸地希望自己認真地堆砌文章,僅管回頭看這些文字時,會笑著怎麼會寫出一大堆的…。

Blogger 要拿來營利,我想,點閱率必須高到不行,才比較有可能吧!

PayPal 也開始講(繁體)中文

在以 Google 應用程式為平台的 E-Mail 信箱裡面收到 Paypal 寄來的通知,標題是這麼下的:

PayPal now speaks your language and much more!

我用破破的英文辛辛苦苦地使用 Paypal 一陣子,看到這樣的標題隨即點下國旗進去瞧瞧,轉頁的過程中出現的仍是簡體中文,讓人感到小失望。

所幸,最後出現的是繁體中文,開心的呢!使用起來真的好親切。

那麼,該不該再把捐款的按鈕擺出來哩?

…再說吧!也有在用 Paypal 不妨也去晃晃,當然英文程度佳,或是想練練英文,甚至是看不懂繁體中文的人應該對此不感興趣吧!(廢言)