communicate
Host Your Own Music Playlist with Opentape
Posted by Gina Trapani at 5:00 AM on August 27, 2008

Beloved music playlist hosting service Muxtape's gone offline to "sort out a problem with the RIAA," but if you've got some web server space, you can host, stream, and share your own digital music mixes Muxtape-style with newly-launched PHP web application Opentape. Opentape isn't affiliated with Muxtape in any way, but it's wildly similar, boasting a sparse, easy-to-use interface with drag-and-drop song rearrangement. To run Opentape, you've got to have a web server running PHP5 (or set up your own at home), and install Opentape on it. Let's take a closer look.
Note: To proceed, you need a web server with FTP access and know how to upload files, and change folder permissions on it.
Installing Opentape
As far as installing your own hosted web application goes, Opentape is pretty easy. Before you get started, make sure you've got a web server running PHP5 with the curl extension installed. (You can use phpinfo(); to see what extensions are available in your PHP setup. If you don't have curl, but you're willing to edit some code, there is a workaround.) All set?
Download the Opentape .zip file and extract it on your web server. If you navigate to http://yourserver.com/yourpath/opentape/, you'll get an error about directory permissions, as shown:

To fix that, in the /opentape/ folder, set the permissions on the /settings/ and /songs/ folders to 077, as shown. (I'm using WinSCP in the screenshot; you can just right-click on the folder and adjust permissions in the Properties dialog.)

Now you'll set a password on your Opentape installation so only authorised users can create a "tape" and upload songs.

Save your password, and Opentape will send you along. At this point, if you get a PHP error that reads something like "Fatal error: Call to undefined function curl_init()" it means you don't have the curl extension for PHP installed. Skip down to the workaround and then come back up here when you're done.
Finally, the fun part: Name your mix tape, give it a description, a colour, and start uploading songs to it. I had more luck just FTP'ing MP3 files to the /songs directory myself, but you have a choice between the web-based upload tool and your trusty FTP client.

Once you've uploaded all the songs for your mix—whether by FTP or web page—you can rearrange them into the order you want. Just click and drag the songs into your desired order on-page. Here's what that looks like:
To listen to your new tape, just click on the "Your Tape" link or navigate to the /opentape/ directory on your web server—then click on a song to listen. Here's what mine wound up looking like. (I'd link it, except I fear for my bandwidth bills.)

While Opentape is pretty sparse in the options department, it does let you do two key things: embed your playlist on another web site, and include direct MP3 download links from it. (Can you already hear the bandwidth overage happening?) Click on the Settings link to get the embed code and the direct link option (which is off by default).

No curl Extension Workaround
If you're getting the dreaded "Fatal error: Call to undefined function curl_init()" error when you visit your Opentape installation, you're in the right place. You can get Opentape to mostly work without curl, but application auto-updates will not work. To disable the auto-updates and set up Opentape sans curl, in the /code/opentape_common.php file, comment out the line that reads :
//$result = do_post_request(constant("ANNOUNCE_SONGS_URL"), $data, null);
By adding those two forward slashes to the front of it. Then, add a line immediately after that one which reads:
$result="OK";
Then, in the code/edit.php file AND the code/settings.php file AND the code/login.php file, comment out the whole section that checks for Opentape updates, like so:
/*
if ( ((time() - $prefs_struct['last_update_check']) > 604800) &&
(!isset($prefs_struct['check_updates']) || $prefs_struct['check_updates'] == 1 )
) {
$prefs_struct = check_for_update();
if ($prefs_struct===false) { header("Location: " . $REL_PATH . "code/warning.php"); }
}
*/
Now you should be able to refresh your Opentape directory and clear the PHP error.
This is only Opentape's first release, so things can only get better from here. (My wishlist for future releases off the top: No curl dependencies, and multiple playlists.) How do you stream and share your music over the interwebs? Tell us in the comments.

