發表文章

devstack安裝all in one openstack(pike)

環境說明: 這邊利用virtualbox開啟一台vm,網卡第一張設定Bridge Adapter模式,第二張設定Host-only Network模式 OS 16.04 kernel 4.4.0-87-generic Host Private IP (Management IP)/Interface(eth1) Public IP/Interface(eth0) controller 192.168.100.4 172.20.3.53 首先建立一個user為stack $ adduser stack $ echo 'stack ALL=(ALL) NOPASSWD:ALL' > /etc/sudoers.d/stack $ chmod 0440 /etc/sudoers.d/stack 更新軟體清單以及套件 $ apt-get update && apt-get -y upgrade 安裝ntp並設定 $ apt-get install -y git ntp # 編輯ntp.conf 加入以下server $ vim /etc/ntp.conf server time.stdtime.gov.tw 切換stack並clone devstack $ su stack $ cd $ git clone https://github.com/openstack-dev/devstack.git $ cd devstack $ git checkout stable/pike (Optional) 如果想使用murano,必須另外下載source code,如果沒有要用murano可跳過這步 $ git clone https://github.com/openstack/murano.git -b stable/kilo $ cd murano/contrib/devstack # 複製murano source code $ export DEVSTACK_DIR=~/devstack $ cp lib/murano ${DEVSTACK

利用Google認證登入你的web service

圖片
Step1 : https://console.cloud.google.com/ Step2 : 建立新專案   Step3 : 進入API管理員,建立憑證OAuth   Step4 : 這時會請你設定同意畫面以及相關的rediret URL Step5 : 編輯一個網頁如下 參考網頁 <Optional> 客製化登入按鈕 <注意> 客製化按鈕的規範 Step6 : 瀏覽此網頁,即會出現一個google認證按鈕 Step7: 如果成功的話,才可會經過onSignIn()取得相關的基本資料

利用Facebook認證登入你的web service

圖片
Step1 : 首先先到以下網址去建立應用程式 https://developers.facebook.com/apps/ Step2 : 輸入你的應用程式名稱 Step3 : 因為我們今天是想單純利用FB來做登入認證的驗證,所以選擇Facebook 登入 Step4 : 選擇網站平台 Step5 : 接下來其實FB都會告訴你需要設定甚麼,這邊就單純貼步驟上來 這裡也會說明回傳的狀態參數有哪些   Step6 : 當出現上述的畫面,代表已經設定完成,並把剛剛代碼編成一個網頁 Step7 : 瀏覽此網頁,即會出現一個FB的登入按鈕 Step8 : 進入FB驗證流程 Step9 : 觀察response A. 取消視窗 B. 已登入FB 但取消驗證視窗 C. 已登入FB且同意驗證視窗 Step10 : 之後web service就可以經由response來設計之後的流程

PHP - 產生qrcode

我們這邊利用 PHP QR Code 的open source library來產生圖檔, Step1 : 首先先下載source code至相關目錄 Step2 : 以下是範例code $ vim sample1.php <?php include 'phpqrcode/lib/full/qrlib.php'; $param = isset($_GET['data']) ? $_GET['data'] : 'Test Sample.'; ob_start("callback"); $codeText = $param; $debugLog = ob_get_contents(); ob_end_clean(); QRcode::png($codeText); Step3: 並利用sample2.php執行 $ vim sample2.php <?php $ourParamId = 1234; echo '<img src="sample1.php?data='.$ourParamId.'" />'; P.S. 如果想要讓qr code加入特定logo 可以利用google相關api產生 $ vim sample3.php <?php include 'phpqrcode/lib/full/qrlib.php'; ## 產生qr code的路徑檔名 $filepath = 'myimage.png'; ## 你想加入的logo路徑圖檔 $logopath = ' your logo path '; ## qr code的內容 $codeContents = 'Test Sample3'; QRcode::png($codeContents,$filepath , QR_ECLEVEL_H); $QR = imagecreatefrompng($filepath); $logo = imagecr

利用ATOM 編輯器在Windows開發PHP

