VIDEOCUBE
GitLab을 설치해 보자!! 본문
GitHub 와 같은 서비스를 내부적으로 구축해 보자.
ㄴ 소스 관리를 git 를 이용하여 체계적으로 관리 및 사용해 보자!!
설치 방법은
https://about.gitlab.com/installation/# 에 나와있다..
CentOS6 를 기반으로 설치를 해보려고 한다..
1. VirtureBox 에서 신규로 CentOS6 설치한다..
2. 기본 환경 설정을 완료한다.
ㄴ 사설 DNS 설정
ㄴrpm -ivh http://repo.videocube.lab/VideoCube-Repo-1.0.rpm
출처: http://videocube.tistory.com/entry/RPM-만들고-Yum에-등록-하기 [VIDEOCUBE]
나중에는 dns 서버 내에 rpm 을 넣어야 할 것 같다.. 너무 많네.... ㅋㅋ
3. https://about.gitlab.com/ 사이트에 들어가서 열심히 읽어본다..
이건 머시다냐... 권장사양이 4GB는 되어야 할듯 한데..
말하는대로 했다..
1. Install and configure the necessary dependencies
On CentOS, the commands below will also open HTTP and SSH access in the system firewall.
sudo yum install -y curl policycoreutils-python openssh-server cronie sudo lokkit -s http -s ssh
lokkit 이란게 궁금해 지긴 하네.. 흠.. iptable 설정 같다..
ssh 22, http 80 을 허용하라는 이야기 인거 같넹
cronie 이건 또 멀까.. cron 계열인가 싶다..
Install 8 Package(s)
Upgrade 21 Package(s)
설치할게 겁내 많네...
root@git:/root> lokkit -s http -s ssh
root@git:/root> iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT icmp -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:http
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
root@git:/root> cat /etc/sysconfig/iptables
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
lokkit 는 commnd line 용 iptable 설정 유틸리티이다. /etc/sysconfig/iptables 을 에디터로 수정하지 않고 손쉽게 방화벽 정책을 수정할 수 있게 해준다.
설정 잘되네~~ 앞으로는 방화벽 열때 저것을 애용하도록 해야것다
Next, install Postfix to send notification emails. If you want to use another solution to send emails please skip this step and configure an external SMTP server after GitLab has been installed.
sudo yum install postfix sudo service postfix start sudo chkconfig postfix on
During Postfix installation a configuration screen may appear. Select 'Internet Site' and press enter. Use your server's external DNS for 'mail name' and press enter. If additional screens appear, continue to press enter to accept the defaults.
외부 메일 서버가 따로 있다믄.. 이 과정은 skip 해도 된다는 말인갑네.. 나중에 GitLab 설치 한 후에 설정 해도 된다..
머 이런말인가 본데... 나는 아직 메일 서버가 없기 때문에.. 설치
root@git:/root> netstat -nlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1108/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1907/master
tcp 0 0 :::22 :::* LISTEN 1108/sshd
tcp 0 0 ::1:25 :::* LISTEN 1907/master
Active UNIX domain sockets (only servers)
Proto RefCnt Flags Type State I-Node PID/Program name Path
unix 2 [ ACC ] STREAM LISTENING 14662 1907/master private/scache
unix 2 [ ACC ] STREAM LISTENING 7985 1/init @/com/ubuntu/upstart
unix 2 [ ACC ] STREAM LISTENING 14579 1907/master public/cleanup
unix 2 [ ACC ] STREAM LISTENING 14586 1907/master private/tlsmgr
unix 2 [ ACC ] STREAM LISTENING 14590 1907/master private/rewrite
unix 2 [ ACC ] STREAM LISTENING 14594 1907/master private/bounce
unix 2 [ ACC ] STREAM LISTENING 14598 1907/master private/defer
unix 2 [ ACC ] STREAM LISTENING 14602 1907/master private/trace
unix 2 [ ACC ] STREAM LISTENING 14606 1907/master private/verify
unix 2 [ ACC ] STREAM LISTENING 14610 1907/master public/flush
unix 2 [ ACC ] STREAM LISTENING 14614 1907/master private/proxymap
unix 2 [ ACC ] STREAM LISTENING 14618 1907/master private/proxywrite
unix 2 [ ACC ] STREAM LISTENING 14622 1907/master private/smtp
unix 2 [ ACC ] STREAM LISTENING 14626 1907/master private/relay
unix 2 [ ACC ] STREAM LISTENING 14630 1907/master public/showq
unix 2 [ ACC ] STREAM LISTENING 14634 1907/master private/error
unix 2 [ ACC ] STREAM LISTENING 14638 1907/master private/retry
unix 2 [ ACC ] STREAM LISTENING 14642 1907/master private/discard
unix 2 [ ACC ] STREAM LISTENING 14646 1907/master private/local
unix 2 [ ACC ] STREAM LISTENING 14650 1907/master private/virtual
unix 2 [ ACC ] STREAM LISTENING 14654 1907/master private/lmtp
unix 2 [ ACC ] STREAM LISTENING 14658 1907/master private/anvil
SMTP 가 올라가 있는 것을 볼수 있다.. SMTP 에서 메일 보내는 것도 나중에 정리가 필요할 듯..
2. Add the GitLab package repository and install the package
Add the GitLab package repository.
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash
https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/config_file.repo?os=centos&dist=6&source=script
Repository 지정 한 후에 yum-utils 을 설치 스크립트가 있는 것 같다.
curl 로 스크립트를 받아 실행한다.. 흠 괜찮네..
/etc/yum.repos.d/gitlab_gitlab-ee.repo 가 설치 되어 있는 것을 확인할 수 있다..
[gitlab_gitlab-ee] name=gitlab_gitlab-ee baseurl=https://packages.gitlab.com/gitlab/gitlab-ee/el/6/$basearch repo_gpgcheck=1 gpgcheck=1 enabled=1 gpgkey=https://packages.gitlab.com/gitlab/gitlab-ee/gpgkey https://packages.gitlab.com/gitlab/gitlab-ee/gpgkey/gitlab-gitlab-ee-3D645A26AB9FBD22.pub.gpg sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt metadata_expire=300 [gitlab_gitlab-ee-source] name=gitlab_gitlab-ee-source baseurl=https://packages.gitlab.com/gitlab/gitlab-ee/el/6/SRPMS repo_gpgcheck=1 gpgcheck=1 enabled=1 gpgkey=https://packages.gitlab.com/gitlab/gitlab-ee/gpgkey https://packages.gitlab.com/gitlab/gitlab-ee/gpgkey/gitlab-gitlab-ee-3D645A26AB9FBD22.pub.gpg sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt metadata_expire=300
Next, install the GitLab package. Change `http://gitlab.example.com` to the URL at which you want to access your GitLab instance. Installation will automatically configure and start GitLab at that URL. HTTPS requires additional configuration after installation.
sudo EXTERNAL_URL="http://gitlab.example.com" yum -y install gitlab-ee
여기서 도메인을 설정 하고 설치 하란다.
DNS videocube.lab.zone 파일에 다음과 같이 설정한다.
git A 192.168.1.8
root@dns:/var/named> dig @192.168.1.6 git.videocube.lab any
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.4 <<>> @192.168.1.6 git.videocube.lab any
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 19009
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; QUESTION SECTION:
;git.videocube.lab. IN ANY
;; ANSWER SECTION:
git.videocube.lab. 600 IN A 192.168.1.8
;; AUTHORITY SECTION:
videocube.lab. 600 IN NS ns.videocube.lab.
;; ADDITIONAL SECTION:
ns.videocube.lab. 600 IN A 192.168.1.6
;; Query time: 0 msec
;; SERVER: 192.168.1.6#53(192.168.1.6)
;; WHEN: Thu Nov 9 01:09:29 2017
;; MSG SIZE rcvd: 84
설정완료
EXTERNAL_URL="http://git.videocube.lab" yum -y install gitlab-ee
설치하는데 꽤 시간이 걸린다..
root@git:/data> netstat -nlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:9100 0.0.0.0:* LISTEN 3663/node_exporter
tcp 0 0 127.0.0.1:9168 0.0.0.0:* LISTEN 4047/ruby
tcp 0 0 127.0.0.1:8080 0.0.0.0:* LISTEN 3269/unicorn master
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 3537/nginx
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1108/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1907/master
tcp 0 0 0.0.0.0:8060 0.0.0.0:* LISTEN 3537/nginx
tcp 0 0 127.0.0.1:9121 0.0.0.0:* LISTEN 3755/redis_exporter
tcp 0 0 127.0.0.1:9090 0.0.0.0:* LISTEN 4056/prometheus
tcp 0 0 127.0.0.1:9187 0.0.0.0:* LISTEN 4065/postgres_expor
tcp 0 0 ::1:9168 :::* LISTEN 4047/ruby
tcp 0 0 :::22 :::* LISTEN 1108/sshd
tcp 0 0 ::1:25 :::* LISTEN 1907/master
어이쿠 많이 도 올리네..
다음 시간에는 정리 좀 해야겠다..
3. Browse to the hostname and login
On your first visit, you'll be redirected to a password reset screen. Provide the password for the initial administrator account and you will be redirected back to the login screen. Use the default account's username root
to login.
root 계정에 대한 비밀번호 세팅이다..
입력 하게 되면
gitlab-ee 는 가격이 무료가 아니어서 재설치를 진행하였다..
https://about.gitlab.com/products/
다시 삭제를 하고 ee ==> ce 로 변경 한 후에
깔끔하게 서버를 새로 넣어서 설치해야겠다.
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
'시스템' 카테고리의 다른 글
Nexus Repository 설치해 보기 (0) | 2017.11.11 |
---|---|
Jenkins (젠킨스) 를 설치해보자 (0) | 2017.11.10 |
RPM을 사설 yum에 등록하여 활용하기 (0) | 2017.11.05 |
사설 yum 서버를 구축해보자 (0) | 2017.11.04 |
사설 DNS 구축해 보기 문제해결 (0) | 2017.11.03 |