개발모음집

ubuntu16.04에서 h2o 서버 설치하기 본문

Server

ubuntu16.04에서 h2o 서버 설치하기

void 2017. 11. 4. 09:00

성공한 방법


두 가지 방법이 있는데 1번이 더 확실



1. 우선 깃헙에서 파일을 다운로드하고 tar.gz 압축파일을 풀어준다.


apt install cmake 

apt-get install libssl-dev

apt-get install zlib1g-dev 

cd /home/void/download/h2o-2.2.4 //다운받은 h2o 폴더, h2o-2.2.4의 숫자는 버전마다 다르니 버전확인해서 폴더로 이동할 것

cmake -DWITH_BUNDLED_SSL=on .

make
make install

/usr/local/bin/h2o -c examples/h2o/h2o.conf     // h2o run


웹브라우저에서 localhost:8080 을 입력하여 


Welcome to H2O - an optimized HTTP server

It works!


라는 문장이 나오면 설치완료하고 실행한 것

(index.html 은 tar 파일 압축 푼 경로에서 examples/doc_root 에 있다)



2. 우선 깃헙에서 파일을 다운로드하고

압축을 /var/www/html/에 푼다음 

cmake -DWITH_BUNDLED_SSL=on .

를 했다.



apt-get install curl

curl -SL 'https://bintray.com/user/downloadSubjectPublicKey?username=bintray' | sudo apt-key add -

 echo "deb http://dl.bintray.com/tatsushid/h2o-deb xenial-backports main" | sudo tee /etc/apt/sources.list.d/bintray-tatsushid-h2o.list



make -j8

error==> 타켓이 지정되지 않았고 메이크파일이 없습니다. 멈춤.

sudo make install

error==> 타켓 'install'을 만들 규칙이 없습니다. 멈춤.

h2o -v


에러났는데도 버전확인해보니 설치되었다.




실패한 방법




공식 홈페이지를 보고 따라했다.


우선 깃헙에서 파일을 다운로드하고

압축을 푼다음


cmake -DWITH_BUNDLED_SSL=on .

를 해주려했다.

하지만 


-- Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the system variable OPENSSL_ROOT_DIR (missing:  OPENSSL_LIBRARIES OPENSSL_INCLUDE_DIR) 
CMake Error at /usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:148 (message):
  Could NOT find ZLIB (missing: ZLIB_LIBRARY ZLIB_INCLUDE_DIR)
Call Stack (most recent call first):
  /usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:388 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake-3.5/Modules/FindZLIB.cmake:124 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:50 (FIND_PACKAGE)

OpenSSl을 찾을 수 없다고 했고, google에 "Ubuntu 16.04 OpenSSL"이라고 검색을 했고,  처음으로 나오는 을 참고했다.

설치를 하고 다시 아래의 코드를 입력했다.

cmake -DWITH_BUNDLED_SSL=on .

root@void-VirtualBox:/usr/local/h2o-2.2.2# cmake -DWITH_BUNDLED_SSL=on .
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1") 
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the system variable OPENSSL_ROOT_DIR (missing:  OPENSSL_LIBRARIES OPENSSL_INCLUDE_DIR) 
CMake Error at /usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:148 (message):
  Could NOT find ZLIB (missing: ZLIB_LIBRARY ZLIB_INCLUDE_DIR)
Call Stack (most recent call first):
  /usr/share/cmake-3.5/Modules/FindPackageHandleStandardArgs.cmake:388 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake-3.5/Modules/FindZLIB.cmake:124 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:50 (FIND_PACKAGE)


-- Configuring incomplete, errors occurred!
See also "/usr/local/h2o-2.2.2/CMakeFiles/CMakeOutput.log".
See also "/usr/local/h2o-2.2.2/CMakeFiles/CMakeError.log".
root@void-VirtualBox:/usr/local/h2o-2.2.2# cmakeoutput.log\

