Fedena/安裝
Fedena 是一個 Web 應用程式,需要安裝在伺服器上,並使用客戶端計算機上的瀏覽器訪問。您可以按照以下步驟在個人計算機或 LAN 上安裝和使用 Fedena。如果您想使用 Fedena 的所有功能,應該將其安裝在雲計算伺服器上。
Fedena 原始碼在 github 上提供。
您可以使用以下命令在命令列中克隆儲存庫
$ git clone git://github.com/projectfedena/fedena.git
- 步驟 1
- 安裝 Ruby
下載並安裝 Windows 的一鍵式 Ruby 安裝程式。 http://rubyforge.org/frs/download.php/72085/rubyinstaller-1.8.7-p302.exe (舊連結,rubyforge 不再活躍,使用以下連結。) http://dl.bintray.com/oneclick/rubyinstaller/rubyinstaller-1.8.7-p374.exe?direct
- 步驟 2
- 安裝 Rails
現在我們可以使用 RubyGems 包管理器下載並安裝 Rails 2.3.5(注意:版本應為 2.3.5),
- 開啟命令視窗並執行命令
gem install rails -v=2.3.5 --remote
如果 rake 出現錯誤,執行 "gem install rake -v=0.8.7"
- 然後,執行以下命令
gem install prawn -v=0.6.3 --remote
- 步驟 3
- 安裝 MySQL
- 下載並安裝 MySQL 安裝程式 v5.0 的“基本”版本 http://downloads.mysql.com/archives/mysql-5.0/mysql-essential-5.0.90-win32.msi
- 將 libmysql.dll 從 MySQL bin 目錄(通常為 C:\Program Files\MySQL\MySQL Server 5.0\bin)複製到 Ruby bin 目錄(通常為 C:\Ruby\bin)
- 步驟 4
- 準備 Fedena 設定
- 從 GitHub 下載 Fedena 原始碼。解壓縮 ZIP/TAR 存檔並儲存到資料夾(例如 C:\Fedena)。
- 現在在命令視窗中轉到 fedena 原始碼目錄。(例如 "CD C:\FEDENA" 或 "CD C:\projectfedena-fedena-84b5ad9")
- 我們需要安裝正確的 MySQL gem,並且版本也必須特定。(注意,它將生成很多輸出 "No definition for ___",但這很正常。要驗證它是否已安裝,請向上滾動,如果顯示 "1 gem installed",則說明一切正常。)
gem install mysql -v=2.8.1
- 安裝 Declarative Authorization
gem install declarative_authorization -v 0.5.1
- 安裝 i18n
gem install i18n -v 0.4.2
- 由於安裝的 "rake" 命令很可能比 Fedena 編寫的版本更高,因此我們需要檢查一下。執行以下命令如果您安裝了除 0.8.7 之外的任何版本,請將其刪除。它會說依賴項無法滿足,但這沒關係,無論如何都要刪除它;在提示時也要刪除可執行檔案。
gem uninstall rake
- 然後安裝正確的版本,輸入以下命令
gem install rake -v=0.8.7
- 安裝 gem
gem install win32-open3
- 現在我們需要將 gem 系統更新為正確的系統
gem update --system 1.4.2
- 最後一個要安裝的 gem
gem install rush
- 最後,您需要檢查 gem 列表的版本,或者從一開始就透過特定版本安裝它們,例如
gem install bundler -v=1.16.2 gem install rake -v=0.8.7 gem install rails -v=2.3.5 gem install i18n -v=0.4.2 gem install mysql -v=2.8.1
- 步驟 5
- 設定 Fedena
- 在 <config\database.yml> 中更新 MySQL 資料庫詳細資訊。您需要提供正確的 MySQL 'root' 密碼。建議使用文字編輯器,例如命令提示符中的 "edit" 命令,記事本不會顯示正確的格式。
- 執行以下命令這將建立所需的資料庫。
rake db:create - 執行以下命令這將在資料庫中填充所需的表。注意:如果此時出現錯誤,您可能需要執行以下命令:"gem install rubygems-update -v 1.3.5" 並重新輸入 "rake db:migrate"。
rake db:migrate - 安裝外掛
rake fedena:plugins:install_all - 最後,執行以下命令這將啟動伺服器,並且可以透過 https://:3000 訪問。注意:預設使用者名稱為 admin,預設密碼為 admin123。
ruby script/server
- 步驟 6
- 為 Fedena 安裝 RMagick
- (需要此安裝來解決上傳學生個人資料圖片時的錯誤)
- 下載 RMagick-2.12.0-ImageMagick-6.5.6-8-Q8.zip
- 解壓縮 ImageMagick-6.5.6-8-Q8.zip
- 轉到解壓縮結果資料夾並執行 ImageMagick-6.5.6-8-Q8-windows-dll.exe 進行安裝。
- 解壓縮 RMagick-2.12.0.tar.gz
- 將結果 Rmagick-2.12.0 資料夾複製到 C:\
- 將 rmagick-2.12.0-x86-mswin32.gem 複製到 C:\RMagick-2.12.0
- 使用 Windows 命令提示符導航到 C:\RMagick-2.12.0 資料夾
- 執行命令 gem install rmagick—local
- 在生產模式下執行
- 如果您想在生產模式下執行 Fedena,請執行以下命令為此,應該在 config/database.yml 中提供生產資料庫詳細資訊
ruby script/server -e production
- 為了更快地執行,執行以下命令,然後您可以再次使用上面的命令啟動
- 安裝 Mongrel
gem install mongrel
- 執行以下命令
mongrel_rails start -e production
- 開啟另一個終端例項,轉到 Fedena 原始碼目錄,並執行以下命令
rake jobs:work
- 建立 Windows 服務
- 如果您想將 Fedena 作為 Windows 服務執行(該服務會自動啟動),請執行以下命令
- 開啟 Ruby 命令提示符並轉到 Fedena 安裝目錄
- 安裝 Gem
gem install win32-service
- 安裝 Gem
gem install mongrel_service
- 執行以下命令(將 C:\FEDENA 替換為您的 Fedena 安裝目錄。)您可能還需要將埠從 3001 更改為 80,這樣從其他計算機輸入地址時就不需要輸入埠。
mongrel_rails service::install -N Fedena -c C:\FEDENA -p 3001 -e production
- 轉到開始選單的 Windows 搜尋,輸入
services.msc
- 查詢名為 'Fedena' 的服務,並將其設定為自動
- 重新啟動計算機,看看 fedena 是否自動啟動。始終確保您的伺服器正在執行。
- 設定 Rails 開發環境
Ruby、rubygems、rails 和其他必需的軟體包可以透過以下方式安裝
sudo apt-get install rails
- 設定 MySQL 伺服器
Fedena 使用 mysql,因此執行以下命令
sudo apt-get install mysql-server mysql-client libmysql-ruby
請記住您在此步驟中設定的 mysql 密碼,在步驟 5 中需要它。
- 從 github 下載最新的 Fedena 原始碼
從 GitHub 下載 Fedena 原始碼。將下載的 .tar 存檔解壓縮到您將執行 fedena 的方便位置。假設我們將其解壓縮到我主目錄 (~) 中名為 fedena 的目錄。
- 安裝 Rails 版本 2.3.5
Fedena 在 rails 的 2.3.5 版本上執行,因此開啟終端並執行以下命令
sudo gem install rails -v=2.3.5
- 在 database.yml 中設定您的資料庫詳細資訊
開啟 fedena soucre 的 config 資料夾中的 database.yml 檔案。更改以下詳細資訊:database: fedena - 您要用於 fedena 的資料庫的名稱 username: root - fedena 的 Mysql 使用者名稱 password: mypass - 上述 mysql 使用者的密碼
- 安裝 prawn gem
執行以下命令
sudo gem install prawn -v=0.6.3
- 安裝其餘的 gems
開啟終端並導航到 fedena 原始碼目錄,透過執行以下命令安裝其餘的 gems
sudo rake gems:install
- 設定 Fedena 資料庫
在終端的 Fedena 原始碼目錄中執行以下命令
rake db:create
接著執行
rake db:migrate
- 更改指令碼的許可權
在同一個目錄中,透過以下命令為 script 目錄中的檔案授予可執行許可權
chmod +x script/*
- 執行內建伺服器
如果到目前為止一切順利,您就可以透過在 fedena 原始碼資料夾中執行以下命令來執行 fedena 伺服器
script/server
在 Centos 上安裝 Fedena 有點棘手,因為執行 Fedena 的大多數棧都沒有作為軟體包提供,需要從原始碼編譯和安裝。我用來測試 Fedena 的 Centos 版本 5.4 附帶了一個非常舊版本的 Ruby。所以,以下是你讓 Fedena 執行起來的步驟。首先是計劃。我們的計劃是在安裝 Centos、Nginx(和 Passenger)、MySQL 和 RoR 棧之後再安裝 Fedena。這裡提供的說明適用於在具有 VM 的 VPS 上安裝,在筆記型電腦或其他硬體上安裝類似。
假設你已經在筆記型電腦、伺服器或雲中的 VM 上安裝了可用的 Centos,以下是你讓 Fedena 執行起來的步驟。
- 安裝 Ruby 和 Rails
Fedena 需要 Ruby 1.8.7 和 Rails 2.3.5,版本號極其重要,你應該在繼續執行後續步驟之前驗證這些特定版本的 Ruby 和 Rails 已被安裝。
[root@i-3781-9521-VM ~]# yum install -y gcc zlib zlib-devel
[root@i-3781-9521-VM ~]# wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p352.tar.gz
[root@i-3781-9521-VM ~]# tar xvf ruby-1.8.7-p352.tar.gz
[root@i-3781-9521-VM ~]# cd ruby-1.8.7-p352
[root@i-3781-9521-VM ruby-1.8.7-p352]# ./configure --enable-pthread
[root@i-3781-9521-VM ruby-1.8.7-p352]# make
[root@i-3781-9521-VM ruby-1.8.7-p352]# make install
檢查已安裝的 Ruby 版本
[root@i-3781-9521-VM ruby-1.8.7-p352]# ruby -v
ruby 1.8.7 (2010-12-23 patchlevel 352) [x86_64-linux]
如果你有 64 位版本的 Centos,你可以將其設定為 64 位版本
[root@i-3781-9521-VM ruby-1.8.7-p352]# cd ext/zlib
[root@i-3781-9521-VM ruby-1.8.7-p352]# ruby extconf.rb --with-zlib-include=/usr/include --with-zlib-lib=/usr/lib64
[root@i-3781-9521-VM ruby-1.8.7-p352]# cd ../../
[root@i-3781-9521-VM ruby-1.8.7-p352]# make
[root@i-3781-9521-VM ruby-1.8.7-p352]# make install
再次檢查 Ruby 版本
[root@i-3781-9521-VM ruby-1.8.7-p352]# ruby -v
ruby 1.8.7 (2010-12-23 patchlevel 352) [x86_64-linux]
- 安裝 rubygems
安裝 Ruby 後,你應該安裝 rubygems。與 Ruby 一樣,你應該從原始碼安裝 rubygems,因為軟體包會安裝一個非常舊版本的 rubygems。首先從倉庫下載原始碼到 “source” 或 “src” 目錄。如果你沒有目錄,則建立一個目錄,然後將該目錄設定為當前工作目錄。
[root@i-3781-9521-VM ruby-1.8.7-p352]# cd /usr/local/src
Fedena 需要 rubygems 1.3.7,因此讓我們下載它
[root@i-3781-9521-VM src]# wget http://rubyforge.org/frs/download.php/70696/rubygems-1.3.7.tgz
解壓縮原始碼。完成後,你應該看到一個名為 rubygems-1.3.7 的目錄。
[root@i-3781-9521-VM src]# tar -zxvf rubygems-1.3.7.tgz
[root@i-3781-9521-VM src]# cd rubygems-1.3.7
編譯並安裝 rubygems
[root@i-3781-9521-VM rubygems-1.3.7]# sudo ruby setup.rb
你應該看到以下訊息和一些關於註釋和錯誤的資訊
RubyGems 1.3.7 installed
=== 1.3.7 / 2010-05-13
檢查 gems 版本
[root@i-3781-9521-VM rubygems-1.3.7]# gem -v
你應該看到
1.3.7
到目前為止一切順利
現在安裝 gem:prawn。確保你安裝此處提到的特定版本。
[root@i-3781-9521-VM projectfedena-projectfedena_v2.0-a213125]# gem install prawn -v0.6.3
- 安裝 Rails
你應該安裝 Rails 框架。
[root@i-3781-9521-VM rubygems-1.3.7]# gem install rails -v2.3.5
不要更新 gems。你還應該檢查 rake 版本是否為 0.8.7,否則執行 gem uninstall rake 和 gem install rake -v 0.8.7
- 安裝 MySQL
某些發行版附帶 MySQL 5.0.77-4.el5_6.6,因此首先讓我們將其刪除
[root@i-3781-9521-VM rubygems-1.3.7]# yum remove mysql mysql-server mysql-devel
現在安裝 MySQL 資料庫
[root@i-3781-9521-VM rubygems-1.3.7]# yum install mysql mysql-server mysql-devel
你應該看到以下訊息:已完成!
現在讓我們啟動 MySQL 並保護 “root” 使用者
[root@i-3781-9521-VM rubygems-1.3.7]# sudo /etc/init.d/mysqld start
While the MySQL server is being started you will be presented with instructions to create user accounts
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h i-3781-9521-VM password 'new-password'
使用以下命令測試你的密碼
[root@i-3781-9521-VM rubygems-1.3.7]# mysql -uroot -p<your password>
現在安裝對 rails 的支援
[root@i-3781-9521-VM rubygems-1.3.7]# gem install mysql -- --with-mysql-config=/usr/lib64/mysql/mysql_config
速度很快。讓我們檢查它是否已正確安裝。啟動互動式 ruby shell
[root@i-3781-9521-VM rubygems-1.3.7]# irb
irb(main):001:0> require 'rubygems'
=> true
irb(main):002:0> require 'mysql'
=> true
irb(main):003:0>
現在是時候安裝一個伺服器,以便透過網路提供你的 rails 應用程式了。讓我們安裝 Phusion 的 Passenger
- Phusion 的 Passenger
還有其他伺服器,如 Thin、Mongrel 等,但 Phusion 是首選,因為它不會複製 apache/nginx/lighttpd 的 http 請求處理功能,而是作為模組連線到 apache 和 nginx。
現在我們需要安裝 Passenger 伺服器,以便將 Fedena 提供給所有透過 Nginx 傳入的 http 請求。
[root@i-3781-9521-VM ruby-1.8.7-p352]# gem install passenger
[root@i-3781-9521-VM ruby-1.8.7-p352]# passenger-install-nginx-module
你很可能會看到以下訊息
Checking for required software...
* GNU C++ compiler... not found
* The 'make' tool... found at /usr/bin/make
* A download tool like 'wget' or 'curl'... found at /usr/bin/wget
* Ruby development headers... found
* OpenSSL support for Ruby... not found
* RubyGems... found
* Rake... found at /usr/local/bin/rake
* rack... found
* Curl development headers with SSL support... not found
* OpenSSL development headers... found
* Zlib development headers... not found
Some required software is not installed.
But don't worry, this installer will tell you how to install them.
Press Enter to continue, or Ctrl-C to abort.
Installation instructions for required software
* To install GNU C++ compiler:
Please run yum install gcc-c++ as root.
* To install OpenSSL support for Ruby:
Please (re)install Ruby with OpenSSL support by downloading it from http://www.ruby-lang.org/.
* To install Curl development headers with SSL support:
Please run yum install curl-devel as root.
* To install Zlib development headers:
Please run yum install zlib-devel as root.
If the aforementioned instructions didn't solve your problem, then please take
a look at the Users Guide:
此時,安裝缺少的軟體並使用 openssl 支援再次安裝 ruby。首先安裝 zlib 支援
[root@i-3781-9521-VM ~]# cd ~/ruby-1.8.6
[root@i-3781-9521-VM ruby-1.8.7-p352]# ruby extconf.rb --with-zlib-include=/usr/include --with-zlib-lib=/usr/lib
[root@i-3781-9521-VM ruby-1.8.7-p352]# make
[root@i-3781-9521-VM ruby-1.8.7-p352]# sudo make install
讓我們安裝 openssl
[root@i-3781-9521-VM ruby-1.8.7-p352]# cd ~/ruby-1.8.6/ext/openssl
[root@i-3781-9521-VM openssl]# ruby extconf.rb
[root@i-3781-9521-VM ruby-1.8.7-p352]# make
[root@i-3781-9521-VM ruby-1.8.7-p352]# sudo make install
安裝 Passenger nginx 模組。如果一切正常,你應該看到以下訊息
[root@i-3781-9521-VM ruby-1.8.7-p352]# passenger-install-nginx-module
http {
...
passenger_root /usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.8;
passenger_ruby /usr/local/bin/ruby;
...
}
After you (re)start Nginx, you are ready to deploy any number of Ruby on Rails
applications on Nginx.
Suppose you have a Ruby on Rails application in /somewhere. Add a server block
to your Nginx configuration file, set its root to /somewhere/public, and set
'passenger_enabled on', like this:
server {
listen 80;
server_name www.yourhost.com;
root /somewhere/public; # <--- be sure to point to 'public'!
passenger_enabled on;
}
And that's it! You may also want to check the Users Guide for security and
optimization tips and other useful information:
/usr/local/lib/ruby/gems/1.8/gems/passenger-3.0.8/doc/Users guide Nginx.html
- 下載並設定 Fedena
從 Github 下載 Fedena。—no-check-certificate 標記允許 wget 在不檢查證書的情況下連線
[root@i-3781-9521-VM ~]# wget --no-check-certificate https://github.com/projectfedena/projectfedena_v2.0/tarball/master
將下載一個名為 “master” 的檔案。現在按如下所示重新命名該檔案
[root@i-3781-9521-VM ~]# cp master projectfedena-projectfedena_v2.0-a213125.tar.gz
[root@i-3781-9521-VM ~]# rm master
[root@i-3781-9521-VM ~]# chmod 777 projectfedena-projectfedena_v2.0-a213125.tar.gz
[root@i-3781-9521-VM ~]# tar -xvf projectfedena-projectfedena_v2.0-a213125.tar.gz
檔案的內容將被解壓縮到一個目錄中
- 更改資料庫配置檔案
回憶一下你在安裝 MySQL 時提供的密碼。開啟 fedena 原始碼的 config 資料夾中的 database.yml 檔案。更改以下詳細資訊:database: fedena - 你要用於 fedena 的資料庫名稱 username: root - 用於 fedena 的 Mysql 使用者名稱 password: mypass - 上述 mysql 使用者的密碼
- 設定 Fedena 資料庫
在終端的 Fedena 原始碼目錄中執行以下命令
"rake db:create"
接著執行
"rake db:migrate"
- 安裝其餘的 gems
"gem install declarative_authorization -v 0.5.1"
"gem install searchlogic -v 2.4.27"
"gem install i18n -v 0.4.2"
- 配置虛擬主機
[root@i-3781-9521-VM ~]# nano /etc/httpd/conf/httpd.conf
<VirtualHost *:80>
ServerAdmin yourmailid@domain.ext
DocumentRoot /projectfedena-projectfedena_v2.0-a213125
ServerName www.domain.ext
</VirtualHost>
重啟 nginx 伺服器。
sudo /etc/init.d/httpd reload
就是這樣。訪問 URL,你應該會看到 Fedena 登入頁面。
其他選項
[edit | edit source]Fedena 的專用作業系統 ISO 可以在 Turnkey linux 中找到。Fedena Pro 服務公司的單點選安裝程式可以在 Windows 和 Linux 上找到。
來源
[edit | edit source]- http://www.projectfedena.org/download
- http://www.projectfedena.org/install
- http://projectfedena.org/forum/2-fedena-installation-and-troubleshooting/topics/837-rake-db-create-error-please-help-me
- http://erjayant.blogspot.com/2014/02/v-behaviorurldefaultvmlo_15.html(包含許多非常有用的資訊)
- http://stackoverflow.com/questions/5176782/uninitialized-constant-activesupportdependenciesmutex-nameerror
- http://stackoverflow.com/questions/11028804/undefined-method-name-for-actionmailerstring
- http://stackoverflow.com/questions/12104860/rake-aborted-no-such-file-to-load-rush
- http://projectfedena.org/forum/2-fedena-installation-and-troubleshooting/topics/998-localhost-3000-error-on-windows
- http://www.projectfedena.org/forum/2-fedena-installation-and-troubleshooting/topics/553-how-to-start-the-fedena-server-automatically-when-windows-starts
- http://latunyj.wordpress.com/2012/03/29/install-project-fedena-version-2-2-on-win32/
- 影片 - 在 Windows 上安裝 http://www.youtube.com/watch?v=G5nQ-4Ng0vk
- 影片 - 在 Ubuntu 上安裝 http://www.youtube.com/watch?v=i0dF69o5r4M