[Ubuntu 20.04] APM 소스 설치 고군분투기 (오류해결 포함)

개발하는 쿼카·2022년 3월 19일
1

고군분투

목록 보기
1/1

😢 대부분 참고 링크를 기준으로 따라해보았습니다. 이 게시글은 소스 설치 순서를 제공하는 글이 아닌, 오류 해결 용으로 봐주시길 바랍니다!

아파치 설치

$ sudo su
비밀번호 입력
$ apt update

해서 업데이트
막무가내 APM, 우분투 16.04 아파치 소스설치
링크를 참고하여
따라함. (링크를 꼭 들어가보길 바람)

1. 필수 요소 설치

그러나 필수 요소 설치 부분부터 오류가 뜸. 그때 그때 오류가 뜰때마다 해결하기로 결정하고 일단 넘어감.

2. wget + 링크로 파일을 다운로드 받는다.

(이때 난 나의 위치를 root로 해놓지 않는 실수를 해서 뒤에 폴더 정리하느라 애를 먹었는데 "cd .." 두번 입력을 통해 홈에서 빠져나오시길 바란다..)

$ wget http://mirror.navercorp.com/apache/apr/apr-1.7.0.tar.gz
$ wget http://mirror.navercorp.com/apache/apr/apr-util-1.6.1.tar.gz
$ wget https://sourceforge.net/projects/pcre/files/pcre/8.43/pcre-8.43.tar.gz
$ wget https://archive.apache.org/dist/httpd/httpd-2.4.18.tar.gz

3. tar xvfz + 파일명으로 압축을 해제한다.

$ tar xvfz apr-1.7.0.tar.gz
$ tar xvfz apr-util-1.6.1.tar.gz
$ tar xvfz pcre-8.43.tar.gz
$ tar xvfz httpd-2.4.18.tar.gz

4. 파일 위치 옮기기

여기서 비극의 서막이 시작되었다.. 나는.. 리눅스에서 mv의 폴더명 뒤의 /가 하나 붙느냐 안붙느냐의 의미 차이가 그렇게 큰 줄 몰랐다.. 이쯤에서 먼저 정리하고 들어간다.

😢 리눅스 mv 명령어 정리

  • mv file1 file2
    → file1 파일을 file2 파일로 "이름 변경"
  • mv file1 dir1/
    → file1 파일을 dir1 디렉토리로 "이동"
  • mv dir1/ dir2/
    → dir1 디렉토리를 dir2 디렉토리로 "이름 변경"

이때 folder 아래에 a와 b 디렉토리가 있다면
mv a b/
를 하면 folder/b/a 로 되는것이고 (b 디렉토리가 없다면 오류가 뜬다..)
a만 존재할때
mv a/ b/
를 하면 folder/b가 되는 것이다..

그런데 나는.. 이 중요한 것을 모르고 /를 무심코 빼버렸고 계속 오류가 뜨길래 쿨하게 만들어서 넣어버렸다. 이게 아닌데..

이렇게 하면 안된다

이렇게 하면 안된다...

이렇게되면 apr폴더 안에 apr-1.7.0폴더가 들어가게 되는 것인데 이럼 나중에 문제가 생긴다.

하튼 나는 이걸 하나하나 다 옮겼으나 (나중에 httpd폴더도 밖으로 꺼냈..)다들 이렇게 할 필요가 없고 루트에서 다음 명령어만 잘 입력하면 된다.

$ mv apr-1.7.0/ httpd-2.4.18/srclib/apr
$ mv apr-util-1.6.1/ httpd-2.4.18/srclib/apr-util
$ mv pcre-8.43 /usr/local/src

이렇게 깔끔하게 입력해주면 된다 ^^..

5.pcre 설치

$ cd usr/local/src/pcre-8.43
$ ./configure

😢 no acceptable C compiler found in $PATH 오류 해결

" no acceptable C compiler found in $PATH " 컴파일 오류가 뜬다면?

$ sudo apt-get install g++

을 입력해 g++를 설치해주면 된다.

😢 make 명령이 없습니다. 해결

다음으로는 make 명령을 해줄 것이다. 그런데 만약 make 명령이 없습니다. 라는 명령이 뜬다면

$ sudo apt-get install make

로 다운로드 해주면 된다.

해결이 된 후..

$ ./configure
$ sudo make
$ sudo make install

해서 무사히 설치해주면 된다.

6.아파치 컴파일 및 설치

열심히 cd를 이용해 폴더를 옮겨다니며
httpd-2.4.18 폴더로 간다.

그 후

