18 May 2013

Firefox Student Ambassadors Program






昨天大家才剛聊到之前的 Student Reps Program,今天凱特就通知大家全球的 Firefox Student Ambassadors Program 起跑囉!

Open source 開源社群是個很棒的環境,讓各種專長專業的朋友,能一起在一個開放的環境中一起實作夢想、一起練功,許多人都是從學生時期就陸續參與並對各自有興趣的專案展開貢獻,有人翻譯文件、有人撰寫程式、有人反覆測試提供建議、有人四處傳教宣揚自己熱愛的產品專案。

你有興趣一起來玩嗎?只要你是在校生,想開始體驗開源社群是怎麼在全世界每個角落運作,歡迎你造訪這個網頁,開始你的第一步:



想更認識 Mozilla 基金會有哪些有趣的專案?或是等不及想要立馬動手做些事情?這個網頁也許你會有興趣:




11 May 2013

Configure SSH2 Access for Updating or Installing WordPress Plugins

(嗯,以前好像沒寫過 WordPress 相關的資訊。)

前情提要

現在 WordPress 內建自體更新的機制(或說工具),可以更新 WordPress 本身,或是更新 plugins / themes。在大部份擁有 ftp/ftps 的主機上頭,幾乎沒有聽到有遇過更新問題的(倒是會有主機安全問題,因為 ftp server,嗯)。

對於有需要用到 ssh2 連線方式來進行 WordPress Core/plugins/themes 更新的朋友,可以參考這幾篇參考資訊:

幾個重點備忘:
  • 留意權限設定,讓 web server (apache/nginx) 有權限可以讀取 ssh private key (file)。
  • 讓 PHP 有能力走 ssh (libssh2-php) (php -m | grep ssh2)。
  • 有設定 chroot 擋掉 ssh 只能走 internal-sftp 的機器也可以跑更新。如果遇到問題,可以手動先補上這個 plugin:「SSH SFTP Updater Support」,通常可以解決問題。
  • 也可以在 wp-config.php 裡頭預先設定這些資訊:
define('FTP_USER','your_linux_username');
define('FTP_HOST','your_server_name_or_localhost');
define('FTP_PRIKEY', '/home/your_linux_username/.ssh/id_rsa');





03 April 2013

AWS EC2 CLI 新舊版本之間存在的差異

我學習 AWS (Amazon Web Service) EC2 CLI 的路徑印象中是從「Setting Up the Amazon EC2 Command Line Tools」這篇文件裡頭開始,找到「Amazon EC2 API Tools」這邊下載最新版本的 CLI 工具。

某天,非常巧合(或說好死不死?)地,在不同台主機上實作與測試幾個 AWS EC2 CLI 為基礎的 shell script,卻發現某一台 Ubuntu Server 怎麼跑 CLI 任一指令,都一直有問題,舊版本預設是跟你要 Private Key,完全不管你有沒有設定 Access Key 和 Secret Key:

> ec2-describe-regions
Required option '-K, --private-key KEY' missing (-h for usage)

即使已經有設定 Access Key 和 Secret Key 的值給 CLI 讀,但 CLI 卻一直跟我要 Private Key。想說哪裡鬼打牆了。才發現,這個 CLI 版本之間的差異。

新版本(今天測試的是 1.6.7.1,舊版的應該是去年的了)在沒有設定 Access Key 和 Secret Key 的時候跑起來預設是跟你要 Access Key 而不是 Private Key(從文件中看起來這是 AWS 目前的方向)。

> ec2-describe-regions
Required option '-O, --aws-access-key KEY' missing (-h for usage)

問了 which (which ec2-describe-regions)才看到原來出問題的主機跑去使用 /usr/bin 裡頭的 AWS EC2 CLI 了(舊版本)。嗯嗯,該來查查是誰裝了 package 了 :p

帥啊老皮。

01 April 2013

AWS EC2 CLI: 消失的 EC2_URL 參數

會留意到 EC2_URL 這個參數也是滿有趣的過程(只能說自己太晚跑來認真玩 CLI 了)。為了調整某個 backup (snapshot) shell script 而把腦筋動到「ec2-describe-volumes」上頭去。進而發現 region 怎麼跑都跑到美東去,即使有指定「 --region REGION 」參數到別的區也一樣。定神仔細看才發現原來是要 EC2_URL 參數。

