Centos 6 рдкрд░ Gitorious рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛

рдЫрд╡рд┐
Gitorious - RoR рдореЗрдВ рд▓рд┐рдЦрд╛ GitHUB рдХрд╛ рдПрдХ рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рд╡рд┐рдХрд▓реНрдк, ActiveMQ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, Stomp)
рд╕реНрдерд╛рдкрдирд╛ рдПрдХ рдирдП рд╕рд┐рд░реЗ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд CentOS-6.2-x86_64- рдиреНрдпреВрдирддрдо рд╡рд┐рддрд░рдг рдкрд░ рдХреА рдЧрдИ рдереАред рд╕рднреА рдЖрджреЗрд╢реЛрдВ рдХреЛ рд░реВрдЯ рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдПрдХ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдПрдХ рдЙрдкрдпреБрдХреНрдд рд╕рдВрдХреЗрдд рд╣реЛрдЧрд╛ред

рд╕реНрдерд╛рдкрдирд╛ рдХрд╛ рд╕рдордп ~ 3 рдШрдВрдЯреЗ

рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рддреИрдпрд╛рд░реА

рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдХрдВрд╕реЛрд▓ рдЯреЗрдХреНрд╕реНрдЯ рдПрдбрд┐рдЯрд░ рдиреИрдиреЛ (рдореБрдЭреЗ vi рдкрд╕рдВрдж рдирд╣реАрдВ рд╣реИ), wget рдШреБрдорд╛рд╡, рдлрд╝рд╛рдЗрд▓ рдореИрдиреЗрдЬрд░ рдорд┐рдбрдирд╛рдЗрдЯ рдХрдорд╛рдВрдбрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛

yum install nano wget mc 


рдЕрдм рдЖрдкрдХреЛ RPMForge рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛

 wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm rpm -ivh rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm 


рдлрд┐рд░ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ рдФрд░ рдХреБрдЫ рдЖрд╡рд╢реНрдпрдХ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред

 yum update yum groupinstall -y "Development tools" "Development Libraries" yum install -y git-core git-svn java-1.6.0-openjdk vim-* apg pcre pcre-devel zlib zlib-devel libyaml-devel GeoIP-devel sphinx mysql-devel mysql-server mysql readline-devel libxml2-devel libxslt libxslt-devel aspell* 


MySQL

рдЕрдм MySQL рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ

 service mysqld start /usr/bin/mysql_secure_installation 


рд░реВрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд╛рд╕рд╡рд░реНрдб рд╕реЗрдЯ рдХрд░реЗрдВ рдФрд░ рд╕рднреА рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдВ

рд░реВрдмреА рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬ рд╕рдВрд╕реНрдХрд░рдг

Www.rubyenterpriseedition.com/download.html рд╕реЗ рдирд╡реАрдирддрдо рд░реВрдмреА рдЙрджреНрдпрдо рд╡рд┐рддрд░рдг рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ

 wget http://rubyenterpriseedition.googlecode.com/files/ruby-enterprise-1.8.7-2012.02.tar.gz tar xzf tar xzf ruby-enterprise-1.8.7-2012.02.tar.gz cd cd ruby-enterprise-1.8.7-2012.02 ./installer 


2 рдмрд╛рд░ рджрд░реНрдЬ рдХрд░реЗрдВ рдФрд░ рд╕реНрдерд╛рдкрдирд╛ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рддрдХ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ
рд░реВрдмреА рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ рдФрд░ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдмрджрд▓реЗрдВ
 cd /opt ln -s ruby-enterprise-1.8.7-2012.02/ ruby nano /etc/profile      if [ "$EUID" = "0" ]; then pathmunge /opt/ruby/bin export RAILS_ENV=production export PATH=/usr/local/sphinx/bin:/usr/local/bin:$PATH export _JAVA_OPTIONS=-Xmx64m export MAGICK_HOME=/usr/local export DYLD_LIBRARY_PATH=/usr/local/lib 


рдлрд╝рд╛рдЗрд▓ рдХреЗ рдмрд╣реБрдд рдЕрдВрдд рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдЬреЛрдбрд╝реЗрдВред
 nano /etc/bashrc pathmungea () { if ! echo $PATH | /bin/egrep -q "(^|:)$1($|:)" ; then if [ "$2" = "after" ] ; then PATH=$PATH:$1 else PATH=$1:$PATH fi fi } pathmungea /opt/ruby/bin export RAILS_ENV=production export PATH=/usr/local/sphinx/bin:/usr/local/bin:$PATH export _JAVA_OPTIONS=-Xmx64m export MAGICK_HOME=/usr/local export DYLD_LIBRARY_PATH=/usr/local/lib unset pathmungea 


