`
varsoft
  • 浏览: 2439304 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

Ruby + Apache + Mysql for Linux安装入门手册

阅读更多

Ruby + Apache + Mysql for Linux安装入门手册

Ruby是一门非常有趣的开源脚本语言, 它能够支持Windows/Linux 等多种平台, 能够使用Ruby来开发包括 游戏, 网络应用, 系统管理,
CGI程序等. 它简洁、高雅、执行效率高,而且目前一经有很多比较成熟的框架来支持它。不过目前在国内普及程度不高,有兴趣的同志可以尝试一下。


我们下面描述一下它的安装方法,主要是基于Web应用的的安装:Apache + Mysql + Ruby。

一、软件列表

Apachehttpd-2.0.54.tar.gzhttp://httpd.apache.org
MySQLmysql-4.0.25.tar.gzhttp://dev.mysql.com
Mod_rubymod_ruby-1.2.4.tar.gzhttp://modruby.net
eRubyeruby-1.0.5http://modruby.net
Rubyruby-1.8.2.tar.gzhttp://www.ruby-lang.org
Ruby-mysqlruby-mysql-0.2.6.tar.gzhttp://www.tmtm.org


二、软件安装 (假设目前所由操作都是在 /root 下进行)

1. 安装MySQL

# tar zxvf mysql-4.0.25.tar.gz #解压
# cd mysql-4.0.25
# ./configure --prefix=/usr/local/mysql #配置
# make
# make install
# ./scripts/mysql_install_db #初始化数据库
# useradd mysql #加一个Mysql用户

#权限设置
# chown -R root /usr/local/mysql
# chgrp -R mysql /usr/local/mysql
# chown -R root /usr/local/mysql/bin
# chgrp -R mysql /usr/local/mysql/bin
# chown -R root /usr/local/mysql/var
# chgrp -R mysql /usr/local/mysql/var
# chmod 777 /usr/local/mysql/var
# chown -R root /usr/local/mysql/var/mysql
# chgrp -R mysql /usr/local/mysql/var/mysql
# chmod 777 /usr/local/mysql/var/mysql
# chown -R root /usr/local/mysql/var/mysql/*
# chgrp -R mysql /usr/local/mysql/var/mysql/*
# chmod 777 /usr/local/mysql/var/mysql/*
# chmod 777 /usr/local/mysql/lib/mysql/libmysqlclient.a

# /usr/local/bin/mysqld_safe --user=mysql & #使用用户mysql来运行Mysql守护进程


2. 安装Ruby

# tar -zxvf ruby-1.8.2.tar.gz
# cd ruby-1.8.2
# ./configure --prefix=/usr/local/ruby
# make
# make install


3. 安装Apache

# tar zxvf httpd-2.0.54.tar.gz
# cd httpd-2.0.54
# ./configure --prefix=/usr/local/apache --enable-module=so #配置Apache安装目录和模块加载
# make
# make install


4. 安装mod_ruby

# tar zxvf mod_ruby-1.2.4.tar.gz
# cd mod_ruby-1.2.4
# ./configure.rb --with-apxs=/usr/local/apache/bin/apxs #指定Apache模块目录
# make
# make install

# 合并Apache和mod_ruby

编辑 /usr/local/apache/conf/httpd.conf文件,加入以下内容:

LoadModule ruby_module /usr/local/apache/modules/mod_ruby.so

<IfModule mod_ruby.c>
# for Apache::RubyRun
RubyRequire apache/ruby-run

# exec files under /ruby as ruby scripts.
<Location /ruby>
SetHandler ruby-object
RubyHandler Apache::RubyRun.instance
Options +ExecCGI
</Location>

# exec *.rbx as ruby scripts.
<Files *.rbx>
SetHandler ruby-object
RubyHandler Apache::RubyRun.instance
</Files>

# # for Apache::ERubyRun
# RubyRequire apache/eruby-run
#
# # handle files under /eruby as eRuby files by eruby.
# <Location /eruby>
# SetHandler ruby-object
# RubyHandler Apache::ERubyRun.instance
# </Location>
#
# # handle *.rhtml as eruby files.
# <Files *.rhtml>
# SetHandler ruby-object
# RubyHandler Apache::ERubyRun.instance
# </Files>

# # for Apache::ERbRun
# RubyRequire apache/erb-run
#
# # handle files under /erb as eRuby files by ERb.
# <Location /erb>
# SetHandler ruby-object
# RubyHandler Apache::ERbRun.instance
# </Location>

# # for debug
# RubyRequire auto-reload
</IfModule>

# 启动Apache
# /usr/local/apache/bin/apachectl start


5. 安装eRuby

# tar -zxvf eruby-1.0.5.tar.gz
# cd eruby-1.0.5
# ./configure.rb
# make
# make install


6. 安装ruby-mysql

# tar -zxvf ruby-mysql-0.2.6
# cd ruby-mysql-0.2.6

#使用任何文本编辑器打开 ./ruby-mysql-0.2.6/setup.rb文件,修改一下内容:
sock = `mysql_config --socket`.chomp

sock = `/usr/local/mysql/bin/mysql_config --socket`.chomp
保存,退出

# /usr/local/ruby/bin/ruby ./setup.rb
# /usr/local/ruby/bin/ruby ./test.rb 127.0.0.1 root # ./test.rb host user password
# /usr/local/ruby/bin/ruby ./install.rb


7. 测试

# /usr/local/apache/bin/apachectl restart #重启Apache

打开浏览器,输入 http://localhost 应该能够看到"安装Apache的页面"之类的内容,如果出错,应该出险类似下面的信息:

Apache/2.0.52 (Unix) mod_ruby/1.2.4 Server at localhost Port 80

如果有必要,你可以考虑安装一个PHP跟Apache结合,方便安装类似phpMyadmin之类的工具。

--测试代码: (保存为 test.rb)--

str = "Content-Type:text/html;charset=UTF-8 \n\n"
str += "<html><head><title>Test</title></head><body>Test Succeed!</body></html>"
puts str

把该文件放在你设置的cgi目录下, 在浏览器里访问: http://localhost/cgi-bin/test.rb, 应该就能够看到输出,否则出现错误.


* 参考文档: http://www.ruby-cn.org/phpbb/viewtopic.php?t=72


WriteTime: 2005-09-03 23:21
Author: heiyeluren

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics