0
Ruby on Rails 開發環境建置        for Ubuntu     marsz@5fpro.com       2012/12/21
Build-essentials apt-get       Ruby on RailsPassenger + Nginx / Apache  etc. (ssh key, editor…)
Ubuntu 12.04.1
更新 apt-getsudo apt-get update
更新必要套件sudo apt-get install -y build-essential bisonopenssl libreadline6 libreadline6-devzlib1g zlib1g-dev libssl-dev libya...
安裝 curlsudo apt-get install -y curl
安裝 gitsudo apt-get install -y git-core
安裝 vimsudo apt-get install -y vim
安裝 ImageMagicksudo apt-get install -y imagemagick libmagickcore-dev                  libmagickwand-dev                   強...
安裝 sqlitesudo apt-get install -y sqlite3 libsqlite3-dev libsqlite3-0           Rails 的新專案預設會 bundle sqlite
安裝 mysqlsudo apt-get install -y mysql-server mysql-client libmysql++-dev                        設定 root 密碼
啟動 mysqlsudo /etc/init.d/mysql start
停止 mysqlsudo /etc/init.d/mysql stop
重啟 mysqlsudo /etc/init.d/mysql restart
開機自動啟動 mysql  sudo vim /etc/rc.local
安裝 apachesudo apt-get install -y apache2 apache2-prefork-dev               用 nginx 就不用安裝了
啟動 apachesudo /etc/init.d/apache2 start
停止 apachesudo /etc/init.d/apache2 stop
重啟 apachesudo /etc/init.d/apache2 restart
開機自動啟動 apache  sudo vim /etc/rc.local
安裝 Ruby on Rails
以 root 身分安裝以下
RVM管理 & 切換不同版本的 ruby
安裝 RVMcurl -L https://get.rvm.io | bash -s stable       then…重開命令列或重新登       入
檢視 RVM 版本   rvm -v
列出可安裝的 ruby    rvm list
列出可安裝的 ruby  rvm list known
安裝某一版的 rubyrvm install ruby-1.9.3-p327
列出已安裝 ruby   rvm list
切換到某一版的 ruby rvm use ruby-1.9.3-p327
設定預設版本 rubyrvm use ruby-1.9.3-p327 --default
移除已安裝的 rubyrvm remove ruby-1.9.3-p327
更多 RVM 資訊…  https://rvm.io
RubyGemsruby-based 的套件管理工具
安裝 RubyGemsrvm rubygems current  …透過 rvm 安裝  …
RubyGem 版本   gem -v
gem 是獨立於不同 ruby 版本的    ~ rvm use ruby-1.8.7    ~ gem –v    1.6.2    ~ rvm use ruby-1.9.3    ~ gem –v    1.8.24
gem 套件安裝範例   gem install rake 安裝名為 “rake” 的 gem
可指定版本gem install rake –v=0.8.7
不安裝 ri/rdocgem install rake –v=0.8.7 --no-ri --no-rdoc     gem 的文件幾乎都是在網路上看的         因此不需要安裝在 local
預設 --no-ri --no-rdocecho "gem: --no-ri --no-rdoc" >> ~/.gemrcroot 和一般 user 都要設定 .gemrc 會比較徹底
移除 gem 套件 gem uninstall rake移除名為 “rake” 的 gem
列出已安裝+符合關鍵字     gem list ”rake” 搜尋名稱有包含 “rake” 的 gem
更新目前版本的 gem  gem update rake  更新 “rake” 的版本
RubyGems 文件…http://docs.rubygems.org/
Ruby ToolBoxhttps://www.ruby-toolbox.com/       搜尋以及排行 rubygem       ruby 相關專案的介紹
分類相當的多…
Rails著名 ruby 框架,也是透過 gem 安裝 :D
安裝 railsgem install rails
安裝指定版本 railsgem install rails –v=3.2.9
看版本rails -v
執行指定版本的 rails   rails _3.2.8_ -v   rails _3.1.3_ -v
產生 ssh keyif [ ! -f ~/.ssh/id_rsa.pub ]; then ssh-keygen -t       rsa -C "YOUR COMPUTER NAME"; fi    YOUR COMPUTER NAME 可填...
來源: https://help.github.com/articles/generating-ssh-keys
你的 SSH KEY     cat ~/.ssh/id_rsa.pub將顯示的內容貼到需要設定 ssh key 的地方即可
更多 ssh key 相關連結●   http://frb.name/tutorial-github/●   SSH login without password●   Github help for generating SSH KEY
Passengerhttps://www.phusionpassenger.com/     整合 ruby app 和 apache/nginx
安裝 passengergem install passenger請用 root 身分執行此指令
安裝 passenger for apachepassenger-install-apache2-module        請使用 root 身分執行    採用 nginx 可透過此步驟 過程會先檢查系統有沒有安裝必要套件    若沒有可透...
安裝完成後會出現以下畫面 複製 “LoadModule …” 以下三行
設定至 apache config           sudo vim /etc/apache2/httpd.confLoadModule passenger_module /usr/local/rvm/gems/ruby-1.9.3-p32...
Apache 設定 vhostsudo vim /etc/apache2/sites-available/example.com       example.com 是你欲設定的 domain 名稱
Apache vhost 範例 for rails app<VirtualHost *:80>   ServerName example.com   # !!! Be sure to point DocumentRoot to public! ...
多個 domain 指向同一個 app<VirtualHost *:80>   ServerName example.com   ServerAlias example2.com   ServerAlias example3.com   # !...
安裝 nginx + passengerpassenger-install-nginx-module         使用 root 身分執行      採用 apache 可透過此步驟選 1 由 passenger 會直接幫你 build n...
安裝完成後會出現以下畫面 複製 “passenger_root…” 以下兩行
設定至 nginx config         sudo vim /opt/nginx/conf/nginx.confhttp {   passenger_root /usr/local/rvm/gems/ruby-1.9.3-p327/ge...
啟動 nginxsudo /opt/nginx/sbin/nginx
停止 nginxsudo /opt/nginx/sbin/nginx –S stop
重啟 nginxsudo /opt/nginx/sbin/nginx –S reload
Sublime Text 2http://www.sublimetext.com/
安裝 Sublime Text 2http://www.sublimetext.com/2          下載 tar file
解壓縮 + 設定 link       tar xf Sublime Text 2.0.1 x64.tar.bz2           sudo mv Sublime Text 2 /opt/sudo ln -s /opt/Sublime Te...
可在 command line 下使用 subl          subl -v
開啟目前所在目錄的 editor      subl .
設定桌面連結sudo sublime /usr/share/applications/sublime.desktop
[Desktop Entry]Version=1.0Name=Sublime Text 2# Only KDE 4 seems to use GenericName, so we reuse the KDE strings.# From Ubu...
設定預設編輯器sudo sublime /usr/share/applications/defaults.list   將所有 “gedit.desktop” 取代為 “sublime.desktop”
常用快速鍵       Command + T           Go to file       Command + F           Find in file       Command + ]           Indent  ...
更改快速鍵
可以按照自己的喜好改
個人化設定 Ctrl + ,
Sublim Text 2 參考文件●   MarsZ : 我的 Sublime Text 2 設定檔●   非官方文件●   官方文件●   線上影片課程
END
Upcoming SlideShare
Loading in...5
×

