Amazon EC2 서버 세팅 (Amazon Linux 2에서 cmake 세팅하기)

|

참고 사이트 : taetaetae.github.io/2019/04/14/aws-freetier-create-and-ssh-access/ (스크린샷을 꼼꼼하게 찍고 설명을 잘 해놓은듯)

일단 홈페이지에 접속.

https://aws.amazon.com/free

 

AWS 프리 티어

12개월 무료: 이 프리 티어 오퍼는 AWS 신규 고객에게만 제공되며 AWS 가입일로부터 12개월 동안 유효합니다. 12개월의 무료 사용 기간이 만료되거나 애플리케이션 사용량이 프리 티어 범위를 초과

aws.amazon.com

무료 계정 만들기를 클릭, 하단에 AWS 계정 새로 만들기를 클릭. 주소와 왜 사용하는지, 혹시 모를 결재를 위한 카드 정보까지 입력하고 나면 아이디 만들기는 완료. 새 인스턴스 생성까지는 하루 정도 기다려야 한다고 한다.

console.aws.amazon.com/console

 

https://console.aws.amazon.com/console/home

 

console.aws.amazon.com

EC2를 사용할 것이기 때문에, 솔루션 구축 왼쪽 위에서 EC2를 사용하여 가상 머신 시작을 클릭. AMI 목록 중에서 프리 티어 사용 가능한 인스턴스 중 선택하고(Amazon Linux 2 AMI), 인스턴스 유형에서도 프리 티어 사용 가능한 유형(t2.micro)을 선택함. 보안 규칙을 업데이트 하라고 하지만 경고를 참을만하면 그냥 패스해도 무방할듯. 여기까지는 클릭클릭하여 아무 생각 없이 진행이 가능하고, 단계 7에서 시작하기를 클릭하면 기존 키 페어 선택 혹은 새 키 페어 생성하는 화면이 나오는데, 새 키 페어를 선택하고 인스턴스 시작을 누르면 pem 파일이 다운로드 됨.

보통 git에 내장된 ssh를 통해서 터미널을 쓰는 편인데, 이 pem 파일이 제대로 동작하지 않아 일단 putty를 써보기로 함.

docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/putty.html

 

PuTTY를 사용하여 Windows에서 Linux 인스턴스에 연결 - Amazon Elastic Compute Cloud

프라이빗 키의 암호는 추가 보호 계층입니다. 프라이빗 키가 노출되더라도 암호 없이 사용할 수 없습니다. 암호문 사용의 단점은 인스턴스에 로그온하거나 인스턴스에 파일을 복사하기 위해 사

docs.aws.amazon.com

docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html

 

SSH를 사용하여 Linux 인스턴스에 연결 - Amazon Elastic Compute Cloud

이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.

docs.aws.amazon.com

가이드는 잘 되어 있는 편이라, putty를 사용하여 인스턴스에 접근하는게 어렵지는 않았음. 서버에 올릴 프로그램도 무난히 가이드를 따라 업로드. 그런데 그 다음. 이건 cmake로 만들어져 있는데 뭔가 안 맞는 느낌. 그래서 찾아보니...

docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/compile-software.html

 

Amazon Linux 인스턴스에서 소프트웨어 컴파일 준비 - Amazon Elastic Compute Cloud

Amazon Linux 인스턴스에서 소프트웨어 컴파일 준비 인터넷에서 구할 수 있는 방대한 오픈 소스 소프트웨어 중에는 아직 컴파일되지 않은 상태로 패키지 리포지토리에서 다운로드 가능한 것도 있

docs.aws.amazon.com

이것도 가이드가 있었다. 핵심은..

 

sudo yum groupinstall "Development Tools"
sudo yum install cmake

Amazon Linux는 패키지 관리를 yum으로 하고(내부적으로는 rpm을 깔겠지) 바닐라 상태에서는 개발 툴조차 깔려있지 않다. 기본 툴을 깔고 cmake를 yum으로 설치한 후에 보니 cmake의 버전이 너무 낮다는 메시지가 뜬다.

cmake.org/download/

 

Download | CMake

Current development distribution Each night binaries are created as part of the testing process. Other than passing all of the tests in CMake, this version of CMake should not be expected to work in a production environment. It is being produced so that us

cmake.org

현재 cmake의 최신 버전은 3.20.0-rc3. 받아서 설치해준다.

wget https://github.com/Kitware/CMake/releases/download/v3.20.0-rc3/cmake-3.20.0-rc3.tar.gz
tar -xvzf cmake-3.20.0-rc3.tar.gz
cd cmake-3.20.0-rc3
./bootstrap
make
sudo make install

바로 cmake를 실행하려고 하면 CMAKE_ROOT가 없다는 오류가 뜨는데, 터미널을 재시작하라는 코멘트를 보고 무난히 패스. source /etc/profile 로 갱신될것 같긴 한데, 해보지는 않았음.

이후 Could NOT find LibSSH2 (missing: LIBSSH2_INCLUDE_DIR LIBSSH2_LIBRARY) 오류가 나왔고, CA path only supported by OpenSSL, GnuTLS or mbed TLS. Set CURL_CA_PATH=none or enable one of those TLS backends. 메시지가 나와서 cmake가 configuring incomplete를 뱉어냄. (curl은 소스가 내장되어 빌드를 하는데 말이지...) 그래서 다음 패키지를 깔아줌.

sudo yum install libssh2-devel
sudo yum install libcurl-devel (음 이건 curl-devel 이였던것 같은데...)

잘 된다. (제발 cmake같은건 안썼으면...)


And