msgbartop
世界上的一队小小的漂泊者呀,请留下你们的足印在我的文字里
msgbarbottom

31 十二 11 Gitorious on Ubuntu

Gitorious 是一个基于 Git 版本控制系统的Web项目托管平台。基于 Ruby on Rails 开发,本文简单描述下在Ubuntu(11.04)下配置的记录.

khan.chan {at} virest.org | seer.chen@gmail.com

默认Ubuntu我们安装的时候只安装了OpenSSH Server/Client. 你可以按照我的顺序往下操作.

Packages

#aptitude install build-essential zlib1g-dev tcl-dev libexpat-dev libxslt1-dev \
libcurl4-openssl-dev zip unzip memcached postfix apache2 mysql-server mysql-client \
apg geoip-bin libgeoip1 libgeoip-dev sqlite3 libsqlite3-dev \
imagemagick libpcre3 libpcre3-dev zlib1g zlib1g-dev libyaml-dev \
libmysqlclient15-dev apache2-dev libonig-dev ruby-dev rubygems \
libopenssl-ruby libdbd-mysql-ruby libmysql-ruby \
libmagick++-dev  git-core git-svn git-doc \
git-cvs irb libaspell-dev

Ruby Gems

强制升级使用RubyGems v1.4,Gitorious支持需要.

#REALLY_GEM_UPDATE_SYSTEM=1 gem update –system

OK, 我们安装rake,daemons等

#gem install –no-ri –no-rdoc -v 0.8.7 rake && \
gem install –no-ri –no-rdoc -v 1.1.0 daemons && \
gem install -b –no-ri –no-rdoc \
rmagick stompserver passenger bundler

#gem install raspell

下载安装Sphinx

#wget -c http://sphinxsearch.com/files/sphinx-0.9.9.tar.gz

#./configure –prefix=/usr;  make all install

我们查看下apache2安装是否正常, 然后用git clone取gitorious代码

#git clone git://gitorious.org/gitorious/mainline.git /var/www/gitorious

#cd /var/www/gitorious

#git submodule init
#git submodule update

#ln -s /var/www/gitorious/script/gitorious /usr/bin

#cd /var/www/gitorious/doc/templates/ubuntu/ && \
cp git-daemon git-poller git-ultrasphinx stomp /etc/init.d/ && \
cd /etc/init.d/ && \
chmod 755 git-daemon git-poller git-ultrasphinx stomp

# update-rc.d git-daemon defaults && \
update-rc.d git-poller defaults && \
update-rc.d git-ultrasphinx defaults && \
update-rc.d stomp defaults

# ln -s /usr/ /opt/ruby-enterprise

下载rots GIT

# git clone git://github.com/roman/rots.git

#cd rots && gem build rots.gemspec && gem install rots-0.2.1.gem

#rm -rf /usr/lib/ruby/gems/1.8/bundler/gems/rots-babb5559aae8

#vi /var/www/gitorious/Gemfile:

gem “rots”, :git => ‘https://github.com/roman/rots.git‘    把这一行替换为:

gem “rots”, :git => “~> 0.2.1″

#$(gem contents passenger | grep passenger-install-apache2-module)

#vi /etc/apache2/mods-available/passenger.load

 

LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-3.0.11/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-3.0.11
PassengerRuby /usr/bin/ruby1.8

 

#a2enmod passenger

#a2enmod rewrite

#a2enmod ssl

创建Apache2的gitorious配置文件:

/etc/apache2/sites-available/gitorious

<VirtualHost *:80>
ServerName gitorious.virest.org
DocumentRoot /var/www/gitorious/public
</VirtualHost>

/etc/apache2/sites-available/gitorious-ssl

<IfModule mod_ssl.c>
<VirtualHost _default_:443>
DocumentRoot /var/www/gitorious/public
SSLEngine on
SSLCertificateFile    /etc/ssl/certs/ssl-cert-snakeoil.pem
SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
BrowserMatch “.*MSIE.*” nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
</VirtualHost>
</IfModule>

#a2ensite gitorious

#a2ensite gitorious-ssl

创建mysql用户

mysql -u root -p
Enter password: (your mysql root password you selected while installing the packages)
mysql> GRANT ALL PRIVILEGES ON *.* TO ’gitorious’@'localhost’ IDENTIFIED BY ’<insert password>’ WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;

配置Gitorious

