-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathQUICKSTART.txt
More file actions
246 lines (233 loc) Β· 23.2 KB
/
QUICKSTART.txt
File metadata and controls
246 lines (233 loc) Β· 23.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β MDDS PLESK DEPLOYMENT - QUICK START GUIDE β
β β
β Project: MDDS (Node.js Backend + React Frontend) β
β Deployment: Plesk Windows Server + IIS + iisnode β
β Updated: 2025-11-30 β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββ π FASTEST DEPLOYMENT (60 seconds) βββββββββββββββββββββββββββββββββββββββ
β β
β 1. Open Command Prompt (Admin) β
β 2. Run: β
β β
β cd D:\httpdocs\yourdomain.com\httpdocs β
β npm run plesk-deploy β
β β
β Done! Application will auto-start via IIS. β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββ π WHAT WAS ADDED ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β β web.config Backend IIS configuration β
β β dist/public/web.config Frontend React routing β
β β plesk-deploy.bat Interactive menu script β
β β plesk-deploy.ps1 Advanced PowerShell script β
β β PLESK_DEPLOYMENT.md Full setup guide (TΓΌrkΓ§e) β
β β PLESK_COMMANDS_REFERENCE.txt Quick reference β
β β SUBDOMAIN_SETUP.md Subdomain config β
β β DEPLOYMENT_SUMMARY.md This deployment summary β
β β package.json updates New npm scripts β
β β
β All files are Git-tracked and auto-deployed. β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββ βοΈ ONE-TIME PLESK SETUP βββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β 1. Plesk Panel β Domains β yourdomain.com β Node.js β
β β
β 2. Click "Enable Node.js support" β
β β
β 3. Configure: β
β Node.js version: 20.x LTS β
β Startup file: dist/index.js β
β β
β 4. Environment Variables β Add: β
β NODE_ENV = production β
β FRONTEND_URL = https://yourdomain.com β
β PORT = 3000 β
β DATABASE_URL = your_db_url β
β SESSION_SECRET = random_key β
β β
β 5. Git β Set repository URL: β
β https://github.com/your-username/mdds-replit.git β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββ π DEPLOYMENT METHODS βββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β METHOD 1: Batch Script (Windows CMD) β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β plesk-deploy.bat β β
β β (Select from menu: 1=Full, 2=Quick, 3=Production) β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β METHOD 2: PowerShell (Recommended for automation) β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β .\plesk-deploy.ps1 -Scenario "full" β β
β β .\plesk-deploy.ps1 -Scenario "quick" β β
β β .\plesk-deploy.ps1 -Scenario "production" β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β METHOD 3: npm (Simple) β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β npm run plesk-deploy # Full build + start β β
β β npm run plesk-build # npm install + build β β
β β npm run plesk-build-prod # npm ci + build (production) β β
β β npm run plesk-start # Start application β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
β METHOD 4: GitHub Auto-Deploy β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β Set in Plesk: Additional Deployment Actions: β β
β β β β
β β powershell -NoProfile -ExecutionPolicy Bypass ^ β β
β β -File "plesk-deploy.ps1" -Scenario "full" β β
β β β β
β β Now auto-deploys when you push to GitHub! β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββ π οΈ COMMON COMMANDS ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β Check Node.js running: β
β > tasklist | findstr node β
β β
β Kill Node.js process: β
β > taskkill /F /IM node.exe β
β β
β Restart IIS: β
β > iisreset /restart β
β β
β View deployment log: β
β > type deployment.log β
β β
β Check npm dependencies: β
β > npm install β
β β
β Build frontend + backend: β
β > npm run build β
β β
β Clean and rebuild: β
β > npm cache clean --force && rmdir node_modules /s /q && npm install β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββ π¨ TROUBLESHOOTING ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β PROBLEM: Node.js app not responding β
β SOLUTION: β
β taskkill /F /IM node.exe β
β iisreset /restart β
β β
β PROBLEM: Module not found errors β
β SOLUTION: β
β npm run plesk-build β
β β
β PROBLEM: 404 on page refresh (React routing) β
β SOLUTION: β
β Check dist/public/web.config exists β
β Run: npm run build β
β β
β PROBLEM: Cannot execute PowerShell script β
β SOLUTION: β
β Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser β
β β
β PROBLEM: CORS errors (cross-origin requests fail) β
β SOLUTION: β
β Check Plesk: FRONTEND_URL environment variable β
β Run: iisreset /restart β
β β
β PROBLEM: Build fails β
β SOLUTION: β
β npm run plesk-build-prod β
β Or manually: npm ci --production && npm run build β
β β
β For more troubleshooting, see: PLESK_DEPLOYMENT.md β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββ π FILE STRUCTURE AFTER BUILD βββββββββββββββββββββββββββββββββββββββββββββ
β β
β dist/ β
β βββ index.js ........................ Backend entry point (Node.js) β
β βββ public/ ......................... Frontend static files β
β βββ index.html .................. React app β
β βββ web.config .................. Frontend IIS config β
β βββ assets/ ..................... CSS, JS, images β
β β
β web.config ........................... Backend IIS config β
β plesk-deploy.bat ..................... Batch script β
β plesk-deploy.ps1 ..................... PowerShell script β
β deployment.log ....................... Deployment log (generated) β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββ β
VERIFICATION CHECKLIST ββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β After deployment, verify: β
β β
β β Node.js process running β
β > tasklist | findstr node β
β β
β β IIS running β
β > iisreset /status β
β β
β β Backend accessible β
β Browser: https://yourdomain.com/api/sessions β
β β
β β Frontend loads β
β Browser: https://yourdomain.com/ β
β β
β β No errors in logs β
β Check: deployment.log β
β Check: %SystemDrive%\iisnode\ β
β β
β β Database connection working β
β Check: Browser console for API errors β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββ π DOCUMENTATION ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β Main Documentation: β
β β’ PLESK_DEPLOYMENT.md ..................... Full setup guide β
β β’ PLESK_COMMANDS_REFERENCE.txt ........... Command reference β
β β’ SUBDOMAIN_SETUP.md ....................... Subdomain config β
β β’ DEPLOYMENT_SUMMARY.md ................... This summary β
β β
β For more details, read these files in order: β
β 1. DEPLOYMENT_SUMMARY.md (overview) β
β 2. PLESK_DEPLOYMENT.md (step-by-step) β
β 3. PLESK_COMMANDS_REFERENCE.txt (commands) β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββ π‘ PRO TIPS βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β β’ Test locally first: β
β npm run dev β
β β
β β’ Check syntax before deploy: β
β npm run check β
β β
β β’ Monitor in real-time: β
β Get-Process node | Format-Table -AutoSize -Refresh (PowerShell) β
β β
β β’ Keep backups: β
β xcopy dist dist.backup /E /I /Y β
β β
β β’ Use git before major changes: β
β git status β
β git pull origin main β
β β
β β’ Schedule automatic deployments: β
β Windows Task Scheduler + plesk-deploy.ps1 β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
ββ π SECURITY REMINDERS βββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β β’ Store secrets in Plesk Environment Variables, not in .env file β
β β’ Enable HTTPS/SSL on your domain β
β β’ Use strong SESSION_SECRET (random string) β
β β’ Keep Node.js and npm updated β
β β’ Review CORS settings in environment β
β β’ Regular backups of database and code β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
π Ready to Deploy! π
For questions, check PLESK_DEPLOYMENT.md
For commands, check PLESK_COMMANDS_REFERENCE.txt