エントリー
そのため、通常のGitHubまたはGitBucketではプロジェクトを実行するには不十分でした。 主な理由は、大きなバイナリpsd、3dsmax、およびその他のファイルのストレージとバージョン管理です。 実際、多くのソリューションがあります。たとえば、GitHubが提供するCloud Diskまたはgit Large Files Systemを使用できます。 しかし、組織に対するさまざまなアプローチのすべての長所と短所を検討した後、GitLab + redmineの束に至りました。
製品を説明するのは理にかなっていないと思いますが、この選択に至った主な利点を説明します。
GitLabの主な利点:
- リポジトリ。
- 微調整権。
- git lfsのサポートはほとんどすぐに使用できます。
どちらもオープンソースプロジェクトです。
ワークスペースの準備
「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を構成できるようにしたかっただけです。