#cd /var/www/gitorious
#bundle install && \
#bundler pack
#adduser --system --home /var/www/gitorious/ --no-create-home --group --shell /bin/bash git && \     chown -R git:git /var/www/gitorious
#su - git && \
    mkdir .ssh && \     touch .ssh/authorized_keys && \     chmod 700 .ssh && \     chmod 600 .ssh/authorized_keys && \     mkdir tmp/pids && \     mkdir repositories && \     mkdir tarballs
#cp config/database.sample.yml config/database.yml && \     cp config/gitorious.sample.yml config/gitorious.yml && \     cp config/broker.yml.example config/broker.yml
  • 产品段信息修改下适合的配置信息
  • repository_base_path   /var/www/gitorious/repositories
  • cookie_secret  设置一段字符段,长于30个字母
  • gitorious_client_port  80
  • gitorious_host
  • archive_cache_dir  /var/www/gitorious/tarballs
  • archive_work_dir  /tmp/tarballs-work
  • hide_http_clone_urls   true
  • is_gitorious_dot_org  false
在config/boot.rb中加入:   require ‘thread’

OK,最后完工工作:

export RAILS_ENV=production && \
bundle exec rake db:create && \
bundle exec rake db:migrate && \
bundle exec rake ultrasphinx:bootstrap
#crontab -e
* * * * * cd /var/www/gitorious && /usr/bin/bundle exec rake ultrasphinx:index RAILS_ENV=production

建立gitorious 管理账号:

env RAILS_ENV=production ruby1.8 script/create_admin

 

 

 

 

Tags: ,

07 十 11 Thanks,Steve Jobs


23 八 11 My MacbookAir

上周拿到我的新macbook air, 我买了13.3寸,  如下分享下我的购买经历和安装的软件.

反正如果大家不是紧急到当天要拿到的话,建议还是从香港购买吧,上海奸商们真是坑爹啊,足足比香港贵了1.4-1.5K.

13 吋 : 128GB

  • 1.7GHz 雙核心 Intel Core i5 處理器
  • 4GB 記憶體
  • 128GB 快閃儲存1
  • Intel HD Graphics 3000
以前用ibm thinkpad x系列机器觉得性能欠佳,而且看照片显示效果实在欠佳;后来换macbook pro觉得又重.  如此下来真正还是很推荐现在手上的这款air.
因为用SSD盘飞速的很,而且4G内存在移动笔记本而言也足矣.
说说我安装的软件.
quicksilver
http://www.blacktree.com/ [下载地址]
这个软件只要是Mac用户我确实要每每推荐一下,非常值得安装!
看看xdanger很早前的介绍:  http://www.xdanger.com/2007/03/30/000067.html
VIM
mac下有macvim,  不过我还是喜欢用终端的方式,一些插件配置我依旧用我懒人方式: http://virest.org/vim.html
Parallels Desktop 6
http://www.parallels.com/cn/products/desktop/
我的虚拟机软件,我在上面跑Ubuntu
ps: 我在官方花¥188购买后才发现从Apple Store入手的话只要132¥.  唉  坑爹啊~
Thunder
迅雷 http://mac.xunlei.com/
Transmission
这个BT下载客户端也不错
http://www.transmissionbt.com/download/
1Password
密码管理软件
http://agilebits.com/products/1Password/Mac
Xcode
Mac的开发环境,包含GCC,GDK等
http://zh.wikipedia.org/wiki/Xcode
Fink
http://www.finkproject.org/index.php?phpLang=zh
想在Mac下试试wget,nmap等UNIX工具吗? 安装这个呗 :)
MAMP
http://www.mamp.info/en/index.html
mamp即Mac+Apache+MySQL+PHP之意.  我在Mac下玩PHP程序和MySQL基本都用这个,它集成了xcache和phpmyadmin, 基本使用还是很方便的,如果不满足可以购买MAMP Pro版本
MySQLWorkbench
http://dev.mysql.com/downloads/workbench/
Remote Desktop Connection
用于连接远程windows服务器的工具
TextWrangler
免费好使的编辑器
http://www.barebones.com/products/textwrangler/download.html
Firefox
这个不介绍了吧?
插件有firebug  yslow
Chrome
这个也不介绍了吧?
我在chrome上安装了有道翻译的插件和webpage screen.
QQ
这个也不介绍了
Adium
http://adium.im/
我特喜欢这个鸭子,基本上GTalk,MSN我都用它
搜狗输入法
http://pinyin.sogou.com/
以前用Fit, 也还不错
Weico
http://www.eicodesign.com/weico/air.html
这是个小微博程序,放在桌面哪里都不碍事,想到就搂一眼.
Office 2011
http://www.microsoft.com/mac/
iWork
http://www.apple.com/iwork/