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://127.0.0.1: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 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]- 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