Skip to content

Commit fba9a18

Browse files
committed
Science Commit 5.
1 parent 2f3f36e commit fba9a18

2 files changed

Lines changed: 44 additions & 24 deletions

File tree

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
6495
1+
7095

scripts/web/post-clone.sh

Lines changed: 43 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,47 @@ PROJECT_ROOT="$(dirname "$(dirname "$SCRIPT_DIR")")"
1010
echo "═══════════════════════════════════════════════════════════════"
1111
echo " NitroWebExpress™ — Post-Clone Setup (Linux)"
1212
echo "═══════════════════════════════════════════════════════════════"
13+
echo ""
14+
15+
# ── 0. Database Credentials ───────────────────────────────────────────────────
16+
# Prompt for MySQL password upfront so the rest of the install runs unattended.
17+
if [ -f "$PROJECT_ROOT/.nwe-credentials" ]; then
18+
source "$PROJECT_ROOT/.nwe-credentials"
19+
echo "[*] Loaded existing credentials from .nwe-credentials"
20+
echo " User: ${NWE_DB_USER:-root} Host: ${NWE_DB_HOST:-127.0.0.1}:${NWE_DB_PORT:-3306}"
21+
echo ""
22+
else
23+
echo "┌────────────────────────────────────────────────────────────────────"
24+
echo "│ MySQL Database Credentials"
25+
echo "│ These will be used for all module databases and JSP pages."
26+
echo "│ Saved to .nwe-credentials (chmod 600, gitignored)."
27+
echo "└────────────────────────────────────────────────────────────────────"
28+
echo ""
29+
read -rp " MySQL user [root]: " NWE_DB_USER
30+
NWE_DB_USER="${NWE_DB_USER:-root}"
31+
read -rsp " MySQL password: " NWE_DB_PASS
32+
echo ""
33+
read -rp " MySQL host [127.0.0.1]: " NWE_DB_HOST
34+
NWE_DB_HOST="${NWE_DB_HOST:-127.0.0.1}"
35+
read -rp " MySQL port [3306]: " NWE_DB_PORT
36+
NWE_DB_PORT="${NWE_DB_PORT:-3306}"
37+
echo ""
38+
39+
# Write credentials file
40+
cat > "$PROJECT_ROOT/.nwe-credentials" <<EOF
41+
# NWE Local Credentials — generated by post-clone.sh
42+
# NEVER COMMIT THIS FILE (it is .gitignored)
43+
NWE_DB_HOST="$NWE_DB_HOST"
44+
NWE_DB_PORT="$NWE_DB_PORT"
45+
NWE_DB_USER="$NWE_DB_USER"
46+
NWE_DB_PASS='$NWE_DB_PASS'
47+
EOF
48+
chmod 600 "$PROJECT_ROOT/.nwe-credentials"
49+
echo "[OK] Credentials saved to .nwe-credentials (mode 600)"
50+
echo ""
51+
fi
52+
53+
export NWE_DB_HOST NWE_DB_PORT NWE_DB_USER NWE_DB_PASS
1354

1455
# 1. Ensure Java 21
1556
if ! java -version 2>&1 | grep -q "21\|22\|23"; then
@@ -30,29 +71,8 @@ echo "[OK] MySQL: $(mysql --version 2>/dev/null | head -1)"
3071

3172
# 3. Configure MySQL root for JDBC
3273
echo "[*] Configuring MySQL root for JDBC (caching_sha2_password)..."
33-
# NOTE: This sets the initial MySQL password. Change it after install via .nwe-credentials.
34-
if [ -f "$PROJECT_ROOT/.nwe-credentials" ]; then
35-
source "$PROJECT_ROOT/.nwe-credentials"
36-
sudo mysql -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY '${NWE_DB_PASS}'; FLUSH PRIVILEGES;" 2>/dev/null || true
37-
echo "[OK] MySQL password set from .nwe-credentials"
38-
else
39-
sudo mysql -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY '\$\$Ironman1'; FLUSH PRIVILEGES;" 2>/dev/null || true
40-
echo "[OK] MySQL password set to default ($$Ironman1)"
41-
echo ""
42-
echo " ┌────────────────────────────────────────────────────────────────────"
43-
echo " │ ⚠ DEFAULT PASSWORD SET"
44-
echo " │ The MySQL root password is currently the install default."
45-
echo " │ Change it for production:"
46-
echo ""
47-
echo " │ cp .nwe-credentials.example .nwe-credentials"
48-
echo " │ nano .nwe-credentials (set a strong password)"
49-
echo " │ chmod 600 .nwe-credentials"
50-
echo " │ sudo mysql -e \"ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_new_pass';\""
51-
echo ""
52-
echo " │ Then redeploy: bash scripts/web/deploy-all.sh"
53-
echo " └────────────────────────────────────────────────────────────────────"
54-
echo ""
55-
fi
74+
sudo mysql -e "ALTER USER '${NWE_DB_USER:-root}'@'localhost' IDENTIFIED WITH caching_sha2_password BY '${NWE_DB_PASS}'; FLUSH PRIVILEGES;" 2>/dev/null || true
75+
echo "[OK] MySQL password configured for user=${NWE_DB_USER:-root}"
5676

5777
# 4. Ensure Tomcat
5878
TOMCAT_HOME="/home/mearvk/tomcat"

0 commit comments

Comments
 (0)