Skip to content
This repository has been archived by the owner on Jan 8, 2022. It is now read-only.

Latest commit

 

History

History
314 lines (216 loc) · 11.7 KB

インストールメモ.md

File metadata and controls

314 lines (216 loc) · 11.7 KB

VMwareにubuntu(12.04)を入れてgitlabを立てるまで。メモを残しておく。

目的:gitlabをインストールし、同一LAN内から利用可能とする。
	サーバのバックアップと復元とかわかんなーい、といわれたら、
	「ubuntuをシャットダウンした後、仮想ディスクのフォルダを丸ごとバックアップ。復元はその仮想ディスクから立ち上げるだけでOK!」
	という運用も可能にする。
	
現在の課題:
	gitlabのバックアップ方法まとめ。
	gitlabの定期UPDATE手順のまとめ。
		これについては実際の作業をやりながらまとめていきたい。


解決済み:
	ユーザが自分でサインアップできるようにするオプションの設定方法
	gitlabを動かしているサーバのIPアドレス、ドメインを変更したい場合の作業手順まとめ。
		IP変更のみだが、おそらくドメインも同じ

運用環境
ホスト:windows7 ゲスト:ubuntu
ubuntsOSのネットワーク設定はブリッジとして、他のPCからのアクセスも可能とする

VMwareへのUbunuインストール(日本語版を使いたいため簡単インストールを使わない)

ubuntuの日本語版ISOをダウンロードしてくる
vmwareで新しい仮想マシンを作成する
	あとでOSをインストールを選択
	Linux>ubuntu を選択
	仮想ディスクを単一ファイルとして格納
	ハードウェアをカスタマイズ
		ネットワークアダプタ をブリッジに。
インストール用のISOを設定してインストールを開始

管理>VMware toolsのインストールを選択(guest-host間のコピペとかできるようになる)
	中身をhomeフォルダにコピー
	展開先に移動後、
	sudo ./vmware-install.pl
	を実行。エンターを連打してよきに計らってもらう。
完了後に再起動する