рдЕрдм рд▓реЙрдЧ рдЗрди рдХрд░реЗрдВ рдФрд░ ImageMagick рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдмрдврд╝реЗрдВ

ImageMagick

 cd ~ yum install -y tcl-devel libpng-devel libjpeg-devel ghostscript-devel bzip2-devel freetype-devel libtiff-devel 


yum рдореЗрдВ, ImageMagick рдХрд╛ рдкреБрд░рд╛рдирд╛ рд╕рдВрд╕реНрдХрд░рдг, рдЗрд╕рд▓рд┐рдП рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ
 wget ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick-6.7.6-1.tar.gz tar xzf ImageMagick-6.7.6-1.tar.gz cd ImageMagick-6.7.6-1 ./configure --prefix=/usr/local --with-bzlib=yes --with-fontconfig=yes --with-freetype=yes --with-gslib=yes --with-gvc=yes --with-jpeg=yes --with-jp2=yes --with-png=yes --with-tiff=yes make make install 


рдЕрдм рдЖрдкрдХреЛ рдХреБрдЫ рд░реВрдмреА рд░рддреНрди рдФрд░ рдмрдВрдбрд▓ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ

 gem install bundle gem install sphinx rmagick ultrasphinx mime-types chronic ruby-hmac daemons mime-types BlueCloth ruby-yadis ruby-openid rspec rspec-rails RedCloth stompserver --no-ri --no-rdoc 


EPEL рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдЬреЛрдбрд╝реЗрдВ (download.fedora.redhat.com рдмрджрд▓рдХрд░ dl.fedoraproject.org рд╣реИ)

 wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-5.noarch.rpm wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm rpm -Uvh remi-release-6*.rpm epel-release-6*.rpm 


Gitorious

рджрд░рдЕрд╕рд▓, рд╣рдордиреЗ рддреИрдпрд╛рд░реА рдкреВрд░реА рдХрд░ рд▓реА рд╣реИ, рдЕрдм рдЖрдк рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рд╡рд┐рд╖рдп рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред

useradd -d / home / git git

 su git cd ~ mkdir log mkdir conf git clone git://gitorious.org/gitorious/mainline.git gitorious cd gitorious/ mkdir -p tmp/pids exit #logout  root ln -s /home/git/gitorious/script/gitorious /usr/local/bin/gitorious cd /home/git/gitorious/ chmod ug+x script/* chmod -R g+w config/ log/ public/ tmp/ 


рд╢реВрд░рд╡реАрд░ рдХрд╛ рд╡рд┐рдиреНрдпрд╛рд╕

 su git nano /home/git/gitorious/doc/templates/centos/git-daemon RUBY_HOME="/opt/ruby" GITORIOUS_HOME="/home/git/gitorious" nano /home/git/gitorious/doc/templates/centos/git-ultrasphinx GITORIOUS_HOME="/home/git/gitorious" nano /home/git/gitorious/doc/templates/centos/git-poller RUBY_HOME="/opt/ruby" GITORIOUS_HOME="/home/git/gitorious" export _JAVA_OPTIONS=-Xmx64m nano /home/git/gitorious/doc/templates/centos/stomp RUBY_HOME="/opt/ruby" GEMS_HOME="/opt/ruby" GITORIOUS_HOME="/home/git/gitorious" exit gem install --no-ri --no-rdoc -v 1.5.0 json gem install --no-ri --no-rdoc -v 1.3.1.1 rdiscount gem install --no-ri --no-rdoc -v 0.8.7 rake gem install --no-ri --no-rdoc -v 1.1.0 daemons gem install --no-ri --no-rdoc -v 0.8.9 geoip gem install --no-ri --no-rdoc -v 1.0 raspell gem uninstall rake -v 0.9.2.2 cd /home/git/gitorious bundle install cp config/database.sample.yml config/database.yml cp config/gitorious.sample.yml config/gitorious.yml cp config/broker.yml.example config/broker.yml su git mkdir /home/git/data mkdir /home/git/data/repositories mkdir /home/git/data/tarballs mkdir /home/git/data/tarball-work chown -R git:git /home/git/data #    mkdir /home/git/.ssh chmod -R 700 /home/git/.ssh touch /home/git/.ssh/authorized_keys chmod 600 /home/git/.ssh/authorized_keys chmod -R 700 /home/git/data exit chown -R git:git /home/git chmod 711 /home/git 

рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдЧреБрдкреНрдд рдХреБрдХреА рдмрдирд╛рдПрдБ

 apg -m 64 


