Debian 8でのGitLab + Redmine Collaborationのインストールと設定jessie + Nginx-パート1

エントリー



そのため、通常のGitHubまたはGitBucketではプロジェクトを実行するには不十分でした。 主な理由は、大きなバイナリpsd、3dsmax、およびその他のファイルのストレージとバージョン管理です。 実際、多くのソリューションがあります。たとえば、GitHubが提供するCloud Diskまたはgit Large Files Systemを使用できます。 しかし、組織に対するさまざまなアプローチのすべての長所と短所を検討した後、GitLab + redmineの束に至りました。



製品を説明するのは理にかなっていないと思いますが、この選択に至った主な利点を説明します。

GitLabの主な利点:





どちらもオープンソースプロジェクトです。



ワークスペースの準備



「Linuxコンソールを初めて見たとき」のユーザーレベルでさえ、Redmine + GitLabを大量に調達できるように、すべての詳細を省略しないことにしました。



システムをルートとして使用するのは良くないので、ワークスペースの準備、つまりsudoのインストールから始めましょう。 また、ルートからインストールする場合、GitLabにいくつかの問題がありました。



#  nano,      . apt-get install nano sudo -y
      
      





ユーザーを追加してsudoを構成します。



 # ,       <username> #      root.       . nano /etc/sudoers #   sudo su <username>
      
      





Redmineをインストールする



Nginx、Thin、MySQLを使用します。 宗教上の理由でPostgreSQLが必要な場合は、コードの後に​​ある注意を読んで、設定を変更する場所を示します。 Thinの代わりにUnicornを使用することもできますが、この記事の一部としてそのインストールを省略します。



インストールは次のとおりです。



Nginxを外部Webサーバーとしてインストールする



 sudo apt-get update sudo apt-get install nginx -y
      
      





データベースのインストール



 #   MySql apt-get install mysql-server mysql-client libmysqlclient-dev #   PostgreSQL apt-get install postgresql
      
      





MySqlのインストール時に、スーパーユーザーのパスワードを要求される場合があります。 上に来て書き留めてください。 次に、データベースとその日のユーザーを作成する必要があります。



 #    MySql mysql -uroot -p CREATE DATABASE redmine CHARACTER SET utf8; CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost'; exit #    PostgreSQL su postgres psql CREATE ROLE redmine LOGIN ENCRYPTED PASSWORD 'password' NOINHERIT VALID UNTIL 'infinity'; CREATE DATABASE redmine WITH ENCODING='UTF8' OWNER=redmine TEMPLATE template0; \q exit
      
      





Redmine自体のインストール



コンパイルヘッダーが必要です。



 # : libmagickcore-dev libmagickwand-dev     .      . apt-get install libmagickcore-dev libmagickwand-dev imagemagick build-essential
      
      





これで、新しいredmineをダウンロードする準備ができました。 執筆時点では、これは3.2.0です。 ダウンロードして作業ディレクトリに配置します。



 cd /tmp mkdir redmine cd redmine wget http://www.redmine.org/releases/redmine-3.2.0.tar.gz tar -zxvf ./redmine-3.2.0.tar.gz mv ./redmine-3.2.0 /usr/local/share/redmine
      
      





RedmineはRubyで書かれており、それを必要とします。 インストール。



 #   . apt-get install ruby ruby-dev rubygems libruby #   bundler    apt-get   ruby gem install bundler
      
      





薄く追加します。



 nano /usr/local/share/redmine/Gemfile #  gem "thin"
      
      





redmineに必要なすべてのgemをインストールします。



 cd /usr/local/share/redmine #:    PostgreSQL   --without PostgreSQL  --without mysql bundle install --without development test postgresql sqlite
      
      





設定する必要があります。



 cp config/database.yml.example config/database.yml mv public/dispatch.fcgi.example public/dispatch.fcgi nano config/database.yml
      
      





生産をほぼこの種に変更します。



注:PostgreSQLをインストールする場合は、database.ymlファイルの下の例に従ってください。 * .ymlはかなり特定の形式であるため、タブの方がより正確です。



 production: adapter: mysql2 database: redmine host: localhost username: redmine password: "<password_Mysql_redmine_user>" encoding: utf8
      
      





秘密鍵を作成します。



 rake generate_secret_token
      
      





エラーはないはずです。 しかし、突然彼がmysql2またはPostgreSQL用の別のgemを要求した場合、それらをインストールするだけです:

 gem install mysql2 #       rake generate_secret_token
      
      





データベースには2つのチームがあります。 2の後、言語を選択するように求められます。



 RAILS_ENV=production rake db:migrate RAILS_ENV=production rake redmine:load_default_data #        : rake db:encrypt RAILS_ENV=production
      
      







だから。 Redmineは完全に構成されているので、チェックしてみましょう。 これにはWebRicがあります。



 ruby script/rails server webrick -e production
      
      





INFO WEBrick :: HTTPServer#start:pid = 27676 port = 3000を見た場合は、ブラウザのホスト名を確認できます:3000すべて正常に動作するはずです。



次に、Ctrl + Cを押します。



シンセットアップ



nginxがルビーを理解するには、thinが必要です。



 thin install #     adduser redmine chown -hR redmine:redmine /usr/local/share/redmine
      
      





シンを構成するために残ります:



nano /etc/thin/redmine.yml



 pid: tmp/pids/thin.pid group: redmine wait: 30 timeout: 30 log: log/thin.log max_conns: 1024 require: [] environment: production max_persistent_conns: 512 servers: 1 daemonize: true user: redmine socket: /tmp/thin.sock chdir: /usr/local/share/redmine
      
      





薄く実行:



 /etc/init.d/thin start #   nano /usr/local/share/redmine/logs/thin.0.log
      
      





Nginxを構成する



ホストを作成します。



 nano /etc/nginx/sites-available/redmine.hostname.ru
      
      





設定をファイルにコピーし、自分用に変更します。



 #  upstream    ""  thin upstream thin_server { server unix:/tmp/thin.0.sock; } # -    server { #  server_name redmine.hostname.ru #  HTTPS(SSL) listen *:80; # access_log /var/log/nginx/redmine.mihanentalpo.me-access.log; error_log /var/log/nginx/redmine.mihanentalpo.me-error.log; # public  root /usr/local/share/redmine/public; #  location.      " ",   #     -,    thin location / { proxy_redirect off; proxy_set_header Host redmine.mihanentalpo.me; try_files $uri/index.html $uri.html $uri @thin; } #  Location  ,     location @thin { proxy_pass http://thin_server; } }
      
      





その後、サイトをオンにしてnginxを再起動します:



 ln -s /etc/nginx/sites-available/redmine.hostname.ru /etc/nginx/sites-enabled/redmine.hostname.ru /etc/init.d/nginx restart
      
      





これでRedmineのインストールが完了しました。 そして、彼はredmine.hostname.ruで利用可能になります。 仕事のために、彼は興味深いプラグインを欠いており、最も重要なことには、書き込み権限がありません。 実行:



 chmod -R 0777 /usr/local/share/redmine/tmp chmod -R 0777 /usr/local/share/redmine/files
      
      





管理者には、デフォルトのユーザー名adminとパスワードadminがあります。



次の記事では、GitLabのインストールと構成について説明します。 おそらくLDAPのセットアップがあるでしょう。



PS:最初の記事、私は建設的な批判を待っています。 おそらく、彼はIT専門家が集まったHabrのような大規模なプロジェクトには細心の注意を払っていたので、あらゆる種類の詳細をそのような詳細に整理する必要はありませんでした。 VPS VDSサーバーでRedmine + GitLabを構成できるようにしたかっただけです。



All Articles