以下は公式ウェブサイトからコピーした公式インストール方法です。最も簡単なインストールは私の大帝国にあります。インストールするために外国のウェブサイトにアクセスするか、ここをスキップすることしかできません。以下を参照してください。
If you install Postfix to send email please select 'Internet Site' during setup. Instead of using Postfix you can also use Sendmail or configure a custom SMTP server and configure it as an SMTP server.
On Centos 6 and 7, the commands below will also open HTTP and SSH access in the system firewall.
sudo yum install curl openssh-server openssh-clients postfix cronie
sudo service postfix start
sudo chkconfig postfix on
sudo lokkit -s http -s ssh
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
sudo yum install gitlab-ce
If you are not comfortable installing the repository through a piped script, you can find the entire script here and select and download the package manually and install using gitlab/gitlab-ce
curl -LJO https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/6/gitlab-ce-XXX.rpm/download
curl -LJO https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-10.2.2-ce.0.el7.x86_64.rpm/download
rpm -i gitlab-ce-XXX.rpm
sudo gitlab-ctl reconfigure
On your first visit, you'll be redirected to a password reset screen to provide the password for the initial administrator account. Enter your desired password and you'll be redirected back to the login screen.
The default account's username is root. Provide the password you created earlier and login. After login you can change the username if you wish.
新しい/etc/yum.repos.d/gitlab-ce.repoを作成します。内容は次のとおりです。
Tsinghua University TUNAミラーソースを使用してURLを開き、コンテンツを gitlab-ce.repo
ファイルにコピーし、パス vim / etc / yum.repos.d / gitlab-ce.repo
を編集します。
[ gitlab-ce]
name=gitlab-ce
baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6
repo_gpgcheck=0
gpgcheck=0
enabled=1
gpgkey=https://packages.gitlab.com/gpg.key
sudo yum makecache
sudo yum install gitlab-ce
#( 最新バージョンを自動的にインストールする)
sudo yum install gitlab-ce-8.15.2-ce.0.el6
#( 指定されたバージョンをインストールします)
vim /etc/gitlab/gitlab.rb
# 外部を探す_url 'http://000.00.00.00:8081'
# 住所を変更する
# オンにする`/etc/gitlab/gitlab.rb`,
# 意志`external_url = 'http://git.example.com'`自分のIPアドレスに変更します。`http://xxx.xx.xxx.xx`,
# 次に、次のコマンドを実行してGitLabをコンパイルします。
sudo gitlab-ctl reconfigure
# キャッシュの消去
sudo gitlab-rake cache:clear RAILS_ENV=production
Username: root
Password: 5iveL!fe
sudo gitlab-ctl uninstall
# デフォルトの構成ファイルを変更します
sudo vim /etc/gitlab/gitlab.rb
# バージョンを表示
sudo cat /opt/gitlab/embedded/service/gitlab-rails/VERSION
# echo "vm.overcommit_memory=1">>/etc/sysctl.conf
# sysctl -p
# echo never >/sys/kernel/mm/transparent_hugepage/enabled
# gitlabを確認してください
gitlab-rake gitlab:check SANITIZE=true--trace
gitlab-rake gitlab:check
gitlab-rake gitlab:check SANITIZE=true
# ビュー・ログ
gitlab-ctl tail
# データベース関係のアップグレード
gitlab-rake db:migrate
# キャッシュの消去
gitlab-rake cache:clear
# gitlabパッケージを更新します
yum update gitlab-ce
# gitlabをアップグレードする
yum install gitlab-ce
# データのアップグレードコマンド
gitlab-ctl pg-upgrade
gitlab-ctl start
# すべてのgitlabコンポーネントを起動します。
gitlab-ctl stop
# すべてのgitlabコンポーネントを停止します。
gitlab-ctl stop postgresql
# すべてのgitlabpostgresqlコンポーネントを停止します。
# 関連するデータ接続サービスを停止する
gitlab-ctl stop unicorn
gitlab-ctl stop sidekiq
gitlab-ctl restart
# すべてのgitlabコンポーネントを再起動します。
gitlab-ctl restart gitlab-workhorse
# すべてのgitlabを再起動しますgitlab-主力コンポーネント:
gitlab-ctl status
# サービスステータスを確認する
gitlab-ctl reconfigure
# 構成開始サービスを生成する
sudo gitlab-ctl tail
# ビュー・ログ
sudo gitlab-ctl tail redis
# redisログを確認する
sudo gitlab-ctl tail postgresql
# postgresqlのログを確認してください
sudo gitlab-ctl tail gitlab-workhorse
# gitlabを確認してください-働き者のログ
sudo gitlab-ctl tail logrotate
# logrotateのログを確認してください
sudo gitlab-ctl tail nginx
# nginxログを確認する
sudo gitlab-ctl tail sidekiq
# sidekiqログを確認する
sudo gitlab-ctl tail unicorn
# ユニコーンログを確認する
gitlab管理者パスワードを忘れた場合、パスワードをリセットする方法、Gitlabはrootユーザーパスワードを変更します
レールツールを使用してターミナルを開きます
sudo gitlab-rails console production
ユーザーのメールアドレス、ユーザー名、パスワード、その他の情報をクエリします。id:1はルートアカウントを意味します
user = User.where(id:1).first
パスワードを再設定する
user.password ='新しいパスワード'
user.password_confirmation ='新しいパスワード'
パスワードを保存する
user.save!
完全な操作ルビースクリプト
user = User.where(id:1).first
user.password ='新しいパスワード'
user.password_confirmation ='新しいパスワード'
user.save!
Gitlabワンクリックインストールパッケージを使用してGitlabをインストールするのは非常に簡単です。同じバックアップのリカバリと移行も非常に簡単です。1つのコマンドで完全なGitlabバックアップを作成できます。
/ etc / gitlab / gitlab.rb
を変更して、バックアップファイルを保存するためのデフォルトディレクトリを変更します。
gitlab_rails['backup_path']='/mnt/backups'
gitlab-rake gitlab:backup:create
上記のコマンドは、/ var / opt / gitlab / backupsディレクトリにxxxxxxxx_gitlab_backup.tarのような圧縮パッケージを作成します。この圧縮パッケージはGitlabの全体であり、先頭のxxxxxxはバックアップ作成のタイムスタンプです。
変更後、gitlab-ctlreconfigureコマンドを使用して構成ファイルを再ロードします。
バックアップファイルフォルダとウェアハウスソースファイルをここに配置します。
/var/opt/gitlab/backups
# バックアップファイルフォルダ
/var/opt/gitlab/git-data/repositories
# gitリポジトリソースファイル
backupコマンドを使用して、crontabによる自動バックアップを実現します
crontab -e
# 毎日2時にgitlabデータをバックアップします
02***/usr/bin/gitlab-rake gitlab:backup:create
02***/opt/gitlab/bin/gitlab-rake gitlab:backup:create
上記の2行を保存した後、構成をリロードします
service crond reload
# or
systemctl reload crond.service
過去7日間のバックアップのみを保存するように設定し、/ etc / gitlab / gitlab.rb構成ファイルを編集し、次のコードを見つけて、コメント #
を削除します。
# /etc/gitlab/gitlab.rb構成ファイルは次の行を変更します
gitlab_rails['backup_keep_time']=604800
gitlab構成ファイルをリロードします
sudo gitlab-ctl reconfigure
移行はバックアップとリカバリの手順と同じです。古いサーバーの/ var / opt / gitlab / backupsディレクトリにあるバックアップファイルを新しいサーバーの/ var / opt / gitlab / backupsにコピーするだけです(デフォルトを変更していない場合)。ディレクトリをバックアップする場合)。次に、復元コマンドを実行します。変更する場合は、最初にバックアップgitlabのディレクトリを入力します。このディレクトリは構成ファイルの gitlab_rails ['backup_path']
であり、デフォルトは / var / opt / gitlab / backups
です。
次に、unicornとsidekiqを停止して、データベースへの新しい接続がなく、書き込みデータがないことを確認します。
# 関連するデータ接続サービスを停止する
gitlab-ctl stop unicorn
# ok: down: unicorn: 0s, normally up
gitlab-ctl stop sidekiq
# ok: down: sidekiq: 0s, normally up
# xxxxx番号付きバックアップから復元
# 次に、データを復元します。1406691018はバックアップファイルのタイムスタンプです。
gitlab-rake gitlab:backup:restore BACKUP=1406691018
# 新しいバージョン1483533591_2017_01_04_gitlab_backup.tar
gitlab-rake gitlab:backup:restore BACKUP=1483533591_2017_01_04_gitlab_backup.tar
# Gitlabを起動します
sudo gitlab-ctl start
実際の操作を行ったgitlab関連のユーザーであるgitは、十分な権限を取得していないと判断されます。コマンドを順番に実行します。
# 回復中の許可なし
mkdir /var/opt/gitlab/backups
chown git /var/opt/gitlab/backups
chmod 700/var/opt/gitlab/backups
# 回復成功ページは、許可なしのエラーを報告します
sudo chown -R git:git /var/opt/gitlab/git-data/repositories
sudo chmod -R ug+rwX,o-rwx /var/opt/gitlab/git-data/repositories
sudo chmod -R ug-s /var/opt/gitlab/git-data/repositories
sudo find /var/opt/gitlab/git-data/repositories -type d -print0 | sudo xargs -0 chmod g+s
バックアップファイルに権限がないと報告された場合は、 ls -al
を使用して、権限が root
ではなく git
であるかどうかを確認し、次の方法で git
ユーザー権限を付与します。
sudo chown -R git:git 1483533591_2017_01_04_gitlab_backup.tar
ソース/etc/yum.repos.d/gitlab-ce.repoを直接編集し、GitLab CommunityEditionをインストールします
sudo yum install gitlab-ce
#( 最新バージョンを自動的にインストールする)
sudo yum install gitlab-ce-8.15.2-ce.0.el6
#( 指定されたバージョンをインストールします)
インストール中にエラーが発生しました
gitlab preinstall: Automatically backing up only the GitLab SQL database(excluding everything else!)
Dumping database ...
Dumping PostgreSQL database gitlabhq_production ... pg_dump:[archiver(db)] connection to database "gitlabhq_production" failed: could not connect to server:そのようなファイル、又はディレクトリはありません
Is the server running locally and accepting
connections on Unix domain socket "/var/opt/gitlab/postgresql/.s.PGSQL.5432"?
Backup failed
[ FAILED]
gitlab preinstall:
gitlab preinstall: Backup failed! If you want to skip this backup, run the following command and
gitlab preinstall:try again:
gitlab preinstall:
gitlab preinstall: sudo touch /etc/gitlab/skip-auto-migrations
gitlab preinstall:
error:%pre(gitlab-ce-8.15.2-ce.0.el6.x86_64) scriptlet failed, exit status 1
Error in PREIN scriptlet in rpm package gitlab-ce-8.15.2-ce.0.el6.x86_64
error: install:%pre scriptlet failed(2), skipping gitlab-ce-8.15.2-ce.0.el6
gitlab-ce-8.11.5-ce.0.el6.x86_64 was supposed to be removed but is not!
Verifying : gitlab-ce-8.11.5-ce.0.el6.x86_64 1/2
Verifying : gitlab-ce-8.15.2-ce.0.el6.x86_64 2/2
Failed:
gitlab-ce.x86_64 0:8.11.5-ce.0.el6
上記のエラーの山を見て、私は一瞬でびっくりしました。「sudo touch / etc / gitlab / skip-auto-migrations」を実行しようとする救世主コマンドを見つけたので、「yuminstallgitlab-ce」を再実行する必要がありました。 、インストールは本当に成功しましたか?
...
gitlab: Thank you for installing GitLab!
gitlab: To configure and start GitLab, RUN THE FOLLOWING COMMAND:
sudo gitlab-ctl reconfigure
gitlab: GitLab should be reachable at http://114.55.148.71:8081
gitlab: Otherwise configure GitLab for your system by editing /etc/gitlab/gitlab.rb file
gitlab: And running reconfigure again.
gitlab:
gitlab: For a comprehensive list of configuration options please see the Omnibus GitLab readme
gitlab: https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md
gitlab:
gitlab: GitLab now ships with a newer version ofPostgreSQL(9.6.1), and will be used
gitlab:as the defaultin the next major relase. To upgrade, RUN THE FOLLOWING COMMANDS:
sudo gitlab-ctl pg-upgrade
gitlab: For more details, please see:
gitlab: https://docs.gitlab.com/omnibus/settings/database.html#upgrade-packaged-postgresql-server
gitlab:
掃除: gitlab-ce-8.11.5-ce.0.el6.x86_64 2/2
Found /etc/gitlab/skip-auto-migrations, exiting...
Verifying : gitlab-ce-8.15.2-ce.0.el6.x86_64 1/2
Verifying : gitlab-ce-8.11.5-ce.0.el6.x86_64 2/2
更新が完了しました:
gitlab-ce.x86_64 0:8.15.2-ce.0.el6
コンプリート!
構成を再起動すると、ほとんどの「502」エラーを解決できます。
gitlab-ctl reconfigure
Nginx構成は 80
ポートが占有されていることを解決します
upstream gitlab {
server 114.55.111.111:8081;}
server {
# リスニングポート80
listen 80;
server_name git.diggg.cn;
location /{
proxy_pass http://gitlab; #ここで、アップストリームと同じ名前のプロキシを設定します
# 以下は、削除できるいくつかのリバースプロキシ構成です。
proxy_redirect off; #バックエンドWebサーバーはXを渡すことができます-Forwarded-ユーザーの実際のIPを取得するため
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m; #クライアントが許可する単一ファイルの最大バイト数
client_body_buffer_size 128k; #クライアントをバッファリングするためにバッファエージェントによって要求された最大バイト数
proxy_connect_timeout 300; #Nginxはバックエンドサーバーのタイムアウト時間に接続します(エージェント接続がタイムアウトしました)
proxy_send_timeout 300; #バックエンドサーバーデータの戻り時間(プロキシ送信タイムアウト)
proxy_read_timeout 300; #接続が成功した後、バックエンドサーバーの応答時間(プロキシ受信タイムアウト)
proxy_buffer_size 4k; #プロキシサーバー(nginx)のバッファーサイズを設定して、ユーザーヘッダー情報を保存します
proxy_buffers 4 32k; #proxy_バッファ、平均Webページが32k未満の場合は、このように設定します
proxy_busy_buffers_size 64k; #高負荷時のバッファサイズ(プロキシ_buffers*2)
proxy_temp_file_write_size 64k; #この値より大きいキャッシュフォルダのサイズを設定すると、アップストリームサーバーからアップロードされます
}}
Nginx構成チェックを行い、すぐに有効にします
# 構成を確認する
/usr/local/nginx/sbin/nginx -tc conf/nginx.conf
# nginxリロード構成
/usr/local/nginx/sbin/nginx -s reload
理由:グラバターが壁に囲まれている解決策:/etc/gitlab/gitlab.rbを編集し、変更する
# gitlab_rails['gravatar_plain_url']='http://gravatar.duoshuo.com/avatar/%{hash}?s=%{size}&d=identicon'
着替える:
gitlab_rails['gravatar_plain_url']='http://gravatar.duoshuo.com/avatar/%{hash}?s=%{size}&d=identicon'
次に、コマンドラインで実行します。
sudo gitlab-ctl reconfigure
sudo gitlab-rake cache:clear RAILS_ENV=production
このエラーは自作の落とし穴です。クローンを作成して送信する方法はありませんが、Webサイトは正常に実行でき、多くの方法を試しました。結局、私の問題は、「22」ポートが非表示になっていないことです。これは恥ずかしいことです。
GitLab: Failed to authorize your Git request: internal API unreachable
解決策:https://gitlab.com/gitlab-org/gitlab-ce/issues/33702スルーファイアウォールルール127.0.0.1
[ crit]14788#0:*215open()"/usr/local/nginx/proxy_temp/5/01/0000000015"failed(13: Permission denied)while reading upstream
次のように解決しました
chown -R root:root /usr/local/nginx/proxy_temp
# nginxを編集する.conf
sudo vi /usr/local/nginx/conf/nginx.conf
# 最初の行に追加
user root;
Error executing action `run` on resource
' bash[migrate gitlab-rails database]'
上記のエラーは、データベースが起動されていない、起動方法がわからない、サーバーを再起動した、ヒットしたというものです。 ?https://gitlab.com/gitlab-org/gitlab-ce/issues/2052#note_1667899
NameError: uninitialized constant Devise::Async
Processing by RootController#index as HTML
Completed 401 Unauthorized in17ms(ActiveRecord:2.7ms)
/var/log/gitlab/nginx/gitlab_access.log <==114.55.148.71--[04/Jan/2017:17:20:24+0800]"GET /favicon.ico HTTP/1.0"5022662"http://git.xxxxx.cn/"
" Mozilla/5.0(Macintosh; Intel Mac OS X 10_12_2)
AppleWebKit/537.36(KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36"
Recommended Posts