@@ -10,6 +10,47 @@ PROJECT_ROOT="$(dirname "$(dirname "$SCRIPT_DIR")")"
1010echo " ═══════════════════════════════════════════════════════════════"
1111echo " NitroWebExpress™ — Post-Clone Setup (Linux)"
1212echo " ═══════════════════════════════════════════════════════════════"
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
1556if ! 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
3273echo " [*] 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
5878TOMCAT_HOME=" /home/mearvk/tomcat"
0 commit comments