Difference between revisions of "CcHost"

From Creative Commons
Jump to: navigation, search
(1st pass at 5.0 version)
Line 16: Line 16:
 
'''ccHost''' is Creative Commons' open source ([http://creativecommons.org/licenses/GPL/2.0/ GPL] licensed) media content management system project that powers [http://ccmixter.org ccMixter] and is the winner of the [http://creativecommons.org/weblog/entry/6026 Linux Journal LinuxWorldExpo Product Excellence Award] for '''Best Open Source Solution.''' Read more about ccHost [[#Zeitgeist|here]].
 
'''ccHost''' is Creative Commons' open source ([http://creativecommons.org/licenses/GPL/2.0/ GPL] licensed) media content management system project that powers [http://ccmixter.org ccMixter] and is the winner of the [http://creativecommons.org/weblog/entry/6026 Linux Journal LinuxWorldExpo Product Excellence Award] for '''Best Open Source Solution.''' Read more about ccHost [[#Zeitgeist|here]].
  
 
= 5.0 is Coming =
 
 
An early adopters release of 5.0 beta is [https://sourceforge.net/project/showfiles.php?group_id=80503&package_id=156675 available for download]. Please make sure to [http://sourceforge.net/project/shownotes.php?release_id=598397 see the README] file.
 
  
 
= Download =
 
= Download =
Line 27: Line 23:
 
=== Current Stable Release ===
 
=== Current Stable Release ===
  
Latest stable build of [https://sourceforge.net/project/showfiles.php?group_id=80503&package_id=156675 ccHost 4.5] is available in several common archiving formats (.zip, .tar.gz, .tar.bz2, etc.)
+
Latest stable build of [https://sourceforge.net/project/showfiles.php?group_id=80503&package_id=156675 ccHost 5.0] is available in ZIP archive format.
 
 
To install: Unpack the contents of the archive on your local machine and see ccadmin/INSTALL.
 
 
 
 
 
  
 
= Install =  
 
= Install =  
  
As stated above, all the information you need for installation is in the distribution package you downloaded. Treat these notes as addendums, hints and other possibly useful information.
+
== Simple  ==
 
 
=== Simple  ===
 
  
 
The easiest way to get going is to start with a web hosting server. Common web hosting services like [http://www.brainpulse.com BrainPulse] ,  [http://www.dreamhost.com/ Dreamhost] and [http://www.websitesource.com WebsiteSource] provide an administration interface for setting up 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 server requirements below and with your hosting service.
 
The easiest way to get going is to start with a web hosting server. Common web hosting services like [http://www.brainpulse.com BrainPulse] ,  [http://www.dreamhost.com/ Dreamhost] and [http://www.websitesource.com WebsiteSource] provide an administration interface for setting up 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 server requirements below and with your hosting service.
Line 44: Line 34:
 
#Browse to '''<nowiki>http://where_you_installed/ccadmin</nowiki>''' and follow all the instructions from then on.
 
#Browse to '''<nowiki>http://where_you_installed/ccadmin</nowiki>''' and follow all the instructions from then on.
  
=== Advanced ===
+
== Advanced ==
 
 
If you have basic knowledge of using FTP and you are comfortable at a terminal command line you can use these steps to before, during and after installation. Many of these can be filed under "you'll be glad you did" by the time you get to the browser-based installation steps later on.
 
 
 
==== Enabling 'Pretty URLs' ====
 
 
 
''As of ccHost 4.0: if you are installing ccHost into a clean directory on your web server without any previous ReWrite rules in your .htaccess file, then the installer will attempt to do what follows below automatically. ''
 
 
 
All ccHost commands and URLs based on query strings:
 
 
 
<nowiki>http://your_install_root/index.php?ccm=/media/people/victor</nowiki>
 
 
 
That same URL can be made 'pretty' on Apache installations so that it looks more like:
 
 
 
<nowiki>http://your_install_root/media/people/victor</nowiki>
 
 
 
Here is the block of code in your .htaccess file setting the rewrite rules to get pretty urls:
 
 
 
<pre>
 
RewriteEngine On
 
RewriteBase /
 
RewriteCond %{REQUEST_FILENAME} !-d
 
