Your SlideShare is downloading. ×
Deploying
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Deploying

592
views

Published on

Published in: Technology

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
592
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Transcript

    • 1. Deploying a Web Application Thierry Sans
    • 2. What you need Web Host A home for your website A name for your website Domain Name www.myflippylocation.com
    • 3. Web Hosting
    • 4. Development Server vs Production Server➡ Django provides a development server๏ Does not scale with multiple requests (high threading)✓ We need to setup a production server
    • 5. Web Hosting Storage How much space do you need? Bandwidth How much traffic do you expect? Money How much do you want to spend daily?
    • 6. Do you want/need to manage ... Yes physical No infrastructure? physical Yes operating No server system? Virtual Share Private Web Server Host
    • 7. source “The State of Web Development 2010” from www.webdirections.org
    • 8. Dedicated Physical Server✓ Total Control๏ Maintenance of the physical infrastructure๏ Administration of the operating system๏ Flexibility
    • 9. Virtual Private Server (VPS)๏ Administration of the operating system✓ No maintenance of the physical infrastructure✓ Flexibility (pay for what you need)
    • 10. Shared Web Host✓ No administration of the operating system๏ Cost๏ Not adequate for specific needs
    • 11. Choosing the Technology
    • 12. Choosing an operating system source “The State of Web Development 2010” from www.webdirections.org
    • 13. Choosing a web server source “The State of Web Development 2010” from www.webdirections.org
    • 14. Choosing a database source “The State of Web Development 2010” from www.webdirections.org
    • 15. The popularity of LAMP• Linux• Apache• MySQL• Perl / PHP / Pyhton
    • 16. Choosing a technology• Choosing a technology depends on Specific applications that your web Specific needs applications uses What you are comfortable to Security administer
    • 17. Domain Name
    • 18. Internet Top Level Names• See List of Internet top-level domains (Wikipedia)
    • 19. How to get a domain name?• You need to buy one from a Domain Name Registrar
    • 20. What about Qatar?✓ A domain name in .qa➡ See Qatar Domain Registry
    • 21. Step 1 - Buy your domain name• Can be more or less expensive
    • 22. Step 2 - Configure➡ Attach an IP address (or another URL) to your domaine name
    • 23. Django with Apache
    • 24. The big picture Server SideClient Side mod_wsgi myServlet.javaWeb Browser Database Web Server Server
    • 25. Apache and Python - 3 solutions➡ How Apache runs Python code• mod_wsgi• FastCGI• Mod_python (deprecated)
    • 26. Apache and Python - 3 solutions➡ How Apache runs Python code• mod_wsgi• FastCGI• Mod_python (deprecated)
    • 27. Apache and mod_wsgi• Apache http://www.apache.org/• Python WSGI adapter for Apache (mod_wsgi) http://code.google.com/p/modwsgi/
    • 28. django.wsgiWsgi file and permissions tsansweb/ __init__.py manage.py settings.py➡ Create a django.wsgi file urls.py tsans.db➡ Modify the permissions for Apache uploads/$ chown -R :_www tsans-web WebGallery/➡ Modify the permissions for Apache$ chmod g+w tsansweb$ chmod g+w tsansweb/tsans.db
    • 29. django.wsgiWsgi file and permissions tsansweb/ __init__.py manage.py settings.py➡ Create a django.wsgi file urls.py tsans.db➡ Modify the permissions for Apache uploads/$ chown -R :_www tsans-web WebGallery/➡ Modify the permissions for Apache _www for Mac OS www-data for Linux$ chmod g+w tsansweb$ chmod g+w tsansweb/tsans.db
    • 30. Django WSGI file (Django version 1.3) django.wsgiimport osimport syspath = os.path.abspath(os.path.dirname(__file__))if path not in sys.path: sys.path.append(path)path+="/tsansweb"if path not in sys.path: sys.path.append(path)os.environ[DJANGO_SETTINGS_MODULE] = tsansweb.settingsimport django.core.handlers.wsgiapplication = django.core.handlers.wsgi.WSGIHandler()
    • 31. Django WSGI file (Django version 1.3) django.wsgiimport osimport syspath = os.path.abspath(os.path.dirname(__file__))if path not in sys.path: sys.path.append(path) Django project pathpath+="/tsansweb"if path not in sys.path: sys.path.append(path)os.environ[DJANGO_SETTINGS_MODULE] = tsansweb.settingsimport django.core.handlers.wsgiapplication = django.core.handlers.wsgi.WSGIHandler()
    • 32. Django WSGI file (Django version 1.3) django.wsgiimport osimport syspath = os.path.abspath(os.path.dirname(__file__))if path not in sys.path: sys.path.append(path) Django project pathpath+="/tsansweb"if path not in sys.path: sys.path.append(path) Settings moduleos.environ[DJANGO_SETTINGS_MODULE] = tsansweb.settingsimport django.core.handlers.wsgiapplication = django.core.handlers.wsgi.WSGIHandler()
    • 33. httpd.conf (Apache) /etc/apache2/httpd.conf....LoadModule wsgi_module libexec/apache2/mod_wsgi.soWSGIScriptAlias / /Users/tsans/Sites/tsansweb.wsgi....
    • 34. httpd.conf (Apache) /etc/apache2/httpd.conf path to the wsgi module....LoadModule wsgi_module libexec/apache2/mod_wsgi.soWSGIScriptAlias / /Users/tsans/Sites/tsansweb.wsgi....
    • 35. httpd.conf (Apache) /etc/apache2/httpd.conf path to the wsgi module....LoadModule wsgi_module libexec/apache2/mod_wsgi.soWSGIScriptAlias / /Users/tsans/Sites/tsansweb.wsgi.... path to your wsgi file
    • 36. Django and MySQL
    • 37. MySQL• MySQL http://www.mysql.com/
    • 38. Configure Django for MySQL tsansweb/settings.py....DATABASES = { default: { ENGINE: django.db.backends.mysql, USER: Django, PASSWORD: Pass4Django, HOST: , # Set to empty string for localhost. PORT: , # Set to empty string for default. }}....
    • 39. Configure Django for MySQL tsansweb/settings.py....DATABASES = { default: { ENGINE: USER: django.db.backends.mysql, Django, MySQL user and password PASSWORD: Pass4Django, HOST: , # Set to empty string for localhost. PORT: , # Set to empty string for default. }}....

    ×