Comments (AU Comments · US Comments)
There are currently no AU comments for this post.
Ted Avery
Posted 5:42 AM 27/8/08
@monkeyboy: My thoughts exactly. This is wonderful and looks as awesome as Muxtape, but the benefit to using a third-party site like Muxtape is that the RIAA went to Muxtape to complain, whereas this is your own web server with only you using the service, so RIAA will come talking to you.
Ted Avery
monkeyboy
Posted 5:34 AM 27/8/08
looks cool but I can see the RIAA knocking at your door for violating copyright. Plus, if you are paying for hosting, you will most likely have your hosting account shutdown.
monkeyboy
phearlez
Posted 6:08 AM 27/8/08
Lifehacker needs to have an accompanying article about a web hosting company situated in some country beyond RIAA's reach, if such a place exists anymore.
Where's Sealand when you need em?
phearlez
Merricat
Posted 6:06 AM 27/8/08
I hit submit one sec too soon and my last sentance is orphaned. Meant to say that this would be interesting to try with equipment that 'could' be a music player but can't interact directly with most media server software, like say a Wii.
I've installed TVersity, and Orb. Both are great if you are used to using a howitzer to swat flys. But they do get fairly hefty in the resources department really quick (at least on my computer).
Merricat
Merricat
Posted 6:02 AM 27/8/08
On the other hand, it looks like a fun toy for an interal facing server. Set this up on a LAN and use it as a low impact music server in replacement of those media servers that require their own/a uPnP client. Say, a Wii. ^_^
Merricat
shockwaver
Posted 6:30 AM 27/8/08
If you're hosting this at home, odds are it would be for you, and maybe a few friends.. very low chances of getting RIAA'ed. Something tells me most home connections don't have the bandwidth to serve a large user base.
shockwaver
Gina Trapani
Posted 6:35 AM 27/8/08
You can easily put a password on your web server's opentape directory, and hand out the URL & password to friends to limit who can listen, too.
Gina Trapani
backbaydk
Posted 7:06 AM 27/8/08
Anyone else dealing with an install problem where opentape just sits there saying "Wait..." when you give it a pair of admin passwords for the first time?
IF so, how do I get past that?
backbaydk
fredygamer
Posted 7:04 AM 27/8/08
@Gina Trapani: Hey Gina is there anything similar to Jinzora. I found subsonic but its an .exe installer. Orb is not an option. I am looking something that can be run in a web server. thanks.
Jinzora is still good though. Waiting for the Jinzora 3 to officially come out (not the beta).

fredygamer
pixeljunkie
Posted 7:32 AM 27/8/08
muxtape alternative -> [8tracks.com]
enjoy!
pixeljunkie
ankeet
Posted 8:01 AM 27/8/08
@Gina Trapani: In setting the permissions, you mean 0777 right?
ankeet
Gina Trapani
Posted 8:14 AM 27/8/08
@ankeet: Yes I did, thanks--fixing the post now.
Gina Trapani
neit
Posted 8:56 AM 27/8/08
I don't not see any issue with it if its for personal use.
If I can upload my music to an mp3 player to take with me
anywhere I like, I see no issue with uploading it to my webhost to listen to the music i purchased.
Though most webhosts t&c's cover what kind of material you
are allowed to host on their servers, music copyrighted by a third party is normally not allowed unless they have consented to it.
neit
Paintbait
Posted 8:52 AM 27/8/08
@monkeyboy: They can't and won't. Radio, it's like radio. They can't and won't touch you as long as you're not making the music available for download.
Paintbait
cheesebubble
Posted 11:14 AM 27/8/08
Hey RIAA - I'll trade you Pandora for Muxtape. Give it back!
cheesebubble
CnEY
Posted 11:10 AM 27/8/08
@Paintbait:
Actually it's not like radio, and you ARE making the music available for download - if you take a look at the opentape demo, there is a direct link to the mp3. While this link can be configured away, if you use something as simple as firebug's Net tab to track what's being sent across the wire to you when you click a track in the playlist, you'll see the mp3 file plain as day, which means anyone with a little knowledge can directly download the media if they please.
Incidentally this is precisely why I'm staying away from this (though for different reasons altogether), at least until I roll my own sort of access control for the mp3s.
CnEY
tfish77
Posted 12:28 AM 28/8/08
I typically use imeem for playlists on my blog, but I am also a big fan of Mixwit, which lets you make a mix of songs you've uploaded to your own server, or that you find via seeqpod or skreemr. I miss Muxtape, though. It was fun while it lasted.
tfish77
SFShanghai
Posted 6:26 PM 27/8/08
Installation was not difficult, but links to the music don't appear on the page. The page header and color are updated though the admin, uploading an MP3 uploads the MP3 to the songs folder, but the opentape index.php page only shows the header information. The path names in the source code seem correct, but the DIVs that draw the song aren't appearing. What's wrong?
SFShanghai
zoomZAP
Posted 3:55 PM 28/8/08
If you don't share the link to Opentape publicly (you can protect the directory with .htaccess), then how could this be considered any more of a copyright violation than copying mp3s to an iPod?
zoomZAP
firecat53
Posted 5:39 AM 27/8/08
I've always used edna ([edna.sourceforge.net]). Doesn't require a web server, and runs with python on Linux or Windows. It's very basic, but it works great! It doesn't support creating your own playlists, but will stream existing .m3u playlists to you.
firecat53