Project Web Services

Project Web

The SourceForge.net project web service provides a robust web server platform which can be used to:

  • Host static HTML content about your project.
  • Run a Content Management System (CMS) or other dynamic website with content about your project.
  • Deploy third-party Open Source web applications to support the needs of your project team. (We also provide a number of popular Open Source web applications for your immediate use through our Hosted Apps offering.)
  • For those projects implementing web applications, give you a platform to run a demo for your users, or for your development team to perform testing.

Quick Start Guide for Project Web

What's that you say, you want to just get to it? Use one of our supported protocols like SFTP, SCP, or rsync to upload your files:

[jsmith@linux ~]$ sftp jsmith,fooproject@web.sourceforge.net
Connecting to web.sourceforge.net...
The authenticity of host 'web.sourceforge.net (216.34.181.57)' can't be established.
RSA key fingerprint is 68:b3:26:02:a0:07:e4:78:d4:ec:7f:2f:6a:4d:32:c5.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'web.sourceforge.net,216.34.181.57' (RSA) to the list of known hosts.
jsmith,fooproject@web.sourceforge.net's password:
sftp> cd htdocs
sftp> put index.html
Uploading index.html to /home/groups/f/fo/fooproject/htdocs/index.html
index.html                                                                                       100%  241     0.2KB/s   00:01
sftp> exit
The key to this process is authenticating.

Connection Settings

If using a GUI SFTP client (such as Filezilla) to upload to Project web, the following settings should be used:

Setting Value
Host web.sourceforge.net
Protocol SFTP
Port 22
Username username,project_UNIX_name (eg. jsmith,fooproject)
Password <your_sourceforge_password>
Upload path /home/groups/f/fo/fooproject/htdocs

Features

Our project web servers frequently handle more than 50M hits per day; we handle server scaling, load balancing, and performance tuning.
The project web platform has been standardized on CentOS 5.x Linux, running Apache 2.2.x.
Support for many programming languages, including PHP (via mod_php), Perl, Python, Tcl, Ruby, and shell scripts.
Support for several database platforms is provided, including MySQL (through our Project Database service), DBM, and SQLite.
Project web content may be uploaded using our File management service or be managed directly using our Shell service.
Each project is allocated the UNIXNAME.sourceforge.net VHOST (virtual host), which is used to serve their project web content.
Our servers will answer traffic for a domain you register, when configured as a custom VHOST.
Common web server features are provided, such as mod_rewrite, Server-Side Includes (SSI), HTTP Basic Auth, and custom error handler support.
Page views are counted in the statistics system based on display of a project-specific SourceForge.net logo.
Additional web analytics are available using Piwik, part of our Hosted Apps offering.
Service usage is not restricted by quotas.

Management

Project web service is an "always-on" service; no opt-in is necessary. To begin using project web, simply upload new content or scripts to your project web space.

Uploads may be performed using our File management service, or you may choose to manage your files directly over a SSH session to our interactive shell service.

Until you upload an index page to your project web space, a default index page will be shown, containing details about your project:

Re-directing to Hosted Apps

Many projects simply want their project web page to point to one of their preferred Hosted Apps like MediaWiki, Trac, or Wordpress.

This is allowed and may be achieved via an HTML redirect or a PHP redirect. An example for PHP:

<?php
 /* Redirect browser */
 header("Location: https://sourceforge.net/apps/mediawiki/fooproject/index.php?title=Main_Page");

 /* Make sure that code below does not get executed when we redirect. */
 exit;
?>

Place this in the directory as file name index.php and set the URL to be the URL of the Hosted App desired to be the main page for your project.

Access

Virtual hosts (VHOSTs) are a way of serving many websites from a single pool of servers. At SourceForge.net, each project is provided the UNIXNAME.sourceforge.net (replace UNIXNAME with the your project's UNIX name) VHOST. You may access your project web site via web browser at: http://UNIXNAME.sourceforge.net

For example, the project web site for the "leaf" project may be seen at: http://leaf.sourceforge.net

Troubleshooting

Users may find data to help trouble shoot their project web space by looking over the Apache log files.

Users may copy one or more error.log.web-NUM.gz files from /home/persistent/e/er/error_logs.

Custom VHOSTs

Project web sites may additionally be served using a domain you register. Our servers will route this traffic to your project web site when configured through our Custom VHOST service.

For example, the phpMyAdmin project on SourceForge.net has a project web site which can be accessed at http://phpmyadmin.sourceforge.net or http://www.phpmyadmin.net

Backups

SourceForge.net performs routine backups for all of our servers and will restore from these backups in the event of catastrophic server failure. We encourage projects to make their own backups of project web data as that data restore can be performed by the project in the event of accidental data destruction by a member of the project team.

Backups of project web data may be made using the File management service.

Service-specific restrictions

Our policies require the following when using the project web service, in addition to the requirements of our

Terms of Use:

We encourage all projects to display the SourceForge.net logo we provide for statistics tracking (sflogo) to highlight that the site is hosted on SourceForge.net.
Content and applications in project web space must be related to the project. For hosting of personal content, please instead use our developer web service.
We ask that all projects give consideration to resource usage, particularly since our servers are shared among many projects. Our servers may not be used for bandwidth intensive or CPU-intensive (e.g. SETI or brute force cryptography cracking) things. Similarly, project web may not be used to host services, such as MMORPG games or whole-Internet search engines.