Zephir

This page is for instructors and students using, planning on using or considering using Zephir.

What is Zephir?

Zephir is the unix server used for classes that have needs beyond the normal student web server. Here are some things that Zephir does that Edison, the normal student web server does not:

Edison, the normal student web server can do quite a lot, so you don't need Zephir if all you need is:

We are also happy to add new features to Zephir, so if you wanted to teach a class on something not mentioned above, please make a NEED request and we'll look into it.

In general, people use Zephir when they teach classes involving web development and databases.

Spelling

I named Zephir after a character from the Babar books. It's French and spelled with an i not a y. It wasn't until I set up this server that I realised the English word zephyr is spelled differently... D'oh! Anyway, I've set up a DNS CNAME for zephyr.seattlecentral.edu, so that should work in most cases, but it won't work in all cases.


Accounts

How Accounts are Created

If you are an instructor, I will set up your account myself by hand. If you're not teaching a Zephir class and you want to poke around, that's fine too. Make a NEED request and I'll set it up.

If you are a student you must be enrolled in a class taught using Zephir and you must have paid your fees. You cannot have a Zephir account if you do not have a student network account. Zephir automatically creates accounts for students once all the correct data has filtered through the district databases. This may take a day or two.

If you cannot log into Zephir during the quarter of your Zephir class, visit the student lab in BE 3148 and ask the staff to make a report, or alternatively ask your instructor to call NEED.

Username and Password

If you are an instructor, I will have emailed you your username and password.

If you are a student, your username and password are the same as for all other student network services (O drive, web page etc...). To find your username go to the student accounts page. Your password is the last 6 digits of your SID#.


Database

If your class includes MySQL databases, you will also have a MySQL account. Your MySQL username is the same as your Zephir system username. You will need to set a password before you can access MySQL. To set your password, go to:

https://zephir.seattlecentral.edu/mysql

Be aware, the SSL certificate on Zephir is not officially signed, so your browser will probably complain. 1

You also get a database with the same name as your username. You will have authority to create tables, etc.. in that database.

The databases on Zephir are only accessible from Zephir, so you need to connect to it from your web scripts or from the command line client on Zephir. There is no remote access directly to the MySQL server, so you cannot use Windows MySQL clients.

So, just to sum up with an example, if you're jdoe0001, you will have a Zephir SSH account called jdoe0001, a MySQL user account called jdoe0001, and a MySQL DB which you can use called jdoe0001. Your SSH password is the last 6 digits of your SID, and your MySQL password is something you set yourself at https://zephir.seattlecentral.edu/mysql (again, the SSL cert isn't signed, so expect your browser to grumble). So, if you're jdoe0001 and you want to use the MySQL command line client, you would first log onto Zephir over SSH, then:

$ mysql -u jdoe0001 -p jdoe0001


CGIWrap

All web scripts at SCCC run through something called CGIWrap. In most cases, you wouldn't need to know about cgiwrap, but there are a few subtle differences that you may want to know about.

Under normal circumstances, CGI and other web scripts run as the same user as the web server. With CGIWrap they run as the user who owns the script file. This means your scripts can read and write to different files than you might expect.

The Apache web server also has a tool called suexec, which does a similar thing. If you're familiar with suexec, just think of CGIWrap as the same thing.

PHP

While often not considered a CGI, PHP at SCCC is run as a CGI and through CGIWrap. We do some server magic to make it transparent to the user. Importantly, sessions will not work in the default way. I have an older document here that discusses PHP at SCCC.

Benefits

Under a normal non-CGIWrap web servers, you need to make your files readable by everyone and any files you want your script to be able to write to have to be world-writable. This is terrible for security. With CGIWrap, you can make files readable by the file owner only and it will work. This is especially important with files that contain secret information, like database passwords.


Debugging on Zephir

There are a number of helpful customizations on Zephir that should make it easier to debug your projects.

The first, is custom 404/403 handlers. These endeavour to not only tell you that a page cannot be found or that the request is forbidden, but also try to tell you why. So, if you don't have an index file in your directory, you normally get an unhelpful permission denied message, but with our custom 404/403 handler, you should get a message telling you that your real problem is a missing index file.

Next, I have an error log filter which you can view at http://zephir.seattlecentral.edu/errlog. This filters the error log to only show errors where the web browser that encountered the error was on the computer you are currently at. This is usually what you want.

Finally, if the filtered log isn't enough, you can view the complete error log at: http://zephir.seattlecentral.edu/rawerr This is huge, so be ready to wait a while and use your browser's search tools.


Asking for Features

If you want something like a PHP extension or library, please call NEED. It usually takes me 2 minutes to add a PHP extension, or a perl library or a python library. So don't be shy.

If you want something more invasive, like a Ruby on Rails environment, or you really want to use PostgreSQL, make sure you start the conversation at least a quarter in advance. As always, you start that conversation by calling NEED.

I think unix is cool, and I want you to teach it to as many students as you can, so I want you to like it and I want to make it work for you.


CategoryDocs

  1. "Zephir's SSL Cert's SHA1 fingerprint is E4:9D:AC:B7:E9:E1:CF:34:C0:C6:38:0F:6C:A5:67:72:8B:FC:6F:55, but you can't really trust this web page any more than you can trust Zephir's SSL cert" (1)

Zephir (last edited 2009-08-04 03:02:43 by dmartin)