FOTOBILDER QUICK INSTALL
This is a quick install guide I'm writing up just to document the steps I had to go through to setup fotobilder on my local machine, running Debian unstable. I'm not going to make this long or extremely detailed because I'm lazy and I'm hoping somebody will write a better one.
# Setup FBHOME
- Create fotobilder home directory - this could be anywhere. I chose /home/fotobilder
- You'll need to setup the FBHOME environment variable to point to the fotobilder home directory:
- FBHOME=/home/fotobilder; export FBHOME
# Setup Apache
- Install mod_perl: apt-get install apache-perl
- You will now have a new apache installation called apache-perl. So you should create an apache config
in /etc/apache-perl/httpd.conf. I just copied my old apache config over and added a virtualhost at the
# fotobilder <VirtualHost 192.168.1.2> PerlSetEnv FBHOME /home/fotobilder PerlRequire /home/fotobilder/lib/startup.pl ServerName photos.bradland.com ServerAlias www.photos.bradland.com </VirtualHost>
As you can see, I chose to name my domain 'photos.bradland.com'. Even though this isn't a public domain, it seems logical to name it under a domain I own, so there we go. I added a couple of lines to /etc/hosts so that Mozilla will know where to go.
# Setup MySQL
- apt-get install mysql-client mysql-server
- su; mysql_setpermission - I typed in my root password here. Not sure if that's the default or if I set it up a long time ago when I first installed MySQL. So I created a database named 'fotobilder' with username 'fotobilder' and a password. However, mysql_setpermission wasn't quite working for me, so you may have to login to mysql as root: mysql -Dfotobilder -ufotobilder -p . Then this worked for me: GRANT ALL PRIVILEGES ON fotobilder.* TO fotobilder@localhost IDENTIFIED BY 'password';
- mysql -Dfotobilder -ufotobilder -p - adjust that to be your database name and mysql fotobilder username. Are you able to login? If you can't, then none of the scripts will be able to. Docs at http://www.mysql.com/
- Run $FBHOME/bin/upgrading/update-db.pl -r -p to setup the database tables. The script shouldn't have trouble connecting since you just connected in the previous step.
# Install Fotobilder sources
- Grab most recent fotobilder tarball from http://www.danga.com/fb.
- Untar it into the fotobilder directory.
- By untarring the archive, you just created a directory called cvs with the latest cvs sources as well as a nifty little frontent to multicvs.pl called bootstrap.pl. All you need to do is run bootstrap.pl and it will sync your current directory with the files in 'cvs'. In this case, it'll copy everything. You'll need to repeat this step every time you download new sources. bootstrap.pl will intelligently replace files so that you won't lose any of your local changes.
- Copy doc/fbconfig.pl.txt to $FBHOME/etc/fbconfig.pl and make any necessary changes. Namely setup your database information and domain. Anything you don't understand probably isn't important or even implemented yet. :-)
- Restart apache-perl: /etc/init.d/apache-perl stop. /etc/init.d/apache-perl start. Don't do a restart because mod_perl will barf.
- Visit your url: http://your_fotobilder_domain.com. Does it work? Of course not. See next section.
- The only real problem that I had was that I was missing SOAP::Lite. apt-get install libsoap-lite-perl. Stopped and started Apache and everything was cool.
- If Apache won't start, double check that you have set FBHOME correctly in your Apache configuration.
- You may be missing libraries, run $FBHOME/bin/checkconfig.pl to see if you are missing anything and install whatever it says you need.
This is all I needed to do to get my setup working. If anyone has questions, I can try and help, but I'm as new to the fotobilder code as all of you, so I may not be much help. Also, brad just left to go out somewhere so I'm a bit stranded as to what to do now that I have fotobilder running. I'll just read through some source to see what nifty stuff I can play with, you guys can do the same.
Hope this is helpful to someone... and I probably forgot a couple of steps, so I apologize in advance.