본문 바로가기
사물인터넷

라즈베리파이에 아파치 설치

by JK77 2022. 1. 16.

라즈베리파이에 아파치 설치 후 아래와 같은 화면을 만나기 까지의 과정을 기록.

 

내 라즈베리파이에는 Raspbian Stretch Lite 버전이 설치되어 있다. 릴리스 된 날짜는 2018-11-13일이다. 서버로 사용하기 위해 최소한의 설치를 했다. 라즈비안 버전은 데스크탑 버전 2가지, 그리고 lite버전이 있는데, 데스크탑 버전 2가지인 recommended software버전과 데스크탑 버전은 크게 차이가 없다. 추천 소프트웨어만 설치되어 있는가, 아님 모두 설치되어 있는가의 차이다.

 

데스크탑 버전을 사용한다면 모든 기능을 편하게 사용할 수 있어서 좋으나, 개인적으로는 가장 가벼운 버전을 설치하여 필요한 기능만 추가하여 설치하는 것을 선호한다. 메모리나 더 많은 저장공간을 확보 할 수 있기 때문. 그래서 라즈비안 lite버전을 설치 후 Gui환경만 따로 설치해 사용했다. 아무래도 윈도우가 없으면 불편하긴 한다.
(Raspbian Lite에는 GUI는 포함되어 있지 않고, 명령 줄 인터페이스만 사용할 수 있다.  )

자신의 라즈비안 버전을 알고 싶다면 아래와 같은 명령어를 사용할 수 있다.

커널 버전 확인하기 uname -a 
운영 체제 확인하기 cat /etc/os-release 
배포판 릴리즈 날짜 확인하기 cat /etc/rpi-issue

 

아파치 설치를 위해서는 우선 필요한 파일 4개를 다운 받아야 한다. 필요한 파일은 모두 4개이다.
apr, apr-util, pcre, httpd이다.

처음 시도할 때 아파치 옛날 책을 참고하여, httpd만 설치하면 되는 줄 알았는데 다음과 같은 에러를 만나게 되었다.

 

위 이미지 아래쪽에 보면 APR not found. 메세지를 볼 수 있다.

httpd-2.4.X 버전이전에는 httpd만 설치하면 되는 것 같았으나, 그 후 부터는 apr과 apr-util, pcre 를 별도로 설치하여야 apache 설치가 완료된다고 한다.

4개의 파일을 /usr/local/src 디렉토리에 다운 받는다.
참고로 usr디렉토리는 유닉스 초기에는 모든 사용자 관련 명령들으 위한 중앙 저장소였으나, 지금은 저마다 다르다. src는 source의 약자로 주로 프로그램 소스(주로 커널소스)를 저장한다. 리눅스 디렉토리 구조가 궁금하다면 아래 링크를 참고하자.
https://webdir.tistory.com/101

다운 받은 4개의 파일 압축을 같은 디렉토리에 모두 압축해제 해 준다.

압축풀기
tar.gz는 tar xfz [압축파일명]
tar.bz2는 tar jxvf [압축파일명]

apache를 설치할 디렉토리를 만든다.
$ mkdir /usr/local/apache2
나는 /usr/local 디렉토리에 apache2로 만들었다. 주의할 점은 apache2로 만들지 않고 다른 이름으로 만들경우 약간의 설정이 더 필요하다. 나는 컴알못이기 때문에 그런건 시도하지 않았다.

여기서 부터 다른 사이트를 참고하여 아파치 설치를 여러 차례 시도했으나 똑같은 방법으로 딱 되지는 않았다. 아마 전공자들은 아주 매끄럽게 설치를 하겠지만 소프트하게 취미로 하는 나는 약간의 에러가 있어도 설치만 된다면 일단 오케이다.

아래의 방법은 수차례 삽질 끝에 찾아낸 방법.

보통 apr과 apr-util파일을 압축을 풀고나서 httpd/srclib폴더로 두 디렉토리를 이동후 설치를 하는 방법이 많은데 난 계속해서 오류가 발생했다. 그래서 따로 따로 설치해 주었다.

우선 apr 설치
압축을 풀고 해당 디렉토리로 이동후
$ ./configure –prefix=/usr/local/apache2/apr
$ make
$ make install

다음 apr-util 설치
역시 압축을 풀고 해당 디렉토리로 이동
$ ./configure –prefix=/usr/local/apache2/apr-util –with-apr=/usr/local/src/apr-DIR
$ make
$ make install

다음으로 httpd를 설치했다. 설치할 때 httpd/srclib/ 디렉토리안에 apr과 apr-util이 없으면 설치가 안된다.
압축이 풀린 apr과 apr-util을 httpd/srclib 디렉토리로 이동 시킨후
$ ./configure –prefix=/usr/local/apache2
$ make
$ make install

그리고 마지막으로 pcre를 설치해 주었다.
$ ./configure –prefix=/usr/local/apache2/pcre
$ make
$ make install

이렇게 하고 httpd를 실행시키면 libpcre.so.1파일이 없다고 나온다. 라이브러리 의존성을 확인해 보기 위해 $ ldd httpd를 입력하면 ‘not found’를 볼 수 있다. 나는
$ find / -name libpcre.so.1 로 파일을 찾은 후 libpcre.so.1 파일을 /usr/local/apache2/apr/lib 디렉토리로 복사해 주었다.
참고: https://md82.tistory.com/1272
아래처럼 심볼릭 링크를 걸어 해결할 수 도 있다는데 시도해 보지는 않았다.
$ sudo ln -s /usr/local/apache2/pcre/libpcre.so.1 /usr/local/apache2/apr/lib

마지막으로 apache2/conf/httpd.conf 파일을 수정해 주면 된다.
ServerName 127.0.0.1:80

아파치 구동
apache2/bin/httpd -k start

ifconfig로 ip주소를 알아 낸 후 접속 하면 it works를 볼 수 있다.

중간에 expat.h문제가 있었지만 아래 명령어로 해결.
$ apt-get install libexpat1-dev –fix-missing-dev
$ apt-get install libexpat1-dev

참고 사이트 목록:

https://aeac.tistory.com/23
https://zetawiki.com/wiki/%EB%A6%AC%EB%88%85%EC%8A%A4_%EC%95%84%ED%8C%8C%EC%B9%98_%EC%B5%9C%EC%8B%A0%EB%B2%84%EC%A0%84_%EC%84%A4%EC%B9%98_(%EC%BB%B4%ED%8C%8C%EC%9D%BC)
https://waspro.tistory.com/365
https://victorydntmd.tistory.com/220
https://fmd1225.tistory.com/43

'사물인터넷' 카테고리의 다른 글

NAS ReverseProxy  (0) 2022.01.16