There are several ways to author web content at CSE. Several content management systems (CMS, or managed content) are in use that provide ease of use, expose a uniform look and feel, and require no software other than a web browser. Depending on your needs, a more traditional approach of html/php, etc may be more appropriate.

Tools available on most CSE WebServers:

  • Drupal
  • Wordpress
  • MediaWiki
  • php
  • perl
  • Python
  • Postgres/Mysql (depending on host)
  • Authentication

Where you host, depends on the nature of the content. Please use the guide below to help inform your request to support.

Research Projects/Groups

  1. Shared General Research Webserver.
    This is a standard LAMP server, which serves content from /cse/web/research/. Scripting languages are available here for you build custom sites or we can install a Wordpress / Media wiki site for you. Database accounts are available upon request. Lots of people host static and dynamic content here.
  2. Docker Host.
    For custom research applications that you may be working on, we have a docker host, which you can deploy your containers to via a CSE GitLab webhook. Please contact support if you're interested in this options. You can read through the auto-deploy README for more information. https://gitlab.cs.washington.edu/lab/docker-auto-deploy/blob/master/READ...

Instruction Needs

  1. Course-webs
    These are the standard course websites that get automatically generated each quarter. We are currently working on making a snazzy responsive template for you. Let us know if you'd like to Beta Test it for your course. It's in the Gitlab project here, and you can preview it here: https://www.cs.washington.edu/lab/simple-courseweb-template/
  2. Wordpress/Mediawiki sites for longer running instructional stuff or Course Staff coordination.
  3. You can find more detailed information about course webs at the Course Web FAQ

Personal/Community Focused

  1. homes.cs
    A place for you to you host a personal/professional site. As above, standard scripting languages are available. MySQL database is available upon request. Lab Managed wordpress installs are available upon request. A basic webroot is available to everyone automatically at:
    https://homes.cs.washington.edu/~[your csenetid].
    More information: http://homes.cs.washington.edu/FAQ.html
  2. other
    Sites that have nothing to do with either the academic or research programs, but are focused on the community aspects of CSE can be hosted as well. Examples are the CSE wiki and Breakfast.

Authentication

The UW and CSE have standardized on Shibboleth for Federated Web Single Sign on. This allows you to login to a web resource using either your CSE or UW credentials (depending on configuration). You can control access to web directories you control with a simple .htaccess file. The basic use cases are outlined below. For more cases not covered here, please contact support@cs.

The Basics

If you want to restrict content from public view, use the following, plus content from one of the blocks below.

#Activates the Authentication Plugin
AuthType Shibboleth
#Forces the use of a newer rules engine when running on Apache 2.2.  
#This directive will cause a server error when used on Apache 2.4    
ShibCompatWith24 on 
# Makes it a requirement 
ShibRequireSession on
Simple restriction

If you wanted to restrict access to people who can login, add:

NB: The below is valid for Apache 2.2 systems. For Apache 2.4 systems replace "user" below with "shib-user"

For CSE or UW logins:
Require valid-user
For CSE logins:
Require user ~ @cs.washington.edu$
For UW logins:
Require user ~ @washington.edu$ 
Multi-user restriction

If you wanted to restrict access to say yourself and a colleague you can simply list their fully qualified identifiers in the Require user directive:

Require user yourself@cs.washington.edu colleague@washington.edu
Group restrictions

You can restrict access to members of a specific CSE UNIX group with the following:

require shib-attr entitlement ~ .*?(mygroup1)  .*?(mygroup2) etc.

To leverage UW Groups via the UW Groups Service, please contact support@cs as backend coordination with UWIT is needed.

Misc

On most servers, the above permit users to log in with either UW or CSE credentials. To force them to use only one of these, place one of these directives ABOVE the require user/group directive.

Require CSE logon:
ShibRequestSetting entityID https://cas01.cs.washington.edu/idp/shibboleth
Require UW logon:
ShibRequestSetting entityID urn:mace:incommon:washington.edu

Okay, now what?

In order to start hosting your site with us please send an email to support@cs with the following information:
  1. Indicate what service you're interested in: (Research Docker, Personal Wordpress, etc)
  2. Indicate the site name you'd like: eg. FooBarProject.cs.washington.edu, Foo.com, etc.
    NB: ![cs.]washington.edu domains will require that you use a 3rd party registrar to register the domain and subsequently let UW-IT know so that we can get ssl certificates through InCommon: https://itconnect.uw.edu/connect/uw-networks/network-addresses/requestin...
  3. What group you're with and who should have access to the filesystem.
  4. Any authentication Needs

If don't see anything here that fits your needs, please drop us an email so we can discuss a custom solution.