There is a logic bug in XAMPP for Linux. XAMPP UI allows to configure Apache for any port. But the lampp script has hardcoded: testport 80. Eg. it will refuse to start Apache on another configured port if another server is already running on port 80. Which defeats the logic of being able to configure XAMPP Apache on another port. Same with port 443.
P.S.: The lampp script could also use a few log statements when it fails launching an app. Would make troubleshooting easier. It could log to an existing log in ../logs/ or maybe to its own log file.