RewriteCond %{REQUEST_FILENAME} !-f
 
RewriteRule ^(.*)$ /index.php?ccm=/$1 [L,QSA]
 
</pre>
 
 
 
If you installed to a directory below the site's root make sure to specify that in the RewriteBase directive.
 
  
For perfomance reasons (and if you are given access) you should put those directives into an Apache virtual host block in the .conf file for your server:
+
If you have basic knowledge of using FTP and you are comfortable at a terminal command line you can use these steps. Many of these can be filed under "you'll be glad you did" by the time you get to the browser-based installation steps later on.
  
<pre>
+
=== getID3 ===
<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>
 
</pre>
 
 
 
==== getID3 ====
 
  
 
===== BUG WARNING =====
 
===== BUG WARNING =====
Line 97: Line 44:
 
<pre>case 'riff': // maybe not officially, but people do it anyway</pre>
 
<pre>case 'riff': // maybe not officially, but people do it anyway</pre>
  
===== Download/Install getID3 =====
+
==== Download/Install getID3 ====
 
ccHost depends on the getID3 library for verifying uploads. Install getID3 (at least 1.7.3) here: http://www.getid3.org/#download before you install ccHost. (It's a simple download-unpack operation.)
 
ccHost depends on the getID3 library for verifying uploads. Install getID3 (at least 1.7.3) here: http://www.getid3.org/#download before you install ccHost. (It's a simple download-unpack operation.)
  
Line 111: Line 58:
 
==== ccHost Terminal Installtion ====
 
==== ccHost Terminal Installtion ====
  
*Unzip the ccHost ZIP or tar. bz2 archive on your local system and copy the files (retaining the directory structure) to your web-server directory.  
+
* Unzip the ccHost ZIP archive on your local system and copy the files (retaining the directory structure) to your web-server directory.  
 
* On Linux change the group and permissions of the files so they may be written by the web server (e.g., in the following lines, the web-server account is "apache").
 
* On Linux change the group and permissions of the files so they may be written by the web server (e.g., in the following lines, the web-server account is "apache").
 
For example:
 
For example:
Line 132: Line 79:
 
chown apache:apache /var/log/cchost
 
chown apache:apache /var/log/cchost
 
</pre>
 
</pre>
 +
 +
==== Hacking Apache Conifg Files ====
 +
 +
There are several suggestions for mod_rewrite and configuration settings [[cchost/admin/apache/config|here]].
  
 
==== Finish with Install ====
 
==== Finish with Install ====
Line 137: Line 88:
 
Browse to <nowiki>http://where_you_installed_cchost/ccadmin</nowiki>  
 
Browse to <nowiki>http://where_you_installed_cchost/ccadmin</nowiki>  
  
Everything else you need to know will be on the screen from that point on, including suggested php.ini and .htaccess settings, access permissions requirements, etc.
+
Everything else you need to know will be on the screen from that point on, including topics covered above such as suggested php.ini and .htaccess settings, access permissions requirements, etc.
 
 
==== More .htaccess file settings ====
 
 
 
Put the following into a file named '.htaccess' in your root directory of a ccHost setup if you can't set your php.ini settings for your hosting setup. These settings should work, but should be tested first. They correct many memory problems people have with ccHost.
 
 
 
<pre>
 
# php configs http://www.php.net/manual/en/ini.core.php#ini.memory-limit
 
# http://www.php.net/manual/en/ini.php#ini.list
 
 
 
php_value max_input_time 200
 
php_value max_execution_time 200
 
php_value memory_limit 20M
 
php_value upload_max_filesize 20M
 
# next line fixes noncompliant & used in php
 
php_value arg_separator.output &amp;
 
php_flag session.use_trans_sid off
 
# turns off annoying autoquotes
 
php_flag magic_quotes_gpc off
 
 
 
Options +MultiViews
 
 
 
# Stop morons that are hammer your site
 
# Open Clip Art Library had someone DDoS'ing our site
 
<Limit GET>
 
order deny,allow
 
deny from 59.116.0.0/16
 
</Limit>
 
</pre>
 
  
 
=== Upgrading ===
 
