2013年6月1日 星期六

[PHP] 使用 Heroku 架設 Wordpress 免費部落格


最近大家對 PIXNET 部落格發展方向似乎有不少負面聲音,對我而言倒是還好,但也抽空嘗試其他家服務,其中看到一篇文章:Hosting a WordPress Blog on Heroku with the Svbtle Theme for free ,挺有意思的,就是試了一下。試完的結果是...免費的空間不夠用 XD


根據 Heroku Postgres Basic Plan and Row Limits @ 2012/07/16


Accompanying this announcement is the implementation of a 10,000 row limit on the dev plan. This row limit was designed to correspond to the 5mb limit on the existing free shared plan.


以此 Blog 為例,進行匯入時最後只匯了約 400 篇文章,然後機器就連不到了 XDD:


$ heroku pg:info
=== HEROKU_POSTGRESQL_XXX_URL (DATABASE_URL)
Plan: Dev
Status: available
Connections: 1
PG Version: 9.2.4
Created: 2013-06-01 13:57 UTC
Data Size: 10.4 MB
Tables: 11
Rows: 1584/10000 (In compliance)
Fork/Follow: Unsupported


大概是我比較愛打字 XD 所以使用 Heroku 免費架 Blog 的方案不適合我,但 5MB size & 10000 rows 倒還可以用在其他應用囉 :D


剩下是此次操作方式:


$ git clone git://github.com/webjames/heroku-wordpress-svbtle.git
Cloning into 'heroku-wordpress-svbtle'...
remote: Counting objects: 1447, done.
remote: Compressing objects: 100% (1286/1286), done.
remote: Total 1447 (delta 130), reused 1428 (delta 120)
Receiving objects: 100% (1447/1447), 7.00 MiB | 1.16 MiB/s, done.
Resolving deltas: 100% (130/130), done.


$ cd heroku-wordpress-svbtle


$ heroku create
Creating xxxx-xxx-####... done, stack is cedar
http://xxxx-xxx-####.herokuapp.com/ | git@heroku.com:xxxx-xxx-####.git
Git remote heroku added


$ heroku addons:add heroku-postgresql:dev
Adding heroku-postgresql:dev on xxxx-xxx-####... done, v3 (free)
Attached as HEROKU_POSTGRESQL_RED_URL
Database has been created and is available
! This database is empty. If upgrading, you can transfer
! data from another database with pgbackups:restore.
Use `heroku addons:docs heroku-postgresql:dev` to view documentation.


$ heroku pg:promote HEROKU_POSTGRESQL_RED
Promoting HEROKU_POSTGRESQL_RED_URL to DATABASE_URL... done


$ git checkout -b production
Switched to a new branch 'production'


