CcHost
ccHost is an open source (GPL licensed) project that provides web-based infrastructure to support collaboration, sharing, and storage of multi-media using the Creative Commons licenses and metadata. It is used by ccMixter and other sites.
Contents
- 1 Information
- 2 Usage Examples
- 3 Installation
- 4 Development
- 5 People
- 6 History
- 7 Research
Information
Short Description
"Web-based System Supporting Remixing and Collaboration on Media"
Goal
The goal of this project is to spread media content that is licensed under Creative Commons throughout the web in much the same way that weblogs spread CC licensed text. ccHost is web-based infrastructure that may be used to host and allow for commenting, remixing, and distribution globally. The more installations of ccHost and its variations, the more content there will be available for enjoyment and artistic re-use in a sane and legal setting. ccHost is what is used for the infamous Creative Commons CC Mixter project which supports legal media sharing and remixing. For more information, contact Jon Phillips at jon@creativecommons.org.
Frequently Asked Questions (FAQ)
Releases and Downloads
Current Version is 2.0.1
ccHost files on Source Forge
Press Releases
Experimental Thrice-Daily Builds
Currently, cchost packages are being made three-times a day and are available here: http://mirrors.creativecommons.org/cchost/packages/
Download, install and use these packages at your own risk.
Only 30 days worth of builds are saved currently.
SVN (Source Code Repository)
- HOWTO use this project's Subversion (SVG) - use module 'cchost'
- Browsable Anonymous SVN
- Help with cctools SVN setup
HOWTO Tag a Release
Really, each major release needs to be tagged, but this 2.0.1 is the first SVN release, and we did it pots CVS -> SVN migration. In the future, this is the proper way to tag and branch.
svn copy https://svn.sourceforge.net/svnroot/cctools/cchost/trunk \ https://svn.sourceforge.net/svnroot/cctools/cchost/tags/2_0_1 \ -m "Tagging 2.0.1 bugfix release"
Here is more about SVN merging/branching.
Packaging
Sign Package
You should do this for all packages (RPM, tar.gz, zip, tar.bz2, etc)
gpg --detach-sign --armor cchost-VERSION.tar.gz
Verify Package
gpg --verify cchost-VERSION.tar.gz.asc
Communication
- Chat: #cc on irc.freenode.net
- Wiki: This page (http://wiki.creativecommons.org/wiki/CcHost)
- Mailing List: https://lists.sourceforge.net/mailman/listinfo/cctools-cchost
Bugs, Patches and Feature Requests
Make sure to use the 'ccHost' category when filing bugs. Also, please use a real email so that we can followup on any bugs posted. Be descriptive when posting and commenting on bugs (every bit counts).
Support
Browsers
- Tested on: Firefox 1.0+ Mac/PC/Linux, IE 6+ PC, Safari Mac
- Javascript, XHTML 1.0+, CSS 2
Usage Examples
- ccMixter - Primary usage of ccHost is the Creative Commons remix site, ccMixter.
- Open Source Cinema
- Matrix Rayne Online
- remix.linux
- ccmixter South Africa
- fourstones.net Victor's personal website
- Open Clip Art Library ccHost in testing
- TeacherHost - for Instructors to share instructional materials.
- Please add your installation here.
Installation
General Requirements
Common Wed Hosting Services
Common web hosting services like Dreamhost and WebsiteSource provide an administration interface from which to setup a mysql database. Hosting services also provide some FTP or SFTP mechanism to upload the cchost installation files as well. 99% of all services provide support for PHP as well. If you have questions about support in this area, check the requirements below and with your hosting service.
Windows
XAMPP
It is encouraged to download XAMPP for Windows which provides an easy install of apache web server, mysql database, php and perl programming languages. This is the easiest way to get up and running, as this system replicates the standard Open Source (and Linux) setup of a time-tested server, Apache, along with the required mysql database and php programming language, all necessary to use ccHost.
Follow the instructions for installation of XAMPP to know where to put the uncompressed cchost package to properly work with your local setup.
Windows IIS Server
Windows users with their installation disks may install optionally the Windows IIS Web Server. This option has been tested. However, there might still be issues with it, and if so, please file a bug.
Linux
Primary development is done on up-to-date Linux development systems using apache, mysql, and php. One should be able to easily install mysql, php, and apache (if they are not already available) through their distributions packaging system.
Installation Steps
The exact steps required to install ccHost depends on your web hosting environment.
- Set up a MySQL database on your server
- For a shared host environment (such as http://dreamhost.com) before you can install ccHost you need use your hoster's control panel to create a MySQL database. Note the name you give it, it's server location, the MySQL username and password.
- If you have root access to mysql (this is rare) you can use the command line mysql to create the database, the user and password.
- Uncompress the ccHost package on your local machine (this might be a .zip, .tar.gz, .tar.bz2, or rpm)
- Copy the files to your web server
- Typically people do this using an ftp tool
- You must retain the exact directory structure when you do this
- Many hosting providers also have a file upload interface, but this usually takes very long to upload all files and folders.
- Point your browser at http://where_you_installed_cchost/ccadmin
Everything else you need to know will be on the screen from that point on, including any extra downloads (getid3), suggested php.ini and .htaccess settings, access permissions requirements, etc.
Requirements
- PHP 4 (PHP 5 works if you sync to latest code)
- MySQL 4 (MySQL 5 works if you sync to latest code)
- GetID3
- Install the GetID3 (1.7.3) library from here: http://www.getid3.org/#download before you install ccHost. (It's a simple download-unpack operation.)
- Cookies enabled in one's browser.
- Platforms: This system has been tested on Apache 1 and 2 Windows and Linux. It also works with IIS on Windows. If you receive an error about DOCUMENT_ROOT, ignore it. IIS doesn't use DOCUMENT_ROOT, and ccHost doesn't seem to mind. If you have tested ccHost on System X or any other platform, please register as a ccDeveloper and update this page! Thanks. =)
- Apache 2.0.49 up to at least apache-2.0.55-r1 works with cchost 2.0.1
- Optional: Here is the block of code in the Apache virtual host for setting the rewrite rules to get pretty urls:
<VirtualHost *:80> ServerName ccmixter.localhost ServerPath /ccmixter #DocumentRoot /var/www/localhost/htdocs/cchost DocumentRoot /home/rejon/Documents/freelance/creativecommons/src/ccmixter <Directory "/home/rejon/Documents/freelance/creativecommons/src/ccmixter"> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ /index.php?ccm=/$1 [L,QSA] </Directory> </VirtualHost>
MySQL commands for Setting up DB
- install root mysql user:
- mysqladmin -u root password 'PASSWORD_HERE'
- once logged into mysql:
- create database cchost;
- to create a new user once inside mysql with access to a table cchost:
- grant all on cchost.* to jsmith@localhost identified by 'Secret15';
Notes
- Installing the CCHost software involves downloading the source files from sourceforge, and running a simple installation script. Permissions will need to be set on several folders, namely cclib/phptal/phptal_cache.
- The text for the front page can be changed by editing ccfiles/home.xml. The other menu functions and so on are generally modified using the admin functions of the site.
Development
Documentation
- PHPDOC Documentation of PHP Code
- Victor's Developers Guide Coming Soon!
Roadmap
Release Procedure
Community Building
Testing and Debugging
Sample Pools
People
History
Research
- Possible solution for forms and other enhancements - http://www.gamingheadlines.co.uk/wod/formstyle/