# Apache Configuration for Visual AI QC # Save to: /etc/apache2/sites-available/ai_qc.conf # Enable with: sudo a2ensite ai_qc.conf ServerName your-domain.com ServerAlias www.your-domain.com # Document root for frontend DocumentRoot /var/www/html/ai_qc Options -Indexes +FollowSymLinks AllowOverride None Require all granted # Serve index.html as default DirectoryIndex index.html # Proxy API requests to Flask backend # Handle both /api and /ai_qc/api patterns (frontend auto-detects) ProxyPreserveHost On # If serving from subdirectory /ai_qc/ ProxyPass /ai_qc/api http://localhost:7183/api ProxyPassReverse /ai_qc/api http://localhost:7183/api # If serving from root / ProxyPass /api http://localhost:7183/api ProxyPassReverse /api http://localhost:7183/api # Increase timeout for long-running analysis ProxyTimeout 300 # Serve uploaded files from backend location Alias /uploads /opt/ai_qc/uploads Options -Indexes Require all granted # Serve output files from backend location Alias /output /opt/ai_qc/output Options -Indexes Require all granted # Development folders (optional, comment out in production) Alias /uploads-dev /opt/ai_qc/uploads-dev Options -Indexes Require all granted Alias /output-dev /opt/ai_qc/output-dev Options -Indexes Require all granted # Logging ErrorLog ${APACHE_LOG_DIR}/ai_qc_error.log CustomLog ${APACHE_LOG_DIR}/ai_qc_access.log combined # Enable required Apache modules with: # sudo a2enmod proxy proxy_http alias