=== Upgrading ===
'''Always''' make a backup of your mySQL ccHost database and the files you change (probably all of the ccfiles directory) before you start the upgrade process. Things go wrong. You have been warned.
+
'''Always''' make a backup of your mySQL ccHost database and the files you change before you start the upgrade process. Things go wrong. You have been warned.
  
==== Upgrading to 4.0 from 3.1 ====
+
==== Plugins ====
 +
It is recommended that you do '''not''' copy any plugins or custom code that have not been ported to ccHost 5 during the initial upgrade. You should get your site up and running without them using the standard upgrade first, then start migrating your plugins.
  
Please see the document in SVN or in the 4.0 release package that, when you uncompress the archive you downloaded, resides in CCHOST_ROOT/ccadmin/INSTALL.txt
+
==== Importing phpTAL Templates ====
  
==== Upgrading to 4.0 from Releases Previous to 3.1 ====
+
None of your previous version skins, pages, etc. work anymore as is. You can try to import your old phpTAL XML templates using:
  
ccHost 3.1 represents a significant change in how we handle
+
    bin/cc-host-import-v4-template.php
your customized files and paths. The main purpose of this
 
update is to ensure that updating in the future will be as
 
painless as possible. In other words, we have learned our
 
lessons and the hoop-jumping days of moving your custom
 
files around before an update will no longer be necessary...
 
after this update.  
 
  
During this update you'll create a directory structure that
+
Many imported templates (like your home page) might "just work" but many will need tweaking, assuming you are familiar with PHP.
will house all your custom and temporary files and then never
 
have to worry about it.
 
  
NOTE: As always, the first thing you should is make a backup of
+
==== Upgrading to 5.0 from 3.1 and Above ====
your MySQL database as well as your ccHost directory tree. See
 
our administor's guide on backing up if you need specific help
 
on how to do this:
 
  
http://mirrors.creativecommons.org/cchost/docs/cchost/tutorial_admin.backup.pkg.html
+
* Make a backup of your database.
 +
* Unzip the ccHost package on a local machine.
 +
* Copy the entire tree (including ccadmin) to your installation
 +
* Browse to <nowiki>http://<your_install_location</nowiki>
  
NOTE TO SVN and 3x DAILY BUILD USERS: If you are up to date
+
==== Upgrading to 5.0 from 3.0 or Before ====
with the current SVN code base and you have already used
 
Global Settings/Paths to customize your install then you can
 
just log in as administrator and skip down to Step 8 below.
 
  
Here are the steps for this update:
+
Upgrading to 5.0 simply hasn't been tried or tested. (If you have some experience, please feel to share with the rest of the class.) It is therefore not recommended except for the very strong willed.  
 
 
1. Make sure you logged in admin on your ccHost installation with the 'remember me' option CHECKED ON.
 
 
 
2. If you have a file called ccextras/cc-language.php delete that file now
 
 
 
3. Create a directory under your ccHost web root that looks like the figure below.  Make sure these directories are writable to PHP scripts. To ease the update you should make all these globally accessable (0777) for now. After the update you can rename and move these files around but the updater will look for this specific structure just to make the transition easier.
 
 
 
    - local_files
 
      |
 
      |- lib
 
      |
 
      |- skins
 
      |
 
      |- temp
 
      |
 
      |- viewfile
 
 
 
 
 
4. MOVE all custom modules (.php, .inc, etc) you installed into ccextras to local_files/lib (make sure to update any include() statements you might have to reflect the move)
 
 
 
5. COPY custom skins you installed in cctemplates to local_files/skins. Make sure to update any references to cctemplates, including implicit ones, (e.g. @import('skin-simple.css') becomes @import('../../cctemplates/skin-simple.css')) to reflect the move.
 
 
 
6. If you edited cctemplates/custom.xml COPY it to cctemplates/sidebar.xml
 
 
 
7. MOVE all custom files you installed or edited (e.g. home.xml) in ccfiles to local_files/viewfile. Make sure to update any references (e.g. <IMG src="" ) to reflect the move.
 
 
 
8. Unzip the ccHost 3.1 package on your local machine
 
 
 
9. Copy everything EXCEPT the ccadmin directory over your server's ccHost directory.
 
 
 
