
MediaDrop is a open source online video platform for managing and delivering video, audio and podcasts.

Sadly I found the official documentation to be lacking and had to cross reference it with other install guides to even get a basic setup running.
This guide will take you through a basic installation of MediaDrop that utilizes the built in Paste Server provided by Python. If you prefer a more permanent solution you can setup an Apache 2 or Nginx web server yourself. For the time being I am happy enough to just have MediaDrop running – having experienced a couple of bugs I do not want to mess with my working configuration any further right now.
My working environment is a minimal installation of Ubuntu 14.04 Server on VMware vSphere 5.x.
Let’s begin our installation – first we will elevate ourselves to the root user and then install MySQL, System libraries, development headers, python libraries and tools:
sudo -i
apt-get install mysql-server mysql-client libjpeg-dev zlib1g-dev libfreetype6-dev libmysqlclient-dev python-dev python-setuptools python-virtualenv git
When prompted enter a password for the MySQL root user.
Setup Python virtual environment:
cd /
virtualenv --no-site-packages venv
Activate the virtual environment:
source venv/bin/activate
Install MediaDrop from Git:
git clone git://github.com/mediadrop/mediadrop.git mediadrop-git
Download and install all the necessary dependencies for MediaDrop into your virtual environment:
cd mediadrop-git
python setup.py develop
Generate the deployment.ini file:
paster make-config MediaDrop deployment.ini
We will now bring up a mysql> prompt to administer the MySQL database:
mysql -u root -p
Enter your MySQL password when prompted.
Create the MySQL database mediadrop_db and the MySQL user mediadrop_user and a password for mediadrop_user:
mysql> create database mediadrop_db;
mysql> grant usage on mediadrop_db.* to mediadrop_user@localhost identified by 'mysecretpassword';
mysql> grant all privileges on mediadrop_db.* to mediadrop_user@localhost;
mysql> exit;
Note: Change ‘mysecretpassword‘ to the password you want for mediadrop_user.
Edit the delpoyment.ini file:
nano deployment.ini
Under the [app:main] heading, look for the sqlalchemy.url setting:
sqlalchemy.url = mysql://username:pass@localhost/dbname?charset=utf8&use_unicode=0
Change the username, pass, and dbname entities to mediadrop_user, password and mediadrop_db:
Note: password here refers to the password that you designated earlier for mediadrop_user.
sqlalchemy.url = mysql://mediadrop_user:mysecretpassword@localhost/mediadrop_db?charset=utf8&use_unicode=0
Setup the built in server:
paster setup-app deployment.ini
Enable simple full text searching:
mysql -u root mediadrop_db < setup_triggers.sql -p
Enter your MySQL password when prompted.
Now that MediaDrop itself is installed and the basics are configured, we can test it out using the Paste server:
paster serve --reload deployment.ini
Open a browser and enter the ip address for your server using port 8080. For example – http://server-ip:8080
To access the admin dashboard you need to append /admin to the above url. The default administrative username is admin, and the password is also admin. Remember to change your password!
If you restart your server you will need to activate the virtual environment again and run the Paste server again. A basic script to handle this looks like this:
#!/bin/bash
cd /
source venv/bin/activate
cd mediadrop-git
paster serve --reload deployment.ini
Save this as something like mediadrop-start.sh and then make it executable:
chmod +x mediadrop-start.sh
Run the script as follows:
sudo ./mediadrop-start.sh
As a closing note I did encounter issues accessing the admin panel after changing the admin password when using Firefox. I could access the admin panel using Internet Explorer though.
Sources:
http://mediadrop.net/docs/install/index.html
https://docs.google.com/document/pub?id=1DAikm-mCYiNFddClW21S0G-EwzINIC_gUl7pn2jq2zA