Python Web Developer Appliance Users Guide Release DRAFT

Python Web Developer Appliance Users Guide Release DRAFT

Python Web Developer Appliance Users Guide Release DRAFT James C. McDonald June 6, 2006 Email: [email protected] Abstract The objective for the Python Web Developer Appliance project is to facilitate both learning how to develop and developing web applications using Python. The Python Web Developer Appliance includes the leading Python web development frameworks and sup- porting libraries pre-installed and ready use, alongside a complete open-source software stack for building and deploying web applications. The appliance represents an attempt to take the ”batteries included” philosophy (http://www.python.org/dev/peps/pep-0206/) to another level with respect to web application development and de- ployment. The Python Web Developer Appliance is packaged as a VMware virtual machine. A ready-to-run virtual machine saves the time and the headache of selecting, assembling, building, and installing a coherent set of leading edge python oriented web application development and deployment tools. Copyright c 2006 James C. McDonald. All rights reserved. Note: This document was prepared using the standard Python documentation LATEX toolchain. Contents 1 Overview 2 2 Installation 3 2.1 VMware Virtual Machine Installation .................................. 3 2.2 Installation via Bootable ISO Image ................................... 3 2.3 Default root Password ........................................... 3 2.4 Other Default Passwords ......................................... 3 3 Configuration 4 3.1 VMware Machine Configuration ..................................... 4 3.2 Operating System Configuration ..................................... 4 Set root password ............................................. 4 Check date/time and timezone ...................................... 4 Set hostname and domain ......................................... 5 3.3 Directory Layout ............................................. 5 3.4 Package Management ........................................... 6 Thirty Second Guide to Adding pkgsrc Packages ............................ 6 4 Appliance Software Components 6 4.1 Appliance Software Component Overview ................................ 6 4.2 Operating System and Development Environment ............................ 7 4.3 Additional Tools and Libraries ...................................... 8 4.4 Python Programming Language ..................................... 9 4.5 Python Web Frameworks ......................................... 9 4.6 Python Templating Frameworks/Libraries ................................ 9 4.7 Python Libraries and Frameworks .................................... 10 4.8 Web/Application Servers and Middleware ................................ 11 4.9 Database and API Interfaces ....................................... 11 4.10 Object Relational Mapping Tools ..................................... 12 4.11 Testing Tools ............................................... 12 4.12 AJAX libraries and frameworks ..................................... 12 5 Using the Appliance 12 5.1 Appliance IP Address ........................................... 12 5.2 Logging In ................................................ 12 5.3 Accessing the Appliance Web Site .................................... 13 6 Appliance Features 13 6.1 Pre-configured Daemons ......................................... 13 6.2 Pre-configured PostgreSQL Database .................................. 13 6.3 Pre-configured Zope3 Instance ...................................... 13 6.4 MySQL Database ............................................. 13 6.5 Pre-configured Appliance Web Site .................................... 14 6.6 Starting and managing other Daemons .................................. 14 6.7 Supporting Python Libraries ....................................... 14 6.8 Supporting Python WSGI Libraries .................................... 14 6.9 Version Control and Project Management ................................ 14 7 Next Steps? 15 8 Errata and Known Issues 15 8.1 Errata ................................................... 15 8.2 Known Issues ............................................... 15 9 License 15 1 Overview The objective for the Python Web Developer Appliance is to facilitate developing and learning how to develop web applications using Python. The Python Web Developer Appliance includes the leading python web development frameworks and support- ing libraries pre-installed and ready use, alongside a complete open-source software stack for building and de- ploying web applications. The appliance represents an attempt to take the ”batteries included” philosophy (http://www.python.org/dev/peps/pep-0206/) to another level with respect to web application development and de- ployment. The Python Web Developer Appliance is packaged as a VMware virtual machine. A ready-to-run virtual machine saves the time and the headache of selecting, assembling, building, and installing a coherent set of leading edge python oriented web application development and deployment tools. 2 1 Overview The bundled software stack includes the Apache web server, and PostgreSQL, MySQL, SQLite database management sytems. The underlying operating system is OpenBSD . The bundled software components are described in detail in the Appliance Software Components section. Please review this section of the document carefully. Over one hundred tool, libraries, and frameworks are included. The included non-Python software components are installed and may be managed using the cross-platform pkgsrc http://www.pkgsrc.org package management system from the NetBSD http://www.netbsd.org project. The included Python software components are installed either using either standard Python disutils binary distributions or as Python Eggs ( http://peak.telecommunity.com/DevCenter/PythonEggs ) if the upstream developer specifically included support for Eggs in their package. Warning: This User Guide is NOT a substitute for the documentation of the included software components. Please refer to the documentation and or web sites of the included components for information on how to accomplish specific tasks with those components. 2 Installation 2.1 VMware Virtual Machine Installation A VMware virtual machine installation should be as simple as: 1. Install VMware Workstation http://www.vmware.com/products/ws/, or the free VMware Player http://www.vmware.com/products/player/ software four your operating system. 2. Download the zipped Python Web Developer Appliance virtual machine directory from the VMware web site. 3. Unzip the virtual machine files into a directory. 4. Add the virtual machine directory as a new virtual machine to your VMware Workstation or VMware player installation. The virtual machine has been created as a ”Legacy” virtual machine to have the broadest compatibility across different VMware software versions and releases. Note: The zipped virtual machine directory is approximately 500MB in size. The unzipped size of the virtual machine directory is approximately 1.25GB. 2.2 Installation via Bootable ISO Image The Python Web Developer Appliance has also been built as an i386 bootable ISO image. If there is enough interest from the community in a generic installable ISO image then I’ll start the process to get a proper open source project established in order to make an ISO image available for download. 2.3 Default root Password The default password for the operating system root user is ”admin”. Please login as root and change the password using the passwd command. 2.4 Other Default Passwords Other default usernames and passwords are show below: 3 Account Default Password os ”root” user admin PostgreSQL superuser ”pgsql” admin PostgreSQL user ”pywebuser” user MySQL admin none set Zope3 ”zope3admin” admin Supervisor admin ”pywebsupervisor” admin The pre-configured usernames/password combinations may also be found in the ‘/usr/local/pyweb/pyweb/etc/pywebConfig.ini’ file. 3 Configuration 3.1 VMware Machine Configuration The VMware Virtual Machine has been configured with the following options. Setting Initial Value Memory 256MB Hard Disk IDE, max 8GB, split into 2GB files Networking Bridged/NAT OS Networking/DNS/GW DHCP/DHCP/DHCP The initial virtual machine settings should work well in most situations. The OpenBSD guest OS networking, DNS, and default gateway are all set to use DHCP. If the networking configuration of the virtual machine is modified the OpenBSD network configuration may also need to be changed via the ifconfig command to correspond to the new virtual machine settings. Note: The filesystem in the virtual machine is configured as a single root (/) disk partition plus 256MB a swap partition. 3.2 Operating System Configuration The operating system is configured in the same manner as a normal OpenBSD system. Please take advantage of the excellent OpenBSD man pages http://www.openbsd.org/cgi-bin/man.cgi to answer any questions about how to configure or use the operating system. Note: Because the operating system is a stock OpenBSD v3.9 installation, snapshot and/or security updates from the v3.9 stable releases (CVS tag ”OPENBSD 3 9”) should install correctly. Set root password By default the password for root is ”admin”. Please login as root and change the password using the passwd command. Check date/time and timezone By default the timezone is set to Eastern Standard Time (EST). Please login as root and check the date and time zone. 4 3 Configuration For instructions on how to change the time zone look at afterboot(8) man page specifically the ”System date” section. Set hostname and domain By default

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    16 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us