转-Gitorious搭建步骤

先标记一下,后续手动验证


http://blog.csdn.net/king_sundi/article/details/7457475


安装Gitorious

Git是一个分布式的版本控制系统,用于Linux内核的管理。在推出后,Git也逐渐被用于其他项目,同样也取得了很大的成功。GitHub则是基于Git版本控制系统的,它提供基于互联网的项目托管服务,但GitHub并不开源,所以我在网上找到了替代GitHub的开源项目托管系统:Gitorious。
安装Gitorious并不是一件轻松的事,所以就写了这篇文章,一则可以帮助那些准备安装Gitorious的兄弟,二则也给自己做个备忘。
一、安装第三方的相关依赖包:
Apache
sudo
apt-get install -y build-essential apache2 apache2-threaded-dev
libapache2-mod-xsendfile
MySQL
sudo apt-get install -y mysql-server
mysql-client
注意:在安装MySQL时,您将会被提示创建MySQL的root用户密码
PHPMyAdmin(可选)
sudo
apt-get install -y
phpmyadmin
设置时选择apache2、并使用dbconfig-common来配置数据库,并会被提示创建PHPMyAdmin管理员用户密码。
Git
sudo
apt-get install -y git-core git-doc
其它依赖包
sudo apt-get install -y
libexpat1-dev libxslt1-dev libcurl4-openssl-dev sendmail apg geoip-bin libgeoip1
libgeoip-dev imagemagick libmagick++-dev libpcre3 libpcre3-dev zlib1g zlib1g-dev
zip unzip libyaml-dev libonig-dev memcached aspell libaspell-dev
aspell-en
Ruby 和 RubyGems
sudo apt-get install -y ruby ruby-dev rubygems
libruby libdbd-mysql-ruby libmysql-ruby
sudo REALLY_GEM_UPDATE_SYSTEM=1 gem
update –system
sudo gem install –no-ri –no-rdoc rake
sudo gem install
–no-ri –no-rdoc daemons
sudo gem install -b –no-ri –no-rdoc rmagick
sudo
gem install -b –no-ri –no-rdoc stompserver
sudo gem install -b –no-ri
–no-rdoc passenger
sudo gem install -b –no-ri –no-rdoc
bundler
Sphinx(俄国人贡献的开源搜索包)
sudo apt-get install -y
sphinxsearch
二、下载Gitorious源代码,在这里将Gitorious放置在/var/www/gitoriou:
cd
/var/www
sudo chown firehare:firehare /var/www
git clone
git://gitorious.org/gitorious/mainline.git gitorious
cd gitorious
git
submodule init
git submodule update
sudo ln -s
/var/www/gitorious/script/gitorious
/usr/bin
第2条语句是为了方便处理,不用老是sudo,所以将/var/www目录的所有者从root改为你的用户名,在这里我使用的是我的用户名firehare。
三、配置初始化服务
在/var/www/gitorious/doc/templates/ubuntu目录中有相应的服务脚本模板。将这些脚本模板拷至/etc/init.d目录中:
cd
/var/www/gitorious/doc/templates/ubuntu
sudo cp git-daemon git-ultrasphinx
git-poller stomp /etc/init.d
sudo cp gitorious-logrotate
/etc/logrotate.d/gitorious
sudo chmod 755 git-daemon git-ultrasphinx
git-poller stomp
然后将服务配置成开机启动
sudo update-rc.d stomp defaults
sudo
update-rc.d git-daemon defaults
sudo update-rc.d git-ultrasphinx
defaults
sudo update-rc.d git-poller defaults
最后由于git-daemon
git-ultrasphinx git-poller
stomp脚本中的RUBY_HOME路径指向”/opt/ruby-enterprise”,为了方便起见,不一一修改启动脚本,将创建一个链接:
sudo
ln -s /usr/ /opt/ruby-enterprise
四、配置Apache
安装Passenger
sudo
/usr/lib/ruby/gems/1.8/gems/passenger-3.0.11/bin/passenger-install-apache2-module
配置Passenger
sudo
vi
/etc/apache2/mods-available/passenger.load
然后在新建的passenger.load文件中输入以下文字:
#
Did you verify this matches the values from
# the ‘sudo
/usr/lib/ruby/gems/1.8/gems/passenger-3.0.11/bin/passenger-install-apache2-module’
command ?
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
启用Apache模块
sudo a2enmod passenger
sudo a2enmod
rewrite
sudo a2enmod ssl
sudo /etc/init.d/apache2
restart
创建Gitorious站点文件
sudo vi
/etc/apache2/sites-available/gitorious
然后在新建的Gitorious站点文件中输入以下文字:

