Skip to content
Corey Butler edited this page Jul 17, 2014 · 4 revisions

I want to replace my MAMP/WAMP stack with Fenix.

That's not really a question... but you probably shouldn't try this.

Fenix is a simple static web server, not a complete stack. It only fits into the "A" (Apache) of the WAMP/MAMP stack. However; it is not a production replacement for Apache. Instead, it is a much slimmer web server that is quickly configured, shared, and destroyed.

Doesn't OSX have a built in static web server?

Yup, it's called SimpleHTTPServer. Fenix goes beyond this with it's ability to share your local web server over the web. Click a button (or type a command if you prefer) and your web server is tunneled over SSH to the web with a custom URL that can be shared with your colleagues. When you're done, unshare.

Does Fenix support my favorite language or my favorite database? (i.e. PHP, .NET, MySQL, etc)

Not really. Fenix is not an application server. See the next question.

What do I use Fenix for?

Fenix is great for creating user interfaces. In modern web apps, the user experience is created with functional JavaScript, CSS animations, and HTML layouts. Data is typically served to applications via AJAX or API calls (think single page app). Fenix makes it super easy to spin up HTML/JS/CSS apps, serve mockup JSON data to them, and share them with colleagues.

Firewall Traversal? Are you nuts?!

Sharing a web server is not as scary as it sounds to those security-minded Ops folks. Fenix "sort of" transforms your computer into a temporary public web server, but only in appearance. This is achieved through SSH tunneling, so there is a server proxying requests to your desktop. The system's IP address is never exposed publicly, and the local ports are not accessible publicly.

Your Computer <---> SSH Proxy Server <===> Internet

It's also important to remember that SSH tunnels will time out after a while, and they're immediately severed if an internet connection is lost. Furthermore, severing the public connection is as easy as creating one... click the unshare button (or the fenix unshare CLI command if you prefer).

Why do I get JS reference errors when I share a site?

Some browsers block remotely hosted scripts when referenced over http instead of https. To avoid this, make sure your references are pointing to an SSL endpoint, i.e. <script src="https://..."></script>, or add an exception in the browser preferences. You will need to create an exception every time you share a webserver since the exception is per subdomain (a new subdomain is created each time you "Enable public view"). Some browsers will allow a wildcard subdomain, in which case you can add an exception for *.localtunnel.me.