Developing locally, showing the client through the web

1

I'm trying to figure out the best way to show my clients the work I've done for them without having to setup other environments on production servers, etc.

⠀Is there a good way to expose my local development environment to the web for them to view?
⠀Are there other "best practices" for this?

dcolumbus

Posted 2014-01-11T01:06:09.450

Reputation: 193

Is your development server visible from outside world? If yes, then just give the IP address with the specific file/folder that you wanted to show off. – Darius – 2014-01-11T01:15:16.650

No, it's not... – dcolumbus – 2014-01-11T01:15:54.023

If you have a main website, simply create another folder that has no clickable link to it, and push your work from the dev server to the main site. So for example www.mysite.com/client1/ (and give that URL to your client) – Darius – 2014-01-11T01:17:02.453

There is no best practice, you just need to put the site on a public IP. What can you tell us about the site - is it server side, php, or static html? – Paul – 2014-01-11T01:24:17.630

Answers

0

I switched to developing with Local by Flywheel. It works well for my current flow.

dcolumbus

Posted 2014-01-11T01:06:09.450

Reputation: 193

0

I'll start by assuming the following:

  • You have a web server running on the development system (not just static HTML on a local file system).
    • That web server is listening on an external interface (vs. loopback only).
  • There is a public-facing Apache web server that you can configure.
    • That public-facing web server is able to establish a TCP connection with your development system.

If all of the above are true (or if you can make them true), you should be able to use a reverse proxy.

To avoid URL rewriting, I usually set up a DNS record pointing to the public web server with a unique name (dev.example.com), then set up a virtual hosted reverse proxy. Here's a minimal Apache config for dev.example.com pointing to an internal development system with the IP address of 10.0.0.42:

<VirtualHost *:80>
    ServerAdmin me@example.com

    ServerName dev.example.com
    ServerAlias dev

    DefaultType none

    ProxyPass / http://10.0.0.42/
    ProxyPassReverse / http://10.0.0.42/
</VirtualHost>

You'll need to make sure mod_proxy is enabled. Refer to Apache's mod_proxy documentation for more details.

Woody

Posted 2014-01-11T01:06:09.450

Reputation: 31

0

Simplest thing would be to put your system behind a firewall and a proxy and better still put it in a virtual machine. Then port forward only the port your server is listening on.

Gaurav Joseph

Posted 2014-01-11T01:06:09.450

Reputation: 1 503

0

You will also (in addition to your local http server) need either a static IP or a dynamic IP with a service to update NSF as your IP changes. And you will need to have a domain name pointed to your IP. And so you will need a name server pair, or rent-a name server. It's actually a pretty complex problem you're asking about, especially if you start to factor in https or the like. Much easier rent a host and get that set up to serve I think.

Elliptical view

Posted 2014-01-11T01:06:09.450

Reputation: 864