태그 글 보관함: 문제 해결

워드프레스 이미지를 자르는데 에러가 발생했습니다.

이미지 자르기 에러
이미지 자르기 에러

워드프레스에서 이미지 자르기에서 발생하는 에러의 문제 해결 방법.

에러 메시지는 아래와 같다.

PHP에서 이미지 관련 처리를 하는 php gd 라이브러리가 없어서 나오는 에러이다.
우분투 서버 14.04 LTS에서는 아래와 같은 커맨드로 php gd를 설치한다.

다시 이미지 자르기를 해 보면 잘 된다!

아파치-톰캣 mod_jk 연동시 에러 문제 해결

아파치와 톰캣을 mod_jk로 연동했을 때 나오는 에러 메시지를 없애는 방법.
톰캣 연동 자체에는 문제가 없기 때문에 고치지 않아도 되는 문제지만, mod_jk.log에 계속 에러가 뜨고 있어서 신경 쓰이기 때문에 찾아봤다.

원인은 jk-manager와 jk-status라는 mod_jk관리와 상태를 표시해주는 웹모듈이 활성화 되어있어서 그런듯한데 그런거 안쓰기 때문에 그냥 주석처리로 해결했다.

에러 메시지 내용

[error] extension_fix::jk_uri_worker_map.c (564): Could not find worker with name 'jk-manager' in uri map post processing.
[error] extension_fix::jk_uri_worker_map.c (564): Could not find worker with name 'jk-status' in uri map post processing.

/etc/apache2/mods-available/jk.conf 파일을 열어서 아래 부분을 찾아서 주석처리한다.

    <Location /jk-status>
        # Inside Location we can omit the URL in JkMount
        JkMount jk-status
        Order deny,allow
        Deny from all
        Allow from 127.0.0.1
    </Location>
    <Location /jk-manager>
        # Inside Location we can omit the URL in JkMount
        JkMount jk-manager
        Order deny,allow
        Deny from all
        Allow from 127.0.0.1
    </Location>

주석처리 후

#    <Location /jk-status>
#        # Inside Location we can omit the URL in JkMount
#        JkMount jk-status
#        Order deny,allow
#        Deny from all
#        Allow from 127.0.0.1
#    </Location>
#    <Location /jk-manager>
#        # Inside Location we can omit the URL in JkMount
#        JkMount jk-manager
#        Order deny,allow
#        Deny from all
#        Allow from 127.0.0.1
#    </Location>

아파치 모듈이니까 아파치를 리로드하거나 재기동 해야지 적용될듯하다.

터미널 글자색 컬러가 나오게 하는 방법. 우분투 서버 14.04 LTS

root 계정은 ls 결과가 컬러로 잘 나오는데 개인 계정으로 들어갔을 때는 밋밋한 단색으로만 나와서 구글링 끝에 방법을 찾았다.

cp /etc/skel/.bashrc ~/.bashrc
. ~/.bashrc

첫줄은 .bashrc 파일을 현재 접속 중인 계정의 홈디렉토리에 복사하는 명령이고, 둘째줄은 로그아웃하지 않고 .bashrc 파일의 내용을 적용하는 명령이다.

이제 ls 명령으로 컬러풀한 터미널을 볼 수 있을 것이다.

톰캣을 웹서버로 사용시 jsp not found

2015년 8월 28일 추가

아래 내용은 우분투에서 디플로이 장소가 CATALINA_HOME 이 아닌 CATALINA_BASE 인 것을 몰라서 생긴 문제이다.
CATALINA_BASE 에 디플로이 했을 경우에는 문제가 생기지 않을 것이다.
CATALINA_HOME 과 CATALINA_BASE 에 대한 내용은 새로운 글 톰캣 CATALINA_HOME vs. CATALINA_BASE 에서 읽을 수 있다.

톰캣을 아파치 연동하지 않고 단독 웹서버로 사용하려다 생긴 삽질을 기록.

환경
Ubuntu Server 14.04 LTS
Tomcat 7.0
Spring MVC

아파치 + 톰캣 설정을 했을때는 별 문제가 없었던거 같은데 아파치 연동 설정이 귀찮아서 톰캣을 웹서버로 사용하려던 곳에서 모든 문제가 시작됐다.
우분투에 톰캣7을 설치하고 JSP 기동까지는 문제가 없었다.
이클립스로 Spring MVC의 샘플 프로젝트를 test.war로 익스포트 하고 톰캣 webapp 디렉토리에 올려서 디플로이.
브라우저로 localhost/test 접속해 보면 404 not found.

로그 내용

INFO : com.elmitash.test.HomeController - Welcome home! The client locale is ko.
WARN : org.springframework.web.servlet.PageNotFound - No mapping found for HTTP request with URI [/test/WEB-INF/views/home.jsp] in DispatcherServlet with name 'appServlet'

컨트롤러까지는 접속이 되는데 결과가 표시되는 뷰인 home.jsp를 찾지 못하는 문제가 발생했다.

결론적으로 문제는 톰캣의 CATALINA_HOME/conf 디렉토리에 web.xml이 기본적으로는 들어있지 않아서, jsp 요청에 대한 처리를 못하는 것에 있었다.

web.xml은 /etc/tomcat7 아래에 있고, 디폴트 CATALINA_HOME인 /usr/share/tomcat7/conf 에 넣어주고 톰캣을 재기동 해 주면 문제 해결.
스프링 컨텍스트 xml에서 defaultServletName을 설정하라는 답이 많이 있었는데, 설정을 해도 web.xml이 없으면 톰캣의 default 서블릿 설정이 읽혀지지 않아서 소용 없다.
web.xml이 있으면 스프링에서 처리 못한건 자동으로 톰캣에게 넘어가기 때문에 defaultServletName 설정은 필요 없다.
저 결론에 이르기까지 여러가지 삽질을 많이 했다.