Remote Dev Server

Discussion in 'Web Design and Development' started by davegreb, Feb 8, 2017.

  1. davegreb macrumors newbie

    davegreb

    Joined:
    Nov 1, 2007
    Location:
    Atlanta,GA
    #1
    Hi,

    I'm hoping some savvy developers can help me out with some advice.

    I'm working with some overseas developers on multiple web dev projects. I'd like to use a machine at home to save the code to and test when i'm at home. Also I'd like the developers to be able to connect remotely, place the updated files on there and then test remotely. I'd also like to be able to test remotely from mac and win machines.

    I have an imac at home that i'd like them to move the release code to for me to test. I would also like to keep the prod version of code there too. Most dev will be on apache/php/mysql.

    As always, i'd like to keep costs down, but I don't want to spend all my time configuring dev tools. e.g. XAMPP of AMPPS is fine.

    I'm investigating how I set this up and wanted your input on the best way to do it. Here are the tasks I want to do:

    1. Remote Development
    Do you recommend, Version control server?; MAMP installed to test;
    The remote developers need to be able to move files onto the imac remotely and then test remotely from the imac.
    Q: What source control to use? A good client to go along with it.
    I've got file sharing turned on. Anything else required to move files onto the server

    2. Testing
    I would like to be able to test remotely via a mac or a win machine. Are the two options, remote management and opening a port to apache and then through the apple airport? Is dynamic DNS required? ( dont have a static ip)
    I presume this would also be sufficient for the developers.

    3. Security
    How do I secure my machine? Is it secure or so I need to take extra steps? I was going to create a separate account so it's isolated from the rest of the machine?

    4. Any other considerations I should be thinking about.

    I appreciate you taking the time to read a long post.

    Regards
    Dave
     
  2. 960design, Feb 8, 2017
    Last edited: Feb 8, 2017

    960design macrumors 68020

    Joined:
    Apr 17, 2012
    Location:
    Destin, FL
    #2
    git was created exactly for this.
    Check out https://github.com/

    VirtualBox was created for testing in multiple environments.

    I use Coda2 to develop locally to a MAMP server; source control git. Coda2 publishes to staging server for clients to view 'live' updates as they happen. A little ajax note expands to a textarea so they can make comments/change ideas to each 'page' ( actually build SPAs ).

    Staging server mimic's host server, when finalized the push to live is simple ( well, it is actually never simple, something crazy always happens ).
     
  3. theluggage macrumors 68030

    Joined:
    Jul 29, 2011
    #3
    - You'll need dynamic DNS or a static IP. If you're doing this for a living, try and find an ISP that gives you a static IP & buy yourself a domain name (maybe static IP isn't an option in your area, maybe you have zero budget for some reason but othewise, get the tools for the job!). Then you can create DNS entries for "projectname.yourdomain.com", "otherprojectname.yourdomain.com" etc., direct them to your IP and then use Apache virtual hosts to host multiple projects or different versions.

    ...or, better, subscribe to a Virtual Private Server (or maybe investigate Amazon Cloud Services), then your test server will be in a proper data centre, with a proper, fast connection to the internet (odds are your domestic ISP's T&Cs say you shouldn't run servers, and if not, many ADSL/VDSL services have a nice fast download rate but upstream speed is very slow). I think Amazon have a "free tier" although there's a bit of a terminology thicket around AWS and their elastic doodad thingumy. Seriously, I wouldn't use a domestic broadband connection for a server for anything more than hobby/personal use.

    Assuming the home route: you could create an unprivileged user account, run Apache on a non-system port (e.g. 8080) then set NAT port forwarding on the router to direct incoming connections on port 80 to port 8080 on the iMac.

    Better, though - use Virtualbox to run Linux (assuming the final site isn't going to be Mac-hosted) in a VM, install Apache/php/whatever in a VM, don't set up any shared folders, then set up bridged networking for the VM - this means that the VM will get its own internal IP address on your home network, via a "virtual" ethernet port. Set your router to forward port 80 to the new address. Install the ssh daemon, then you can use SFTP (from Coda etc) or git (using the -ssh option) to sync your files to the virtual machine. Forward port 22 to the VM and you can give your remote users ssh logins , too.

    Hopefully, then, if you get pwned, the only casualty will be the VM.

    You can configure a .git repository on the VM/server so that it maintains a checked-out copy of the current state and
    updates it every time someone pushes. Or, just have them upload files separately using SFTP.

    Seriously, though, I'd fork out for a VPS.
     

Share This Page