рдФрд░ рдкреНрд░рд╛рдкреНрдд рдбреЗрдЯрд╛ рдХреЛ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреЙрдкреА рдХрд░реЗрдВ
 nano /home/git/gitorious/config/gitorious.yml 

рдХреБрдХреА_рд╕реЗрдХреНрд░реЗрдЯ рд▓рд╛рдЗрди рдореЗрдВ:

рдПрдХ рдЙрджрд╛рд╣рд░рдг:

 development: cookie_secret: SwouncievNivJucivrevnisfookEcnasiarHamgogdipmopyicbyctyikBagArimgronugAmIsUkDifpoyftEggobviuzIpArgecHewElsOcubnuejEtDecerlyooHibsmivyecivfalakMarfAvikokip^ojyorwahonkIrEdeibZepbivsaftIdmapmic)frivetcetEceivepJuxNeipnidzaroyffAgVevfuIvDesemAfyacAppAtdeavayswenEjUcoofnafryefGewboshkyersufcawJontIavZenFeifWoitGejEajnoiWrysawidHewofOkheTwiOjFigWigbobinCushBurnErnodedLuenAtTeyznoynoryop repository_base_path: "/home/git/data/repositories" extra_html_head_data: system_message: gitorious_client_port: 80 gitorious_client_host: git.example.com gitorious_host: git.example.com gitorious_user: git exception_notification_emails: admin@example.com mangle_email_addresses: true public_mode: true locale: en archive_cache_dir: "/home/git/data/tarballs" archive_work_dir: "/home/git/data/tarball-work" only_site_admins_can_create_projects: true hide_http_clone_urls: false is_gitorious_dot_org: false use_ssl: false test: cookie_secret: SwouncievNivJucivrevnisfookEcnasiarHamgogdipmopyicbyctyikBagArimgronugAmIsUkDifpoyftEggobviuzIpArgecHewElsOcubnuejEtDecerlyooHibsmivyecivfalakMarfAvikokip^ojyorwahonkIrEdeibZepbivsaftIdmapmic)frivetcetEceivepJuxNeipnidzaroyffAgVevfuIvDesemAfyacAppAtdeavayswenEjUcoofnafryefGewboshkyersufcawJontIavZenFeifWoitGejEajnoiWrysawidHewofOkheTwiOjFigWigbobinCushBurnErnodedLuenAtTeyznoynoryop repository_base_path: "/home/git/data/repositories" extra_html_head_data: system_message: gitorious_client_port: 80 gitorious_client_host: git.example.com gitorious_host: git.example.com gitorious_user: git exception_notification_emails: admin@example.com mangle_email_addresses: true public_mode: true locale: en archive_cache_dir: "/home/git/data/tarballs" archive_work_dir: "/home/git/data/tarball-work" only_site_admins_can_create_projects: true hide_http_clone_urls: false is_gitorious_dot_org: false use_ssl: false production: cookie_secret: SwouncievNivJucivrevnisfookEcnasiarHamgogdipmopyicbyctyikBagArimgronugAmIsUkDifpoyftEggobviuzIpArgecHewElsOcubnuejEtDecerlyooHibsmivyecivfalakMarfAvikokip^ojyorwahonkIrEdeibZepbivsaftIdmapmic)frivetcetEceivepJuxNeipnidzaroyffAgVevfuIvDesemAfyacAppAtdeavayswenEjUcoofnafryefGewboshkyersufcawJontIavZenFeifWoitGejEajnoiWrysawidHewofOkheTwiOjFigWigbobinCushBurnErnodedLuenAtTeyznoynoryop repository_base_path: "/home/git/data/repositories" extra_html_head_data: system_message: gitorious_client_port: 80 gitorious_client_host: git.example.com gitorious_host: git.matthouse.us gitorious_user: git exception_notification_emails: admin@example.com mangle_email_addresses: true public_mode: true locale: en archive_cache_dir: "/home/git/data/tarballs" archive_work_dir: "/home/git/data/tarball-work" only_site_admins_can_create_projects: true hide_http_clone_urls: false is_gitorious_dot_org: false use_ssl: false 


рд╣рдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддреЗ рд╣реИрдВ:

 nano /home/git/gitorious/config/broker.yml production: adapter: stomp development: adapter: stomp test: adapter: stomp 


