以初學者的角度,來看待電腦教學這回事。

標籤: wordpress Page 1 of 2

解決WordPress外掛Disqus留言系統不能同步(Syncing)的問題

Disqus」是一個可以取代網站原有的留言系統,因為美觀、功能強及使用方便,所以早期吸引不少人使用,如下圖:

但後來因為使用免費版的會被強制放廣告,所以有不少人就不再使用了,但因為Disqus的留言系統也還不錯,所以我有一個別的網站,都是每個月付12美金持續的使用中。

同步(Syncing)功能無法使用

而在WordPress的Disqus外掛頁面,有個「同步(Sync)」功能,如下圖:

以WordPress來說,這個功能是用來把使用者輸入到Disqus的留言,同步到WordPress原本的留言系統中,但很奇怪的是,只要一按下「Enable Auto Syncing」,就會出現「Error attempting to enable syncing」錯誤訊息。

而且想要使用「Manually Sync Comments」時,每次只要同步一小段時間之後,就會停止下來,這個問題國外也有許多人有發生過:

Manually Sync Comments never ends

Disqus匯出(Export)的XML檔案

再來,Disqus也還有一個備份匯出的功能,可以把目前在Disqus上的所有資料,匯出到一個XML檔,但很奇怪的是,每次我要解壓縮這個被gz壓縮好的xml檔案時,都會出現一個「invalid compressed data–format violated」錯誤訊息,看起來檔案好像有損壞掉,但檔案又好像可以開。

此外,Disqus雖然可以匯出XML檔案,但官方說這檔案只供「備份」用途使用,既無法匯到Disqus的系統,也無法再匯回WordPress裡,所以就等於你想要使用的話,還要再寫一個Parser程式,來解析這個備份的XML檔案…,有夠麻煩的。

The nightmare that is Disqus export, and import into WordPress

總之,有好多隱憂在,雖然現在仍然持續使用付費的服務,但就怕哪天Disqus會突然宣佈要停止服務,所以現階段,就一定要趕快解決這個備份的問題,要不然用起來真的不安心啊。

解決方案

要根本解決這個問題,就是要把Disqus在WordPress的Sync的外掛功能搞定,目前Disqus for WordPress的最新版是3.0.22 版,總覺得我該開啟、該設定的都弄了,搞了非常久,但後來「Auto Syncing」的功能忽然可以開啟了…

我不確定是哪邊解決了,只記得是在開啟「Single Sign-on (SSO)」之後,還有我還安裝了「WP Data Access」、「Delete All Comments of wordpress」這兩個外掛之後,功能才正常。

但Auto Syncing只是針對新增的留言會同步,對於之前的舊留言,並沒有做處理,想要處理的話,還是得用「Manually Sync Comments」來同步舊有的留言,但這個功能在同步一小段時間之後,還是都會中斷。

所以這邊大概就是只能利用匯出的XML檔案,也就是把Disqus自訂義的XML,轉換成WordPress可以接受的格式,所以我就在網路上尋找,看有沒有人已經寫好外掛可以做這個事,但找到的都是舊的程式,這些所有的工具,不是下載不到,就是已經不能使用了。

所以非得自己寫程式了嗎?就抱著這個問題去睡覺了,因為已經凌晨三點多了。

問題迎刃而解

隔天起床,我利用「VMware Workstation Player」,重新架設了一台Web Server(關於架站,你可以參考這篇文章「如何架出安全性較高的網站?」來學架站),然後將我的網站設定在這個測試的Server上面,如下圖:

那時忽然想到,其實Disqus這個備份功能,以前好像是好的,所以就去找了以前網站的備份,幸好,我還有以前Disqus的2.85版,所以我就把新版的刪除,換回舊版的,如下圖:

剛放上去之後,去按下〔Sync Comments〕時,還是會卡住,但我後來把「Disable automated comment importing」給打勾之後,再重新按下〔Sync Comments〕時,就能開始成功能同步了,如下圖:

第一次完整同步時,可以勾選「Remove all imported Disqus comments before syncing.」,在同步前,先把舊的留言都移除,再開始同步。

在留言同步完成之後,我再把測試用Server的MySQL資料庫匯出,然後再把匯出的資料庫,再匯入原本的資料庫中,最後再把新版Disqus外掛的「Enable Auto Syncing」打開,就完全解決備份新舊留言這個問題了,感動…

以下提供

Disqus Comment System 2.85版下載

GCP教學:使用FTP上傳WordPress檔案

萬事俱備,只欠東風

在一連串的教學,從「新增VM執行個體」、「使用SSH架設ZPANEL網站架設平台」、「設定ZPANEL及GCP防火牆規則」之後,我們完成了「Google Cloud Platform」及ZPanel的設定,最後,我們就是要上傳我們的主角,也就是WordPress網頁。

