NAS에 optware를 설치하고, 추가로 optware에서 제공하는 apache를 설치할 경우 NAS의 리부팅/종료가 정상적으로 작동하지 않습니다.
이는, console로 top 명령을 통해 종료할 때 프로세스 동작을 보면 추측이 가능한데,
원인은, apache 프로세스인 /opt/sbin/httpd 가 정상 종료되지 않아서 그런 것입니다.
심지어, apache가 실행 중이 아닌데도, 종료 처리 중, 실행 되는 경우가 있습니다.
optware에서 제공하는 프로그램 중 자동으로 실행되어야 하는 application을 설치할 경우,
/opt/etc/init.d/
경로에 자동으로 처리해야 하는 스크립트들이 존재합니다.
apache의 경우 시스템 기동 또는 종료시 이 apache를 자동으로 처리하기 위해,
/opt/etc/init.d/S80apache
스크립트를 실행하게 됩니다.
저 스크립트 안에,
/opt/sbin/httpd -k restart
명령 구문이 수행되다 보니 종료할 경우에도 restart 되어버려, NAS가 정상 종료를 못하게 됩니다.
이를 해결하기 위해,
해당 스크립트는
/opt/etc/init.d/bS80apache
처럼 이름을 바꾸어 자동으로 실행되지 않도록 하고,
synology NAS에서 자동 실행 관리하는 경로에서 처리하도록 스크립트를 작성해 줍니다.
1. vi /usr/syno/etc.default/rc.d/S94apache2.sh ; 파일 생성
2. 내용
#!/bin/sh
# Copyright (c) 2000-2008 Synology Inc. All rights reserved.
SynoStop=/usr/bin/killall
STARTAPACHE2=”/opt/sbin/apachectl”
case $1 in
start)
if [ -f “$STARTAPACHE2” ]; then
echo “Starting Apache2…”
$STARTAPACHE2 start
else
echo “The command NOT exist; $STARTAPACHE2”
exit 0;
fi
;;
stop)
$STARTAPACHE2 stop
/volume1/nas/killpids.sh “/opt/sbin/httpd”
echo “Apache2 stopped.”
;;
restart)
$0 stop
sleep 3
$0 start
;;
*)
echo “Usages: $0 [start|stop|restart]”
;;
esac
3. 시스템 재기동
안녕하세요.
SVN자료를 웹에서도 다운받을수 있도록 선물님의 강좌대로 설정을 했습니다.
http 로 접근하는것만 사용할려고 일부 내용은 빼묵고 적용했는데요.
역시 시스템을 리부팅할라고 하면 그대로 얼어버린다고 해야하나? 이 글대로 멈추더군요.
그래서 다시 시도했는데 문제는 리부팅은 정상으로 되요..
근뎁 svn자료로 접근할라고 하면 안되더군요. 그래서 터미널로 접속해서
리스타트? 를 시키면 svn자료를 웹에서도 볼수가 있는데 그런식으로 처리하면
리부팅시 다시 멈춤현상이 생기더라구요.
리스타트를 안하면 리부팅은 정상으로 되지만 svn자료로의 접근은 안되구요.
혹시나 해서 글남기는건데요
본문중에 /volume1/nas/killpids.sh “/opt/sbin/httpd”
요것이 맘에 걸려서요 ^^;;
리눅스는 명령어도 네이버에서 검색해서 치는 초보라 틀린점이 있더라고
너그럽게 봐주시면 감사하겠습니다. ^^a
Ps. 좀 창피해서 비밀글로 올립니다.
글이 두서없고 초보티 너무 나는거 같아서요 ㅎ
제가 뭘 모르고 질문을 올리는거라 잘못된점이 있을까봐 나름 주석을 달아봅니다.
리스타트 = apachectl restart 또는 start
(리스타트를 실행하면 httpd가 어쩌구 하는 에러를 본 기억이 있습니다.)
리부팅 = reboot