cmakeoutput.log: 명령을 찾을 수 없습니다
root@void-VirtualBox:/usr/local/h2o-2.2.2# 
root@void-VirtualBox:/usr/local/h2o-2.2.2# 
root@void-VirtualBox:/usr/local/h2o-2.2.2# cmakeoutput.log
cmakeoutput.log: 명령을 찾을 수 없습니다


위와 같은 에러를 스택오버플로우에서 찾았고,


환경변수 선언

cmake -DOPENSSL_ROOT_DIR=/usr/local/ssl -DOPENSSL_LIBRARIES=/usr/local/ssl/lib

libssl-dev 설치

sudo apt-get install libssl-dev



설치를 하고 다시 아래의 코드를 입력했다.

cmake -DWITH_BUNDLED_SSL=on .

또 다른 에러 발생


root@void-VirtualBox:/usr/local/h2o-2.2.2#  cmake -DWITH_BUNDLED_SSL=on .
-- Found ZLIB: C:/path/to/zlib/zlib.lib (found version "1.2.8") 
-- Checking for module 'libuv>=1.0.0'
--   
-- Could NOT find LIBUV (missing:  LIBUV_LIBRARIES LIBUV_INCLUDE_DIR) 
-- Checking for module 'libwslay'
--   No package 'libwslay' found
-- Could NOT find WSLAY (missing:  WSLAY_LIBRARIES WSLAY_INCLUDE_DIR) 
-- Configuring done
-- Generating done
-- Build files have been written to: /usr/local/h2o-2.2.2


라고 에러가 뜨길래 

스택오버플로우에서 찾아서 깔았다.


sudo apt-get install make automake libtool curl
curl -sSL https://github.com/libuv/libuv/archive/v1.8.0.tar.gz | sudo tar zxfv - -C /usr/local/src
cd /usr/local/src/libuv-1.8.0
sudo sh autogen.sh
sudo ./configure
sudo make
sudo make install
sudo rm -rf /usr/local/src/libuv-1.8.0 && cd ~/
sudo ldconfig


그랬더니 또 깔랜다.


root@void-VirtualBox:/usr/local/h2o-2.2.2#  cmake -DWITH_BUNDLED_SSL=on .
-- Checking for module 'libuv>=1.0.0'
--   Found libuv, version 1.8.0
-- Checking for module 'libwslay'
--   No package 'libwslay' found
-- Could NOT find WSLAY (missing:  WSLAY_LIBRARIES WSLAY_INCLUDE_DIR) 
-- Configuring done
-- Generating done
-- Build files have been written to: /usr/local/h2o-2.2.2



sudo apt-get install git


참고 사이트


git clone https://github.com/tatsuhiro-t/wslay.git


cd wslay/
autoreconf -i
automake
autoconf
./configure
make
make install

참고사이


드디어 깐 것 같다.

다시 공식 홈페이지를 보고 따라했다.


cmake -DWITH_BUNDLED_SSL=on .
make


/usr/bin/ld: cannot find -lC:/path/to/zlib/zlib.lib
collect2: error: ld returned 1 exit status
CMakeFiles/h2o.dir/build.make:3190: 'h2o' 타겟에 대한 명령이 실패했습니다
make[2]: *** [h2o] 오류 1
CMakeFiles/Makefile2:499: 'CMakeFiles/h2o.dir/all' 타겟에 대한 명령이 실패했습니다
make[1]: *** [CMakeFiles/h2o.dir/all] 오류 2
Makefile:127: 'all' 타겟에 대한 명령이 실패했습니다
make: *** [all] 오류 2

'Server' 카테고리의 다른 글

The Apache Platform and Architecture 해석  (0) 2017.11.13
web server  (0) 2017.11.13
Centos 7에러  (0) 2017.10.31
ubuntu16.04 nginx, php7.0 설치  (0) 2017.10.27
ubuntu에서 root 계정으로 로그인하기  (0) 2017.10.26