|
| 1 | +# Standard Installation Paths |
| 2 | + |
| 3 | +JWSTF should follow the host operating system's normal filesystem conventions rather than inventing a single path for every platform. |
| 4 | + |
| 5 | +## Linux |
| 6 | + |
| 7 | +For Debian/Ubuntu package-managed services: |
| 8 | + |
| 9 | +- Apache: `/etc/apache2`, `/var/www/html`, `/var/log/apache2` |
| 10 | +- Tomcat package: `/etc/tomcat10`, `/var/lib/tomcat10`, with the distribution's systemd unit |
| 11 | +- JWSTF configuration: `/etc/jwstf` |
| 12 | +- JWSTF mutable state: `/var/lib/jwstf` |
| 13 | +- JWSTF logs: `/var/log/jwstf` |
| 14 | +- Application-managed/manual deployment: `/opt/jwstf` |
| 15 | +- Source used for installation/building: `/usr/local/src/jwstf` |
| 16 | + |
| 17 | +The important correction is that **distribution-managed Tomcat and manually installed Tomcat must not be mixed**. The existing installer currently uses `/opt/tomcat`; that is acceptable for a deliberately self-managed Tomcat installation, but a Debian/Ubuntu package installation should retain its package-managed `/etc/tomcat10` and `/var/lib/tomcat10` layout instead. The existing installer also correctly uses `/etc/apache2`, `/var/www/html/nwe`, and `/var/log`-based Apache logs for Apache integration. fileciteturn105file0 |
| 18 | + |
| 19 | +## Windows |
| 20 | + |
| 21 | +Use normal Windows application/data separation: |
| 22 | + |
| 23 | +- Installed machine-wide binaries: `C:\Program Files\JWSTF` |
| 24 | +- Machine-wide mutable data/config/logs: `C:\ProgramData\JWSTF` |
| 25 | +- Per-user application data: `%LOCALAPPDATA%\JWSTF` |
| 26 | +- Per-user roaming data: `%APPDATA%\JWSTF` |
| 27 | + |
| 28 | +Do not put mutable service state, databases, logs, or credentials inside `Program Files`. |
| 29 | + |
| 30 | +## macOS |
| 31 | + |
| 32 | +Use Apple filesystem conventions: |
| 33 | + |
| 34 | +- Machine-wide GUI application: `/Applications/JWSTF.app` |
| 35 | +- Machine-wide support data: `/Library/Application Support/JWSTF` |
| 36 | +- Machine-wide logs: `/Library/Logs/JWSTF` |
| 37 | +- Per-user application: `~/Applications/JWSTF.app` |
| 38 | +- Per-user support data: `~/Library/Application Support/JWSTF` |
| 39 | +- Preferences: `~/Library/Preferences` |
| 40 | + |
| 41 | +Do not assume that a macOS installation has a system Apache available for application deployment; use the selected package manager or managed application distribution and preserve its paths. |
| 42 | + |
| 43 | +## Profiles |
| 44 | + |
| 45 | +The standard JSON source of truth is [`config/preferred-install-paths.json`](../config/preferred-install-paths.json). |
| 46 | + |
| 47 | +Two deployment profiles are explicitly supported: |
| 48 | + |
| 49 | +- **`/user`** — professional/user-scoped installations using the user's normal application-data locations. |
| 50 | +- **`/deck`** — enterprise/centrally managed installations using machine-wide application locations. |
| 51 | + |
| 52 | +These are **logical deployment profiles**, not literal filesystem directories that should replace operating-system conventions. |
0 commit comments