C++로 카사블랑카(casablanca) SDK를 이용해 Restful 웹 서버를 만들어 볼까 합니다.
우선 개발 환경부터 말씀드리겠습니다.
OS : Linux(Ubuntu 18.04)
개발 툴 : vim
컴파일러 : g++(7.4)
우선 라이브러리를 설치해야 하는데, C++의 Restful SDK를 설치해야 합니다.
MS에서 현재 제공하고 있는 casablanca를 사용할 것이며, 계속해서 업데이트가 진행되고 있는 MS의 프로젝트 SDK입니다.
현재 github에 올라와 있으며 https://github.com/microsoft/cpprestsdk에서 올라와 있습니다.
설치 방법은 이렇습니다.
우선 git을 설치해야 합니다.
--------------------------------------------------------------
$sudo apt-get install git
--------------------------------------------------------------
설치가 완료되면 boost 라이브러리를 설치해 줘야합니다.
casablanca는 boost의 함수를 가져다 쓰기 때문에 필수로 설치해야 합니다.
--------------------------------------------------------------------------------------------------------------------------------------------
$sudo apt-get install libboost-atomic-dev libboost-thread-dev libboost-system-dev libboost-date-time-dev libboost-regex-dev libboost-filesystem-dev libboost-random-dev libboost-chrono-dev libboost-serialization-dev libwebsocketpp-dev
--------------------------------------------------------------------------------------------------------------------------------------------
또한 웹 서버 구축이라 ssl을 설치해 줘야 합니다.
--------------------------------------------------------------
$sudo apt-get install openssl libssl-dev
--------------------------------------------------------------
또한 casablanca는 Cmake를 해야 하는데 ninja를 지원합니다. 따라서 ninja도 설치해 줘야 합니다.
--------------------------------------------------------------
$sudo apt-get install ninja
--------------------------------------------------------------
그럼 기본 셋팅은 끝났습니다. 이제 casablanca를 설치해 보겠습니다.
-------------------------------------------------------------------------
git clone https://github.com/Microsoft/cpprestsdk.git casablanca
-------------------------------------------------------------------------
설치가 완료되면 폴더 casablanca가 생성되 있을 것입니다. 그리고 그 안에 소스들이 들어있지요.
다음과 같은 절차를 입력하시면 되겠습니다.
--------------------------------------------------------------
cd casablanca
mkdir build.debug
cd build.debug
cmake -G Ninja .. -DCMAKE_BUILD_TYPE=Debug
ninja
--------------------------------------------------------------
여기까지 잘 진행 되셨다면 현재 당신의 위치는 "casablanca/build.debug" 에 있을 것입니다.
그럼 여기서 아래와 같이 실행해 주세요.
--------------------------------------------------------------
cd Release/Binaries
./test_runner *_test.so
--------------------------------------------------------------
그럼 설치가 잘 되었고 라이브러리에 잘 적용됬는지 TEST를 진행합니다.
초록색 글씨로 PASSED 가 나와야 하며
"All test cases PASSED" 라는 문구가 마지막에 떠야 완벽하게 설치가 진행된 것입니다.
이렇게 말이죠.
https://github.com/microsoft/cpprestsdk/wiki/How-to-build-for-Linux
여기서 좀 더 자세하게 알 수 있습니다.
다음에는 간단하게 서버에 접속하면 GET을 통해 "Hello world" 메시지를 띄워주는 작업을 하겠습니다.
'프로그래밍 > C++ rest(Casablanca)' 카테고리의 다른 글
C++] cpprestful-server 완성본(CpprestSDK) (0) | 2020.11.05 |
---|---|
C++] cpprestSDK(Casablanca) https(ssl) 적용방법. (0) | 2020.07.16 |
C++] cpprestSDK(Casablanca) 1. http_listener 에 대해서.... (0) | 2020.07.02 |
C++] cpprestSDK 에 대한 간략한 설명. (0) | 2020.07.02 |
C++로 Restful서버 만들기(casablanca) 2. Server Sample Code (6) | 2019.05.28 |
댓글