ServerName
git.meranko.net
DocumentRoot /var/www/gitorious/public

# Enable X-SendFile for gitorious repo archiving to work
XSendFile on

# Possible values include: debug, info, notice, warn, error, crit,
#
alert, emerg.
LogLevel warn
#
# The following directives define some
format nicknames for use with
# a CustomLog directive (see
below).
#
LogFormat “%h %l %u %t \”%r\” %>s %b \”%{Referer}i\”
\”%{User-Agent}i\”" combined
LogFormat “%h %l %u %t \”%r\” %>s %b”
common
LogFormat “%{Referer}i -> %U” referer
LogFormat “%{User-agent}i”
agent

CustomLog /var/log/apache2/gitorious_access.log combined
TransferLog
/var/log/apache2/gitorious_access.log
ErrorLog
/var/log/apache2/gitorious_error.log

创建Gitorious SSL站点文件
sudo vi
/etc/apache2/sites-available/gitorious-ssl
然后在新建的Gitorious站点文件中输入以下文字:

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
DocumentRoot
/var/www/gitorious/public

# Possible values include: debug, info, notice, warn, error, crit,
#
alert, emerg.
LogLevel warn
#
# The following directives define some
format nicknames for use with
# a CustomLog directive (see
below).
#
LogFormat “%h %l %u %t \”%r\” %>s %b \”%{Referer}i\”
\”%{User-Agent}i\”" combined
LogFormat “%h %l %u %t \”%r\” %>s %b”
common
LogFormat “%{Referer}i -> %U” referer
LogFormat “%{User-agent}i”
agent

CustomLog /var/log/apache2/gitorious_ssl_access.log combined
TransferLog
/var/log/apache2/gitorious_ssl_access.log
ErrorLog
/var/log/apache2/gitorious_ssl_error.log

