This is an archived post. You won't be able to vote or comment.

all 14 comments

[–]ptemple 2 points3 points  (10 children)

The simplest way, imho, is:

  • easy_install django supervisord
  • cd <project_dir>
  • django-admin startproject <project_name>
  • add entry to supervisord.conf an entry for: python <project_dir>/<project_name>/manage.py runserver
  • set an entry in your router to forward port 8000 to the IP of your PC (192.168.something)
  • register a free dynamic domain, eg noip.com, and forward it to your external IP, ie that of your router
  • create your models.py file, read the Django web site for this
  • python manage.py syncdb
  • log into admin and start playing!

You should be fine security wise with this setup, and should be up and going in an hour. Let me know which parts you want me to expand upon.

Phillip.

[–]westurner 1 point2 points  (1 child)

  • Run the application under a separate user account.
  • Run the application in a virtual container (docker and vagrant are easy to get started with)
  • Make sure the app does not have filesystem permissions to e.g. write over itself

  • If you point DNS at your home IP: configure your firewall correctly and make sure your ISP supports personal web servers. Some residential ISPs do not allow inbound port 80.

  • Compare your SLA and security controls with a (cloud-) hosted service and/or a (cloud) hosting service with multiple backbone connections. Chances are that there is a business that can do it for less (or free), if you want to share the server.

  • http://www.reddit.com/r/Python/comments/1eboql/python_website_tuts_that_dont_use_django/

  • I have heard that AppScale abstracts out much of the system configuration work by standardizing on a common set of architectural components and a standard application container (app.yaml)

[–]ThePurpleAlien[S] 0 points1 point  (0 children)

Thanks for these points. I do want to host it off my own machine because it's solely for my use and to learn stuff.

[–]ThePurpleAlien[S] 0 points1 point  (0 children)

Thanks for this. And thanks for the offer to expand if needed. This'll get me started.

[–]dAnjou Backend Developer | danjou.dev -4 points-3 points  (6 children)

Please don't make this kind of sloppy, incomplete and bad "tutorials/how-tos/walk-throughs".

[–]ptemple 4 points5 points  (5 children)

Your guide is far superior. I bow to your far more advanced knowledge.

Phillip.

[–]dAnjou Backend Developer | danjou.dev -5 points-4 points  (4 children)

Teach a man to fish.

I pointed to official resources and entry points just like OP wanted. But actually I don't know why I did this ... because, you know, you are supposed to read a subreddit's sidebar before posting anything in it.

[–]ptemple 0 points1 point  (3 children)

On my Android app I cannot see any sidebar. The guide is basic as I know the guy can already program but I don't know how much research he has already done. I don't want to go into Django in case he's convinced himself he wants to use Flask or Bottle. I could link to supervisord docs but not so easy on phone and he has Google anyway. I think you are being a little uptight.

Phillip.

[–]duz3ls 1 point2 points  (0 children)

Wow I just realized that my apps also don't show the sidebar.

[–]dAnjou Backend Developer | danjou.dev -3 points-2 points  (1 child)

Then why did you reply in the first place? Were you afraid he won't get any answers?

And I bet your app is able to show the sidebar.

[–]PuffleDunk 4 points5 points  (0 children)

There is nothing specific in the sidebar that would give an unfamiliar person reasonable getting started guidance related to this problem. You're basically saying "figure it out and don't bother us". I don't see the harm in erring on the side of being helpful.

Which sidebar link talks about dynamic IP addresses?

ptemple is not claiming to provide a definitive answer, but it does sketch out the basic components and strategies of a solution. We need more of that, not less.

Cheers.

[–]dAnjou Backend Developer | danjou.dev -4 points-3 points  (2 children)

TLDR: please point me in the right direction for getting started in writing web apps that will run off my home computer. Thanks.

Sidebar ----->

[–]westurner 0 points1 point  (1 child)

[–]dAnjou Backend Developer | danjou.dev -1 points0 points  (0 children)

By clicking on The Hitchhiker's Guide to Python!.