Я хотел знать, как я могу настроить gitorious server в Ubuntu и заставить его работать локально. Я работаю 12.04 и хотел бы получить последнюю версию
Обновление: С Gitorious 3.2 (начало 2015) gitorious поддерживает человечность непосредственно. См. https://gitorious.org/gitorious/ce-installer/для инструкций по установке.
Исходные инструкции:
Для установки gitorious последний от мерзавца выполните эти шаги
Во-первых, отпускает корень при помощи
sudo su
[sudo] password for <username>:
При установке всех этих пакетов Вас попросят пароля root MySQL, который необходимо помнить, потому что Вам будет нужен он позже.
aptitude install \
build-essential zlib1g-dev tcl-dev libexpat-dev libxslt1-dev \
libcurl4-openssl-dev 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 zip unzip memcached git-core git-svn git-doc \
git-cvs irb
Gem.source_index
удерживается от использования. Используя систему 1.8.25 избегает source_index ошибки.
REALLY_GEM_UPDATE_SYSTEM=1 gem update --system 1.8.25
Теперь мы можем установить все необходимые драгоценные камни:
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
wget http://sphinxsearch.com/files/sphinx-0.9.9.tar.gz && \
tar -xzf sphinx-0.9.9.tar.gz && \
cd sphinx-0.9.9 && \
./configure --prefix=/usr && \
make all install
git clone git://gitorious.org/gitorious/mainline.git /var/www/gitorious && \
cd /var/www/gitorious && \
git submodule init && \
git submodule update
Легкий как круг. Теперь мы просто должны поместить двоичный файл Gitorious на наш путь:
ln -s /var/www/gitorious/script/gitorious /usr/bin
Gitorious нужен набор фоновых сервисов, таким образом, мы должны скопировать предоставленные сценарии запуска:
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
Мы должны создать дополнительную символьную ссылку, потому что все сценарии запуска имеют набор RUBY_HOME к/opt/ruby-enterprise (альтернативно, мы могли просто исправить файлы, но этот способ, которым это легче и можно обновить сценарии в случае необходимости):
ln -s /usr/ /opt/ruby-enterprise
По состоянию на март 2013 сценарий ультрасфинкса мерзавца повреждается и не запустится. Отредактируйте /etc/init.d/git-ultrasphinx
и проверьте что start
, stop
и restart
команды следующим образом (замена ultrasphinx:daemon
с ts
при необходимости):
START_CMD="cd $GITORIOUS_HOME && rake ts:start RAILS_ENV=production"
STOP_CMD="cd $GITORIOUS_HOME && rake ts:stop RAILS_ENV=production"
RESTART_CMD="cd $GITORIOUS_HOME && rake ts:restart RAILS_ENV=production"
В первую очередь, мы должны скомпилировать пассажирский модуль Apache2:
$ (пассажир содержания драгоценного камня | grep passenger-install-apache2-module)
Пассажирский сценарий конфигурации скажет Вам точно, что необходимо будет добавить к апачской конфигурации. Часть, которую необходимо скопировать, похожа на это:
Отредактируйте свой конфигурационный файл Apache и добавьте эти строки:
LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-3.0.9/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-3.0.9
PassengerRuby /usr/bin/ruby1.8
После перезапуска Apache Вы готовы развернуть любое количество приложений Ruby on Rails на Apache без дальнейшей определенной для Ruby on Rails конфигурации! Эти три строки должны быть вставлены в
/etc/apache2/mods-available/passenger.load
a2enmod passenger && \
a2enmod rewrite && \
a2enmod ssl
Создание сайтов Apache2
Введите:
nano /etc/apache2/sites-available/gitorious
И копия вставляет следующий текст
<VirtualHost *:80>
ServerName your.server.com
DocumentRoot /var/www/gitorious/public
</VirtualHost>
Ввести
nano /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>
Теперь мы должны отключить сайт по умолчанию и включить наши недавно созданные сайты Gitorious:
a2dissite default && \
a2dissite default-ssl && \
a2ensite gitorious && \
a2ensite gitorious-ssl
mysql -u root -p
Введите пароль, который Вы сделали при установке MySQL после следующей подсказки
Enter password:
Введите это линию за линией, исключая mysql>
и изменение <insert password>
с Вашим паролем MySQL Вы сделали при установке MySQL
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 && \
bundle pack
Теперь мы можем создать пользователя, при котором Gitorious будет выполнять и обслуживать репозитории Мерзавца:
adduser --system --home /var/www/gitorious/ --no-create-home --group --shell /bin/bash git && \
chown -R git:git /var/www/gitorious
Затем мы должны создать некоторый материал, который должен выполнить 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
Теперь отредактируйте config/database.yml и удостоверьтесь, что Вы устанавливаете корректное имя пользователя и пароль в производственном разделе. После этого мы должны установить несколько вещей в config/gitorious.yml:
Удостоверьтесь, что Вы настраиваете правильный раздел (не, протестируйте: но производство:)
repository_base_path should be /var/www/gitorious/repositories
cookie_secret needs to be set to a random value >= 30 characters
gitorious_client_port should be 80
gitorious_host needs to be the exact hostname that clients will use (cookies get messed up otherwise)
archive_cache_dir should be /var/www/gitorious/tarballs
archive_work_dir should be something like /tmp/tarballs-work
hide_http_clone_urls should be true (they require extra unknown setup to work)
is_gitorious_dot_org should be false
Creating the Gitorious database
Из-за несовместимости RubyGems с направляющими <2.3.11 необходимо добавить следующую строку наверху config/boot.rb:
require 'thread'
Теперь мы позволяем граблям сделать всю работу для нас:
export RAILS_ENV=production && \
bundle exec rake db:create && \
bundle exec rake db:migrate && \
bundle exec rake rake ts:conf && \
bundle exec rake rake ts:rebuild
crontab -e 10 * * * * /var/www/gitorious/bin/rake ts:rebuild >/dev/null RAILS_ENV=production
env RAILS_ENV=production ruby1.8 script/create_admin
Перезагрузка
Вы наконец сделаны. Перезагрузите свою машину Ubuntu, и Ваша установка Gitorious должна быть в порядке.
Просмотрите http://your.server.com/admin/diagnostics для проверки на возможные проблемы.
Источник: http://coding-journal.com/installing-gitorious-on-ubuntu-11-04/
Можно также попробовать мой автоустановщик:
http://blog.celogeek.com/201211/272/gitorious-installer-for-ubuntu/
https://gitorious.celogeek.com/gitorious-installer
Говорит мне, если он работает на Вас.