將 EC2_URL 參數設定成東京機房的範例方式在 Unix/Unix-like 和 Windows 環境分別如下:

# Unix/Unix-like:
export EC2_URL=https://ec2.ap-northeast-1.amazonaws.com # 東京

# Windows:
set EC2_URL=https://ec2.ap-northeast-1.amazonaws.com # 東京


你可以使用「ec2-describe-regions」取得目前 AWS 最新各個 region 的清單與對應的 region name 與 EC2_URL 的值:(以下是於 2013/Mar 跑出來的清單)

REGION eu-west-1 ec2.eu-west-1.amazonaws.com
REGION sa-east-1 ec2.sa-east-1.amazonaws.com
REGION us-east-1 ec2.us-east-1.amazonaws.com
REGION ap-northeast-1 ec2.ap-northeast-1.amazonaws.com
REGION us-west-2 ec2.us-west-2.amazonaws.com
REGION us-west-1 ec2.us-west-1.amazonaws.com
REGION ap-southeast-1 ec2.ap-southeast-1.amazonaws.com
REGION ap-southeast-2 ec2.ap-southeast-2.amazonaws.com


其它參考資料:

30 March 2013

如何在指令列使用多個 AWS 帳號 How to Manage Multiple Amazon Web Services Accounts in Command Line Interface?

Office Space Macro
這幾年有機會協助一些朋友一起玩或是導入 AWS (Amazon Web Services) 到各個企業或組織中,時不時會需要幫忙看一下或是調整一下,聽到有些朋友也逐漸會有在多個 AWS 帳號之間切換的需求(重度使用者可能也開始覺得 web-based console 逐漸不敷需求而轉往 CLI (Command Line Interface) 直接動手),今天跟大家分享一個簡單方便的 shell script 在多個 AWS 帳號之間做切換。

本帖服用之前,有幾個注意事項先提醒大家:
  • 「簡單方便」這種形容詞通常會帶來其他作用,例如「不安全」「你方便別人也方便(你應該知道「別人」是在說誰)」之類的。請小心輕放,喔更正,請小心存放各個帳號的 access keys, secret keys。
  • 養成習慣,隨時留意現在正在使用哪一個 AWS 帳號,以及處在哪一個 Region。賬單秒殺也是不等人的,設定一下帳單提醒通知也是不錯的建議。
  • 本帖使用到了 EC2_URL 這個參數,如果你用不到,可以刪除沒關係。如果需要取得完整清單,請使用「ec2-describe-regions」。
  • 你的 Access key/Secret key 可以在這裡取得。
以下為 shell script 內容,你可以儲存為 switch-aws.sh 之類的檔案名稱來方便隨時取用。

#!/bin/bash
export EC2_REGION='us-east-1' # 美東
export EC2_URL='ec2.us-east-1.amazonaws.com' # 美東
case "$1" in
"org1")
   export AWS_ACCESS_KEY='AKIxxxxxxxxxxxxxxxxx'
   export AWS_SECRET_KEY='mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'
   export EC2_REGION='ap-northeast-1' # 東京
   export EC2_URL='https://ec2.ap-northeast-1.amazonaws.com' # 東京
   export AWS_ACCOUNT='Org 1'
   ;;
"companyabc")
   export AWS_ACCESS_KEY='AKIxxxxxxxxxxxxxxxxx'
   export AWS_SECRET_KEY='wowwowwowwowwowowowowowowowowowwoowwowo'
   export EC2_REGION='ap-northeast-1' # 東京
   export EC2_URL='https://ec2.ap-northeast-1.amazonaws.com' # 東京
   export AWS_ACCOUNT='Company ABC'
   ;;
"org2")
   export AWS_ACCESS_KEY='AKIxxxxxxxxxxxxxxxxx'
   export AWS_SECRET_KEY='lololooolloolololoololololololololololo'
   export AWS_ACCOUNT='Org 2'
   ;;
*)
   export AWS_ACCOUNT="Not switched. Please input correct naming."
   ;;
esac
echo "Switched to using: $AWS_ACCOUNT."


其它參考資料,或是你剛開始想要玩 CLI,可以參考以下幾個連結:

LinkWithin

Related Posts with Thumbnails