相信大家都有管理 Linux 主機 Process 的經驗,用的工具也是千奇百種,但是肯定對 Python 版本的 Supervisor 並不陌生,這套工具相當好用,可以監控不同的 Process 狀態,也可以自動重啟。而本篇要介紹用 Go 語言寫出來的開源套件『Supervisord』,作者提到為什麼要用 Go 語言開發此工具,原因很簡單,就是透過 Go 語言的跨平台優勢,寫一套程式,可以直接跑在任何平台,管理者就不需要再為了 Python 環境而煩惱。
[Read More]在 Mac 建立新帳號,並且開通 ssh 權限
為什麼我會需要在 Mac 建立新帳號呢,原因就是最近用 Golang 寫了 SCP 工具,此工具支援 Password 或 SSH Public Key 登入,我又不想拿個人帳號寫在 Testing 檔案內,所以才會想到在 Mac 建立一個帳號好了,本篇就是教大家如何在 Mac 建立新帳號,並且開通 SSH 權限。
[Read More]用 drone-line 架設 Line webhook 及發送訊息
之前寫了一篇教學『用 Docker 發送 Line 訊息』,但是前提是你要先學會 Docker,對於完全沒有 Docker 經驗的初學者來說,學習起來相當不容易,所以我將 drone-line 編譯出 Linux, Mac OS X 或 Windows 都可以執行的 Binary 檔案,方便初學者可以直接下載執行檔,在任何環境都可以運作,請直接參考 v1.4.0 Release 頁面,如果還是想用 Docker 版本的,可以直接參考 Docker Hub 上的 drone-line repo,底下會教大家如何執行 Line webhook service 及發送訊息,尚未申請 Line Developer 帳號,請直接參考前一篇教學
[Read More]申請 Let’s Encrypt 免費憑證讓網站支援 HTTP2
寫這篇最主要推廣讓網站都支援 HTTPS 加密連線及 HTTP2 協定,對於網站為什麼要支援 HTTP2,可以直接參考 ihower 寫的說明文章,最近在玩 Facebook, Line, Telegram Bot 時,填寫 Webhook URL,都強制要填寫 https:// 開頭,所以更不能忽略 HTTPS 了。,去年底寫了一篇 Let’s Encrypt 開放申請免費 SSL 憑證 推廣 Let’s Encrypt 的貢獻,讓買不起憑證,又想玩看看 HTTP2 的開發者可以用很簡單的方式來安裝及自動更新憑證,而 gslin 大為了推廣 HTTPS 也做了一個網站教學,文章寫得相當清楚,支援 Apache 及 Nginx 設定。
[Read More]OpenSSH 安全性漏洞 CVE-2016-0777 and CVE-2016-0778
OpenSSH 今日公佈 Client Bug 漏洞 CVE-2016-0777 and CVE-2016-0778,發生原因是 SSH Clinet 跟 Server 溝通時,新功能 roaming
造成傳輸過程被惡意程式破解,影響的 OpenSSH 版本為 5.4 - 7.1. 大家快看看自己是否為這版本區間。此問題會發生在 SSH Client 而不是 Server 端,所以 Linux FreeBSD 和 MacOS 都需要升級 OpenSSH,如果你是在 Windows 用 Putty 則不受影響。
快樂學習 Linux 指令懶人包
以前在推廣 Linux 的時候,大家最不喜歡 Command Line 介面,都是被 Windows 慣壞了,相信剛接觸 Linux 最痛苦的就是學習指令,新人學習指令遇到困難,上網發問,一定會看到有人回答說,怎麼不看 man page,但是每個指令的 man page 都非常的長,連我自己看到都直接關掉,何況是剛入門 Linux 的新人。現在 Github 上面有看到這專案 tldr,這專案把每個指令文件簡單化,讓剛學習 Linux 的新人可以快速上手,像是底下 find
指令
免費幫您申請 Letsencrypt 憑證網站
自從 2015/12 Letsencrypt 開放免費申請 SSL 憑證的消息,馬上有人開發出網站,讓不會使用 Letsencrypt 指令的網站管理者免費申請憑證,此網站透過開發者提過 FTP 帳號密碼或下載檔案放到 Web 根目錄就可以執行認證成功,完成後會給你 SSL Certificate,這邊有些問題,就是 Private key 也一起給你了,所以用這網站請務必小心,雖然該作者說明,網站不會存下任何憑證資料,但是你相信他嗎?Letsencrypt 討論區有一篇討論關於此網站的做法,引起很大的爭議。底下是該網站提供兩種認證方式
[Read More]Alpine Linux 挑戰最小 docker image OS
Alpine Linux 是一套極小安全又簡單的作業系統,在現今 Docker Images 裡面,最主要推崇的就是 Ubuntu 作業系統,但是令人詬病的是 Ubuntu 還是不夠小,今天看到 Alpine 在 docker 內的大小大約是 5 MB
,看到這 size 大小,相信是令人很震撼,之前要是看到這 size 大概只有 OpenWRT 編譯 BusyBox 才有可能的大小,但是 OpenWRT 最主要還是缺乏很多目前 popular 的套件,所以 Alpine 幫你解決這問題,提供大量的 Packages 讓開發者使用。底下就可以看出 Alpine 擊敗目前盛行的 docker images 大小比較圖。
Docker 救了 Debian SSH terminal
Ruby Deploy With Capistrano 碰到 SSH Connection Closed
在 Ruby 開發環境最常用的 Deploy 工具就是 Capistrano,讓開發者可以快速部署程式碼,在部署進行中,由於大量的 js 及 css 需要處理,所以花最長的時間就是 assets:precompile
,執行 cap deploy
就會發現卡在底下錯誤訊息
[Read More]** [whenever:update_crontab] exception while rolling back: Net::SSH::Disconnect, connection closed by remote host *** [deploy:update_code] rolling back * executing “rm -rf /home/deploy/nami/releases/20150317135422; true” servers: [“xxxxx.tw”] ** [deploy:update_code] exception while rolling back: Net::SSH::Disconnect, connection closed by remote host