Step 1. 要下載WordPress,可以到「WordPress Taiwan正體中文」的網站下載,來到這個網頁,然後點擊〔下載WordPress 4.8〕,因為WordPress持續在改版,所以你看到的版本,一定會比4.8版還要新,如下圖:

Step 2. 在下載WordPress之後,因為這個檔案是個壓縮檔,所以請解壓縮之後,再將整個資料夾的檔案屬性,將「唯讀」給取消掉,然後套用到所有的檔案及資料夾中,如下圖:

Step 3. 接著,來到wordpress的資料夾中,將「wp-config-sample.php」檔名改為「wp-config.php」,如下圖:

Step 4. 使用「記事本」程式開啟「wp-config.php」這個設定檔案,然後設定好「DB_NAME」(資料庫名稱)、「DB_USER」(資料庫使用者)及「DB_PASSWORD」(資料庫密碼),如下圖:

以上這些資訊,都是在設定ZPanel時所產生的,如果不清楚的話,可以去參考上一篇文章。

Step 5. 接著我們要使用「FileZilla」這個常見的FTP免費軟體,請在軟體中新增一個站台,輸入主機名稱及登入資訊,這些資訊也都是在上一篇文章中所產生的,如有不清楚,可以回到上一篇文章,再去看一下。

若有不懂FTP軟體的,則可以參考這篇文章「免費FTP軟體「FileZilla」的上傳及下載教學,上班族必學!!」。

Step 6. 而在新增FTP站台時有一點要特別注意,就是要再到「傳輸設定」中,將「傳輸模式」改為「主動模式」,如下圖:

Step 7. 接著應該就可以順利登入FTP,在上傳WordPress檔案之前,有件事情非常的重要,就是要先把預設的網頁檔案「_cgi-bin、_errorpages、index.html」先刪除掉,如下圖:

Step 8. 最後最後,我們要再新增一組DNS紀錄,請到你申請網域的網站,新增一筆A紀錄,以我的網域「mrtang.tw」來說,「名稱」設定為blog,然後再填入IP位址就可以了,如下圖:

Step 9. 經過DNS的設定,我們就能使用「blog.mrtang.tw」來進入我們所安裝好的部落格了,但通常設定好DNS之後,快的話要等待幾分鐘,久的話甚至要到24小時,如果要快的話,可以先在hosts先設定好IP及網域的對應,就可以先測試一下網站是否正常。

設定方式可以參考「Windows hosts檔的用途?為何檔案編輯後無法儲存?」這篇文章。

Google Cloud Platform文章整理

初次使用:

自動架站教學:

手動架站教學:

延伸閱讀:

2022/04/21 補充

架站多年的經驗談,架一個網站真的很簡單,搜尋一下,就會有什麼10分鐘架站…等等的教學,可見架網站真的不難,但難的是架一個「高效能」且「穩定又安全」的網站,而且不僅如此,網站架好之後,不是之後就沒事了,日後的維護也相當的重要。

因此後來,我再寫了一篇文章,如下:

如何架出安全性較高的網站?

大家可以參考看看我近年來架站的經歷及感想,以及後來我是怎麼找到教學,然後自架一個很穩定的網站。

GCP教學:使用Cloud Launcher一鍵架站。

自動架站與手動架站

在首篇的文章中有提到,在GCP的架站中,有「自動架站(Cloud Launcher)」和「手動架站」兩類,Cloud Launcher就像是一個包套好的旅遊行程,全部幫你搞定好,而手動架站就像是自助旅行,所有事都要自己來。

以我的建議來說,我建議使用「手動架站」的方式,來架設你的網頁主機。但是,如果你是第一次使用GCP的人來說,我建議可以玩一次Cloud Launcher來自動架站,有一次的自動架站經驗,可以讓你在手動架站時,更加順手。

所以,我們先來玩一次Cloud Launcher自動架站吧。

使用Cloud Launcher安裝WordPress教學

Step 1. 點擊左方工作列中的「Cloud Launcher」,如下圖:

Step 2. 先在上方搜尋列中輸入「wordpress」之後,再點選「WordPress Certified by Bitnami」,如下圖:

Step 3. 在點擊〔在COMPUTE ENGINE上啟動〕之前,你可以使用滑鼠滑下來一點,參考一下它的預估費用。

以這個方案來說,大約會在$4.28美金多一些,但實際金額還會根據你所選擇的區域、硬體配備而有變動。

