안녕하세오 마무입니다. 이 포스트를 "아파치 오류 해결법"들을 정리한 포스트입니다.
앞으로 아파치에서 발생하는 오류가 있고, 해결할 때마다 계속 추가하려고 합니다.
-----목차-----
1. 아파치 설치 오류
i) 아파치 설치에 필요한 프로그램들
ii) 아파치와 pcre 연동 오류
2. 아파치 실행 오류
i) 아파치 시작 오류
ii) 아파치 extra 내 설정파일들 에러
iii) httpd: Syntax error on line 165 of /usr/local/apache/conf/httpd.conf: Cannot load modules/libphp7.so into server: /usr/local/apache/modules/libphp7.so: undefined symbol: sqlite3_column_table_name
--------------
1. 아파치 설치 오류
i) 아파치 설치에 필요한 프로그램들
아파치 설치에 있어서 필요한 프로그램들이 많습니다.
그러니
이 포스트에 가셔서 필요한 프로그램들이 모두 잘 설치가 됐는지 확인 바랍니다.
i) 아파치와 pcre 연동 오류
아파치와 pcre 연동을 위한 configure 과정에서 만약
configure이 끝났을 때
위 사진처럼 "configure: error: Did not find pcre-config script at"이라고 뜨며 실패 할경우, 그대로 make를 진행하면 안됩니다.
위 말은 말 그대로 /usr/local/pcre에서 'pcre-config'란 스크립트를 못 찾았다는 뜻입니다만, 이런 경우는 보통 'pcre-script'스크립트 파일이 없거나, 권한이 없거나, 이름이 다른경우입니다.
이럴 땐 한번더 configure에서 "--with-pcre=/usr/local/pcre" 대신 더 정확하게 pcre의 'pcre-config'파일의 절대 위치를 적어주면 됩니다
다시 말해서 설치한 '/usr/local/pcre'내부를 들어가시면
이렇게 'bin'이란 디렉토리가 있고, 설치한 pcre버전에 따라 'pcre-config' 또는 'pcre2-config'가 있습니다. 이 절대 위치를 적어주면 된다는 것이죠.
저같은 경우 pcre2-config이기 때문에 당연히 pcre-config 이름과 달라서 인식을 못 한것이므로, "--with-pcre=/usr/local/pcre" 대신 "--with-pcre=/usr/local/pcre/bin/pcre2-config"이렇게 옵션을 적어서 실행해주시면
이렇게 잘 되실겁니다
그 다음 'make'를 해줍니다만...
'make'가 끝나고 갑자기
"util_pcre.c:58:18: fatal error: pcre.h: No such file or directory"이런 심각한 에러가 발생했다고 뜰 수도 있습니다.
이런 경우
"yum install pcre-devel"이라는 명령어를 통해 pcre-devel 패키지를 다운받은 다음
"httpd'디렉토리에서 "make distclean"이라 친 다음
다시 "./configure --prefix=/usr/local/apache --enable-so --enable-mods-shared=all --with-included-apr --with-pcre=/usr/local/pcre/bin/pcre2-config"
를 하고 "make"를 해주시면 됩니다만...
만약 이렇게 해도 안되고,
/usr/local/src/httpd-2.4.51/server/util_pcre.c:258: undefined reference to `pcre_exec'
server/.libs/libmain.a(util_pcre.o): In function `ap_regname':
/usr/local/src/httpd-2.4.51/server/util_pcre.c:320: undefined reference to `pcre_fullinfo'
/usr/local/src/httpd-2.4.51/server/util_pcre.c:322: undefined reference to `pcre_fullinfo'
/usr/local/src/httpd-2.4.51/server/util_pcre.c:324: undefined reference to `pcre_fullinfo'
2. 아파치 실행 오류
i) 아파치 서버 시작 오류
아파치를 설치후 이렇게 시작하려고 할 때, "could not reliably determine the server's fully qualified domain name, suing localhost.localdomian." 이라고 localhost.localdomain이라는 것을 사용해서는 확실하게 도메인 네임을 정할 수 없다고 뜹니다.
이런 경우 "httpd.conf"를 열어서
ii) 아파치 extra 내 설정파일들 에러
"Invalid command 'UserDir', perhaps misspelled or defined by a module not included in the server configuration"
이 뜰 때는
'/conf/extra/httpd-userdir.conf'를 열었을 때
나오는 맨 위
필요한 모듈이라고 뜨는 곳에 써 있는 이름, 이 3가지 모듈이 기본 설정 파일인 'httpd.conf'의 "LoadModule"에 모두 있는지 확인후, 만약 주석이 있다면 주석을 제거해주면 됩니다.
iii) httpd: Syntax error on line 165 of /usr/local/apache/conf/httpd.conf: Cannot load modules/libphp7.so into server: /usr/local/apache/modules/libphp7.so: undefined symbol: sqlite3_column_table_name
아파치를 평소와 같이 실행하는데 갑자기 sqlite3_column_table_name 이런 에러가 뜰 수 있습니다. 이런 경우 저는 소스코드인 sqlite3 디렉토리 내부로 이동하신 다음
./configure CFLAGS="-DSQLITE_ENABLE_COLUMN_METADATA=1" 라는 옵션을 주고 다시
-> make -> make install로 설치하시면 됩니다.
만약
make 과정에서
make: Nothing to be done for `all'.
이렇게 뜨신다면
make clean 이후 다시 ./configure CFLAGS="-DSQLITE_ENABLE_COLUMN_METADATA=1" -> -> make -> make install 를 하시면 됩니다.
댓글 없음:
댓글 쓰기
#1 여러분들이 소중한 시간을 투자해 달아주시는 따뜻한 댓글들은 저에게 정말 큰 힘이 됩니다!
#2 저의 각 포스트들은 엄청난 노력과 시간 투자를 통해 만들어진 포스트들로, 무단 복제나 모방하는 것을 금지합니다.
#3 저의 포스트에도 틀린 정보가 있을 수도 있습니다. 그럴 경우 친절한 말투로 근거와 함께 댓글로 달아주시면 정말 감사하겠습니다!