Menu

Project Web Services

Project Web

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

  • Host static HTML content about your project.

  • Run a Content Management System (CMS) or another dynamic website with content about your project.

  • Deploy third-party Open Source web applications to support the needs of your project team.

  • 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.

PHP Version and .io Domain

Projects' web space is a subdomain under .sourceforge.io and uses PHP 8.2.

Further upgrades to PHP will occur going forward too.

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. Here’s an sftp example, change “jsmith” to your username and “fooproject” to your project's short name:

$ sftp jsmith@web.sourceforge.net
Connecting to web.sourceforge.net...
The authenticity of host 'web.sourceforge.net (216.34.181.70)' can't be established.
RSA key fingerprint is b0:a8:eb:30:ce:1a:0e:6a:4d:7a:6b:3a:0a:c6:27:60.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'web.sourceforge.net,216.34.181.70' (RSA) to the list of known hosts.
jsmith@web.sourceforge.net's password:
sftp> cd /home/project-web/fooproject/htdocs
sftp> put index.html
Uploading index.html to /home/project-web/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: Your Login Name (User Name) (e.g. jsmith)
Password: Your Login Password
Upload path: /home/project-web/fooproject/htdocs (replace "fooproject" with your project shortname)

Note: via SFTP, the /home/project-web/ directory will appear empty, however, if you navigate directly to the /home/project-web/fooproject/ directory, you will be able to access your project web files.

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 7.x Linux, running Apache 2.4.x.

  • Support for many programming languages, including PHP (via mod_php), and via cgi-bin: Perl, Python, Tcl (tclsh), 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.io 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.

  • Service usage is not restricted by quotas.

Management

  • Project web service is an “always-on” service; no opt-in is necessary. To use project web, simply upload new content or scripts to your project web space.

  • Uploads may be performed using SFTP, 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, it will redirect to your project’s summary page on SourceForge.

Re-directing to Another Site

Many projects simply want their developer web page to point to their own site hosted elsewhere.

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

<?php
/* Redirect browser */
header("Location: http://example.com");
/* Make sure that code below does not get executed when we redirect. */
exit;
?>

Place this in the directory as file named index.php

Managing Cache for Immediate File Updates

We use a one-hour caching layer to improve performance by minimizing the amount of times resources are fetched. You can get around the cache and view updates to any file type right away by adding a unique URL parameter, like filename.ext?123, to the file name.

Alternatively, you can override caching settings using a .htaccess file with the appropriate directives for different file types. To prevent caching for a specific type of file, you can use:

ExpiresByType type/mimetype "access plus 0 seconds"

Example to override caching of css files:

ExpiresByType text/css "access plus 0 seconds"

Or if you want to set it for all types of files use:

ExpiresDefault "access plus 0 seconds"

To guarantee that the directive is applied, upload the .htaccess file before the resource file. Note that you will lose out on the performance advantages that the caching layer provides if you disable caching in this way.

Special Filesystem Permissions

The filesystem for your project-web files has special handling of permissions, which makes it easy for multiple users to cooperate when updating the project’s files without having to worry about file ownership issues that used to restrict and/or hamper file changes. For full details, see Project Web Filesystem Permissions. That page also explains how to make your files writable with your own web apps on the project-web servers.

Access

At SourceForge.net, each project is provided the PROJECT.sourceforge.io (or possibly .net) subdomain, where “PROJECT” is your project’s UNIX name.

For example, the project website for the “gparted” project may be seen at: https://gparted.sourceforge.io/

Custom VHOSTs

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

Troubleshooting

To troubleshoot errors on your website, it is sometimes useful to turn on the display of errors to the browser. For instance, to see most run-time PHP errors temporarily place ini_set('display_errors', 1); into the PHP code (and remove it when you’re done debugging).

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:

  • Emailing and outbound network connections are not permitted

  • 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 consider 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.

Changes as of March 2024

  • All project websites updated to PHP 8.2

Changes as of December 2023

  • PHP 8.2 available

Changes as of November 2023

  • MariaDB upgraded to 10.6

Changes as of August 2023

  • PHP 5.4 service upgraded to PHP 7.4

Changes as of February 2023

  • PHP 7.4 replaces PHP 7.1

Changes as of January 2023

  • PHP 7.4 available

Changes as of September 2022

  • PROJECT.sourceforge.net domains support HTTPS

Changes as of October 2018

  • PROJECT.sourceforge.io domains now get PHP 7.1

Changes as of July 2018

Changes as of February 2018

  • Upgraded to CentOS 7

  • Upgraded to PHP 5.4

Changes as of November 2016

  • New projects will by default use HTTPS for their project web (https://PROJECT_NAME.sourceforge.io)

  • Current projects have the ability the change their project web from HTTP to HTTPS.


Related

Documentation: Custom VHOSTs
Documentation: Developer Web Services
Documentation: Project Database
Documentation: Project Web Filesystem Permissions
Documentation: Shell Service
Documentation: Table of Contents - SourceForge.net Documentation