Ruby on Rails 開發環境建置 for Ubuntu

2,200

Published on

這是給菜鳥工程師用來建置 ruby on rails 開發環境的 SOP。長遠建議還是用 Mac 會比用 Ubuntu 好很多 :p

Published in: Technology
0 Comments
20 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,200
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
38
Comments
0
Likes
20
Embeds 0
No embeds

No notes for slide

Transcript of "Ruby on Rails 開發環境建置 for Ubuntu"

  1. 1. Ruby on Rails 開發環境建置 for Ubuntu marsz@5fpro.com 2012/12/21
  2. 2. Build-essentials apt-get Ruby on RailsPassenger + Nginx / Apache etc. (ssh key, editor…)
  3. 3. Ubuntu 12.04.1
  4. 4. 更新 apt-getsudo apt-get update
  5. 5. 更新必要套件sudo apt-get install -y build-essential bisonopenssl libreadline6 libreadline6-devzlib1g zlib1g-dev libssl-dev libyaml-devlibxml2-dev libxslt-dev autoconf libc6-devncurses-dev libxslt1.1 libxslt1-dev libxml2libcurl4-openssl-dev libapr1-devlibaprutil1-dev autoconf automake libtoolpkg-config subversion
  6. 6. 安裝 curlsudo apt-get install -y curl
  7. 7. 安裝 gitsudo apt-get install -y git-core
  8. 8. 安裝 vimsudo apt-get install -y vim
  9. 9. 安裝 ImageMagicksudo apt-get install -y imagemagick libmagickcore-dev libmagickwand-dev 強大的縮圖軟體
  10. 10. 安裝 sqlitesudo apt-get install -y sqlite3 libsqlite3-dev libsqlite3-0 Rails 的新專案預設會 bundle sqlite
  11. 11. 安裝 mysqlsudo apt-get install -y mysql-server mysql-client libmysql++-dev 設定 root 密碼
  12. 12. 啟動 mysqlsudo /etc/init.d/mysql start
  13. 13. 停止 mysqlsudo /etc/init.d/mysql stop
  14. 14. 重啟 mysqlsudo /etc/init.d/mysql restart
  15. 15. 開機自動啟動 mysql sudo vim /etc/rc.local
  16. 16. 安裝 apachesudo apt-get install -y apache2 apache2-prefork-dev 用 nginx 就不用安裝了
  17. 17. 啟動 apachesudo /etc/init.d/apache2 start
  18. 18. 停止 apachesudo /etc/init.d/apache2 stop
  19. 19. 重啟 apachesudo /etc/init.d/apache2 restart
  20. 20. 開機自動啟動 apache sudo vim /etc/rc.local
  21. 21. 安裝 Ruby on Rails
  22. 22. 以 root 身分安裝以下
  23. 23. RVM管理 & 切換不同版本的 ruby
  24. 24. 安裝 RVMcurl -L https://get.rvm.io | bash -s stable then…重開命令列或重新登 入
  25. 25. 檢視 RVM 版本 rvm -v
  26. 26. 列出可安裝的 ruby rvm list
  27. 27. 列出可安裝的 ruby rvm list known
  28. 28. 安裝某一版的 rubyrvm install ruby-1.9.3-p327
  29. 29. 列出已安裝 ruby rvm list
  30. 30. 切換到某一版的 ruby rvm use ruby-1.9.3-p327
  31. 31. 設定預設版本 rubyrvm use ruby-1.9.3-p327 --default
  32. 32. 移除已安裝的 rubyrvm remove ruby-1.9.3-p327
  33. 33. 更多 RVM 資訊… https://rvm.io
  34. 34. RubyGemsruby-based 的套件管理工具
  35. 35. 安裝 RubyGemsrvm rubygems current …透過 rvm 安裝 …
  36. 36. RubyGem 版本 gem -v
  37. 37. gem 是獨立於不同 ruby 版本的 ~ rvm use ruby-1.8.7 ~ gem –v 1.6.2 ~ rvm use ruby-1.9.3 ~ gem –v 1.8.24
  38. 38. gem 套件安裝範例 gem install rake 安裝名為 “rake” 的 gem
  39. 39. 可指定版本gem install rake –v=0.8.7
  40. 40. 不安裝 ri/rdocgem install rake –v=0.8.7 --no-ri --no-rdoc gem 的文件幾乎都是在網路上看的 因此不需要安裝在 local
  41. 41. 預設 --no-ri --no-rdocecho "gem: --no-ri --no-rdoc" >> ~/.gemrcroot 和一般 user 都要設定 .gemrc 會比較徹底
  42. 42. 移除 gem 套件 gem uninstall rake移除名為 “rake” 的 gem
  43. 43. 列出已安裝+符合關鍵字 gem list ”rake” 搜尋名稱有包含 “rake” 的 gem
  44. 44. 更新目前版本的 gem gem update rake 更新 “rake” 的版本
  45. 45. RubyGems 文件…http://docs.rubygems.org/
  46. 46. Ruby ToolBoxhttps://www.ruby-toolbox.com/ 搜尋以及排行 rubygem ruby 相關專案的介紹
  47. 47. 分類相當的多…
  48. 48. Rails著名 ruby 框架,也是透過 gem 安裝 :D
  49. 49. 安裝 railsgem install rails
  50. 50. 安裝指定版本 railsgem install rails –v=3.2.9
  51. 51. 看版本rails -v
  52. 52. 執行指定版本的 rails rails _3.2.8_ -v rails _3.1.3_ -v
  53. 53. 產生 ssh keyif [ ! -f ~/.ssh/id_rsa.pub ]; then ssh-keygen -t rsa -C "YOUR COMPUTER NAME"; fi YOUR COMPUTER NAME 可填識別電腦用的名稱 執行後一路 enter 到底 以上 script 在 ~/.ssh/id_rsa.pub 已存在時不會產生
  54. 54. 來源: https://help.github.com/articles/generating-ssh-keys
  55. 55. 你的 SSH KEY cat ~/.ssh/id_rsa.pub將顯示的內容貼到需要設定 ssh key 的地方即可
  56. 56. 更多 ssh key 相關連結● http://frb.name/tutorial-github/● SSH login without password● Github help for generating SSH KEY
  57. 57. Passengerhttps://www.phusionpassenger.com/ 整合 ruby app 和 apache/nginx
  58. 58. 安裝 passengergem install passenger請用 root 身分執行此指令
  59. 59. 安裝 passenger for apachepassenger-install-apache2-module 請使用 root 身分執行 採用 nginx 可透過此步驟 過程會先檢查系統有沒有安裝必要套件 若沒有可透過 apt-get 安裝
  60. 60. 安裝完成後會出現以下畫面 複製 “LoadModule …” 以下三行
  61. 61. 設定至 apache config sudo vim /etc/apache2/httpd.confLoadModule passenger_module /usr/local/rvm/gems/ruby-1.9.3-p327/gems/passenger-3.0.18/ext/apache2/mod_passenger.soPassengerRoot /usr/local/rvm/gems/ruby-1.9.3-p327/gems/passenger-3.0.18PassengerRuby /usr/local/rvm/wrappers/ruby-1.9.3-p327/ruby 存檔後重啟 apache
  62. 62. Apache 設定 vhostsudo vim /etc/apache2/sites-available/example.com example.com 是你欲設定的 domain 名稱
  63. 63. Apache vhost 範例 for rails app<VirtualHost *:80> ServerName example.com # !!! Be sure to point DocumentRoot to public! DocumentRoot /path/to/rails/app/public <Directory /path/to/rails/app/public> # This relaxes Apache security settings. AllowOverride all # MultiViews must be turned off. Options -MultiViews </Directory> </VirtualHost> DocumentRoot 是指向 rails app dir 下的 /public
  64. 64. 多個 domain 指向同一個 app<VirtualHost *:80> ServerName example.com ServerAlias example2.com ServerAlias example3.com # !!! Be sure to point DocumentRoot to public! DocumentRoot /path/to/rails/app/public <Directory /path/to/rails/app/public> # This relaxes Apache security settings. AllowOverride all # MultiViews must be turned off. Options -MultiViews </Directory> </VirtualHost> 善用 “ServerAlias”
  65. 65. 安裝 nginx + passengerpassenger-install-nginx-module 使用 root 身分執行 採用 apache 可透過此步驟選 1 由 passenger 會直接幫你 build nginx 因此不需要事先安裝 nginx nginx 安裝路徑可用預設 /opt/nginx
  66. 66. 安裝完成後會出現以下畫面 複製 “passenger_root…” 以下兩行
  67. 67. 設定至 nginx config sudo vim /opt/nginx/conf/nginx.confhttp { passenger_root /usr/local/rvm/gems/ruby-1.9.3-p327/gems/passenger-3.0.18; passenger_ruby /usr/local/rvm/wrappers/ruby-1.9.3-p327/ruby; …..} passenger 可能已經幫你貼好了, 先檢查看看吧
  68. 68. 啟動 nginxsudo /opt/nginx/sbin/nginx
  69. 69. 停止 nginxsudo /opt/nginx/sbin/nginx –S stop
  70. 70. 重啟 nginxsudo /opt/nginx/sbin/nginx –S reload
  71. 71. Sublime Text 2http://www.sublimetext.com/
  72. 72. 安裝 Sublime Text 2http://www.sublimetext.com/2 下載 tar file
  73. 73. 解壓縮 + 設定 link tar xf Sublime Text 2.0.1 x64.tar.bz2 sudo mv Sublime Text 2 /opt/sudo ln -s /opt/Sublime Text 2/sublime_text /usr/bin/subl
  74. 74. 可在 command line 下使用 subl subl -v
  75. 75. 開啟目前所在目錄的 editor subl .
  76. 76. 設定桌面連結sudo sublime /usr/share/applications/sublime.desktop
  77. 77. [Desktop Entry]Version=1.0Name=Sublime Text 2# Only KDE 4 seems to use GenericName, so we reuse the KDE strings.# From Ubuntus language-pack-kde-XX-base packages, version 9.04-20090413.GenericName=Text EditorExec=sublimeTerminal=falseIcon=/opt/Sublime Text 2/Icon/48x48/sublime_text.pngType=ApplicationCategories=TextEditor;IDE;DevelopmentX-Ayatana-Desktop-Shortcuts=NewWindow[NewWindow Shortcut Group]Name=New WindowExec=sublime -nTargetEnvironment=Unity
  78. 78. 設定預設編輯器sudo sublime /usr/share/applications/defaults.list 將所有 “gedit.desktop” 取代為 “sublime.desktop”
  79. 79. 常用快速鍵 Command + T Go to file Command + F Find in file Command + ] Indent Command + [ Outdent Ctrl + G Go to line更多 http://jream.com/blog/2012/02/17/sublime-text-2-hotkeys
  80. 80. 更改快速鍵
  81. 81. 可以按照自己的喜好改
  82. 82. 個人化設定 Ctrl + ,
  83. 83. Sublim Text 2 參考文件● MarsZ : 我的 Sublime Text 2 設定檔● 非官方文件● 官方文件● 線上影片課程
  84. 84. END
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×