diff --git a/README.md b/README.md
index f025530..38ed961 100644
--- a/README.md
+++ b/README.md
@@ -17,7 +17,7 @@ Docker가 설치되지 않았다면 다음을 통해 설치합니다.
* Windows 7, Windows 10 Home - https://github.com/docker/toolbox/releases 를 통해 Docker Toolbox를 설치합니다. https://docs.docker.com/toolbox/toolbox_install_windows/ 에 설치 안내가 있습니다.
-세가지 모두 docker run hello-world 와 docker-compose --version 명령이 동작하면 설치가 완료된 것입니다.
+세가지 모두 `docker run hello-world` 와 `docker-compose --version` 명령이 동작하면 설치가 완료된 것입니다.
## 설치
@@ -29,13 +29,14 @@ https://storage.hided.net/gogs/devsam/docker/archive/master.zip 링크를 통해
기본적으로 수정이 필요한 항목은 다음과 같습니다.
- - hidche/account.env : 계정정보 설정, 공란으로 남겨진 공간을 적절하게 채웁니다.
+ - `hidche/account.env` : 계정정보 설정, 공란으로 남겨진 공간을 적절하게 채웁니다.
- Password에 해당하는 항목들은 가급적 어렵게 지어주십시오.
- - HIDCHE_KAKAO_REST_KEY, HIDCHE_KAKAO_ADMIN_KEY는 [KakaoTalk REST API](https://developers.kakao.com/docs/restapi/kakaotalk-api)를 통해 발급 받을 수 있습니다. 동의 항목으로는 카카오계정(이메일), 카카오톡 메시지 전송이 필요합니다.
- - hidche/game.env : 게임 설치 정보 설정 공간입니다. 값 하나를 변경해야 합니다.
- - HIDCHE_GAME_PATH : 외부 유저가 접속할 수 있는 경로입니다. 공인 IP 주소나 도메인 주소를 사용한 주소로 꼭 변경해야합니다. 변경하지 않을 경우 설치는 되지만, 외부 유저가 이용할 수 없습니다. 명확한 이유가 있는게 아니라면 /sam 까지 붙여주십시오.
+ - 특히 `HIDCHE_PW_SALT`는 자동 설치 시 1회만 사용되므로 최대한 길고 어렵게 지어주십시오.
+ - `HIDCHE_KAKAO_REST_KEY`, `HIDCHE_KAKAO_ADMIN_KEY`는 [KakaoTalk REST API](https://developers.kakao.com/docs/restapi/kakaotalk-api)를 통해 발급 받을 수 있습니다. 동의 항목으로는 카카오계정(이메일), 카카오톡 메시지 전송이 필요합니다.
+ - `hidche/game.env` : 게임 설치 정보 설정 공간입니다. 값 하나를 변경해야 합니다.
+ - `HIDCHE_GAME_PATH` : 외부 유저가 접속할 수 있는 경로입니다. 공인 IP 주소나 도메인 주소를 사용한 주소로 꼭 변경해야합니다. 변경하지 않을 경우 설치는 되지만, 외부 유저가 이용할 수 없습니다. 명확한 이유가 있는게 아니라면 `/sam` 까지 붙여주십시오.
- 이 주소를 이용하여 카카오 API의 로그인 Redirect URI를 설정해야 합니다. 주소가 https://sam.hided.net/sam 인 경우 https://sam.hided.net/sam/oauth_kakao/oauth.php 으로 입력합니다.
- - 포트 주소는 8080으로 지정되어있으며, 다른 포트로 바꾸고자 한다면 hidche/docker-compose.yml와 동일하게 유지해야 합니다.
+ - 포트 주소는 8080으로 지정되어있으며, 다른 포트로 바꾸고자 한다면 `hidche/docker-compose.yml`와 동일하게 유지해야 합니다.
>Windows 환경에서 적절한 텍스트 에디터를 찾지 못하였다면 메모장에 해당 파일들을 드래그하여 수정하거나, [Notepad++](https://notepad-plus-plus.org/download/v7.7.1.html)를 설치하여 수정하는 방법도 가능합니다.
@@ -43,11 +44,11 @@ https://storage.hided.net/gogs/devsam/docker/archive/master.zip 링크를 통해
고급 설정이 필요하다면 다음을 수정합니다.
- - hidche/docker-compose.yml : 설치 옵션입니다.
- - web/ports: 8080 포트 대신 다른 포트를 선택하고자 할 경우 수정합니다. hidche/game.env의 내용도 변경해야합니다.
- - hidche/game.env
- - gameGitPath, imgGitPath: 개발을 위해 다른 git repository를 사용해야한다면 수정합니다. ssh 주소인 경우 hidche/app/id_ecdsa와 hidche/app/known_hosts 또한 수정해야 합니다.
- - HIDCHE_IMAGE_USE_INTERNAL, HIDCHE_IMAGE_PATH는 CDN 등 외부 이미지 경로를 사용할 경우 수정합니다.
+ - `hidche/docker-compose.yml` : 설치 옵션입니다.
+ - `web/ports`: 8080 포트 대신 다른 포트를 선택하고자 할 경우 수정합니다. `hidche/game.env`의 내용도 변경해야합니다.
+ - `hidche/game.env`
+ - `gameGitPath`, `imgGitPath`: 개발을 위해 다른 git repository를 사용해야한다면 수정합니다. ssh 주소인 경우 `hidche/app/id_ecdsa`와 `hidche/app/known_hosts` 또한 수정해야 합니다.
+ - `HIDCHE_IMAGE_USE_INTERNAL`, `HIDCHE_IMAGE_PATH`는 CDN 등 외부 이미지 경로를 사용할 경우 수정합니다.
- 기타 적절한 용도에 맞게 수정하여 사용합니다.
### Docker-compose 실행
@@ -58,6 +59,6 @@ https://storage.hided.net/gogs/devsam/docker/archive/master.zip 링크를 통해
docker-compose up -d
```
-총 5개의 컨테이너 hidche_app_1, hidche_db_1, hidche_web_1, hidche_cron_1, hidche_install_1가 실행되며, hidche_install_1는 설치후 종료됩니다.
+총 5개의 컨테이너 `hidche_app_1`, `hidche_db_1`, `hidche_web_1`, `hidche_cron_1`, `hidche_install_1`가 실행되며, `hidche_install_1`는 설치후 종료됩니다.
설치 후, 게임을 이용할 수 있습니다.
\ No newline at end of file
diff --git a/hidche/account.env b/hidche/account.env
index 0831971..45def9c 100644
--- a/hidche/account.env
+++ b/hidche/account.env
@@ -3,6 +3,7 @@
MYSQL_ROOT_PASSWORD=
MYSQL_USER=hidche
MYSQL_PASSWORD=
+HIDCHE_PW_SALT=
HIDCHE_DB_PREFIX=hidche
diff --git a/hidche/db/entrypoint_hidche_db.sh b/hidche/db/entrypoint_hidche_db.sh
index eebd19d..d786502 100755
--- a/hidche/db/entrypoint_hidche_db.sh
+++ b/hidche/db/entrypoint_hidche_db.sh
@@ -187,7 +187,7 @@ if [ "$1" = 'mysqld' -a -z "$wantHelp" ]; then
if [ "$HIDCHE_DB_PREFIX" ]; then
for dbName in "${hidcheDBList[@]}"; do
fullDBName="${HIDCHE_DB_PREFIX}_${dbName}"
- subPW=`echo -n ${dbName}${MYSQL_USER}${MYSQL_PASSWORD}${dbName} | shasum -a 512`
+ subPW=`echo -n ${dbName}${HIDCHE_PW_SALT}${MYSQL_USER}${MYSQL_PASSWORD}${dbName}${HIDCHE_PW_SALT} | shasum -a 512`
subPW=${subPW:0:32}
echo "CREATE USER '$fullDBName'@'%' IDENTIFIED BY '$subPW' ;" | "${mysql[@]}"
echo "GRANT ALL ON \`$fullDBName\`.* TO '$MYSQL_USER'@'%' ;" | "${mysql[@]}"
diff --git a/hidche/install/install_hidche.py b/hidche/install/install_hidche.py
index dc6f258..4a2fc3e 100755
--- a/hidche/install/install_hidche.py
+++ b/hidche/install/install_hidche.py
@@ -57,7 +57,7 @@ while True:
session = requests.session()
-db_root_pw = hash_password('root', env['MYSQL_USER']+env['MYSQL_PASSWORD'])[:32]
+db_root_pw = hash_password('root'+env['HIDCHE_PW_SALT'], env['MYSQL_USER']+env['MYSQL_PASSWORD'])[:32]
db_root_name = '%s_root'%env['HIDCHE_DB_PREFIX']
setupDBResult = session.post('http://web/sam/f_install/j_setup_db.php', {
@@ -100,7 +100,7 @@ for serverName in serverList:
})
print(serverName, updateResult.text)
- db_pw = hash_password(serverName, env['MYSQL_USER']+env['MYSQL_PASSWORD'])[:32]
+ db_pw = hash_password(serverName+env['HIDCHE_PW_SALT'], env['MYSQL_USER']+env['MYSQL_PASSWORD'])[:32]
db_name = '%s_%s'%(env['HIDCHE_DB_PREFIX'], serverName)
resetResult = session.post('http://web/sam/%s/j_install_db.php'%serverName, {
'db_host':'db',