}

프로필

팔로우 해주시면 포스트할 때 큰 힘이 됩니다!!! 사실 저도 이 팔로우가 무슨 기능이 있는지는 모르겠습니다만, 팔로우 수가 늘면 '날 응원해주는 사람들이 있구나' 생각이 들어서 큰 힘이 됩니다.

2021년 10월 29일 금요일

아파치 오류 해결법들

 안녕하세오 마무입니다. 이 포스트를 "아파치 오류 해결법"들을 정리한 포스트입니다.

앞으로 아파치에서 발생하는 오류가 있고, 해결할 때마다 계속 추가하려고 합니다.


-----목차-----

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'

이렇게 또 다른 오류가 뜨는 경우가 있습니다.

구글링을 최대한 해보았지만, 이 경우엔 'pcre2'를 사용해서 일어나는 오류라며 그냥 pcre1을 사용하라 하네요 ;;

아직도 이런 해결안된 오류가 있다니... 어쩔 수 없이 pcre1을 다운 받아서 다시 사용 해줍니다.



2. 아파치 실행 오류


i) 아파치 서버 시작 오류 



아파치를 설치후 이렇게 시작하려고 할 때, "could not reliably determine the server's fully qualified domain name, suing localhost.localdomian." 이라고 localhost.localdomain이라는 것을 사용해서는 확실하게 도메인 네임을 정할 수 없다고 뜹니다.

이런 경우 "httpd.conf"를 열어서




이렇게 "ServerName" 옆에 현재 컴퓨터의 IP를 적거나, 127.0.0.1를 적어주시면 아파치 데몬이 실행됩니다.


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 저의 포스트에도 틀린 정보가 있을 수도 있습니다. 그럴 경우 친절한 말투로 근거와 함께 댓글로 달아주시면 정말 감사하겠습니다!