跳轉到內容

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),

  1. 開啟命令視窗並執行命令
    gem install rails -v=2.3.5 --remote
    

如果 rake 出現錯誤,執行 "gem install rake -v=0.8.7"

  1. 然後,執行以下命令
    gem install prawn -v=0.6.3 --remote
    
步驟 3
安裝 MySQL
  1. 下載並安裝 MySQL 安裝程式 v5.0 的“基本”版本 http://downloads.mysql.com/archives/mysql-5.0/mysql-essential-5.0.90-win32.msi
  2. 將 libmysql.dll 從 MySQL bin 目錄(通常為 C:\Program Files\MySQL\MySQL Server 5.0\bin)複製到 Ruby bin 目錄(通常為 C:\Ruby\bin)
步驟 4
準備 Fedena 設定
  1. 從 GitHub 下載 Fedena 原始碼。解壓縮 ZIP/TAR 存檔並儲存到資料夾(例如 C:\Fedena)。
  2. 現在在命令視窗中轉到 fedena 原始碼目錄。(例如 "CD C:\FEDENA" 或 "CD C:\projectfedena-fedena-84b5ad9")
  3. 我們需要安裝正確的 MySQL gem,並且版本也必須特定。
    gem install mysql -v=2.8.1
    
    (注意,它將生成很多輸出 "No definition for ___",但這很正常。要驗證它是否已安裝,請向上滾動,如果顯示 "1 gem installed",則說明一切正常。)
  4. 安裝 Declarative Authorization
    gem install declarative_authorization -v 0.5.1
    
  5. 安裝 i18n
    gem install i18n -v 0.4.2
    
  6. 由於安裝的 "rake" 命令很可能比 Fedena 編寫的版本更高,因此我們需要檢查一下。執行以下命令
    gem uninstall rake
    
    如果您安裝了除 0.8.7 之外的任何版本,請將其刪除。它會說依賴項無法滿足,但這沒關係,無論如何都要刪除它;在提示時也要刪除可執行檔案。
  7. 然後安裝正確的版本,輸入以下命令
    gem install rake -v=0.8.7
    
  8. 安裝 gem
    gem install win32-open3
    
  9. 現在我們需要將 gem 系統更新為正確的系統
    gem update --system 1.4.2
    
  10. 最後一個要安裝的 gem
    gem install rush
    
  11. 最後,您需要檢查 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
  1. 在 <config\database.yml> 中更新 MySQL 資料庫詳細資訊。您需要提供正確的 MySQL 'root' 密碼。建議使用文字編輯器,例如命令提示符中的 "edit" 命令,記事本不會顯示正確的格式。
  2. 執行以下命令
    rake db:create
    
    這將建立所需的資料庫。
  3. 執行以下命令
    rake db:migrate
    
    這將在資料庫中填充所需的表。注意:如果此時出現錯誤,您可能需要執行以下命令:"gem install rubygems-update -v 1.3.5" 並重新輸入 "rake db:migrate"。
  4. 安裝外掛
    rake fedena:plugins:install_all
    
  5. 最後,執行以下命令
    ruby script/server
    
    這將啟動伺服器,並且可以透過 https://:3000 訪問。注意:預設使用者名稱為 admin,預設密碼為 admin123
步驟 6
為 Fedena 安裝 RMagick
  1. (需要此安裝來解決上傳學生個人資料圖片時的錯誤)
  1. 下載 RMagick-2.12.0-ImageMagick-6.5.6-8-Q8.zip
  1. 解壓縮 ImageMagick-6.5.6-8-Q8.zip
  2. 轉到解壓縮結果資料夾並執行 ImageMagick-6.5.6-8-Q8-windows-dll.exe 進行安裝。
  3. 解壓縮 RMagick-2.12.0.tar.gz
  4. 將結果 Rmagick-2.12.0 資料夾複製到 C:\
  5. 將 rmagick-2.12.0-x86-mswin32.gem 複製到 C:\RMagick-2.12.0
  6. 使用 Windows 命令提示符導航到 C:\RMagick-2.12.0 資料夾
  7. 執行命令 gem install rmagick—local
在生產模式下執行
  • 如果您想在生產模式下執行 Fedena,請執行以下命令
    ruby script/server -e production
    
    為此,應該在 config/database.yml 中提供生產資料庫詳細資訊
  • 為了更快地執行,執行以下命令,然後您可以再次使用上面的命令啟動
  1. 安裝 Mongrel
    gem install mongrel
    
  2. 執行以下命令
    mongrel_rails start -e production
    
  3. 開啟另一個終端例項,轉到 Fedena 原始碼目錄,並執行以下命令
    rake jobs:work
    
建立 Windows 服務
  • 如果您想將 Fedena 作為 Windows 服務執行(該服務會自動啟動),請執行以下命令
  1. 開啟 Ruby 命令提示符並轉到 Fedena 安裝目錄
  2. 安裝 Gem
    gem install win32-service
    
  3. 安裝 Gem
    gem install mongrel_service
    
  4. 執行以下命令
    mongrel_rails service::install -N Fedena -c C:\FEDENA -p 3001 -e production
    
    (將 C:\FEDENA 替換為您的 Fedena 安裝目錄。)您可能還需要將埠從 3001 更改為 80,這樣從其他計算機輸入地址時就不需要輸入埠。
  5. 轉到開始選單的 Windows 搜尋,輸入
    services.msc
    
  6. 查詢名為 'Fedena' 的服務,並將其設定為自動
  7. 重新啟動計算機,看看 fedena 是否自動啟動。始終確保您的伺服器正在執行。

Ubuntu Linux

[編輯 | 編輯原始碼]
設定 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

Web 伺服器 - Centos

[編輯 | 編輯原始碼]

在 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]

Fedena/導航

華夏公益教科書