-
Posted byAdamMarch 8th, 2009
Installing lifebox on Ubuntu is fairly straightforward, the difficult part involves compiling ffmpeg to enable video support. The binaries included with Ubuntu do not include the libraries to support H.264 video encoding, nor the audio codecs to enable MP3 or AAC playback. Because of this, we have to download and compile from the source in a specific order. Hopeful this tutorial will make the installation process easier, and will save some time. In addition, I’m going to include it as a README with the distribution. Good luck, and if you have any trouble or questions, visit the forums.
PREREQUISITES
These instructions assume that you are already running php5 under apache2 with MySQL 5.0 or later. This site has not yet been tested under Windows or IIS. I have written these instructions for Ubuntu 8.10, but they will easily work with other debian distributions.For help, check out the forums which I monitor all the time. If you encounter a bug, I’d appreciate it if you could submit it to trac so I can fix it as soon as possible. Good luck !
Just to make sure you have the prerequisites, you should probably run:
sudo apt-get install apache2 mysql-server-5.0 mysql-client-5.0 php5-mysqlSTEP BY STEP INSTRUCTIONS
1. Download and extract the files to the web root.
cd /var/www/
sudo wget http://www.getlifebox.org/latest.tar.gz
sudo tar -xzvf latest.tar.gz2. Make sure the files are readable and have the appropriate permissions.
sudo chmod 755 lifebox -R(replace username with your username)
sudo chown username.root lifebox -R3. Add lifebox to apache2 so it knows where the web server is
sudo vim /etc/apache2/sites-available/001-lifebox
<VirtualHost *:80>
DocumentRoot /var/www/lifebox/html/
ServerName photos.example.com # <-- REPLACE WITH YOUR SITE NAME
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
</VirtualHost>
sudo a2ensite 001-lifebox
Make sure modrewrite is enabled and installed. On debian or ubuntu, do:
sudo a2enmod rewrite
Then, restart the apache server
sudo /etc/init.d/apache2 restart4. Install the required packages:
Start installing from your home directory
cd ~mediainfo v0.7.9 or greater
http://mediainfo.sourceforge.net/en/Download
Download all 3 packages: libzen0 libmediainfo0, CLI
At the time of writing this, it was a little tricky to find the exact filenames through sourceforge. But they should look something like the below:Once downloaded, install them (Your package names may differ):
sudo dpkg -i libzen0_0.3.8-1_i386.Debian_5.0.deb
sudo dpkg -i libmediainfo0_0.7.11-1_i386.Debian_5.0.deb
sudo dpkg -i mediainfo_0.7.11-1_i386.Debian_5.0.debimagemagick 6.3.7.9 or greater
This package requires a bunch of dependencies.
If you’re using debian or ubuntu, apt-get makes this really easy:
sudo apt-get install imagemagickufraw 0.13-1build2 or greater
This is required if your site is required to process RAW images. Probably a good idea to have just in case.
sudo apt-get install ufraw5. Enable video support
Wouldn’t it be nice if you could just type apt-get install ffmpeg and call it a day? Unfortunately that’s not possible since the binary version of ffmpeg does not include support for h.264 compression. So, we have to download and compile all the packages ourselves. But don’t worry, follow these instructions and you should be fine.
First, remove all existing binaries of x264 and ffmpeg.
sudo apt-get purge ffmpeg x264 libx264-devNow, install the dependencies we’ll use for the following steps.
sudo apt-get install build-essential subversion git-core \
checkinstall texi2html libfaac-dev libfaad-dev \
libmp3lame-dev libtheora-dev libxvidcore4-devyasm assembler
There is a package for this, but instead of using generic c binaries we’re going to compile this, since it can greatly improve performance
cd ~/
wget http://www.tortall.net/projects/yasm/releases/yasm-0.7.2.tar.gz
tar xzvf yasm-0.7.2.tar.gz
cd yasm-0.7.2
./configure
make
sudo checkinstall --pkgname=yasm --default
sudo dpkg -i yasm*.debx264 developer’s library
This is the codec we’ll later be referencing from ffmpeg.
cd ~/
git clone git://git.videolan.org/x264.git
cd x264
./configure --enable-shared
make
sudo checkinstall --fstrans=no --install=yes --pkgname=x264 \
--pkgversion "1:0.svn`date +%Y%m%d`-0.0ubuntu1" --default
sudo ldconfig
sudo dpkg -i x264*.debInstall ffmpeg with h264 support
Finally, we’re ready to download and install ffmpeg
cd ~/
svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg
cd ffmpeg
./configure --enable-gpl --enable-postproc --enable-pthreads \
--enable-libfaac --enable-libfaad --enable-libmp3lame \
--enable-libtheora --enable-libx264 --enable-libxvid
make
sudo checkinstall --fstrans=no --install=yes --pkgname=ffmpeg \
--pkgversion "3:0.svn`date +%Y%m%d`-12ubuntu3" --default
sudo dpkg -i ffmpeg*.debqt-faststart
When videos are streamed from the site, we need to make sure the information bit is at the front of the video so we get the nice progress bar and can play while downloading. We have to re-arrange most videos to do this, and this application does it really nicely.From inside the ffmpeg directory from the step above
make tools/qt-faststart
sudo cp tools/qt-faststart /usr/local/bin/qt-faststart6. Set write permissions for the directories where lifebox will store its template cache, thumbnail cache, and database cache.
Set write permissions for the dump directory
sudo chmod 775 /var/www/lifebox/dump/* -R
sudo chown root.www-data /var/www/lifebox/dump/* -R7. Configure the database
Create the database
mysqladmin -p -u root create lifebox8. Launch the lifebox installer to configure the rest.
http://photos.example.com/
