在Ubuntu 14.04.1 LTS 下安裝apache passenger
理論上要安裝東西,最好用同一套版本管理系統處理,這樣在未來可以避免升級之後,產生套件相依性的干擾。
套件相依性爛掉之後,有時候要花比重灌更多的時間才能處理好,相當麻煩。
不過如果在 Ubuntu 下面,使用 apt-get 安裝的東西可能不一定是新版的,有的網站會教用 gem 安裝,這樣又違背了上面的說明。
現在我就遇到這問題了,已經裝好 Apache 2.4.x、php5、Mysql、Ruby 2.x、Rails 4.x。
接下來要安裝 passenger,發現 apt-get 要按照相依性安裝 Ruby 1.9.x,這就跟已經裝好的 Ruby 2.x 衝突了。只好都改用 gem 安裝。
假設你的狀況跟我一樣,提供我接下來的作法(指令)給各位參考:
- gem install passenger
應該會叫你順便做以下這幾個:
apt-get install apache2-threaded-dev
apt-get install libapr1-dev
apt-get install libaprutil1-dev - passenger-install-apache2-module
之後再按照指示新增一個檔案在 /etc/apache2/conf-available/passenger.conf
內容類似這樣(請勿貼這裡的,而是按照畫面指示)
LoadModule passenger_module /home/taichis/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/passenger-4.0.53/buildout/apache2/mod_passenger.so
PassengerRoot /home/taichis/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/passenger-4.0.53
PassengerDefaultRuby /home/taichis/.rbenv/versions/2.1.3/bin/ruby
下指令 a2enconf passenger
再來新增一個檔案在 /etc/apache2/sites-available/myrails.conf (檔名自己取,後面留 .conf)
ServerName www.yourhost.com
# !!! Be sure to point DocumentRoot to 'public'!
DocumentRoot /somewhere/public
# This relaxes Apache security settings.
AllowOverride all
# MultiViews must be turned off.
Options -MultiViews
# Uncomment this if you're on Apache >= 2.4:
#Require all granted
下指令 a2ensite myrails
然後重新啟動這些新設定就好:
service apache2 reload
發佈留言
很抱歉,必須登入網站才能發佈留言。