Difference between revisions of "CcHost"

From Creative Commons
Jump to: navigation, search
(Source Code & Documentation)
(update source repo link)
 
(54 intermediate revisions by 26 users not shown)
Line 7: Line 7:
 
{{lowercase}}
 
{{lowercase}}
  
'''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) [http://en.wikipedia.org/wiki/Content_management_system 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]].
  
 
= Download =
 
= Download =
Line 14: Line 14:
  
 
=== Current Stable Release ===
 
=== Current Stable Release ===
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.
+
Latest stable build of [https://sourceforge.net/projects/cctools/files/ccHost/ ccHost 5.1] is available in ZIP archive format.
  
= Install =  
+
=== Source Repository ===
== 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.
 
  
#Unzip the ccHost ZIP archive on your local system and copy the files to your server retaining the the directory structure.
+
https://github.com/cc-archive/cchost
#Browse to '''<nowiki>http://where_you_installed</nowiki>''' and follow all the instructions from then on.
 
  
== Advanced ==
+
For much more developer info, see [[Cchost/Developers]].
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.
 
  
=== Download/Install getID3 ===
+
= Documentation =
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):
+
[[cchost/Documentation|ccHost 5 Documentation]]
  
<pre>
+
=Communication=
tar xzf getid3.tar.gz
 
cp -a getid3/getid3 /var/www/localhost/htdocs/getid3/
 
</pre>
 
  
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.
 
  
==== 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:
 
<pre>case 'riff': // maybe not officially, but people do it anyway</pre>
 
 
=== 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:
 
<pre>
 
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/
 
</pre>
 
*Create a new database for ccHost (e.g., named "cchost") and create an administrative user to access it (e.g., "cchostadmin").  For example:
 
<pre>
 
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';
 
</pre>
 
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:
 
<pre>
 
mkdir /var/log/cchost
 
chown apache:apache /var/log/cchost
 
