User:LukasLalinsky/UbuntuServerSetup

From MusicBrainz Wiki
Jump to navigationJump to search

Ubuntu (Development) Server Setup

1. Install base Ubuntu system.

2. Install required packages:

sudo apt-get install perl apache-perl libapache-mod-perl libapache-dbi-perl
sudo apt-get install libapache-reload-perl
sudo apt-get install liburi-perl libtime-hires-perl libtext-unaccent-perl
sudo apt-get install libstorable-perl libdate-calc-perl libapache-session-perl
sudo apt-get install libhtml-mason-perl libdigest-sha1-perl libmime-lite-perl
sudo apt-get install libxml-parser-perl libstring-shellquote-perl
sudo apt-get install libalgorithm-diff-perl libapache-request-perl
sudo apt-get install libtime-modules-perl libtext-wikiformat-perl libxml-rss-perl
sudo apt-get install libcache-memcached-perl memcached
sudo apt-get install subversion wget make gcc libc6-dev
sudo apt-get install postgresql-dev
wget http://search.cpan.org/CPAN/authors/id/R/RU/RUDY/DBD-Pg-1.32.tar.gz
tar zxf DBD-Pg-1.32.tar.gz
cd DBD-Pg-1.32
perl Makefile.PL
make
sudo make install
cd
rm -rf DBD-Pg-1.32.tar.gz DBD-Pg-1.32
wget http://search.cpan.org/CPAN/authors/id/L/LD/LDACHARY/Text-Unaccent-1.08.tar.gz
wget http://musicbrainz.org/~dave/Text-Unaccent-1.07-svrok.patch
tar zxf Text-Unaccent-1.08.tar.gz
cd Text-Unaccent-1.08
patch -p1 <../Text-Unaccent-1.07-svrok.patch
perl Makefile.PL
make
sudo make install
cd
rm -rf Text-Unaccent-1.07 Text-Unaccent-1.07-svrok.patch Text-Unaccent-1.08.tar.gz
wget http://backpan.cpan.org/authors/id/M/ML/MLEHMANN/String-Similarity-0.02.tar.gz
wget ftp://ftp.musicbrainz.org/pub/musicbrainz/misc/String-Unicode-Similarity.patch
tar zxf String-Similarity-0.02.tar.gz
cd String-Similarity-0.02
patch -p1 <../String-Unicode-Similarity.patch
perl Makefile.PL
make
sudo make install
cd
rm -rf String-Similarity-0.02 String-Unicode-Similarity.patch String-Similarity-0.02.tar.gz
sudo apt-get install libuuid1 uuid-dev
wget http://search.cpan.org/CPAN/authors/id/B/BR/BRAAM/UUID-0.02.tar.gz 
tar zxf UUID-0.02.tar.gz
cd UUID-0.02
perl Makefile.PL
make
sudo make install
cd
rm -rf UUID-0.02 UUID-0.02.tar.gz
sudo apt-get remove uuid-dev
sudo apt-get install libdb4.2-dev
sudo cpan
cpan> install RDFStore::Parser::SiRPAC
cpan> install String::Similarity
cpan> exit
sudo apt-get remove libdb4.2-dev

3. Checkout the source code and fix paths:

svn co http://svn.musicbrainz.org/mb_server/trunk mb_server.svn
ln -s mb_server.svn mb_server
cd mb_server
perl -i -wpe 's[/home/httpd/musicbrainz/mb_server][/home/mbserver/mb_server]g' \
    `grep -rl /home/httpd/musicbrainz/mb_server .`
perl -i -wpe 's[/home/mbserver/mb_server/cgi-bin/perl][/usr/bin/perl]g' \
    `grep -rl /home/mbserver/mb_server/cgi-bin/perl .`
cd

4. Change settings (database server, SMTP_SECRET_CHECKSUM, WEB_SERVER, ...) in cgi-bin/DBDefs.pm

5. Change admin/vh_httpd.conf:

<VirtualHost *>

...

<Location />
    Order deny,allow
    Allow from all
</Location>

...

</VirtualHost>

...

PerlInitHandler Apache::StatINC

6. Add mb_server to the Apache config directory:

sudo ln -s /home/mbserver/mb_server/admin/vh_httpd.conf /etc/apache-perl/conf.d/mb_server.conf
sudo /etc/init.d/apache-perl restart

See also DaveEvans/UbuntuSetup