Ruby on Rails 開發環境建置 for Ubuntu
Upcoming SlideShare
Loading in...5
×
 

Ruby on Rails 開發環境建置 for Ubuntu

on

  • 1,422 views

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

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

Statistics

Views

Total Views
1,422
Views on SlideShare
1,422
Embed Views
0

Actions

Likes
3
Downloads
11
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

  • 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 libyaml-devlibxml2-dev libxslt-dev autoconf libc6-devncurses-dev libxslt1.1 libxslt1-dev libxml2libcurl4-openssl-dev libapr1-devlibaprutil1-dev autoconf automake libtoolpkg-config subversion
  • 安裝 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 可填識別電腦用的名稱 執行後一路 enter 到底 以上 script 在 ~/.ssh/id_rsa.pub 已存在時不會產生
  • 來源: 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 可透過此步驟 過程會先檢查系統有沒有安裝必要套件 若沒有可透過 apt-get 安裝
  • 安裝完成後會出現以下畫面 複製 “LoadModule …” 以下三行
  • 設定至 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
  • 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! 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
  • 多個 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”
  • 安裝 nginx + passengerpassenger-install-nginx-module 使用 root 身分執行 採用 apache 可透過此步驟選 1 由 passenger 會直接幫你 build nginx 因此不需要事先安裝 nginx nginx 安裝路徑可用預設 /opt/nginx
  • 安裝完成後會出現以下畫面 複製 “passenger_root…” 以下兩行
  • 設定至 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 可能已經幫你貼好了, 先檢查看看吧
  • 啟動 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 Text 2/sublime_text /usr/bin/subl
  • 可在 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 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
  • 設定預設編輯器sudo sublime /usr/share/applications/defaults.list 將所有 “gedit.desktop” 取代為 “sublime.desktop”
  • 常用快速鍵 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
  • 更改快速鍵
  • 可以按照自己的喜好改
  • 個人化設定 Ctrl + ,
  • Sublim Text 2 參考文件● MarsZ : 我的 Sublime Text 2 設定檔● 非官方文件● 官方文件● 線上影片課程
  • END