Hyperledger

[Hyperledger] p.20 하이퍼레저 패브릭 개발 환경 설정 (CentOS 7)

bocoder
728x90
반응형
cd /tmp
wget https://dl.google.com/go/go1.13.5.linux-amd64.tar.gz
sudo tar -xvf go1.13.5.linux-amd64.tar.gz
sudo mv go /usr/local

go get -u -v golang.org/x/tools/cmd/...​
sudo vi /etc/profile.d/path.sh
#go setting
export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin
source /etc/profile

ubuntu 환경에서 열심히 따라하다가 실수로 suspend 하지않고 power off 버튼을 눌렀다.. path 설정이 잘못되어있어서 그런 것 같다.

이왕 다시 설치하는 것, CentOS에서 해보기로 한다.. (명령어가 조금씩 수정되고 새로운 에러들도 발생)

*reboot 할 때마다 아래 명령어를 실행하여 셋팅한 환경변수 및 path 를 적용해준다.

source /etc/environment
source /etc/profile.d/path.sh

1. node js 설치

curl -sL https://rpm.nodesource.com/setup_8.x | sudo bash -
sudo yum install -y nodejs

2. golang 설치

cd /tmp
wget https://dl.google.com/go/go1.13.5.linux-amd64.tar.gz
sudo tar -xvf go1.13.5.linux-amd64.tar.gz
sudo mv go /usr/local

3. go 환경변수 설정

vi /etc/environment
#go setting
export GOROOT="/usr/local/go"
export GOPATH="$HOME/go"
export GOBIN="$HOME/go/bin"
source ~/.bash_profile

4. go path 잡기

sudo vi /etc/profile.d/path.sh
#go setting
export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin
source /etc/profile

5. go 도구 설치

sudo yum install git
go get -u -v golang.org/x/tools/cmd/...

======================에러발생=====================

> # golang.org/x/tools/cmd/godoc go/src/golang.org/x/tools/cmd/godoc/main.go:412:61: ee.ExitCode undefined (type *exec.ExitError has no field or method ExitCode)

구글링을 통해 열심히 찾았지만 해결 못하고, 댓글에서 'godoc causing issues ATM, preventing image to build - commenting-out' 발견

혹시나 하고 go를 지우고 stable한 최신 버전을 다운 받아 진행.. 해결완료...ㅠㅠ (약 5시간 소요)

cd /tmp
wget https://dl.google.com/go/go1.13.5.linux-amd64.tar.gz
sudo tar -xvf go1.13.5.linux-amd64.tar.gz
sudo mv go /usr/local

go get -u -v golang.org/x/tools/cmd/...

=================================================

6. Docker 설치 (refere to -->> https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-centos-7 )

sudo yum check-update
curl -fsSL https://get.docker.com/ | sh

#실행
sudo systemctl start docker

#상태확인
sudo systemctl status docker

#reboot 시에 실행
sudo systemctl enable docker

#docker 명령어 실행 시 sudo 생략을 위한 사용자 추가
sudo usermod -aG docker asd ----------->>> 'asd'는 사용자이름 입력

7. docker-compose 설치

# 폴더 권한 부여
sudo chmod -R 777 /usr/local/bin

# 설치
curl -L https://github.com/docker/compose/releases/download/1.23.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

# 실행 권한 부여
chmod +x /usr/local/bin/docker-compose

8. docker path 추가

sudo vi /etc/profile.d/path.sh
#docker setting
export PATH="$PATH:$HOME/.local/bin"
source /etc/profile.d/path.sh

9. Hyperledger fabric 환경 구성

mkdir -p $GOPATH/src/github.com/hyperledger
FABRIC=$GOPATH/src/github.com/hyperledger/fabric
git clone -b release-1.4 http://github.com/hyperledger/fabric $FABRIC
cd $FABRIC
make dist-clean all

FABRIC=$GOPATH/src/github.com/hyperledger/fabric ---- > 이것도 /etc/environment 에 추가하면 편함

sudo yum install gcc make gcc-c++ --->>> 필요시 시 설치

10. (option) Hyperledger fabric 동작 테스트

책에 있는 예제 파일이 안보여서, 구글링을 통해 다른 예제를 가져왔다.

cd $GOPATH/src/github.com/hyperledger
git clone -b master https://github.com/hyperledger/fabric-samples.git

cd fabric/fabric-samples
git checkout v1.1.0
git branch

sudo curl -sSL https://goo.gl/6wtTN5 | sudo bash -s 1.1.0
cd first-network

 # 채널 mychannel을 생성
./byfn.sh -m generate

# 채널 mychannel을 실행 (down은 실행을 중단)
./byfn.sh -m up 

11. Hyperledger fabric image file 설치 (#10. fabric-samples 폴더를 지운뒤 실행)

cd /home/asd/go/src/github.com/hyperledger
curl -sSL http://bit.ly/2ysbOFE | bash -s 1.4.0
728x90
반응형