Skip to content

Latest commit

 

History

History
72 lines (54 loc) · 2.07 KB

File metadata and controls

72 lines (54 loc) · 2.07 KB

server

nginx + PHP-FPM configuration and startup scripts for the full HTTPS stack.

Stack

Component Port Description
nginx 8443 (HTTPS) Reverse proxy + static file server
PHP-FPM (socket) PHP FastCGI process manager
Go auth 9100 xcm_auth session and user management

Quick Commands

# Start everything
bash server/start.sh

# Stop everything
bash server/stop.sh

# Check status
bash server/status.sh

# One-time setup (generates nginx.conf from template, installs certs)
bash server/setup.sh

Directory Layout

server/
  conf/
    nginx.conf              Generated from nginx.conf.tpl by setup.sh
    nginx.conf.tpl          Template -- @@PROJECT_DIR@@ replaced at setup time
    php-fpm-pool.conf       PHP-FPM pool config (socket path, chdir)
    php-fpm-pool.conf.tpl   Template version
    proxy-auth.conf         nginx proxy rules for the Go auth API
  certs/                    Self-signed TLS certs (generated by setup.sh)
  logs/                     nginx and PHP-FPM log files
  run/                      PID files and PHP-FPM socket
  start.sh                  Start nginx + PHP-FPM
  stop.sh                   Stop nginx + PHP-FPM (--kill to force)
  status.sh                 Show running processes and listening ports
  setup.sh                  One-time setup: certs, conf from template, brew services

nginx Document Root

nginx serves the entire project root at https://localhost:8443/.

Key URL paths:

URL Serves
/ my_project/index.php (redirected by nginx index rule)
/my_project/ Live CSS Editor style tool
/page-builder/ Page composition tool
/page-builder/pb_admin/ Admin panel
/db_bridge/ SQLite bridge API

Setup Notes

Run setup.sh once after cloning or moving the project root. It substitutes @@PROJECT_DIR@@ in the template files with the current absolute path and generates self-signed TLS certificates for localhost.

bash server/setup.sh

Requires: nginx, php-fpm, openssl (all installable via brew).