$ cp wp-config-sample.php wp-config.php
$ >.gitignore
$ git add .
$ git commit -m "Initial WordPress commit"
[production #######] Initial WordPress commit
2 files changed, 93 insertions(+)
create mode 100644 .gitignore
create mode 100755 wp-config.php


$ git push heroku production:master
Counting objects: 1450, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (1278/1278), done.
Writing objects: 100% (1450/1450), 7.00 MiB | 173 KiB/s, done.
Total 1450 (delta 132), reused 1445 (delta 130)


-----> PHP app detected
-----> Bundling Apache version 2.2.22
-----> Bundling PHP version 5.3.10
-----> Discovering process types
Procfile declares types -> (none)
Default types for PHP -> web


-----> Compiled slug size: 16.0MB
-----> Launching... done, v6
http://xxxx-xxx-####.herokuapp.com deployed to Heroku


To git@heroku.com:xxxx-xxx-####.git
* [new branch] production -> master


其他部分:


將 Wordpress 設定為必須登入才能看到文章:


$ cat wp-blog-header.php
<?php
/**
* Loads the WordPress environment and template.
*
* @package WordPress
*/
if ( !isset($wp_did_header) ) {


  $wp_did_header = true;


  require_once( dirname(__FILE__) . '/wp-load.php' );


  if ( !is_user_logged_in() ) {   // 太久沒用 wordpress ,印象中有選項可以設定:限定登入才能看到文章
    auth_redirect();
    exit;
  }


  wp();


  require_once( ABSPATH . WPINC . '/template-loader.php' );


}


啟用 MT 匯入功能:


$ wget -qO- http://downloads.wordpress.org/plugin/movabletype-importer.zip | tar -xvf - -C wp-content/plugins/
$ git add .
$ git commit -am 'add movabletype-importer plugin'
$ git push heroku production:master


由於 heroku 僅能上傳 2MB 大小的檔案,若你的 Blog 之 MT 備份檔超過 2MB 的話,可以擺在 blog site 匯入。


$ cp /path/you_blog_backup.txt wp-content/mt-export.txt
$ git add .
$ git commit -am 'add mt-export.txt'
$ git push heroku production:master


接著就可以去後台管理來匯入資料。


2013年5月26日 星期日

[Windows] 製作 Windows 可開機安裝隨身碟 @ Windows 8

對 Windows 7 來說,有官方出的工具 Windows7-USB-DVD-tool 可以用,但用在 Win8 則失敗?在加上坊間大多都用其他第三方軟體製作,所以找資料時花了不少時間,還是把它記一下好了


準備工具:



  • 一支隨身碟

  • 正版 Windows 安裝光碟 ISO 檔

  • 使用 Windows 內建 diskpart 工具

  • 使用 Windows 安裝光碟 boot\bootsect.exe 工具


流程:


1. 準備一支隨身碟並格式化 (ctrl + r + diskpart)


Microsoft DiskPart 版本 6.2.9200
Copyright (C) 1999-2012 Microsoft Corporation.
DISKPART> list disk

磁碟 ### 狀態 大小 可用 Dyn Gpt
-------- ------------- ------- ------- --- ---
磁碟 0 連線 931 GB 0 B
磁碟 1 連線 14 GB 14 GB

DISKPART> select disk 1
磁碟 1 是所選擇的磁碟。

DISKPART> clean
DiskPart 成功地清理了磁碟。

DISKPART> create partition primary
DiskPart 成功地建立了指定的磁碟分割。

DISKPART> select partition 1
磁碟分割 1 是所選擇的磁碟分割。

DISKPART> active
DiskPart 已標記目前的磁碟分割為使用中。

DISKPART> format FS=NTFS
100 % 已完成

2. 建立可開機隨身碟,此例在 F 槽 (WIN8.iso\boot\bootsect.exe)


bootsect.exe /nt60 F:


3. 複製 ISO 光碟資料至隨身碟


直接用 7zip 解壓縮 ISO 到隨身碟即可


收工!


2013年5月25日 星期六

一人公司方案 - 使用 Google App Engine 和 Google Apps for business

  + 


之前花錢買的 domain 快過期了,就手癢買了另一個 XD 接著就想著該怎樣善用,於是就想到跟 Google App Engine 結合,接著還想到 email hosting 的問題,又想到 Google App for business 的部份,雖然從 namecheap 購買時有送一年免費的 email hosting 服務,但還是太陽春了(總空間好像才10MB)。


設定筆記:



  • Namecheap


    • 將指定的 domain 指向 ghs.googlehosted.com. (CNAME)

    • User (Mail Server's Host Name Required)


      • 指定 Google Apps Email 後儲存,接著就會自動帶出以下 MX


        • ALT1.ASPMX.L.GOOGLE.COM.

        • ALT2.ASPMX.L.GOOGLE.COM.

        • ASPMX.L.GOOGLE.COM.

        • ASPMX2.GOOGLEMAIL.COM.

        • ASPMX3.GOOGLEMAIL.COM.




  • Google App Engines


    • 建立一個 yourapp 後,可以綁定 domain 後,未來即可用指定 domain 連回 yourapp.appspot.com


  • Google Apps for business


    • 先用免錢的,有一個使用者帳號,如 user@domain,並以此登入 Gmail 中,綁定 domain 過程中會須驗證 domain 是否為你擁有的

    • 每個使用者都可以在設定 30 個 nickname ,也就是可以新增 ceo@domain, cto@domain, cfo@domain 一樣寄到 user@domain 的功能,一人公司也就完成雛形了 XDDD



如此一來,就可以用 Google App Engines 來經營自家公司網站了!除了省去自己租機器營運,也有可以印名片的 Email address 啦,後端可還是用 Gmail 的唷!未來若有其他網站服務,就一樣用 Google App Engines 去建立,在設定好 domain 來指定一切就完美了 XD


2013年5月19日 星期日

如何吸引客戶買單?

Nexus S & Pi


最近 ARM-based devices 盛行,搞硬體的都很黑皮很期待未來,覺得電腦越做越小越省電,我自己也跳入類似的產業,拿著客製化的板子將某些服務做在上頭。而最近開始遲疑一些事情:把一些服務都植入後,那然後呢?客戶買單嗎?很妙的,台灣大多還是那種硬體思維,肯花錢買軟體的少,故商品實體化也造就了硬派的永遠壓著軟派的走向,反而 mobile app 才看到一丁點軟派的舞台!


前幾天在茶水間跟業務聊上幾句,他再思考到底怎樣客戶才願意買單,說真的我也不知道 XD 但卻讓我開始多思考這類事情。


那些賣硬體的為了跟市面上的產品區隔,不外乎是低價促銷,不外乎想要再自家硬體加上更多不一樣的軟體,好讓人覺得這台裝置便宜又大碗!但問題出現了...裝置的規劃本身就是在特定情境下使用的,已經先 cost down 一次了,接著額外的軟體要再加上去,則容易出現系統不穩。更別說寫軟體的總希望記憶體越大越好,執行效率才會更加;賣硬體的,總希望硬體資源越小越好,裝置成品才會更低。


這樣身為軟體開發者,就會漸漸有種奇妙的心聲?非得靠這裝置才能凸顯自己的價值嗎?或是,乾脆從事 mobile app + service 就好?反正智慧手機當道,你家賣的硬體也沒智慧手機強甚至普及,通路更是要自己打,舉凡 iOS App Store 還是 Android Google Play 等,都讓大夥很快接近你家的軟體啊,那這樣繼續搭配指定硬體賣的理由是?不覺得別人當主體,軟派努力老半天則是個配角嗎?囧rz


像 Pi 一樣的設備很多,如 Pandaboard、BeagleBoard 等,這些都十足讓工程師感到興奮,但一般使用者呢?似乎還有好長的一段路要走,除了教學跟自爽外,很難請別人用這裝置 Orz 或許,裝置存在的價值都只是為那個 special case 而已,用它開個 open office 如何?給它加上電池、無線網卡甚是螢幕鍵盤滑鼠,它仍只是個特殊裝置,可以思考哪些不用高速運算的東西可以移植過來,但肯定不是什麼都適合移植,它的品質終究不是台個人 PC 啊。


[OSX] 查詢無線網路連線速度品質 (802.11 a/b/g/n) @ Mac 10.8.3

網路工具程式


應用程式 -> 工具程式 -> 網路工具程式 或 $ open /Applications/Utilities/Network\ Utility.app


最近 DIR-300 常常無緣無故連不上 XD 查了網路文章應該是熱當的現象,看來改天再來學神人加個風散看看好了 XD