快速搭建一个公司内部导航站点


今天,在微博上看到 @陈利人 推荐了一个开源小工具,可以用来做公司的内部导航。
于是,就试着搭建了一个,不到5分钟就搞定了,用起来嘛,感觉还行。

以下,是具体的安装与配置步骤:
安装系统依赖
sudo yum install git
sudo yum install rubygems ruby-devel sqlite-devel
sudo gem install bundle bundler

安装程序依赖
cd ~
sudo git clone https://github.com/maccman/go.git
cd go
sudo bundle install
sudo sed -i "1i\require 'rubygems'" app.rb

配置监听地址与端口
cd /usr/lib/ruby/gems/1.8/gems/sinatra-1.4.2/lib/sinatra
sudo vim base.rb

    set :server, %w[HTTP webrick]
    set :bind, Proc.new { development? ? '0.0.0.0' : '0.0.0.0' }
    set :port, Integer(ENV['PORT'] || 80)

启动服务
cd ~/go/
sudo ruby app.rb

== Sinatra/1.4.2 has taken the stage on 80 for development with backup from Thin
>> Thin web server (v1.3.1 codename Triple Espresso)
>> Maximum connections set to 1024
>> Listening on 0.0.0.0:80, CTRL+C to stop

部署完毕,就可以看到如下页面(如我的测试环境http://192.168.92.136):

可以试着添加一条记录(如blog: http://heylinux.com):

接下来,就可以直接 点击"blog" 或 访问"http://192.168.92.136/blog" 跳转到对应的链接了。

在公司内部使用的话,可以考虑让大家配置一下本地hosts,将"go"指向到IP,这样就可以直接通过 "go/blog" 来跳转了;
如果觉得这样不方便的话,可以考虑用dnsmasq快速搭建一个本地的DNS服务器,来配置"go"指向,然后在路由器中将LAN口的DNS服务器分配地址修改一下就OK了。

  1. #1 by bingo on 2013/09/13 - 12:10

    哥人,想问下,这三句随便加在哪个地方?development后面显示??表示正常?
    set :server, %w[HTTP webrick]
    set :bind, Proc.new { development? ? '0.0.0.0' : '0.0.0.0' }
    set :port, Integer(ENV['PORT'] || 80)
    现在的我的go导航打开提示下面错误
    NoMethodError at /
    undefined method `desc' for :hits:Symbol
    file: app.rb location: GET / line: 41
    图片也没办法显示

(will not be published)
*