IPアドレスの固定化
	DHCPに毎回決まったIPを自動で割り振ってもらうか、自分でIPを固定する
	
	とりあえずこのメモ内では、下記のようにIPを固定したと仮定。
	システム > ネットワーク > 有線 > オプション > IPv4設定タブ
	アドレス:192.168.1.201
	ネットマスク:255.255.255.0
	ゲートウェイ:192.168.1.2			(ルータのIP)
	DNSサーバ:192.168.1.2			(ルータのIP)
	
	また、ブラウザからのアクセスには、10080ポートを利用する。
	(http://192.168.1.201:10080/ でアクセスする)

gitlabのインストール

https://github.com/gitlabhq/gitlabhq/blob/5-0-stable/doc/install/installation.md

を参考にひたすらコピペ。
	rubyのバージョンが!とかは考えない。
	そういうのは内容が分かるようになってからにする。
	ただひたすらに書かれているままにコピペする簡単なお仕事。

1. Packages / Dependencies
	#システムを最新版に。sudoのインストール?
	sudo apt-get update
	sudo apt-get upgrade

	#vim(エディタ)のインストール
	sudo apt-get install -y vim

	#必要なパッケージのインストール
	sudo apt-get install -y build-essential zlib1g-dev libyaml-dev libssl-dev libgdbm-dev libreadline-dev libncurses5-dev libffi-dev curl git-core openssh-server redis-server postfix checkinstall libxml2-dev libxslt-dev libcurl4-openssl-dev libicu-dev

	#途中で、メールサーバの設定?(Postfix Configration)をきかれたので、設定なしを選んだ
		設定なし
	
	#pythonのインストールとバージョンの確認。パイソンはすでに入っていた
	sudo apt-get install python
	python --version
	python2 --version


2. Ruby
	#rubyのインストール
	mkdir /tmp/ruby && cd /tmp/ruby
	curl --progress http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p327.tar.gz | tar xz
	cd ruby-1.9.3-p327
	./configure
	make
	sudo make install
	
	#bundler gem のインストール
	sudo gem install bundler


3. System Users
	#Gitlabのために git ユーザを追加
	sudo adduser --disabled-login --gecos 'GitLab' git


4. GitLab shell
	#この部分がGitlab 4.xから大幅に変更になった部分。やらなきゃいけないことがすごくへってる!
	#GitLab Shell is a ssh access and repository management software developed specially for GitLab.
	#GitLab shell は、sshアクセスとリポジトリ管理をするために、Gitlabのための特別に作られたソフトウェアらしい

	#gitユーザに切り替え
	sudo su git

	# home directory へ移動
	cd /home/git
	
	# gitlab shell のクローン
	git clone https://github.com/gitlabhq/gitlab-shell.git
	
	cd gitlab-shell
	
	git checkout v1.1.0
	git checkout -b v1.1.0
	cp config.yml.example config.yml
	
	# config.ymlを編集する。URLの設定とかそういうやつ。
	# URLの部分をhttp://192.168.1.201:10080/"に変更した
	vim config.yml
	
	#インストール
	./bin/install
	
	
5. Database
	#Databaseのセットアップ
	#MySQLを利用する
	
	#gitユーザのままだとapt-get時にパスワードを聞かれてうまくいかなかったので、gitユーザから抜けておく
	exit
	
	# データベースパッケージのインストール
	#rootのパスワードを聞かれるのでなにか適当なパスワードを設定する
	sudo apt-get install -y mysql-server mysql-client libmysqlclient-dev
	
	# MySQLにログイン
	mysql -u root -p
	
	#パスワードを聞かれるので設定したパスワードを入力


	# GitLab用のユーザを作成. ( $password は実際に利用するパスワードを記述)
	mysql> CREATE USER 'gitlab'@'localhost' IDENTIFIED BY '$password';
	
	# GitLabが利用するデータベースを作成
	mysql> CREATE DATABASE IF NOT EXISTS `gitlabhq_production` DEFAULT CHARACTER SET `utf8` COLLATE `utf8_unicode_ci`;

	# 作成したデータベースに、GitLab ユーザが必要とする権限を付与.
	mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON `gitlabhq_production`.* TO 'gitlab'@'localhost';

	# MySQLからログアウト
	mysql> quit

	# ubuntu上のgitユーザから、Mysqlに作成したユーザ、データベースに接続可能か確認
	sudo -u git -H mysql -u gitlab -p -D gitlabhq_production

6. GitLab
	# gitユーザのホームディレクトリへgitlabをインストールする
	
	#ホームディレクトリへ移動
	cd /home/git
	
	# GitLab repositoryのクローン
	sudo -u git -H git clone https://github.com/gitlabhq/gitlabhq.git gitlab

	# gitlab ディレクトリへ移動
	cd /home/git/gitlab

	# stable releaseのチェックアウト
	sudo -u git -H git checkout 5-0-stable

	#各種設定の編集
	# GitLab configのサンプルをコピー
	sudo -u git -H cp config/gitlab.yml.example config/gitlab.yml
	
	#必要があれば、"localhost"の部分を、gitlabをホストする適切なドメイン名に変更する
	#このメモではlocalhostを 192.168.1.201に変更したものとして進める
	#また、 signup_enabled: true  のコメントをはずして、利用者によるサインアップを有効にしておく
	sudo -u git -H vim config/gitlab.yml
	


	#  GitLab が log/ と tmp/ に書き込みできるようにする
	sudo chown -R git log/
	sudo chown -R git tmp/
	sudo chmod -R u+rwX  log/
	sudo chmod -R u+rwX  tmp/
			
	# satellites のためのディレクトリを作成。##サテライトってなんじゃろ
	sudo -u git -H mkdir /home/git/gitlab-satellites

	# pidsディレクトリを作成し、 gitユーザが書き込みできるようにする
	sudo -u git -H mkdir tmp/pids/
	sudo chmod -R u+rwX  tmp/pids/

	# Unicorn configファイルのコピー
	sudo -u git -H cp config/unicorn.rb.example config/unicorn.rb


	#GitLab のDB設定を編集する
	##production の username/passwordを編集
	#username:gitlab password:に自分で設定したパスワードを入力 
	sudo -u git cp config/database.yml.mysql config/database.yml
	sudo -u git vim config/database.yml
	
	
	
	#Gemのインストール
	cd /home/git/gitlab
	sudo gem install charlock_holmes --version '0.6.9'
	sudo -u git -H bundle install --deployment --without development test postgres


	#データベースの初期化処理 データベースの中身を初期化して良いかきかれるのでyes
	sudo -u git -H bundle exec rake gitlab:setup RAILS_ENV=production
	
	
	#Init Scriptのインストール
	#init scriptのダウンロード (will be /etc/init.d/gitlab):

	sudo curl --output /etc/init.d/gitlab https://raw.github.com/gitlabhq/gitlab-recipes/5-0-stable/init.d/gitlab
	sudo chmod +x /etc/init.d/gitlab
	
	#GitLab が、起動時に立ち上がるようにする
	sudo update-rc.d gitlab defaults 21
	
	
	#Application のステータスを確認
	##想定通りに設定されてるか確認。
	sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production
	
	##緑色でyesとかnoとか書かれていることを確認。
	sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production


	#GitLab サービスを開始
	sudo service gitlab start

7. Nginx
	#インストール
	sudo apt-get install nginx

	#サイト用の設定
	#設定ファイルサンプルのダウンロード:
	#  **YOUR_SERVER_IP** と **YOUR_SERVER_FQDN** をgitlab用に設定した適切なドメイン名、IPメールアドレスに変更する。
	##このメモでは 192.168.1.201 とする
	#server_name YOUR_SERVER_FQDN;の部分はIPでのアクセスのためコメントにした
	
	sudo curl --output /etc/nginx/sites-available/gitlab https://raw.github.com/gitlabhq/gitlab-recipes/5-0-stable/nginx/gitlab
	sudo ln -s /etc/nginx/sites-available/gitlab /etc/nginx/sites-enabled/gitlab
	sudo vim /etc/nginx/sites-available/gitlab

	#Restart
	sudo service nginx restart

	#おわり!
	#gitlabには下記のメールアドレス、パスでログインできるよ!

	[email protected]
	5iveL!fe

以下は個人的メモ。クライアント側の作業。

gitlabの初期設定

#パスワードを覚えやすい奴に変更

ユーザの追加

追加したユーザでログイン

テスト用プロジェクトの追加



#SSHキーの登録
	SourceTreeを利用している場合
		下記を参考に。
		http://qiita.com/items/60a9dc5a32ed1562fec2

	github for windowsを利用している場合
		sshのキーペアを作成
			作成方法は下記を参考に。(github for windowsでgitをインストールした場合)
				https://help.github.com/articles/generating-ssh-keys
				※バックアップをとってから実行すること!
				cd ~/.ssh
				ssh-keygen -t rsa -C "[email protected]"
					エンター連打でよきにはからってもらう
					id_rsaのファイル名の鍵がある場合は別名で鍵を作成すること。上書きしないように注意。
		
			sshのconfigファイルに下記のように、ホストとそれに紐付く情報を内容を設定しておく。
			設定しておかないとパスワードを毎回きかれる?
			Hostの部分はドメイン名でのアクセスならドメイン名にする?環境を作ってないのでわかんない。

				Host 192.168.1.201
				  HostName 192.168.1.201
				  IdentityFile ~/.ssh/gitlab2nd

		公開鍵をgitlabに登録
			作成した鍵の.pubをテキストエディタで開いてgitlabに登録。
				MyProfile > SSH Keys > Add new
				Titleには覚えやすいラベルを設定

適当な環境からcloneとかpushを実行。
	できた! > おつかれさまでした!
	できない!> ぐぐれ