예제 소스
장기로 이해하는 규칙 엔진과 평가 함수 탐색 · 파일 59개
idc_install_janggy_nginx.sh
#!/usr/bin/env bash
# IDC에서 실행: janggy.mariago.kr nginx
#
# chmod +x ~/idc_install_janggy_nginx.sh
# sudo ~/idc_install_janggy_nginx.sh
#
# DNS: janggy.mariago.kr → ********
set -euo pipefail
REAL_HOME="${SUDO_USER:+$(getent passwd "$SUDO_USER" | cut -d: -f6)}"
REAL_HOME="${REAL_HOME:-$HOME}"
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
CONF_AVAIL=/etc/nginx/sites-available/janggy.mariago.kr.conf
CONF_EN=/etc/nginx/sites-enabled/janggy.mariago.kr.conf
if [[ "$(id -u)" -ne 0 ]]; then
echo "sudo 로 실행해 주세요: sudo $0" >&2
exit 1
fi
CONF_SRC=""
if [[ "${1:-}" != "" && -f "$1" ]]; then
CONF_SRC="$1"
else
for c in \
"$REAL_HOME/janggy.mariago.kr.conf" \
"$SCRIPT_DIR/janggy.mariago.kr.conf" \
"$REAL_HOME/deploy/janggy.mariago.kr.conf"
do
if [[ -f "$c" ]]; then
CONF_SRC="$c"
break
fi
done
fi
if [[ -z "$CONF_SRC" || ! -f "$CONF_SRC" ]]; then
echo "설정 파일 없음. (Mac) scp .../janggy.mariago.kr.conf ethtrade:~/" >&2
exit 1
fi
echo "사용 conf: $CONF_SRC"
cp -a "$CONF_SRC" "$CONF_AVAIL"
ln -sfn "$CONF_AVAIL" "$CONF_EN"
if [[ ! -f /etc/letsencrypt/live/janggy.mariago.kr/fullchain.pem ]]; then
if [[ -f /etc/letsencrypt/live/go.mariago.kr/fullchain.pem ]]; then
sed -i 's|/etc/letsencrypt/live/janggy.mariago.kr/|/etc/letsencrypt/live/go.mariago.kr/|g' "$CONF_AVAIL"
echo "임시 SSL: go.mariago.kr 인증서 사용 (이름 불일치 경고 가능)"
elif [[ -f /etc/letsencrypt/live/viruswar.mariago.kr/fullchain.pem ]]; then
sed -i 's|/etc/letsencrypt/live/janggy.mariago.kr/|/etc/letsencrypt/live/viruswar.mariago.kr/|g' "$CONF_AVAIL"
echo "임시 SSL: viruswar.mariago.kr 인증서 사용"
else
echo "경고: Let's Encrypt 인증서가 없습니다. certbot 발급이 필요합니다." >&2
fi
else
sed -i 's|/etc/letsencrypt/live/go.mariago.kr/|/etc/letsencrypt/live/janggy.mariago.kr/|g' "$CONF_AVAIL" || true
fi
if [[ ! -f /etc/letsencrypt/ssl-dhparams.pem ]]; then
sed -i '/ssl_dhparam/d' "$CONF_AVAIL" || true
fi
sed -i 's/listen 443 ssl http2;/listen 443 ssl;/' "$CONF_AVAIL" || true
nginx -t
systemctl reload nginx
echo "nginx 등록: janggy.mariago.kr → 127.0.0.1:18088"
echo ""
echo "인증서:"
echo " sudo certbot --nginx -d janggy.mariago.kr"
echo ""
curl -sS -o /dev/null -w "local18088=%{http_code}\n" http://127.0.0.1:18088/ \
|| echo "local18088=DOWN (집 Mac 터널·Next :3007 확인)"