圖片
Step1: 在 windows先安裝好PHP ,並確認環境變數是否設定完成   Step2: 設定php extension與ext路徑, 並重啟apache2, httpd.exe -k restart extension=php_sqlite3.dll extension=php_pdo_sqlite.dll extension=php_mbstring.dll extension=php_openssl.dll 在php.ini檔把上述4個加入 並設定extension路徑 extension_dir = "C:\PHP5.6\ext" Step3: 安裝composer 從 composer 網頁下載composer,並確認環境變數是否設定完成 C:\ProgramData\ComposerSetup\bin Step4: 安裝git cmd,從 git 網頁安裝git 基本上都是按next就可以了,並確認環境變數是否設定完成C:\Program Files\Git\cmd Step5: 安裝 atom Step6:安裝相關package T railing Spaces 顯示多餘的空白,並且在儲存時刪除。 linter-php 程式碼除錯,settings設定php執行路徑 project-manager php-integrator-base 在安裝php-integrator-base,如果出現 Core installed failed 請至php-integrator-base路徑下進入core,並執行composer install $ cd C:\Users\Duncan\.atom\packages\php-integrator-base\core $ composer install php-integrator-navigation atom-autocomplete-php,settings設定如下 如果想用navigation功能 Step1: 設定project Step2: 初始化此proejct Step3:  按住左邊ctrl+點擊滑鼠左鍵,即可跳到被宣告的所在位置 參考來源: 在Windows7安裝composer 30 天精通 Gi

Windows 安裝 PHP與Apache

圖片
想在windows8.1底下安裝Aapache與PHP 安裝Apache Step1: 先在PHP官網選擇欲安裝的版本,這邊以 PHP5.6 為例 Step2: 下載 Apache Lounge ,為了保險起見,這邊下載對應PHP的VC11版本 Step3: 將Apache解壓縮至C:/Apache24資料夾 (如果想放在不同路徑,請修改/conf/httpd.conf中的參數,預設C:/Apache24 )   Step4: 執行cmd並到C:\Apache24\conf路徑下,利用http.exe -t 進行httpd.conf的檢測,如果語法正確,會出現Syntax OK,如果出現有關"ServerName"的訊息,可再至/conf/httpd.conf修改,這邊以127.0.0.1:7579為例     Step5: 再利用http.exe -t 進行httpd.conf的檢測,請輸入 httpd.exe -k install,如果出現存取權限不足之類的問題,可能是port被占用,修改Listen參數值   Step6: 再次執行httpd.exe -k install,服務成功進行安裝,並執行httpd.exe -k start,成功之後再瀏覽器輸入127.0.0.1:7579 會出現It works!畫面 Step7: 想用UI管理介面,可以將bin/ApacheMonitor.exe建立捷徑 安裝PHP Step1: 將PHP解壓縮至C:/PHP5.6,將 php.ini-development重新命名為php.ini Step2: 編輯Apache的httpd.conf查找LoadModule,並在下方加上以下資訊 LoadModule php5_module C:/PHP/5.5.34/php5apache2_4.dll PHPIniDir C:/PHP/5.5.34 Step3: 繼續查找AddType,加入 AddType application/x-httpd-php .php Step4: 搜尋 DirectoryIndex 加入index.php

利用ceph-deploy 升級ceph version

$ ceph-deploy install --release {release-name} {ceph-node} # restart 被更新的 {ceph-node}

產生SSL憑證讓apache2使用

$ sudo apt-get install openssl $ sudo a2enmod ssl $ sudo mkdir /etc/apache2/ssl $ openssl req -new -x509 -days 365 -nodes -out /etc/apache2/ssl/apache.pem -keyout /etc/apache2/ssl/apache.key $ vim /etc/apache2/sites-available/000-default.conf <VirtualHost *: 443 > # The ServerName directive sets the request scheme, hostname and port that # the server uses to identify itself. This is used when creating # redirection URLs. In the context of virtual hosts, the ServerName # specifies what hostname must appear in the request's Host: header to # match this virtual host. For the default virtual host (this file) this # value is not decisive as it is used as a last resort host regardless. # However, you must set it for any further virtual host explicitly. #ServerName www.example.com ServerAdmin webmaster@localhost DocumentRoot /var/www/html SSLEngine On SSLCertificateFile /etc/ap