c
This commit is contained in:
@@ -0,0 +1,86 @@
|
||||
# Server Information
|
||||
|
||||
**SSH Access:** `ssh root@39.102.124.161` (Alibaba Cloud)
|
||||
**OS:** CentOS with Baota panel pre-configured
|
||||
**Website:** https://www.thereisnospoonadu.com/
|
||||
**Web Server:** Tengine (Alibaba's fork of Nginx) — use `tengine` commands, NOT `nginx`
|
||||
|
||||
## Gitea (self-hosted Git server)
|
||||
|
||||
**Web UI:** https://git.thereisnospoonadu.com
|
||||
**Admin username:** beastgitea2026
|
||||
**API token:** paste fresh when needed (not stored)
|
||||
**SSH remote:** `git@git.thereisnospoonadu.com:beastgitea2026/<repo>.git`
|
||||
**SSH port:** 222 — configured in `~/.ssh/config` on dev machine
|
||||
**Gitea data:** `/var/lib/gitea/` | **Docker container name:** `gitea`
|
||||
**Tengine config:** `/etc/tengine/conf.d/gitea.conf`
|
||||
|
||||
## Critical File Paths
|
||||
|
||||
**Web Root:** `/www/wwwroot/soft_download/`
|
||||
**Tengine Config (ACTUAL):** `/etc/tengine/conf.d/thereisnospoonadu.conf`
|
||||
- Site uses HTTPS (port 443), HTTP redirects to HTTPS
|
||||
- Always test changes with: `tengine -t && tengine -s reload`
|
||||
|
||||
**Auth File:** `/etc/tengine/.htpasswd`
|
||||
**Logs:** Check tengine log paths inside `/etc/tengine/conf.d/thereisnospoonadu.conf`
|
||||
|
||||
## User Management
|
||||
|
||||
Add a new end user (can login and download files):
|
||||
```bash
|
||||
# Add user (file already exists — do NOT use -c or it will overwrite all users)
|
||||
htpasswd /etc/tengine/.htpasswd username
|
||||
|
||||
# Verify a user's password
|
||||
htpasswd -v /etc/tengine/.htpasswd username
|
||||
|
||||
# Delete a user
|
||||
htpasswd -D /etc/tengine/.htpasswd username
|
||||
|
||||
# List current users
|
||||
cat /etc/tengine/.htpasswd
|
||||
```
|
||||
Note: `htpasswd` requires `httpd-tools` package (`yum install -y httpd-tools`).
|
||||
|
||||
## Architecture
|
||||
|
||||
**Download Portal System:**
|
||||
- Login page: `/login.html` (public)
|
||||
- File listing: `/list/` (requires HTTP Basic Auth via Authorization header)
|
||||
- File downloads: Direct links to `.exe`, `.md`, `.pdf`, etc. (NO auth required)
|
||||
- Security model: Must login to see file list, but downloads are public once you know the filename
|
||||
|
||||
**Key Files:**
|
||||
- `/www/wwwroot/soft_download/index.html` - Main file browser
|
||||
- `/www/wwwroot/soft_download/login.html` - Login page
|
||||
- `/www/wwwroot/soft_download/api/validate` - Auth validation endpoint
|
||||
|
||||
## Important Notes
|
||||
|
||||
- When making Tengine changes, ALWAYS edit `/etc/tengine/conf.d/thereisnospoonadu.conf`
|
||||
- Test against the actual domain: `curl -I https://www.thereisnospoonadu.com/filename`
|
||||
- PHP is NOT configured/working on this server - use Tengine-only solutions
|
||||
- Large files (170MB+ exe) need native browser downloads, not blob/XHR approach
|
||||
|
||||
## Verification Checklist (Before Making Changes)
|
||||
|
||||
```bash
|
||||
# 1. Verify which Tengine config is active
|
||||
tengine -T | grep -A 30 'server_name.*thereisnospoonadu'
|
||||
|
||||
# 2. Test current behavior against actual domain
|
||||
curl -I https://www.thereisnospoonadu.com/版本升级说明(用记事本打开).md
|
||||
|
||||
# 3. After changes: test and reload
|
||||
tengine -t && tengine -s reload
|
||||
```
|
||||
|
||||
## Troubleshooting (Only When Issues Occur)
|
||||
|
||||
```bash
|
||||
# Find log paths from config
|
||||
grep 'access_log\|error_log' /etc/tengine/conf.d/thereisnospoonadu.conf
|
||||
```
|
||||
|
||||
**Note:** Logs are automatically rotated daily, keeping 7 days of history (compressed).
|
||||
Reference in New Issue
Block a user