$ sudo ./configure --prefix=/usr/local/src/apache --with-included-apr --with-included-apr-util --with-included-pcre
$ sudo make && sudo make install

😢 " fatal error: expat.h : 그런 파일이나 디렉터리가 없습니다 " 오류 해결

" fatal error: expat.h : 그런 파일이나 디렉터리가 없습니다 " 오류가 떴다면 당황하지말고 아까 처음에 필수 요소 설치때 못한 설치인거니 설치하면 된다.

$ sudo apt install libexpat1-dev

😢 명확한 오류가 안뜨는 make 오류 해결 ( make clean 으로 해결!)

오류 메세지가 명확하지 않아 make clean으로 컴파일 파일을 지운 후 다시 make. -> 해결되었다

7.아파치 실행

다시 cd ..로 루트로 빠져나온 후

$ sudo /sbin/ldconfig
$ sudo /usr/local/src/apache/bin/apachectl start

성공!

8.단축 설정

참고한 블로그에서 실행환경 설정을

$ cp /usr/local/apache2/bin/apachetl /etc/init.d/httpd

로 하면 service httpd start와 service httpd stop으로 껐다 켤 수 있다고 했으나.. 나는 안됨.. 이 문제를 해결하기 위해

😢 " httpd.service could not be found " 오류 해결

" httpd.service could not be found " 오류 같은 경우에는 검색해보니 아주 많은.. 해결방법이 있었다. 상위 검색 결과는 나의 케이스가 아닌 것 같고.. 그냥 직관적으로 could not be found니까 그냥 내가 만들자 ^^ 생각으로 명령어를 만들어주었다.

이때 아래 링크를 참고하였다
httpd.service

/etc/systemd/system/ 폴더에 들어간 후

$ vim httpd.service

(만약 vim 명령어가 없다하면 apt-get install vim으로 다운받아주자)
로 vim 편집기를 열어준 다음


요렇게.. 입력을 해준 후 ESC를 누르고 :wq 를 누른 후

$ systemctl enable httpd.service

를 해준다. 잘 됐다면 앞으로 service httpd start, service httpd stop으로 껐다 켰다 할 수 있다.

MySQL 설치

server) ubuntu 18.04 APM 소스 설치 Mysql설치하기
MySQL 에러

위의 두 링크를 참고하였다.

딱히 큰 어려움은 없었어서 아파치처럼 세세히 하지 않을것이다.. 이 링크에서 내가 아파치를 폴더 뻘짓을 하느라 이상해진 위치 정보들만 조금씩 수정해주면서 설치하였다. 위의 링크에서 많이 참고했어서 내가 맞이한 오류 몇개만 올리겠다.

😢 cmake 컴파일 오류 근데 make clean은 쓰지 말란다?!


캡쳐를 못했는데 컴파일 오류에서 자세히 보면 make clean은 하지 말라는 안내 대신에 -DFORCE_INSOURCE_BUILD=1 을 추가하라고 되어있다. 이걸 추가하고 나니 잘 된다.

😢 make test 에서 failed

... 그냥 무시하고 make install 했는데 잘 됐다.

😢 mysql 임시 비밀번호 오류


나같은 짓을 한 사람이 또 있을까 싶은데.. 자꾸 mysql 비밀번호가 아니라고 뜬다 머리를 부여잡고 구글링을 해봤으나 잘 나오지 않았는데.. 웬걸.. 내가 저기 비밀번호에서 마지막 " , " 이.. 이 문자 하나를 입력하지 않아서 생긴 문제였다. 말도안돼.. 아니. 마지막에 저 문자가 껴있으니.. 당연히 그냥 문장부호라고 생각했지 저것까지 비밀번호라고는 생각하지 못할 것이다.. 하여튼 mysql 임시 비밀번호를 바꾸기도 전에 오류가 난다면 캡쳐해놓은 임시 비밀번호를 끝까지 잘 입력하시길 ^^...

성공!

$ /usr/local/mysql/bin/mysqld_safe —user=mysql &
$ /usr/local/mysql/bin/mysql -u root -p

mySQL 설치 성공!

PHP 설치

server) ubuntu 18.04 APM 소스 설치 ➡PHP 설치하기

위 링크를 몇몇 경로만 나에게 맞는 걸로 수정하고 거의 그대로 따라하였다. 오류가 없었다..! 이 블로그를 잘 따라하시면 될 것 같다.

성공!


php 명령이 잘 동작하는 것을 확인 할 수 있다.

APM 설치 완료!

profile
내 것으로 만드는 개발자. @SMU

1개의 댓글

comment-user-thumbnail
2022년 8월 31일

멋져요

답글 달기