启用Gitorious和Gitorious SSL网站
sudo a2dissite default
sudo
a2dissite default-ssl
sudo a2ensite gitorious
sudo a2ensite
gitorious-ssl
sudo /etc/init.d/apache2 restart
五、设置MySQL用户
mysql -u
root -p
Enter password: (输入你在安装包时确定的Mysql根用户密码)
mysql> GRANT ALL
PRIVILEGES ON *.* TO ‘gitorious’@‘localhost’ IDENTIFIED BY ‘<输入密码>‘ WITH
GRANT OPTION;
mysql> FLUSH
PRIVILEGES;
六、配置Gitorious
首先确保所有gems版本的正确(安装时会询问你的sudo密码)
cd
/var/www/gitorious/
bundle install
bundle pack
再创建git系统用户
sudo
adduser –system –home /var/www/gitorious/ –no-create-home –group –shell
/bin/bash git
sudo chown -R git:git
/var/www/gitorious
然后创建一些Gitorious运行所需的东西
sudo su – git
mkdir
.ssh
touch .ssh/authorized_keys
chmod 700 .ssh
chmod 600
.ssh/authorized_keys
mkdir tmp/pids
mkdir repositories
mkdir
tarballs
mkdir tmp/tarballs-work
chmod ug+rwx
repositories
生成Gitorious的配置文件(注意:当前用户为git)
cp config/database.sample.yml
config/database.yml
cp config/gitorious.sample.yml config/gitorious.yml
cp
config/broker.yml.example
config/broker.yml
在Gitorious的database.yml配置文件中的production段中确保正确的数据库用户名和名字(注意:当前用户为git)
在Gitorious的gitorious.yml配置文件中,要注意以下内容:
确保在production而非test中修改
repository_base_path应该是/var/www/gitorious/repositories
cookie_secret应该设为多于30个字符的字符串,为了方便起见,你可以使用下列命令,然后将其输出复制到这里。
apg
-m
64
gitorious_client_port应该设为80
gitorious_host应该设置成客户可以使用的主机名(否则Cookie会出错
archive_cache_dir应该设为/var/www/gitorious/tarballs
archive_work_dir应该设为/var/www/gitorious/tmp/tarballs-work
exception_notification_emails:你的邮箱
hide_http_clone_urls应该设为true(它们需要额外的安装工作)
is_gitorious_dot_org应该设false
public_mode应该设为false
七、创建Gitorious数据库
因为在RubyGems
1.6.0+ 并且 Rails <
2.3.11时存在BUG,本来可以在config/boot.rb文件的顶部添加下列语句来解决,但由于该文件注释要求不要改变,所以就只好麻烦点,添加到Rakefile文件和config/environment.rb文件的require(File.join(File.dirname(__FILE__),
‘config’, ‘boot’))语句上方即可:
require ‘thread’
接下来的工作,我们让rake来做:
export
RAILS_ENV=production
bundle exec rake db:create
RAILS_ENV=production
bundle exec rake db:migrate
RAILS_ENV=production
配置Sphinx搜索守护程序,将address设为localhost
vi
/var/www/gitorious/config/ultrasphinx/default.base
# Daemon
options
searchd
{
# What interface the search daemon should listen on
and where to store its logs
address = localhost
port =
3312
…….
然后继续用rake来为我们配置:
bundle exec rake ultrasphinx:bootstrap
RAILS_ENV=production
注意:本人在安装在这一步时出现一个错误,提示如下,详见第12行,于是本人查了一下数据库,打开文件/var/www/gitorious/config/ultrasphinx/production.conf,找到base_tags.name语句,将其改成tags,即可通过:
(in
/var/www/gitorious)
Rebuilding configurations for production
environment
Available models are Comment, Repository, MergeRequest, and
Project
Generating SQL
$ indexer –config
‘/var/www/gitorious/config/ultrasphinx/production.conf’ –all
Sphinx
0.9.9-release (r2117)
Copyright (c) 2001-2009, Andrew Aksyonoff

using config file
‘/var/www/gitorious/config/ultrasphinx/production.conf’…
WARNING: key
‘address’ is deprecated in /var/www/gitorious/config/ultrasphinx/production.conf
line 10; use ‘listen’ instead.
indexing index ‘main’…
ERROR: index ‘main’:
sql_range_query: Unknown column ‘base_tags.name’ in ‘field list’
(DSN=mysql://gitorious:***@localhost:3306/gitorious_production).
total 0
docs, 0 bytes
total 0.005 sec, 0 bytes/sec, 0.00 docs/sec
total 0 reads,
0.000 sec, 0.0 kb/call avg, 0.0 msec/call avg
total 0 writes, 0.000 sec, 0.0
kb/call avg, 0.0 msec/call avg
Sphinx 0.9.9-release (r2117)
Copyright (c)
2001-2009, Andrew Aksyonoff

using config file
‘/var/www/gitorious/config/ultrasphinx/production.conf’…
WARNING: key
‘address’ is deprecated in /var/www/gitorious/config/ultrasphinx/production.conf
line 10; use ‘listen’ instead.
listening on 127.0.0.1:3312
WARNING: index
‘main’: preload: failed to open
/var/www/gitorious/db/sphinx//sphinx_index_main.sph: No such file or directory;
NOT SERVING
FATAL: no valid indexes to serve
Failed to
start
Done
Please restart your application containers
创建Sphinx
Cronjob
crontab -e * * * * * cd /var/www/gitorious && /usr/bin/bundle
exec
创建管理员用户
env RAILS_ENV=production ruby1.8
script/create_admin
八、重启机器后你就可以在Ubuntu
11.10上完成Gitorious的安装了!OK!打完收功!!

时间: 2024-08-22 09:01:44

转-Gitorious搭建步骤的相关文章

Samba 服务搭建步骤

Samba 服务搭建步骤,客户端自动挂载服务端1.通过yum安装samba ,samba-client ,cifs 软件包2.创建共享目录mkdir /x3,设置共享目录的selinux 安全上下文4,修改samba 配置文件,并保存,文件路径/etc/samba/smb.conf [共享目录名称]path = /xhosts allow = xxx.xxx.xxx.5,创建一个用户useradd x6,将好好创建的用户加入samba 用户域,并赋予密码smbpasswd -a x7,重启&加入

Linux vagrant+virtualbox环境搭建步骤

Linux vagrant+virtualbox环境搭建步骤 Vagrant 是一款用来构建虚拟开发环境的工具,非常适合 php/python/ruby/java 这类语言开发 web 应用. 我们可以通过 Vagrant 封装一个 Linux 的开发环境,分发给团队成员.成员可以在自己喜欢的桌面系统(Mac/Windows/Linux)上开发程序,代码却能统一在封装好的环境里运行,非常霸气. 1. 安装 VirtualBox 虚拟机还是得依靠 VirtualBox 来搭建,免费小巧.虽然 Va

Hadoop集群搭建步骤

实验性操作是在虚拟机里进行的,除了搭建hadoop本身的操作之外,遇到的其它问题总结如下: 1. 虚拟机挂载windows磁盘: 添加硬件,要保证该硬件此时没有被读写访问等,因为挂载后,该磁盘在宿主机上就不能用了.启动虚拟机linux,执行 fdisk –l 查看windows磁盘的分区,如/dev/sdb2,然后执行挂载命令: mount /dev/sdb2 /mnt/win/ 然后就可以到/mnt/win目录下访问磁盘上的内容了 2. hadoop启动时如果报错,提示JAVA_HOME is

mongodb集群搭建步骤

搭建mongodb集群很多次,每次都会或多.或少出现一些见鬼的问题,写这边博客供以后参考. 本次是基于mongodb3.0进行集群的搭建:搭建步骤如下: 1.设置操作系统的环境 echo "never">"/sys/kernel/mm/transparent_hugepage/enabled" echo "never">"/sys/kernel/mm/transparent_hugepage/defrag" uli

Java Web 环境搭建步骤(超详细,包括前期安装步骤)

Java Web 环境搭建步骤 安装对应版本的JDK 配置环境变量 本人安装的路径是C盘,在path中加入C:\Program Files\Java\jdk1.8.0_65\bin 测试配置成功,cmd中输入javac,显示如下界面: 安装Tomcat 本人安装的版本是7.0.版本 测试是否安装成功,在浏览器中输入http://localhost:8080/ 显示如下图,表示安装成功. 5.  在Eclipse中启动Tomcat服务器 1)首先,选择window下面的Preferences 2)

CDH集群搭建步骤

CDH集群搭建步骤详细文档 一.关于CDH和Cloudera Manager CDH (Cloudera's Distribution,including Apache Hadoop),是Hadoop众多分支中的一种,由Cloudera维护,基于稳定版本的Apache Hadoop构建,并集成了很多补丁,可直接用于生产环境. Cloudera Manager则是为了便于在集群中进行Hadoop等大数据处理相关的服务安装和监控管理的组件,对集群中主机.Hadoop.Hive.Spark等服务的安装

ubuntu12.04下lamp环境搭建步骤

1 .安装apache2:sudo apt-get install apache2 安装完成后,运行如下命令重启apache:sudo /etc/init.d/apache2 restart,在浏览器中输入http://localhost或者http://127.0.0.1,会看到"It works!"说明apache安装成功. 2.安装php: sudo apt-get install libapache2-mod-php5 php5; 安装扩展php5-gd:sudo apt-ge

IIS HTTP文件服务器搭建步骤

利用IIS搭建HTTP文件服务器,可下载.上传(用户名验证) 1.右键网站,添加应用程序 2.物理路径,选择系统的目录配置,上一层 别名:CAPI3FileService 3.效果如下: 4.(以下步骤为上传权限控制,非常重要) 选择网站,WebDAV创作规则 5.启用WebDAV 6.点击WebDAV配置,应用 7.选择创建的文件服务器应用程序 选择身份验证: 8.启用Windows身份验证,禁用匿名身份验证 9.配置写权限 10. 虚拟目录和电脑用户部分参考:IIS FTP文件服务器搭建步骤

python django+uwsgi+nginx 搭建步骤(血一般的教训)

安装Django 没有pip的童鞋可以看http://blog.csdn.net/imphp/article/details/38228619安装python包管理工具pip 先在 https://pypi.python.org/ 上 搜索Django,排在第一的那个就是我们要安装的主要框架Django啦- 点进去可以查找一些相关文档,虽然全部是鸟语花香,不过有翻译.百度.炕忙,就算是菜鸟也成英国鸟了. Django 的官网文档 https://docs.djangoproject.com/en