The Whole Starship Python Crew FAQ

Last changed on Tue Oct 23 12:45:56 2007 UTC

(Entries marked with ** were changed within the last 24 hours; entries marked with * were changed within the last 7 days.)


1. Meta: About this FAQ


2. General Information about the Starship Python


3. Information about accessing the Starship


4. Starship Resources for the Crew


5. Linux Information for the Crew


6. Crew webpages on the Starship: HTML, CGI, Apache, Zope


1. Meta: About this FAQ


1.1. What is the Starship Python Crew FAQ?

This FAQ exists to help "crew members" of the Starship Python (at http://starship.python.net). I started writing it when I first became a crew member because I had a lot of unanswered questions.

One goal of this FAQ is to get new members oriented to the Starship as quickly as possible so that they can start using the Starship's resources and interacting with the other crew members. This FAQ will serve as a description of software and other resources available to all Starship Python members. It will also explain how to access these resources. This FAQ will prevent every new member from having to read the Mailman archives and issue "find" commands to figure out what resources are available on the Starship.

Another goal of this FAQ is to archive common informaiton about the Starship for seasoned crew members. As the status of major resources (such as Mailman and CVS) change, the FAQ can updated so that the crew can consult the current status of a resource whenever they need to access that resource.

The most important goal of this FAQ is to help the crew members feel comfortable using the Starship Python. I hope that the easier and more convenient it is for the crew members to use the Starship as the center of their Python activity, the more they will use Python and share their work with the Python community.

Edit this entry / Log info / Last changed on Sun Jun 6 00:06:25 1999 by TAB


1.2. How is this FAQ organized?

The first section consists of questions about the FAQ itself.

The second section consists of questions about the Starship Python. It contains answers to general inquiries about the history and purpose of the Starship. Section two also describes how to join the Starship.

Section three is the first section for current Starship members. It includes information about how to access the Starship and how the machine is organized.

Section four contains information about software installed on the Starship and how to access that software. These questions are more detailed that those of section three. Section three describes how to login and find other users' directories, but this section details the steps necessary to access CVS on the Starship or to set up a Mailman list. Note that a detailed discussion of web-based topics is deferred until section six.

Section five contains information for those who are new to Unix and Linux. The other sections assume that you're comfortable with Unix systems. If you're new to Unix, then you'll probably want to read section five before reading any of the other sections except for sections one and two.

Section six contains specific informaiton about creating your web site at the Starship. It includes pointers to HTML, CGI, and Zope information. It also explains the details of using these and other web-related resources on the Starship.

Edit this entry / Log info / Last changed on Thu Jun 10 19:34:13 1999 by TAB


1.3. Can I add questions and update answers in this FAQ?

Yes. All Starship Crew are given the password for updating this FAQ. That's the point of the FAQ Wizard, a program written in Python by Guido van Rossum. (Faqwiz is included in the Tools subdirectory of the Python source distribution.) The FAQ wizard permits a group of people to maintain the same FAQ through a convenient web interface.

When you click on "Add new entry" or "Edit this entry", you will be presented with an HTML form where you can enter the question and answer. If you are editing an existing entry, the current text of that entry will already fill the text area. You just need to make your changes. If you need help with using the form, there's a "Click for help" link at the top of the form to explain what can be entered in the text area. Be careful! Don't click on the help after you've entered text. Your work can be lost. (It happened to me just now.)

You will have to fill out a log entry explaining the reason for your change. The log messages are also viewable via the web. You will also need to provide a name and an e-mail address. The e-mail address will be included at the end of the entry with a "Last changed by..." line. (see below) Finally, you must enter the special password for updating the FAQ. All Starship Crew members are given this password. When you first joined the Starship, you received an e-mail with the subject

 Welcome To "Crew"!
I hope you didn't throw that e-mail out. It contains the password needed to update these pages. If you can't find the password, just e-mail the current FAQ maintainer. The maintainer's address is linked at the bottom of every FAQ page with the text "Feedback to..."

Edit this entry / Log info / Last changed on Thu Jun 10 12:19:59 1999 by Robert Kern


1.4. Which entries in this FAQ need major work from experienced Crew members?

I'm glad you asked. Don't forget to modify this entry if you tackle some of the outstanding questions listed here:

Question 2.9 needs the date when the new Starship was constructed.

Question 3.6 needs an explanation of how to use ssh to do a file transfer. Either that, or I need to point to another entry that explains how to use rsync with ssh.

Question 3.7 needs to give a detailed explanation of using ssh under Windows.

Question 3.8 needs major work from an ssh user on a Mac.

Question 4.3 needs an answer. What is the current status of crew CVS access. What about anonymous CVS access over the web?

Question 4.4 needs an answer. What does it take to set up a Mailman list?

Question 6.4 might not be complete/correct. Could the current Zope coordinator update this entry?

Question 6.5 desperately needs the help of someone who has used Zope. I don't really know what Zope is.

Edit this entry / Log info / Last changed on Fri Jun 18 10:26:36 1999 by TAB


2. General Information about the Starship Python


2.1. What is the Starship Python?

Short answer: the Starship Python is a machine on the Internet fully dedicated to Python.

Long answer: the Starship Python is community effort of users of Python. Its goal is to promote the Python language and to show all of the Python applications that can be run on a Linux box connected to the Internet. It will serve as an attractive demonstration platform on the Internet where any who are curious about Python can visit. The crew of the Starship knows that once people see Python, they'll probably try it. Once they try it, they'll be hooked. :)