10. Browse to <nowiki>http://your_installation_root/?update=1</nowiki>
 
 
 
11. If you are using your own skin go to 'Manage Site/Settings' to tell ccHost to use the version in local_files/skins.After successfully reseting your skin settings you should remove the skin from cctemplates and never touch that directory again.
 
 
 
NOTE: Your skin may be 'trashed' during this process and your pages appear totally without styling. The site should continue to function however, you'll just be scrolling a lot more until you can reset the skin settings.
 
 
 
 
 
Again, this really is the very last time this will happen. The
 
new system of using admin configured paths for looking for files
 
means that you can scribble all you want in your directories, never
 
touch the cc* directories again and always have a simple install
 
from now on.
 
  
 +
Instead what you may want to consider (if you don't have a lot of content data) is start new with 5.0.
 
=== Troubleshooting ===
 
=== Troubleshooting ===
  
Line 259: Line 131:
 
From commandline and after having changed directory to your local cchost path, run bin/cc-host-fix-permissions.sh.
 
From commandline and after having changed directory to your local cchost path, run bin/cc-host-fix-permissions.sh.
  
==== "There is an error rendering this page" ====
 
 
The most common reason you get this error message on new installations is because your 'Cache Directory' (e.g. '''local_files/temp''') is not writable by ccHost. You should make sure this is not the case by setting that directory's permission to 0777 and trying again.
 
 
The second most common reason are template errors during development of skins and other user interface testing. If you haven't already [[#Outputting Debug Messages|turn on debug messages]] login as admin and try to render the page again.
 
 
'''NOTE''': Also, delete all files inside the cache directory if the problem persists. ccHost will regenerate these files.
 
 
==== "Down for upgrade, check back soon" ====
 
 
This is actually an indication that something is wrong in the code (i.e. a bug) or your installation. [[#Outputting Debug Messages|Turn on debug messages]] and try to access your site. The very least that will do is give ccHost developers the exact location of the problem. After you turn on debugging, look at your cc-errors.txt file and send that along to the developers so they can narrow down the issue for you.
 
  
 
==== Outputting Debug Messages ====
 
==== Outputting Debug Messages ====
  
In order to help ccHost developers troubleshoot your site you should enable debugging messages in your system. The easiest way to do this is to create a file called '''_DEBUG_.php''' with the following contents:
+
Debug messages are special messages that help ccHost developers troublshoot your site when there is a problem. The option to turn on debug message output is '''on''' by default in 5.0 installations and upgrades. The file that controls this option is <nowiki><your_local_files>/lib/DEBUG.php</nowiki>. You can remove this file (or changing the extension to something other than .php) will turn the option '''off''' for your production site.
  
<pre>
 
<?
 
  CCDebug::Enable(true);
 
?>
 
</pre>
 
 
and put that file into a directory in your 'Plugins Path' (e.g. '''local_files/lib''')
 
 
Now repeat the steps that led you to the problem and hopefully you will get more detailed information about the error.
 
 
Make sure to remove this file in your production installation. ''Hint: Changing the extension to anything other than .php is the same as removing it''
 
  
 
= Administration =
 
= Administration =
Line 291: Line 141:
 
So you've got your ccHost up and running. now what?
 
So you've got your ccHost up and running. now what?
  
Check out the new official [http://mirrors.creativecommons.org/cchost/docs/cchost/tutorial_admin.pkg.html ccHost Administrator's Guide].
+
Check out the new official [[cchost/admin|ccHost 5.0 Administrator's Guide].
  
This document is based on information gathered from admins who have installed ccHost.
 
 
It is brand new, not reviewed and (as of this writing) has ''tons'' of spelling and grammatical errors. However, there is a lot of hopefully useful information. Please give the team feedback and by all means become a contributing editor.
 
  
 
= Development =
 
= Development =
Line 322: Line 169:
  
 
* [http://mirrors.creativecommons.org/cchost/docs/ 4.x Online Code Documentation]
 
* [http://mirrors.creativecommons.org/cchost/docs/ 4.x Online Code Documentation]
 
=== Creating Skins ===
 
 
For administrators looking to customize the look of their sites you should read the [http://mirrors.creativecommons.org/cchost/docs/cchost/tutorial_admin.skins.pkg.html Admin's Skin Tutorial] which also includes a '''Skin Maker''' download tool.
 
 
For slightly more advanced usage see [[CcHost_Skins|How to create a skin for ccHost]]
 
  
 
=== People ===
 
=== People ===
Line 336: Line 177:
 
=== Communication ===
 
=== Communication ===
  
 +
The mailing list is the best way to get our attention. That and other methods are listed below:
 +
 +
* Mailing List: https://lists.sourceforge.net/mailman/listinfo/cctools-cchost
 
* Chat: #cc on irc.freenode.net
 
* Chat: #cc on irc.freenode.net
 
* Wiki: This page (http://wiki.creativecommons.org/wiki/CcHost)
 
* Wiki: This page (http://wiki.creativecommons.org/wiki/CcHost)
* Mailing List: https://lists.sourceforge.net/mailman/listinfo/cctools-cchost
 
 
** [http://sourceforge.net/mailarchive/forum.php?forum=cctools-cchost Archive]
 
** [http://sourceforge.net/mailarchive/forum.php?forum=cctools-cchost Archive]
  
Line 353: Line 196:
 
* [https://sourceforge.net/tracker/?atid=559966&group_id=80503&func=browse Report Bugs]
 
* [https://sourceforge.net/tracker/?atid=559966&group_id=80503&func=browse Report Bugs]
 
* [https://sourceforge.net/tracker/?group_id=80503&atid=559969 Request Features]
 
* [https://sourceforge.net/tracker/?group_id=80503&atid=559969 Request Features]
 
=== Roadmap ===
 
 
[[ccHost Roadmap|Contribute to the plan and help chart the course for the project]].
 
  
 
= Zeitgeist =
 
= Zeitgeist =
  
 
=== Goal ===
 
=== Goal ===
The goal of this project is to spread media content that is licensed under  
+
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.  
Creative Commons throughout the web in much the same way that weblogs spread  
 
CC licensed text.  
 
  
 
=== Short Description ===
 
=== Short Description ===
Line 386: Line 223:
  
 
''Please add your own sound bite...''
 
''Please add your own sound bite...''
 
==== [[ccHost Screenshots|Screenshots]] ====
 
 
* 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.
 
 
 
  
 
=== Usage Examples ===
 
=== Usage Examples ===
Line 408: Line 239:
 
* [http://creativecommons.org.tw/formoz ccMixter from CC Taiwan]
 
* [http://creativecommons.org.tw/formoz ccMixter from CC Taiwan]
 
* [http://www.overmundo.com.br/overmixter Overmixter - Brazil]
 
* [http://www.overmundo.com.br/overmixter Overmixter - Brazil]
* [http://www.iamacc.org/ Iamacc.org] Iamacc.org is a site I have dedicated to the Creative Commons.  It is free and open to anyone who shares their creativity to the world.
+
* [http://www.iamacc.org/ Iamacc.org]
* [http://www.enciclopediacecilia.org/musicast/ Remix Cecilia] at the Enciclopedia Cecilia project, a site related to music in the catholic church. ''Remix Cecilia'' specifically is to promote contemporary music.
+
* [http://www.enciclopediacecilia.org/musicast/ Remix Cecilia] at the Enciclopedia Cecilia project, music in the catholic church.
  
  
Line 418: Line 249:
 
=== Browsers ===
 
=== Browsers ===
  
Tested on: Firefox 1.0+ Mac/PC/Linux, IE 6+ PC, Safari Mac
+
Tested on: Firefox 1.0+ Mac/PC/Linux, IE 7+ PC, Safari Mac
  
 
Cookies must be enabled.
 
Cookies must be enabled.

Revision as of 18:07, 17 October 2008


NOTE: Oct. 16 2008: ccHost 5.0 is being released today and this page is going through edits throughout the day.



ccHost is Creative Commons' open source (GPL licensed) media content management system project that powers ccMixter and is the winner of the Linux Journal LinuxWorldExpo Product Excellence Award for Best Open Source Solution. Read more about ccHost here.


Download

Sign up for our RSS release feed to make sure you don't miss important bug fixes and feature updates.

Current Stable Release

Latest stable build of ccHost 5.0 is available in ZIP archive format.

Install

Simple

The easiest way to get going is to start with a web hosting server. Common web hosting services like BrainPulse , Dreamhost and WebsiteSource provide an administration interface for setting up 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 server requirements below and with your hosting service.

  1. Unzip the ccHost ZIP archive on your local system and copy the files to your server retaining the the directory structure.
  2. Browse to http://where_you_installed/ccadmin and follow all the instructions from then on.

Advanced

If you have basic knowledge of using FTP and you are comfortable at a terminal command line you can use these steps. Many of these can be filed under "you'll be glad you did" by the time you get to the browser-based installation steps later on.

getID3

BUG WARNING

Later versions of getID3 (starting with 1.7.7) have an issue with RIFF based files (WAV, AVI, etc.) when tagging them and require a manual patch in order to work properly. Remove line #105 in getID3/write.php that looks like:

case 'riff': // maybe not officially, but people do it anyway

Download/Install getID3

ccHost depends on the getID3 library for verifying uploads. Install getID3 (at least 1.7.3) here: http://www.getid3.org/#download before you install ccHost. (It's a simple download-unpack operation.)

For example (on Linux):

tar xzf getid3.tar.gz
cp -a getid3/getid3 /var/www/localhost/htdocs/getid3/

The ccHost installer will 'find' your getID3 installation if it's roughly in the same area of the server, however it is not required that your getID3 be visible on the web and in fact, it's probably more secure if it isn't.

ccHost Terminal Installtion

  • Unzip the ccHost ZIP archive on your local system and copy the files (retaining the directory structure) to your web-server directory.
  • On Linux change the group and permissions of the files so they may be written by the web server (e.g., in the following lines, the web-server account is "apache").

For example:

cp -a cchost-1.0.3 /var/www/localhost/htdocs/cchost
chgrp -R apache /var/www/localhost/htdocs/cchost
chmod g+w /var/www/localhost/htdocs/cchost/
  • Create a new database for ccHost (e.g., named "cchost") and create an administrative user to access it (e.g., "cchostadmin"). For example:
mysql -p -u root
mysql> CREATE DATABASE cchost;
mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,ALTER ON cchost.* TO 'cchostadmin'@'localhost' IDENTIFIED BY 'YOUR_PASSWORD_HERE';

Make sure to change 'YOUR_PASSWORD_HERE' (and maybe 'cchostadmin') to something unique to your site. (Many systems provide phpMyAdmin to take care of these tasks.

  • Create directory /var/log/cchost or other location to store log files. Must be writable by the web-server account (e.g., "apache"). For example:
mkdir /var/log/cchost
chown apache:apache /var/log/cchost

Hacking Apache Conifg Files

There are several suggestions for mod_rewrite and configuration settings here.

Finish with Install

Browse to http://where_you_installed_cchost/ccadmin

Everything else you need to know will be on the screen from that point on, including topics covered above such as suggested php.ini and .htaccess settings, access permissions requirements, etc.

Upgrading

Always make a backup of your mySQL ccHost database and the files you change before you start the upgrade process. Things go wrong. You have been warned.

Plugins

It is recommended that you do not copy any plugins or custom code that have not been ported to ccHost 5 during the initial upgrade. You should get your site up and running without them using the standard upgrade first, then start migrating your plugins.

Importing phpTAL Templates

None of your previous version skins, pages, etc. work anymore as is. You can try to import your old phpTAL XML templates using:

    bin/cc-host-import-v4-template.php 

Many imported templates (like your home page) might "just work" but many will need tweaking, assuming you are familiar with PHP.

Upgrading to 5.0 from 3.1 and Above

  • Make a backup of your database.
  • Unzip the ccHost package on a local machine.
  • Copy the entire tree (including ccadmin) to your installation
  • Browse to http://<your_install_location

Upgrading to 5.0 from 3.0 or Before

Upgrading to 5.0 simply hasn't been tried or tested. (If you have some experience, please feel to share with the rest of the class.) It is therefore not recommended except for the very strong willed.

Instead what you may want to consider (if you don't have a lot of content data) is start new with 5.0.

Troubleshooting

Known Issues

Please consult our bug tracker for the latest list of unresolved issues.

File Access

By far the most common issue with new installs on Unix based systems involves file access permissions. The recommended way of dealing with this is to set the entire ccHost directory structure as all-access (0777) just while you get things going. If everything else is working then you should follow the ccHost file access guildlines.

Alternative: *nix-based systems

From commandline and after having changed directory to your local cchost path, run bin/cc-host-fix-permissions.sh.


Outputting Debug Messages

Debug messages are special messages that help ccHost developers troublshoot your site when there is a problem. The option to turn on debug message output is on by default in 5.0 installations and upgrades. The file that controls this option is <your_local_files>/lib/DEBUG.php. You can remove this file (or changing the extension to something other than .php) will turn the option off for your production site.


Administration

So you've got your ccHost up and running. now what?

Check out the new official [[cchost/admin|ccHost 5.0 Administrator's Guide].


Development

Preparing for ccHost 5.0

ccHost 5.0 is currently in development and skin developers should be aware of preparations you need to make. Read more here

Source Code & Documentation


  • How to Check Out Code -- Specifically for ccHost:
    • Log in as administrator on your ccHost installation
    • Then do your svn update
    • Browse to http://your_installation?update=1

NOTE:

The source for ccHost has moved from SourceForge. For existing clients: you must perform the svn 'relocate' command to switch over. To do this, change directory to the root of your ccHost svn project, then perform the following command:


 svn switch --relocate https://cctools.svn.sourceforge.net/svnroot/cctools http://code.creativecommons.org/svnroot


People

Communication

The mailing list is the best way to get our attention. That and other methods are listed below:

Submitting Code

Before going too far down this road you definitely want to hop on the dev mailing list. If you are shy ask to speak with Victor or Jon in private.

Submit Patches

Bugs 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).

Zeitgeist

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.

Short Description

"Web-based System Supporting Remixing and Collaboration on Media"


Slightly Longer Description

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 the codebase used by ccMixter and other sites.

Besides its focus on sharing content, ccHost differentiates itself from other multi-media hosting programs by emphasizing the reuse (a.k.a. remixing) of content between artists, not only between artists on any given installation of ccHost, but between all installations across the web and any web site that implements the Creative Commons Sample Pool API, including non-ccHost sites such as the freesound project.

Press

Release Notes

Press Releases

Sound Bites

  • "ccHost enables you to 'run your own flickr or youtube while having an infrastructure for legally sharing audio, video, text, and other media." Jon Phillips 22:50, 25 August 2006 (UTC)

Please add your own sound bite...

Usage Examples



Appendix A: Compatibility

Browsers

Tested on: Firefox 1.0+ Mac/PC/Linux, IE 7+ PC, Safari Mac

Cookies must be enabled.

Most skins (the ones people will want to use) require Javascript enabled.

Servers

Primary development is done on Windows XP and up-to-date Linux development systems using Apache, mySQL, and PHP.

Linux

ccHost on Apache (2.0.49 up to at least apache-2.0.55-r1) on Linux,

One should be able to easily install mySQL, PHP, and Apache (if they are not already available) through their distributions packaging system.

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.

Even if you using Apache on Windows you may need to have IIS installed if you plan to use mail contact functions.

Windows Apache

There are many good tutorials for setting up a Windows/Apache/MySQL/PHP site (Google search) and all three subsystems now come with Windows installers making the job of installing relatively straightforward.

XAMPP

Windows installations without Apache, mySQL and PHP already installed should consider using XAMPP for Windows, which provides an easy install of Apache web server, MySQL database server, and PHP and perl programming languages. This is an easy way to get up and running, with the underlying technology 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.

Mac OS X

NOTE: This setup is similar to Linux.

Verified:

  • OS X 10.4.6
  • default OS X MySQL build, 4.0.26
  • GetID3 1.7.7
  • default Apache/PHP

Appendix B: Redistribution

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 post CVS -> SVN migration. In the future, this is the proper way to tag and branch.

svn copy https://cctools.svn.sourceforge.net/svnroot/cctools/cchost/trunk \
https://cctools.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