Step 4. 接著我們要選擇區域(Zone)及配備(Machine Type、Boot Disk),我在Zone的地方選擇了「asia-east1-a」,在Machine type選擇了「微型(1個共用vCPU) 0.6GB記憶體」,而在Boot Disk選擇了「10GB的SSD Persistent Disk」,以這樣的區域及配備預估為$6.3美金。

為何要選擇「asia-east1-a」呢?

這個可以參考「Regions and Zones」,「asia-east1」有asia-east1-aasia-east1-basia-east1-c三台,這三組代碼就是位於我們彰化(Changhua County, Taiwan),所以如果主要瀏覽客群是在台灣或亞洲的話,就一定要選擇這個三組代碼,連線的速度會比較快。

接著勾選「Allow HTTP traffic」,而「Allow HTTPS traffic」看你有沒有用到,有的話也一併勾選,最後按下〔部署〕。

Step 5. 接著GCP會開始執行此腳本的動作,來部署你的虛擬機,此時就是等待它完成即可。

Step 6. 完成後,就會在右手邊出現帳密等資訊,如下圖:

Step 7. 開啟我產生出來的IP位址( 35.201.182.76 )時,就可以看到我們安裝好的WordPress了,如下圖:

在控制台首頁中,就可以立即看到剛產生出來的虛擬機的資訊。

Step 8. 接著點擊「Compute Engine\VM執行個體」,如下圖:

Step 9. 在「VM執行個體」的頁面中,裡面名稱為「wordpress-1-vm」,就是Cloud Launcher所產生出來的虛擬機,請點擊「wordpress-1-vm」,如下圖:

你就能馬上看到此虛擬機的一些資訊,例如區域、配備,以及目前CPU的使用量,如下圖:

如果你想要使用SSH登入這個虛擬機的話,也可以直接點擊「SSH」,然後選擇「在瀏覽器視窗中開啟」,如下圖:

接著就會開啟SSH的主控台畫面,如下圖:

Cloud DNS設定教學

一直看到這邊,應該有人會覺得利用IP位址「http://35.201.182.76」來當網址,好像不太好記,所以一般我們都會使用好記的網址名稱來挷定這個IP,接下來我將示範使用「blog.mrtang.tw」這個網址來挷定這個IP位址。

Step 1. 點擊「網路服務\Cloud DNS」,如下圖:

Step 2. 接著在Cloud DNS中,點擊「建立區域」,如下圖:

Step 3. 接著要命名一個「區域名稱」及「DNS名稱」,「區域名稱」就按自己的意思命名個好記的名稱即可,而「DNS名稱」,因為我要使用的是「blog.mrtang.tw」,所以我在這邊就只要填入「mrtang.tw」就好,如下圖:

Step 4. 接著我們在「區域詳細資料」內,點擊〔新增記錄集〕,如下圖:

Step 5. 在「DNS名稱」中填入「blog」,接著在「IPv4位址」中填入「VM執行個體」的「外部IP」,我們這邊的話就是「35.201.182.76」,最後再按下〔建立〕,如下圖:

P.S. 我這邊的IP位址「35.201.182.76」,你可不要傻傻的跟我填一樣的,要去看你自己的IP位址哦。

Step 6. 建立完之後,就會看到「blog.mrtang.tw」的這筆記錄出現,如下圖:

此時在GCP的DNS即設定完成。

Step 7. 接著請到你網域的申請網站後台,以我的「mrtang.tw」網域申請公司,就是「蛋糕網域」,所以我也到該網域的後台中,新增一筆類型A的記錄,同樣的名稱也填入「blog」,而紀錄則填入「35.201.182.76」,最後再按下〔儲存〕,如下圖:

經過這樣的設定之後,DNS就設定完成了,但通常設定好DNS的紀錄之後,在網際網路上並不會馬上生效,所以需要等待幾小時的時間。

如果很急的話,可以去修改「hosts」的IP網址對應,要不然就等個幾小時的時間。

最後我在瀏覽器上的網址輸入「blog.mrtang.tw」,就成功開啟我們所架設好的WordPress網站了,如下圖:

Google Cloud Platform文章整理

初次使用:

自動架站教學:

手動架站教學:

延伸閱讀:

2022/04/21 補充

架站多年的經驗談,架一個網站真的很簡單,搜尋一下,就會有什麼10分鐘架站…等等的教學,可見架網站真的不難,但難的是架一個「高效能」且「穩定又安全」的網站,而且不僅如此,網站架好之後,不是之後就沒事了,日後的維護也相當的重要。

因此後來,我再寫了一篇文章,如下:

如何架出安全性較高的網站?

大家可以參考看看我近年來架站的經歷及感想,以及後來我是怎麼找到教學,然後自架一個很穩定的網站。

Page 1 of 2

Powered by WordPress & Theme by Anders Norén