아주 기본적인 내용일 수도 있으나, Mac이나 Linux에 익숙하지 않은 개발자들에게 도움이 될 만한 내용을 공유한다.
현상
Mac에서 톰캣을 띄우려고 하는데, permission denied (권한 없음) 이 발생한다.
해결 방법
실행 권한이 없어 발생하는 문제.
tomcat 설치 경로에서 chmod 755 bin 을 통해 bin 경로에 실행 권한을 부여한다.
검증 방법
실행권한(X)이 없음을 알 수 있다.
맨 앞의 D는 디렉토리(폴더)라는 뜻, D가 없이 – 로 되어있으면 파일이다.
가장 간단하게 실행권한을 부여하는 방식은 chmod u+x startup.sh (소유자에게 실행 권한을 부여한다)
또는 뭐 많이들 사용하는대로 chmod 755 startup.sh 로 해도 된다.
$ chmod 755 <파일명> # -rwxrwxrwx
$ chmod 755 <폴더명> # drwxr-xr-x
웬만하면 실행 권한의 변경은 최소화하고싶으므로 chmod u+x startup.sh 으로 진행했다.
다시 하면? 안된다.
startup.sh를 vi로 까보면 내부적으로 startup.sh → catalina.sh를 호출하게 되어있으므로 그냥 해당 디렉토리의 모든 파일들에 권한을 주는게 편한다.
그럼 한 단계 밖으로 나가서 폴더 전체(하위 모두) 에 권한을 줄 수 있는 chmod -R bin 을 하도록 하자.
다시 해보면? 잘 되는 걸 알 수 있다.
smjung@jeongseongmin-ui-MacBookPro bin % ./startup.sh
Using CATALINA_BASE: /Users/smjung/engn001/apache-tomcat-10.1.28
Using CATALINA_HOME: /Users/smjung/engn001/apache-tomcat-10.1.28
Using CATALINA_TMPDIR: /Users/smjung/engn001/apache-tomcat-10.1.28/temp
Using JRE_HOME: /Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home
Using CLASSPATH: /Users/smjung/engn001/apache-tomcat-10.1.28/bin/bootstrap.jar:/Users/smjung/engn001/apache-tomcat-10.1.28/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.
접속테스트도 되는지 확인.
기본 포트인 8080으로 잘 되는 걸 확인할 수 있다.