The Starship Python is also a machine where Python users can come together to interact. It was designed to encourage the Python community to better collaboration and more direct communication. When those who are working on a Python project or who want to try a new Python module use the Starship, there's no downloading and no installation problems. Everything a Python programmer needs is just there, installed by the author and ready for testing.

Edit this entry / Log info / Last changed on Sun Jun 6 00:23:49 1999 by TAB


2.2. Who can be a "crew member" of the Starship Python?

(Needs update...this answer is definitely out of date since the PSA no longer exists.)

In principle, any PSA member can join the Starship Python. Any member of the Python Software Activity (PSA) can get a user account on the Starship Python machine for free! For information on how to join the Python Software Activity, see http://www.python.org/psa/

After long consideration the Starship founders chose PSA membership as the criterium for eligibility. Someone who can convince himself to join the PSA (and pay the small membership fee) is probably the kind of person we want.

Edit this entry / Log info / Last changed on Tue Oct 23 12:45:56 2007 by Tom Bryan


2.3. Is membership on the Starship Python really free?

Yes. It costs you nothing at all, just like Python. The only catch is that only PSA members will be accepted.

Edit this entry / Log info / Last changed on Sun Jun 6 00:34:20 1999 by TAB


2.4. How do I join the Starship Python?

To board with the crew of the Starship Python, you must first be a member of the Python Software Activity (PSA). If you aren't already a member of PSA, go to http://www.python.org/psa and join! Since Python users are all classy, professional individuals, we'll accept your application to join the Starship Python as soon as you submit your PSA application materials. (That is, we require you to be a PSA member, but we'll believe you if you tell us you just ordered your PSA membership.)

Next, send an e-mail to webmaster@python.net with following subject:

crew membership application

The body of the message will give us the information we need to set up your account. Parts of this message will go into a .info file in your home, where you can change it later. Go to http://starship.python.net/memberform.txt

Paste the template from that page into the body of your plaintext e-mail, and edit the information to reflect your preferences. Remember that the body of your e-mail message must be an executable Python code fragment.

Once you submit your application for membership to the Python Starship, it will be reviewed and processed. After 1 to 4 weeks, you will "embark" as a new crew member on the Starship Python. You will receive an e-mail explaining how to obtain a password for your account.

Edit this entry / Log info / Last changed on Mon Mar 3 22:20:21 2003 by Jim Tittsler


2.5. What do I gain as a crew member on the Starship Python?

You get a user account on the Starship, a computer running Linux, accessible over the Internet. This account includes your own directory, a web page (if you choose to use it), and an e-mail address @python.net. You decide what to make public and what to keep private. You can share your work with other Starship members and use programs that other crew members have created. You can also put your programs in your ftp directory so that anyone on the Internet can download them. You can have the mail for your e-mail address delivered locally so that you can read it while logged into the Starship or have it forwarded to another account.

Edit this entry / Log info / Last changed on Sat Jul 21 11:55:21 2001 by TAB


2.6. How big of an effort is the Starship Python?

You decide for yourself. Since you are a PSA member, you are certainly willing to help others when they have problems. Starship is our common project, and everyone will contribute according to his abilities. The Starship maintainers might sometimes ask for help with installation problems, and someone will certainly be willing to help.

Edit this entry / Log info / Last changed on Sun Jun 6 00:59:19 1999 by TAB


2.7. Is the Starship related to CNRI?

Not at all. Starship is independent. It is Christian Tismer's idea and his machine. The Starship is in no way related to CNRI and is therefore not subject to their rules. The relation is one-directional: we just happen to admit only PSA members.

Edit this entry / Log info / Last changed on Sun Jun 6 01:01:34 1999 by TAB


2.8. What does Guido (the creator of Python) say about the Starship?

Guido, Ken, Aaron, Tim, Mark PyWin, to name but a few, are enthusiastic about the idea and support it. Ken is especially looking forward to new PSA members. Guido won't have time to participate; he'll say hello from time to time but let us go on otherwise.

Edit this entry / Log info / Last changed on Sun Jun 6 01:03:36 1999 by TAB


2.9. Who created the Starship Python?

The Starship Python was Christian Tismer's idea. The original Starship was hosted on his computer. The crew contributed (XXXX when?) to build a new machine exclusively for the Starship's use, which was kindly hosted for X years by Medical Computer Systems of Washington, DC. In February 2000, this machine -- or rather, one of its hard disks -- died horribly. The current Starship is a shiny new (as of March 2000) Linux box provided by BeOpen.com and hosted by Above.net in San Jose, California. Thanks to BeOpen for providing the machine, administrative support, and network connection!

The current Starship is a true community creation: it wouldn't be the resource that it is without the contributions of many people and companies.

Edit this entry / Log info / Last changed on Thu Aug 24 19:33:12 2000 by Greg Ward


2.10. Who currently maintains the Starship Python?

The Starship is actively maintained by Christian Tismer, its creator. There is also a group that does some remote administration which can be contacted at the webmaster@starship.python.net alias.

Edit this entry / Log info / Last changed on Mon Mar 3 22:10:35 2003 by Jim Tittsler


2.11. How long has the Starship Python existed?

Christian Tismer posted the original announcement to comp.lang.python on May 20, 1997. The Starship has been in continual operation on one machine or another since then.

Edit this entry / Log info / Last changed on Sun Jun 6 01:12:19 1999 by TAB


2.12. Why is it called the "Starship"?

From Christian Tismer's original announcement on comp.lang.python:

I may have chosen a "starship" for fun, but it's my idea to organise it in a similar way. How far this will be carried graphically is up to you.

There's the bridge, where finished stuff will be shown for demonstration. The crew has its cabins (home directories), where they can do as they please. Everyone can install himself as he sees fit. There will be a central library for mature and tested software that is accessible to all. In addition everyone can make some of his own domains accessible to others, for testing new modules, or for special projects. Projects are the "missions" of the starship. Anyone can initiate a project, and there are no restrictions. You can even make money with a project which is shared among the participants.

The name "starship" is not accidental: it is also meant to be a bit of a "ship of stars". So come on and get on board, you'll become stars in no time at all...

Edit this entry / Log info / Last changed on Sun Jun 6 01:18:35 1999 by TAB


2.13. Is there a disk quota?

There is currently no disk quota. If disk space becomes a problem, we will set disk quotas.

Edit this entry / Log info / Last changed on Sun Jun 6 02:05:45 1999 by TAB


2.14. Is my Starship activity limited to Python work?

The Starship is a computer/website for the Python community. If the primary aim of your work on the Starship is to support Python use, develop Python software and documentation, and interact with other Python users/developers, then you are using the Starship appropriately.

Edit this entry / Log info / Last changed on Sun Jun 6 02:09:10 1999 by TAB


3. Information about accessing the Starship


3.1. How do I access my account on the Starship?

The Starship is a computer on the Internet running the Linux operating system. If you are familiar with Unix, then you probably aren't asking this question. If you are on a Unix machine, you should use ssh, preferrably with a version 2 client, but at least with version 1.2.27 or later. The Starship machine's name is starship.python.net. For more information about ssh, see below.

All logins and file transfers to the Starship are via SSH (and SCP and SFTP). Enter your username (specified by you as "account" when you asked to become a crew member). Enter the password that was given to you. The first time you access your account, you should probably change your password to something that you can remember. If you are unfamiliar with Linux and Unix in general, see the resources in section Five of this FAQ.

You can scp or sftp to transfer files to your account. Unix users can use rsync on top of ssh. (See ssh entry below.)

Edit this entry / Log info / Last changed on Sat Jan 5 03:30:30 2002 by Jim Tittsler


3.2. What's in my home directory?

The default user shell is bash. Thus, the files in your home directory include default .bashrc, .bash_profile, .bash_history, and .bash_logout files. You may customize these files to your liking.

The .starship_info file contains information about you that will be posted on the Crew page of the Starship Python. Changes you make to this file will automatically propagate to the Crew page.

public_html is a link to your web pages. If your username is pirx, the file index.html in the public_html directory will be accessible over the Internet as http://starship.python.net/crew/pirx/index.html and http://starship.python.net/~pirx/index.html

ftp is a link to your personal ftp repository. Most members use this repository as a means for distributing Python software that they've written.

Edit this entry / Log info / Last changed on Sun Jun 6 01:57:06 1999 by TAB


3.3. What is the directory structure of the Starship?

The Starship is currently a Red Hat Linux machine. If you are familiar with the *nix directory structure, Red Hat's directory layout is fairly standard.

On the Starship, user directories are in /home/crew/. That is, if your username is pirx, your home directory is /home/crew/pirx/

Edit this entry / Log info / Last changed on Sun Jun 6 02:03:23 1999 by TAB


3.4. How do I use a remote shell from Windows 95, 98 or NT to access the Starship?

Note: This answer mostly applies to Win32 Installations (Windows 95, 98 and NT). Prior to proceeding you will need to open an active Internet connection. Without a connection to the Internet, SSH will not be able to talk to the Starship Server.

1. Start a Windows SSH client.

2. Configure your SSH client to connect to the Starship:

    Host Name: starship.python.net
    Port: ssh (this is actually port 22)
    TermType: VT100 is just dandy
Click Connect.

SSH will find it's way across the Internet and start an encrypted conversation with the Starship Python server.

3. After connecting to the Starship server, SSH will attempt to start a remote terminal session. The server will request your login information for the remote session. It will ask first for your user name. (note: all entries for the login program are case sensitive) If you connect to the right server, it server will echo the following message:

    The Python.net Starship
    login: 
After "login:" enter your user name as assigned to you when you joined the Starship, then press <Enter>.

4. The server will prompt you for your password. Again, when you joined the Starship, this was assigned to you or you were given instructions about how to generate a password from a Python script.

After the word 'Password:' enter your password as it was assigned. Again, case is important here.

Windows users will need to get used to this. Case is important pretty much everywhere in the Linux/Unix universe.

5. If all goes well (i.e., you typed your user name and password correctly, with the proper capitalization), you will be logged into the Starship Python server. The server will tell you the last time you logged in. Your default path will be your HOME directory. The command prompt you see is similar to the DOS command prompt, so common all those years ago. The session so far should look like this:

   The Python.net Starship
   login: tdfunk
   Password:
   Last login: Thu Jun 10 20:46:59 from barbwire.asd-web.com
   [tdfunk@starship tdfunk]$
6. Now what do you do?

You execute valid command line programs to navigate, edit files, review file lists and what not. What happens next is up to you; just think of this as a high-powered DOS prompt. The basic commands that you will need to use are discussed in another FAQ entry.

However, just for grins try some of the following commands. Linux commands are executed by pressing <Enter>, just like in DOS. Unlike DOS, the command names are case-sensitive. In the following examples do not enter the quotes. Text in square brackets is comments for clarification -- don't enter these either.

One of the first things you might like to do is to change your login password. Use the passwd command (all lower case) to do this. Enter:

    "passwd<Enter>" [the command will ask for your current password
                     and then for your new password -- twice.  Again,
                     this is all case sensitive.  Btw, be very 
                     careful.  You can whack your authentication
                     information if you make too many mistakes --
                     as I found while writing this entry :-( ]
For a listing of the current directory, enter:

    "ls <Enter>" [ls is an abbreviation for list directory]
To see your current default path, enter:

    "pwd <Enter>" [pwd == print working directory]
To view the contents of your shell profile, enter:

    "cat .bash_profile <Enter>" [file names are case sensitive 
                                 and filenames with leading 
                                 periods are normally hidden]
For a directory listing that shows you all of your files, even the hidden ones, enter:

    "ls -a <Enter>"  [the -a options tell ls to list all files]
To see all files and to display directories with a trailing forward slash, enter:

    "ls -a -F <Enter>"
To see the instuctions for the ls command enter:

    "man ls <Enter>"  [man is for Manual page. Press 'q' to quit 
                       viewing the man(ual) pages.  Press 'f' 
                       to scroll forward and press 'b' to scroll 
                       backward.  Press 'h' for help on using the 
                       man command.  "man man" is informative.]
To end the current remote session, and be logged off of the Starship server, enter

  "exit <Enter>"  [you can also press <ctrl-d>]
Welcome to Linux and the Starship Python.

Edit this entry / Log info / Last changed on Sat Jan 5 03:36:56 2002 by Jim Tittsler


3.5. What is ssh, anyway?

ssh stands for Secure SHell. An ssh client allows you to establish a secure remote session with a Linux or Unix server. See this ssh FAQ for some general information about ssh: http://www.employees.org/~satch/ssh/faq/

Like telnet, ssh allows you to forge a remote interactive session between your computer (client) and the Starship server. However, unlike a telnet session, all information that passes between the client and the server is encrypted.

There are many free ssh clients available for Unix and Linux computers. Unfortunately, the choices in the Windows world are more limited. For detailed instructions about using ssh on your operating system, see the following FAQ entries.

Chris Tismer has collect a few links to various ssh clients on this page:

  http://starship.python.net/ssh/ssh.html
When a viable, free Windows ssh client is identified, telnet access will be shut down. Eventually, all Starship users will have to use ssh to access the Starship.

For more information on ssh, telnet to the Starship and login. At the command prompt enter:

   man ssh

Edit this entry / Log info / Last changed on Fri Jun 18 02:27:24 1999 by TAB


3.6. How do I use ssh on a computer running Unix/Linux?

Download ssh, version 1.2.26 or later, from
 http://www.ssh.fi
or one of their mirrors. Unpack the archive with a command like
 gunzip -c ssh-1.2.26.tar.gz | tar xvf -
Change directories to the directory created by the previous command. Read the documentation. Then run
 ./configure 
or
 ./configure --with-rsaref
for those in the U.S. where it may be necessary to avoid patent problems. You may also want to use the --without-idea if you want to avoid problems with commercial use of IDEA. Then run
 make
This command should produce an executable program named ssh. ssh is the ssh client that you will use to connect to starship.python.net.

If you use ssh now, your password will be sent encrypted over the network. This situation is still not ideal. The best way to use ssh is to generate a public and private key with a passphrase. Use ssh-keygen to generate your keys. Then login into the Starship and copy your public key to .ssh/authorized_keys in your home directory. Then when you use ssh, you won't be required to ever enter your password.

It is also possible to transfer files through the encrypted link that ssh creates. (XXXX still need to explain this)

Edit this entry / Log info / Last changed on Fri Jun 18 03:21:18 1999 by TAB


3.7. How do I use SSH on a computer running Windows?

There are a number of commercial and free SSH implementations for the Microsoft Windows environment.

Two of the free solutions are PuTTY and TeraTerm/TTssh.

PuTTY is a suite of tools that includes a terminal emulator with SSH 1 and 2 support (PuTTY itself) and SCP (pscp, secure copy) and SFTP (psftp, secure file transfer protocol) support.

  http://www.chiark.greenend.org.uk/~sgtatham/putty/
TeraTerm with ttssh (an ssh TeraTerm add in) is a good solution if you only need version 1 of the SSH protocol. It offers very good terminal emulation.

  For TeraTerm, http://hp.vector.co.jp/authors/VA002416/teraterm.html
  For ttssh, http://www.zip.com.au/~roca/ttssh.html

Edit this entry / Log info / Last changed on Sat Jan 5 03:42:02 2002 by Jim Tittsler


3.8. How do I use ssh on a Macintosh?

If you are using OS X, the 'ssh' supplied with the operating system works fine.

http://rsug.itd.umich.edu/software/fugu/ is a very nice graphical front end you can use to scp your files to/from the Starship.

BetterTelnet is a free client for older Macs:

 http://www.cstone.net/~rbraun/mac/telnet/
MacSSH is an SSH2 client for older Macs based on BetterTelnet and includes port forwarding and AppleScript support.
 http://MacSSH.com/

Edit this entry / Log info / Last changed on Tue Apr 15 04:15:50 2003 by Jim Tittsler


3.9. How do I change the e-mail address where I receive the Crew mailinglist messages?

Go to the mailman page for the Crew list (the URL should be in the "Welcome to Crew!" message you received when you joined). Subscribe with your new address. Unsubscribe the old address. Then update the e-mail address indicated in your home directory.

IMPORTANT Don't forget to change the e-mail address indicated in your home directory. (The next paragraph describes how the address is determined.) When new crew members join the Starship, a script checks every crew member's home directory. If it finds an e-mail address not included on the list of Crew subscribers, it adds the e-mail address to the list. Thus, if you simply unsubscribe your old address and subscribe your new address, your old address will be resubscribed at a later date if you forget to update the appropriate file in your home directory.

Here's how the script determines the e-mail you want to use for the Crew mailinglist. If you have a listmail entry in your .starship_info file, that address is used. If you don't have a listmail entry and you have a .forward file, the address in the .forward file is used. If you have neither a listmail entry nor a .forward file, then the email entry of your .starship_info file is used. Change the appropriate entry in the .starship_info file or the .forward file in your home directory to prevent your old address from being resubscribed to the Crew mailing list. And caution: Due to this scheme, it is not allowed to use anything else in .forward than a simple, valid e-mail adress, unless you override it with the listmail entry.

 Examples:
You became a starship member as user "nemo", and you email address is reading "nil@nowhere.com". Your .starship_info file reads partially like

 account = "nemo"
 email = "nil@nowhere.com"
When you became a member, your .forward file was initialized automatically to your email entry. You can of course modify .forward later, but you need to synchronize your mailman subscription as described above. Unless you remove the .forward file (which is allowed, to use the server's email system), the sole purpose of the email entry is now to be shown in the crew pages.

Later, you might decide that you don't want the crew messages in your private email, like so:

 account = "nemo"
 email = "nil@nowhere.com"
 listmail = "crap@myoffice.com"
Nex time that we embark new members, this listmail entry will superseede everything, and you will be subscribed to the crew list as crap@myoffice.com . The .forward file will not be touched any longer, and you can use it freely. And again, don't forget to change your subscription as shown.

Why is that so complicated? Simply since at the moment we have no chance to figure out which mailman subscription belongs to which crew member. In order not to loose anybody, we simply don't unsubscribe you, and subscribe whatever we can figure out. If someone knows an easy way to enhance this, he is hereby invited to try.

Edit this entry / Log info / Last changed on Sun Jul 18 11:27:47 1999 by pyrx


3.10. How do I control the delivery of mail to my python.net account?

Note that when you are first embarked on the Starship, mail delivery for your account will be configured based on the information that you provide in your e-mail to join. Thus, you do not need to understand the following information if you are happy with the way that your mail delivery is initially configured. This entry is primarily interesting to those who want to change how their mail is delivered.

If mail will be delivered to your directory on the Starship so that you can read it while logged onto the Starship, then you will have a file in your home directory with the filename .qmail. This file tells the mail transfer software on the Starship where to store mail for you to read. It's contents may be as simple as

 ./mbox
meaning that the mail software should delivery mail to a file called mbox in your home directory on the Starship.

If mail for your account should be forwarded to another account, then you need to create a .forward file in your home directory. In this case, you must not have a .qmail file. (If you have both a .qmail and a .forward file, the .qmail file will be used.) The .forward file should contain a line indicating the address to which mail should be forwarded.

To switch from local delivery of mail to mail forwarding, delete your .qmail file and create an appropriate .forward file. To switch back to local delivery of mail, create a .qmail file.

Edit this entry / Log info / Last changed on Sat Jul 21 12:10:43 2001 by TAB


3.11. Sending mail via the Starship without logging in..

I wanted to configure my laptop to send emails from starship.python.net without having to log into the starship. It is possible to set up an smtp tunnel using ssh. The tutorial is at:

http://soupnazi.org/freebsdzine/200104/tunnel.php

Mandrake runs Postfix to support sending email messages to MTAs. Since most mail clients include an option to use sendmail commands for sending messages, the Postfix MTA emulates the sendmail command. Modify the Postfix/main.cf file to include the relayhost definition as follows:

relayhost = [localhost]:9595

(Subsititute the local port address you pick for the 9595 value.)

I use kmail on Mandrake as my email client. To set up kmail to use the tunnel, creat a Network "Sending" account of type sendmail. Next create a new Identity and select the new Sending account as a Special Transport on the Advanced tab. When you use that identity to send an email from your Linux desktop, the kmail connection will pass through the tunnel and connect to port 25 on the starship computer. The tunneling HOWTO describes how to set up a init script to automatically set up the tunnel at system boot time.

Edit this entry / Log info / Last changed on Sun Mar 30 22:09:46 2003 by M McLay


4. Starship Resources for the Crew


4.1. What is the current version of Python on the Starship?

The default Python (in /usr/bin/) is version 1.5.1. Python 1.5.2 is now available as /usr/local/bin/python. After we are done with testing, we will probably make 1.5.2 the default /usr/bin/python. Python 1.5.1 will then be available as /usr/bin/python-1.5.1.

Edit this entry / Log info / Last changed on Fri Jun 18 10:32:15 1999 by TAB


4.2. What other Python modules are installed on the Starship?

The Python 1.5.2 installation in /usr/local/ has the following optional modules enabled: readline, Tkinter (Tk interface), crypt, termios, resource, audioop, imageop, rgbimg, timing, syslog, curses, gdbm, fpectl, and zlib.

If you don't know what one of these modules does, imoport it and try it out. Many of them have a top level docstring so that you can get some general information by doing

 import modulename
 print modulename.__doc__
We also have the following third party modules installed: PIL (Image), mxDateTime, mxTools, mxTextTools, and mxStack. If a name is listed in parentheses, it is the name you should use in an import statement to import the module. More modules will be installed over time. I'm currently working on installing the LLNL distribution, which includes Numeric Python.

Edit this entry / Log info / Last changed on Fri Jun 18 10:51:58 1999 by TAB


4.3. Is there revision control software, such as CVS, on the Starship?

Yes. We have CVS, version 1.10, installed.

XXX Do we need to do anything special to use it? There should perhaps be a second question about annonymous CVS web access.

Edit this entry / Log info / Last changed on Sun Jun 6 02:17:41 1999 by TAB


4.4. Can I use Mailman on the Starship to manage a mailing list for my Python project?

Mailman 1.0 is running on the Starship. You can use it to maintain a Python-related mailing list. Mail a request to the webmaster@starship.python.net group and they can help set it up.

Edit this entry / Log info / Last changed on Fri Aug 13 04:53:05 1999 by Jim Tittsler


4.5. Can I use CGI scripts in my web directory?

Yes. Use the file extension '.cgi' to indicate a CGI script.

If you use CGI, please keep security issues in mind. See, for example http://hoohoo.ncsa.uiuc.edu/cgi/security.html

Edit this entry / Log info / Last changed on Sun Jun 6 02:23:57 1999 by TAB


4.6. Show me an example of a Starship python CGI program

Here is an example of a simple python CGI script that can be run from the Starship:

    #!/usr/local/bin/python
    print "Content-type: text/html"
    print
    print "<PRE>"
    import os, sys
    print "<STRONG>Python %s</STRONG>" % sys.version
    print "<strong>%s</strong>" % os.environ.get('SERVER_SOFTWARE','')
    print
    keys = os.environ.keys()
    keys.sort()
    for k in keys:
        print "%s\t%s" % (k, os.environ[k])
    print "</PRE>"
To see it running, link to:

http://starship.python.net/crew/jbauer/faq/env.cgi

For non-Unix programmers, please note that you will have to put env.cgi somewhere in your public_html directory and make it executable.

  chmod a+x env.cgi

Edit this entry / Log info / Last changed on Sun Jun 6 08:55:21 1999 by Jeff Bauer


4.7. Can I use Zope on the Starship?

Yes. Zope is installed on the Starship for crew members to use.

See section 6 for more information about Zope and how to start using it on the Starship.

Edit this entry / Log info / Last changed on Fri Jun 11 21:29:04 1999 by TAB


5. Linux Information for the Crew


5.1. I've never used Unix. Where can I find Linux information?

First, learn the command 'man'. This command prints a "manual" of information about how to use a command. To find out how it works, type
    man man
For example,
    man -k keyword 
will find all of the commands that deal with keyword.

Here are some pointers to Linux documents to get you started in the right direction:

The Linux Users' Guide ( http://metalab.unc.edu/pub/Linux/docs/linux-doc-project/users-guide/ ) assumes that you have no prior Unix knowledge. It's probably a good place to start.

Edit this entry / Log info / Last changed on Sun Jun 6 03:06:39 1999 by TAB


5.2. How do I change my password?

When you login for the first time, you will be given a command prompt like this
    [user @starship user]$
Type
    passwd
You will be prompted for your old password before you can enter a new password. There are some restrictions imposed on the new password you enter, and your new password will be rejected if it is too simple. In this case, your password will not be changed.

Edit this entry / Log info / Last changed on Tue Jun 8 23:02:04 1999 by TAB


6. Crew webpages on the Starship: HTML, CGI, Apache, Zope


6.1. How do I set up a web page on the Starship?

There is a subdirectory called public_html in your home directory. Any files that you place under that directory become accessible via the World Wide Web. Note that when you set up your Starship account, you may have chosen a different name for your login name and your web directory. If your login name is pirx and your web directory name is wizard, then /home/crew/pirx/public_html is a symbolic link to /home/httpd/html/starship/crew/wizard. The file /home/crew/pirx/public_html/index.html would then be available via the web as http://starship.python.net/~pirx/index.html and as http://starship.python.net/crew/pirx/index.html. You may create subdirectories and files under the public_html directory just as you would in any of your other subdirectories. This is your space, but remember that anything underneath the public_html directory is available to the public.

Note that the webserver probably runs as user nobody (is this correct?); therefore, make sure your documents are world readable (chmod o+r filelist) and that your directories are world readable and executable (chmod o+rx directory). Since the umask is set to 002, these permissions should be correct by default. If you have trouble accessing a document via the web, it's good to check the permissions on the document.

Edit this entry / Log info / Last changed on Thu Jun 10 12:28:44 1999 by Robert Kern


6.2. What is HTML? How do I learn it?

HTML is the document mark-up language used to write Web pages. HTML defines a language of tags that are used to suggest to browsers how they should display the text from your document.

A good place to start learning HTMl is http://www.ncsa.uiuc.edu/General/Internet/WWW/HTMLPrimerAll.html It'll have your writing HTML pages in a few minutes.

Another good way to learn HTML is to look at other people's web pages. Most browsers have an option such as View->Page Source that permits you to view the raw HTML that corresponds to a web page.

Edit this entry / Log info / Last changed on Thu Jun 10 08:56:52 1999 by TAB


6.3. Can I/How do I use CGI scripts in my web pages?

You may use CGI scripts on your web pages.

If you've never used CGI before, then here's the basic procedure. Write a program (you'll probably want to use Python, right?). Make it world readable and executable (chmod o+rx file). Make sure the filename ends with a .cgi extension. Place the file somewhere in your web subdirectories.

When the document is accessed via the Web, Apache will run the program and display any ouput it writes to sys.stdout.

There are a number of places you can look to find more information about CGI programming using Python.

Aaron Waters, Guido van Rossum and James C. Ahlstrom have written a book entitled _Internet Programming With Python_ (M&T Books, 1996). You can find the authors' web page for the book here:

   http://starship.skyport.net/crew/aaron_watters/ipwp.html
Also, on the Python.org website we find the Web Programming Topic Guide. Some of it is about CGI programming:

   http://www.python.org/topics/web
Dave Mitchell has an FAQ wizard that focuses on CGI programming using Python:

   http://starship.skyport.net/crew/davem/cgifaq/faqw.cgi
Andrew Kuchling has a very brief (and sadly unfinished) intro here:

   http://starship.python.net/crew/amk/writing/old/cgi-intro.html
You can search the Python.org FAQ Wizard for CGI-related entries:

  http://grail.cnri.reston.va.us/cgi-bin/faqw.py?req=home
(Enter cgi in the text box and click search)

Edit this entry / Log info / Last changed on Fri Jun 11 00:11:36 1999 by Tom Funk


6.4. Can I/How do I use Zope for my Starship web pages?

We no longer run Zope on the Starship.

You can experiment with Zope at a number of sites, including http://www.zope.org/ and http://www.freezope.org/

Edit this entry / Log info / Last changed on Mon Mar 3 22:06:36 2003 by Jim Tittsler


6.5. What is Zope, and why would I want to use it?

Zope (http://www.zope.org) is a freely-available, Open Source web application platform, built around very cutting-edge Python.

Evan Simpson gave the following summary, which still doesn't cover all of the important aspects of Zope, on comp.lang.python:

"Zope has several parts, which work well together, but are all optional:

1. ZServer: A Medusa-based multi-threaded asynchronous server which accepts HTTP, FTP, and monitor (special Python client) connections. Usually, it passes requests from these connections to...

2. ZPublisher: An ORB which converts HTTP, FTP, XML-RPC, WebDAV, etc. requests into traversal of an object hierarchy and returns the result of rendering the target object. These objects are normally stored in...

3. ZODB: A versioning, transaction-based object store with automatic object persistence and conflict handling. ZODB stores an object hierarchy as a single file (2GB limit being worked on) and appends new versions of objects when their request transaction is comitted. This allows extensive undo, and requires occasional packing to eliminate old, unwanted versions. Most HTML is generated by standard Zope objects using...

4. DTML: An embedded language similar to ASP and PHP, except that expressions are written in Python and have access to the full power of the rest of Zope, including...

5. Acquisition: A feature of standard Zope objects which allows them to change their behavior automatically based on the context in which they are called. Hard to describe, but very powerful, as are...

6. Products: New objects or collections of objects can be added to Zope by simply installing a Python package in the Products subdirectory and resetting the server. Current Products include database adapters, threaded discussions, virtual host managers, and many others. Of course, if you don't want to learn Python you can always create...

7. ZClasses: Object classes defined through the web management interface by assembling standard Zope parts. These can provide a wide range of customized objects."

The creators of Zope (Digital Creations) have provided their very own FAQ. That FAQ is available here:

   http://www.zope.org/Information/QA
The Zope.org site is an example of a Zope application. Digital Creations "eats its own dog food**" by using Zope to publish and manage Zope.org.

The following page gives a more detailed overview of some of the features available in Zope. It barely scratches the surface of how powerful Zope really is:

  http://www.zope.org/Information/Features

** _Dynamics_of_Software_Development_. Jim McCarthy. MS Press. 1995. p. 125. (attributed to Microsoft's Steve Balmer)

Edit this entry / Log info / Last changed on Sat Nov 13 13:44:31 1999 by TAB


6.6. How do I make a picture show up on the Starship crew pages?

First, you'll need a "thumbnail" picture. It should be 40 pixels wide by 55 pixels tall. The picture must be accessible over the Internet. The easiest way to make sure that it is accessible is to upload it to your Starship web page subdirectory. (See Section 3 of the FAQ for info about accessing your Starship account.)

Then, modify your .starship_info file to contain the URL of the photo. Thus, if you are nemo, and you put your picture in /home/crew/nemo/public_html/Photos/ as the file me.png, your .starship_info file should have the line

  photo="/crew/nemo/Photos/me.png"

Edit this entry / Log info / Last changed on Fri Jan 21 22:38:39 2000 by TAB


Starship Python / Starship Python Crew FAQ Wizard 1.0.3 / Feedback to Tom Bryan
(times: user 0.16, sys 0.01, ch-user 0, ch-sys 0, real 0.19)