</pre>
 
 
There are several suggestions for mod_rewrite and configuration settings [[cchost/admin/apache/config|here]].
 
 
Browse to '''<nowiki>http://where_you_installed_cchost</nowiki>'''
 
 
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 <nowiki>http://<your_install_location</nowiki>
 
 
== 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 [https://sourceforge.net/tracker/?atid=559966&group_id=80503&func=browse 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|ccHost file access guildlines]].
 
== 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 <nowiki><your_local_files>/lib/DEBUG.php</nowiki>. You can remove this file (or change the extension to something other than .php) and that will turn the option '''off''' debug output for your production site.
 
=Customizing=
 
==Everybody==
 
So you've got your ccHost up and running. now what? Here are some starting points:
 
*[[cchost/customize|Customizing your installation]]
 
*[[cchost/admin|ccHost 5.0 Administrator's Guide]] Required reading or developers as well
 
== Development ==
 
=== Developer Docs for ccHost 5.0 ===
 
Developer documentation is starting to come together for the 5.0 release. Start with the [[cchost/customize|customization page]] and whatever you do make sure not to miss the page on [[Cchost/Custom_Query_Templates|writing custom templates]].
 
=== Preparing for ccHost 5.0 ===
 
If you are coming from a previous version of ccHost, then skin developers should be aware of preparations you need to make. [[Preparing for ccHost 5.0|Read more here]]
 
=== Source Code ===
 
* [http://code.creativecommons.org/svnroot/cchost/trunk/ Browsable Source Code (Anonymous)]
 
* [http://code.creativecommons.org/viewsvn/cchost/trunk/ Pretty version]
 
* [http://wiki.creativecommons.org/Source_Repository_Information How to Check Out Code]  -- Specifically for ccHost:
 
** Log in as administrator on your ccHost installation
 
** '''Then''' do your svn update
 
** Browse to <nowiki>http://your_installation?update=1</nowiki>
 
 
{{Infobox|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
 
}}
 
 
=== Submitting Code ===
 
Before going too far down this road you definitely want to hop on the [https://lists.sourceforge.net/mailman/listinfo/cctools-cchost dev mailing list]. If you are shy ask to speak with Victor or Jon in private.
 
[[HOWTO Patch|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).''
 
* [https://sourceforge.net/tracker/?atid=559966&group_id=80503&func=browse Report Bugs]
 
* [https://sourceforge.net/tracker/?group_id=80503&atid=559969 Request Features]
 
 
=Communincation=
 
 
=== People ===
 
=== People ===
 
* [[User:fourstones|Victor Stone]]
 
* [[User:fourstones|Victor Stone]]
Line 137: Line 35:
 
The mailing list is the best way to get our attention. That and other methods are listed below:
 
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
 
* Mailing List: https://lists.sourceforge.net/mailman/listinfo/cctools-cchost
 +
** [http://sourceforge.net/mailarchive/forum.php?forum=cctools-cchost Archive]
 
* 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/CcHost)
** [http://sourceforge.net/mailarchive/forum.php?forum=cctools-cchost Archive]
+
* [[Cchost/Developers#Bugs_and_Feature_Requests|Bugs and feature requests]]
 +
 
 
= Zeitgeist =
 
= Zeitgeist =
 
=== Goal ===
 
=== Goal ===
Line 148: Line 48:
 
'''ccHost''' is an open source ([http://creativecommons.org/licenses/GPL/2.0/ 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 [http://ccmixter.org ccMixter] and [[#Usage Examples|other sites]].
 
'''ccHost''' is an open source ([http://creativecommons.org/licenses/GPL/2.0/ 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 [http://ccmixter.org ccMixter] and [[#Usage Examples|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 [http://ccmixter.org/media/viewfile/pool_api_doc.xml Sample Pool API], including non-ccHost sites such as the [http://freesound.iua.upf.edu/ freesound project].
+
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[http://courtreportingagency.com ,] 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 [http://ccmixter.org/media/viewfile/pool_api_doc.xml Sample Pool API], including non-ccHost sites such as the [http://freesound.iua.upf.edu/ freesound project].
  
 
=== Usage Examples ===
 
=== Usage Examples ===
  
 
* [http://ccmixter.org ccMixter] - Primary usage of ccHost is the Creative Commons remix site, ccMixter.
 
* [http://ccmixter.org ccMixter] - Primary usage of ccHost is the Creative Commons remix site, ccMixter.
* [http://www.openclipart.org/ Open Clip Art Library ccHost in testing]
 
* [http://www.openfontlibrary.org Open Font Library]
 
* [http://freemusic.freeculture.org Freemusic Project]
 
* [http://www.opensourcecinema.com/cchost Open Source Cinema]
 
* [http://rayne.hellawack.net/ Matrix Rayne Online]
 
* [http://remix.machinehasnoagenda.com/ remix.linux]
 
* [http://www.ccmixter.co.za/ ccmixter South Africa]
 
 
* [http://fourstones.net fourstones.net] Victor's personal website
 
* [http://fourstones.net fourstones.net] Victor's personal website
* [http://www.esolpc.com/teacherhost/ TeacherHost] - for Instructors to share instructional materials.
+
* [http://www.enciclopediacecilia.org/remix/ Remix Cecilia] at the Enciclopedia Cecilia project (Spanish).
* [http://adrenalinicsound.com/ Adrenalinic Sound]
+
* [http://audio.ibeat.org/ iBeat] Moderated Sample Archive
* [http://creativecommons.org.tw/formoz ccMixter from CC Taiwan]
 
* [http://www.overmundo.com.br/overmixter Overmixter - Brazil]
 
* [http://www.iamacc.org/ Iamacc.org]
 
* [http://www.enciclopediacecilia.org/musicast/ Remix Cecilia] at the Enciclopedia Cecilia project, music in the catholic church.
 
 
 
  
 
----
 
----
Line 175: Line 63:
 
=== Browsers ===
 
=== Browsers ===
  
Tested on: Firefox 1.0+ Mac/PC/Linux, IE 7+ PC, Safari Mac
+
Recently tested on: Firefox 2/3 Mac/PC/Linux, IE 7 PC, Safari Mac (IE8 requires "compatibility" mode - see [[Cchost/guide/Troubleshooting#IE8_Layout_Issues|here]] for workaround)
  
 
Cookies must be enabled.
 
Cookies must be enabled.
Line 183: Line 71:
 
=== Servers ===
 
=== Servers ===
  
Primary development is done on Windows XP and up-to-date Linux development systems using Apache, mySQL, and PHP.  
+
Primary development is done on Ubuntu 8.04 (hardy heron) using Apache, mySQL, and PHP. The actual dev setup is described in detail [[Cchost/Developers/Victor's_Dev_Setup|here]].
  
 
==== Linux ====
 
==== Linux ====
 
ccHost on Apache (2.0.49 up to at least apache-2.0.55-r1) on 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.
+
One should be able to easily install mySQL, PHP, and Apache (if they are not already available) through their distributions packaging system. See the dev setup above.
  
 
==== Windows IIS Server ====
 
==== 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.
+
{{Infobox|ccHost has not been seen running or tested on Windows for a long time - several versions ago.}}
 +
 
 +
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, [http://sourceforge.net/tracker2/?func=browse&group_id=80503&atid=559966 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.
 
Even if you using Apache on Windows you may need to have IIS installed if you plan to use mail contact functions.
Line 214: Line 104:
 
* GetID3 1.7.7
 
* GetID3 1.7.7
 
* default Apache/PHP
 
* default Apache/PHP
 +
 +
[http://wiki.creativecommons.org/Creative_commons_non_profit_organization About Creative Commons]

Latest revision as of 03:17, 30 September 2014


ccHost is Creative Commons' open source (GPL licensed) 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.1 is available in ZIP archive format.

Source Repository

https://github.com/cc-archive/cchost

For much more developer info, see Cchost/Developers.

Documentation

ccHost 5 Documentation

Communication

People

Contacting

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

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.

Usage Examples

  • ccMixter - Primary usage of ccHost is the Creative Commons remix site, ccMixter.
  • fourstones.net Victor's personal website
  • Remix Cecilia at the Enciclopedia Cecilia project (Spanish).
  • iBeat Moderated Sample Archive

Appendix A: Compatibility

Browsers

Recently tested on: Firefox 2/3 Mac/PC/Linux, IE 7 PC, Safari Mac (IE8 requires "compatibility" mode - see here for workaround)

Cookies must be enabled.

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

Servers

Primary development is done on Ubuntu 8.04 (hardy heron) using Apache, mySQL, and PHP. The actual dev setup is described in detail here.

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. See the dev setup above.

Windows IIS Server

ccHost has not been seen running or tested on Windows for a long time - several versions ago.

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

About Creative Commons