😢 대부분 참고 링크를 기준으로 따라해보았습니다. 이 게시글은 소스 설치 순서를 제공하는 글이 아닌, 오류 해결 용으로 봐주시길 바랍니다!
$ sudo su
비밀번호 입력
$ apt update
해서 업데이트
막무가내 APM, 우분투 16.04 아파치 소스설치
링크를 참고하여
따라함. (링크를 꼭 들어가보길 바람)
그러나 필수 요소 설치 부분부터 오류가 뜸. 그때 그때 오류가 뜰때마다 해결하기로 결정하고 일단 넘어감.
(이때 난 나의 위치를 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
$ 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
여기서 비극의 서막이 시작되었다.. 나는.. 리눅스에서 mv의 폴더명 뒤의 /가 하나 붙느냐 안붙느냐의 의미 차이가 그렇게 큰 줄 몰랐다.. 이쯤에서 먼저 정리하고 들어간다.
이때 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
이렇게 깔끔하게 입력해주면 된다 ^^..
$ cd usr/local/src/pcre-8.43
$ ./configure
" no acceptable C compiler found in $PATH " 컴파일 오류가 뜬다면?
$ sudo apt-get install g++
을 입력해 g++를 설치해주면 된다.
다음으로는 make 명령을 해줄 것이다. 그런데 만약 make 명령이 없습니다. 라는 명령이 뜬다면
$ sudo apt-get install make
로 다운로드 해주면 된다.
해결이 된 후..
$ ./configure
$ sudo make
$ sudo make install
해서 무사히 설치해주면 된다.
열심히 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 : 그런 파일이나 디렉터리가 없습니다 " 오류가 떴다면 당황하지말고 아까 처음에 필수 요소 설치때 못한 설치인거니 설치하면 된다.
$ sudo apt install libexpat1-dev
오류 메세지가 명확하지 않아 make clean으로 컴파일 파일을 지운 후 다시 make. -> 해결되었다
다시 cd ..로 루트로 빠져나온 후
$ sudo /sbin/ldconfig
$ sudo /usr/local/src/apache/bin/apachectl start
참고한 블로그에서 실행환경 설정을
$ cp /usr/local/apache2/bin/apachetl /etc/init.d/httpd
로 하면 service httpd start와 service httpd stop으로 껐다 켤 수 있다고 했으나.. 나는 안됨.. 이 문제를 해결하기 위해
" 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으로 껐다 켰다 할 수 있다.
server) ubuntu 18.04 APM 소스 설치 Mysql설치하기
MySQL 에러
위의 두 링크를 참고하였다.
딱히 큰 어려움은 없었어서 아파치처럼 세세히 하지 않을것이다.. 이 링크에서 내가 아파치를 폴더 뻘짓을 하느라 이상해진 위치 정보들만 조금씩 수정해주면서 설치하였다. 위의 링크에서 많이 참고했어서 내가 맞이한 오류 몇개만 올리겠다.
캡쳐를 못했는데 컴파일 오류에서 자세히 보면 make clean은 하지 말라는 안내 대신에 -DFORCE_INSOURCE_BUILD=1 을 추가하라고 되어있다. 이걸 추가하고 나니 잘 된다.
... 그냥 무시하고 make install 했는데 잘 됐다.
나같은 짓을 한 사람이 또 있을까 싶은데.. 자꾸 mysql 비밀번호가 아니라고 뜬다 머리를 부여잡고 구글링을 해봤으나 잘 나오지 않았는데.. 웬걸.. 내가 저기 비밀번호에서 마지막 " , " 이.. 이 문자 하나를 입력하지 않아서 생긴 문제였다. 말도안돼.. 아니. 마지막에 저 문자가 껴있으니.. 당연히 그냥 문장부호라고 생각했지 저것까지 비밀번호라고는 생각하지 못할 것이다.. 하여튼 mysql 임시 비밀번호를 바꾸기도 전에 오류가 난다면 캡쳐해놓은 임시 비밀번호를 끝까지 잘 입력하시길 ^^...
$ /usr/local/mysql/bin/mysqld_safe —user=mysql &
$ /usr/local/mysql/bin/mysql -u root -p
mySQL 설치 성공!
server) ubuntu 18.04 APM 소스 설치 ➡PHP 설치하기
위 링크를 몇몇 경로만 나에게 맞는 걸로 수정하고 거의 그대로 따라하였다. 오류가 없었다..! 이 블로그를 잘 따라하시면 될 것 같다.
php 명령이 잘 동작하는 것을 확인 할 수 있다.
멋져요