рдорд╛рдИрд╕рдХреНрд▓ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░реЗрдВ

 mysql -uroot тАУp'<ROOT'S MYSQL PASSWORD>' create database gitorious; create database gitorious_test; create database gitorious_dev; CREATE user 'git'@'localhost' IDENTIFIED BY '<PASWORD>'; GRANT ALL ON gitorious.* TO 'git'@'localhost'; GRANT ALL ON gitorious_test.* TO 'git'@'localhost'; GRANT ALL ON gitorious_dev.* TO 'git'@'localhost'; FLUSH privileges; exit; nano /home/git/gitorious/config/database.yml cd /home chown -R git:git /home/git cd /home/git chmod -R 755 data chmod 755 gitorious cd /home/git/gitorious 


 nano Rakefile #  require 'thread' # require 'tasks/rails' 


 cd /home chown -R git:git /home/git cd /home/git chmod -R 755 data chmod 755 gitorious gem update --system 1.6.2 bundle exec rake gems:install bundle exec rake db:create:all bundle exec rake db:setup bundle exec rake db:migrate 


рдЕрд▓реНрдЯреНрд░рд╕рдлрд┐рдВрдХреНрд╕ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛:
 cd /home/git/gitorious export RAILS_ENV=production export PATH=/usr/local/sphinx/bin:$PATH bundle exec rake ultrasphinx:configure RAILS_ENV=production bundle exec rake ultrasphinx:index bundle exec rake ultrasphinx:daemon:start RAILS_ENV=production 


init рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдВрдХ рдмрдирд╛рдПрдВ рдФрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Gitorious рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдЪрд▓рд╛рдПрдВ

 ln -s /home/git/gitorious/doc/templates/centos/git-daemon /etc/init.d/git-daemon chmod +x /etc/init.d/git-daemon chkconfig --add git-daemon service git-daemon start ln -s /home/git/gitorious/doc/templates/centos/stomp /etc/init.d/stomp chmod +x /etc/init.d/stomp chkconfig --add stomp service stomp start ln -s /home/git/gitorious/doc/templates/centos/git-poller /etc/init.d/git-poller cd /home chown -R git:git /home/git cd /home/git chmod -R 755 data chmod 755 gitorious chmod +x /etc/init.d/git-poller chkconfig --add git-poller nano /home/git/gitorious/script/poller #  require 'thread'   $KCODE = 'u' service git-poller start ln -s /usr/local/bin/gitorious /usr/bin cd /home chown -R git:git /home/git cd /home/git chmod -R 755 data chmod 755 gitorious 


рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ ultrasphinx

 #  cd /home/git/gitorious aspell config dict-dir /usr/lib64/aspell-0.60 cp vendor/plugins/ultrasphinx/examples/ap.multi /usr/lib64/aspell-0.60/ bundle exec rake ultrasphinx:spelling:build nano /home/git/gitorious/config/ultrasphinx/production.conf # "address" "listen" listen = 0.0.0.0 #    64 indexer { mem_limit = 64M # git-ultrasphinx . ln -s /home/git/gitorious/doc/templates/centos/git-ultrasphinx /etc/init.d/git-ultrasphinx chmod +x /etc/init.d/git-ultrasphinx 


memcached
рдореЗрдорд╕реНрдХреИрд▓реНрдб рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
 yum install -y --enablerepo=remi memcached service memcached start chkconfig memcached on 

рдЕрдкрд╛рдЪреЗ
 yum install -y httpd httpd-devel mod_xsendfile curl-devel # xsendfile nano /etc/httpd/conf.d/xsendfile.conf #   LoadModule XSendFile on XSendFilePath /home/git/data/tarballs XSendFilePath /home/git/data/repositories 

рд░реВрдмреА рдпрд╛рддреНрд░реА рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
 /opt/ruby/bin/passenger-install-apache2-module 


Httpd.conf рдЙрджрд╛рд╣рд░рдг
Host.conf рдЙрджрд╛рд╣рд░рдг

рдЕрдВрддрд┐рдо рдЯреАрдореЗрдВ:

 chcon -R -h -t httpd_sys_script_exec_t /opt/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.11/ext/apache2/mod_passenger.so service httpd configtest service httpd start 


рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдХреЛ рдЕрдХреНрд╖рдо рдХрд░реЗрдВ (рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рд╕рд╛рдл рд╕рд┐рд╕реНрдЯрдо рд╣реИ, рдпрд╣ рдЕрднреА рддрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)
 service iptables stop 


рдЕрдкрдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ git.example.com рдЦреЛрд▓реЗрдВ рдФрд░ gitorious рд╣реЛрдордкреЗрдЬ рдХрд╛ рдЖрдирдВрдж рд▓реЗрдВ

рдЫрд╡рд┐

Source: https://habr.com/ru/post/In154573/


All Articles