게시판장기로 이해하는 규칙 엔진과 평가 함수 탐색예제 소스

예제 소스

장기로 이해하는 규칙 엔진과 평가 함수 탐색 · 파일 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 확인)"