跳转到内容

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://127.0.0.1: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 https://www.ruby-lang.org.cn/.

 * 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 [email protected]
     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/导航

华夏公益教科书