2016-04-30

RedHat OpenShift 快速設定

由 RedHat 提供的 OpenShift 提供網絡應用功能
程式語言: PHP, Java, Perl, Python, Ruby, Node.js 等
資料庫: MySQL, PostgreSQL, MongoDB 等
框架:Zend, CakePHP, CodeIgniter, Ruby on Rails 等
能讓開發者簡單地部署開發環境,網絡應用程式或網站

設定 OpenShift 前,由於 OpenShift 使用 SSH, SSL 等安全先設定本機與 OpenShift 的連接
因此需要在本機進行前置設定

見下文
開啟 Terminal 輸入
ssh-keygen -t rsa
準備建立 RSA Key Pair
設定 RSA Key Pair 的位置,預設會存放在 ~/.ssh ,私鑰為 id_rsa ,公鑰為 id_rsa.pub
(若不使用預設位置,私鑰為指定名稱,公鑰為私鑰名稱並加上 .pub)
設定密碼,之後再確定並重新輸入密碼,完成後會建立 Key Pair
輸入
ssh-add
將剛才的 Key Pair 進行認證,並輸入剛才設定的 Key Pair 密碼
(若不使用預設位置,需要指定剛才的 Key Pair 位置)
完成後輸入
cat ~/.ssh/id_rsa.pub
查看公鑰的內容並複製

登入 https://www.openshift.com/
若未申請請自行登記資料

見下文
先到 Settings
第一次使用,需要先註冊域名並按 Save

見下文
若域名已經被註冊,需要註冊另一個域名並按 Create

見下文
註冊域名

見下文
設定公鑰,將剛才的公鑰內容貼上至文字框並按 Save

見下文
完成設定域名及公鑰

見下文
到 Applications

見下文
OpenShift 提供很多程式語言及常見框架選擇
暫時先以在下認為最簡單的 PHP 5.4 為設定例子

見下文
在 Public URL 設定公開網站的名稱

見下文
Scaling, Region 可以分別設定為 No scalling, aws-us-east-1 的預設資料


建立公開網站後
會顯示以 git 設定的網站更新位置及方法
先按 Continue to the application overview page 回到應用程式設定頁面

見下文
OpenShift 提供資料庫讓開發者使用
按需要,選擇安裝,例如 MySQL

見下文
按 Add Cartridge 加入 MySQL 資料庫

見下文
完成加入 MySQL 資料庫
由於 PHP 及 MySQL 組合,還可以加入 phpMyAdmin 來管理 MySQL

見下文
按 Add Cartridge 加入 phpMyAdmin

見下文
完成加入 phpMyAdmin

見下文
按 Password 的 show 可以顯示登入資料庫的密碼

見下文
回到本機
到適當位置,執行由 OpenShift 提供的 git clone 指令下載資料
git clone ssh://<id>@<app>-<domain>.rhcloud.com/~/git/<app>.git/
第一次存取該伺服器需要連接確認
下載資料後進入其目標,在下使用簡單指令編寫一個簡單的頁面
echo '<h1>hello, world</h1>' >greetings.php
編寫後在該目錄的根位置輸入 (例如閣下在 ~/Document 的位置使用 git clone 下載了 myapp 的目錄,需要到 myapp 進行)
git config --global user.email '<your-email>'
git config --global user.name '<your-name>'
git add .
git commit -m '<your-commit>'
git push -u origin master
第一次使用 git 需要設定 user.email 及 user.name

見下文
若果第一次使用 git clone 經 ssh 由 OpenShift 下載剛才資料,還需要輸入 Key Pair 密碼以作認證

見下文
完成 git 上載操作

見下文
前往網站,確認結果

除了使用 git 上載文件還可以使用 ssh 登入 OpenShift 修改文件

見下文
在對應 Application 的頁面,按「Want to log in to your application?」顯示 ssh 的登入名稱及路徑

見下文
開啟 Terminal 並貼上剛才的 ssh 指令便可以使用 ssh 登入 OpenShift
若閣下沒有註冊公鑰,需要先建立 Key Pair 並註冊公鑰,才使用 ssh 登入 OpenShift

見下文
上載的文件會存放在 ~/app-root/repo 的位置
OpenShift 提供基本 Bash 指令
提供 vim, nano 等文件編輯器讓使用者直接向文件進行編輯
亦提供如 wget, curl, tar 等指令讓使用者直接在 OpenShift 下載文件,壓縮或解壓縮文件等

還可以經 FTP 上載文件

見下文
到「Edit」>「Settings」

見下文
到「SFTP」
按「Add keyfile」

見下文
選擇建立 Key Pair 的私鑰

見下文
由於在下使用 RSA 及 FileZilla 但 FileZilla 不能直接使用 RSA 需要轉換成 PPK

見下文
輸入 RSA 的密碼

見下文
讓 FileZilla 將 RSA 建立 PPK ,建議將 PPK 存放到與 Key Pair 相同位置

見下文
已匯入私鑰

見下文
到「File」>「Site Manager」

見下文
建立 FTP 位置及命名
Host 輸入閣下的 OpenShift 位置,即 <app>-<domain>.rhcloud.com
Protocol 使用 SFTP
Logon Type 由於在下使用 RSA 轉換成的 PPK ,需要使用 Normal ;若果閣下使用 Putty 所建立的 PPK ,需要使用 Interactive

見下文
User 輸入閣下的 OpenShift 的使用名稱

見下文
第一次使用 FileZilla 登入 OpenShift 有安全確認
若不想每次登入都有安全確認,可以點選「Always trust this host, add this key to the cache」才確定


若果直接使用由 Putty 建立的 PPK,由於沒有剛才轉換 RSA 時輸入密碼,需要在這時輸入

見下文
連結至 OpenShift

沒有留言 :

張貼留言