How to Install Gazelle on Ubuntu 8.04

  ////////////////////////////////////////////////////////////////////
 ////////      Install Gazelle on Ubuntu 8.04 LTS       /////////////
////////////////////////////////////////////////////////////////////

  /////////////////////////////////////////////////////////////////
 //////        Key to notation used in this guide:       /////////
/////////////////////////////////////////////////////////////////

*** note that the compile errors may be from installing one
prog at at time ***

  ---------------------------------------------------------------
  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

  /////(number)         =  This is the current STEP you are on.

  ===>  output          =  What follows this arrow is info put
                           forth by the machine.  

                           e.g.  ===> Type new unix password

                           The txt "Type new unix password" is
                           actually what the machine displays
                           and NOT an instruction from me.  

  (((INSTRUCTION)))     =  This is something I, as the guide
                           am asking you to do.  Following the
                           above example, after you see:

                           ===> Type new unix password

                           I might follow with something like:

                           ((( Pick at least a 7 digit pass )))

  *** Note ***          =  Important notes about a step.  For
                           e.g.  *** May require reboot ***

  COMMAND               =  These are the actual linux commands
                           you should type or paste into the
                           command line interface.  For e.g.  

                           sudo apt-get update

                           These will always appear to the far
                           left margin of the tutorial. 

================================================================
================================================================

/////(1) Log into to putty w/ root user and password.

/////(2) Update the server by typing:

apt-get update

apt-get upgrade

/////(3)  Add a new Non-Root user.  **important for security**

useradd -m admin1

/////(4)  Add a password for the user you just created by typing:

passwd admin1

===> Enter new UNIX password:

===> Retype new UNIX password:

===> passwd: passwordupdated successfully

              *** Automatically switches to command promp ***

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
===================================================================
<><><|  Note:  With Debian "Lenny", I simply "su" and  |><><><><><>
<><><|  skip step 5, and all the "sudo" prefixes.      |><><><><><>

** Update.  do 'su', then aptitude install sudo **
** Next, type visudo, which takes you to the
** /etc/sudoers.  Then, add the following to
** the list:  user ALL=(ALL) ALL   

===================================================================
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

/////(5)  Fix Sudoers file: add new user to sudoers.  

               *** NOTE for Debian install, u must first install
                   sudo by typing:  aptitude install sudo ***

su

===>  Password: ((( Type the ROOT user PassWord here )))

chmod +w /etc/sudoers

echo 'admin1 ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers

chmod -w /etc/sudoers

/////(6)  Install and Edit VSFTPD

sudo apt-get install vsftpd

sudo nano /etc/vsftpd.conf

        ((( Now look for the following lines and modify them
            accordingly, after which you will restart VSFTP )))

anonymous_enable=NO
local_enable=YES
write_enable=YES

 ((( Now hit Control + X, then Y, then Enter )))

        ((( Restart VSFTPD by typing the following: )))

sudo /etc/init.d/vsftpd restart

/////(7)  Install Apache2 Webserver. 

sudo apt-get install apache2

/////(8)  Install Dependencies:

sudo  ((( Enter All The Following )))

          (((  build-essential
               php5
               +++libapache2-mod-php5+++
               mysql-server   *** Choose a Root Sql Here **
               mysql-client ((*I added this*))
               libmysqlclient15-dev
               php5-mysql
               memcached
               php5-memcache
               php5-gd
               php5-mcrypt
               subversion
               automake
               libtool

               cmake
               *** g++ ***  ((( Says already newest version )))
               libboost-date-time-dev
               *** libboost-dev ***  ((( Says newest ))
               *** libboost-filesystem-dev
               *** libboost-program-options-dev
               *** libboost-program-options-dev
               *** libboost-serialization-dev
               *** make
               *** zlib1g-dev  )))

/////(9)  Install PHP MyAdmin

sudo apt-get install phpmyadmin

===> Select server to be configured

          (((  Pick Apache2, hit Enter  )))

/////(10)  Edit Apache Config File to use PHP MyAdmin

sudo nano /etc/apache2/apache2.conf

          (((  Now, scroll to the bottom of the document
               using the arrow down key. Once you are there,
               type or paste:

               Include /etc/phpmyadmin/apache.conf  )))

          (((  Then hit control + x. )))

===> save modified buffer?  ((( Type Y )))

===> File Name to Write: /etc/apache2/apache2.conf  ((( Hit Enter )))

               *** You are then returned to the command prompt ***

          (((  Restart apache by typing:  )))

sudo /etc/init.d/apache2 restart

/////(11)  Edit php.ini

sudo nano /etc/php5/apache2/php.ini

          (((  Now scroll most of the way to the bottom of the text and
               look for a header that says “dynamic extensions” Once you
               find it make a new line (make sure there are no marks in
               front of the line as this will “comment out” your line of
               code), and type:

               extension=mysql.so
               extension=memcache.so
               extension=mbstring.so
               ----------------------
               extension=gd.so
               extension=mcrypt  )))

          (((  Next, Scroll back up and look for "Magic Quotes"

sudo /etc/init.d/apache2 restart

----------
-----------
----------

/////(12) If you want to quickly test if PHP is working properly, type:

sudo nano /var/www/phpinfo.php

          ((( Then type in the editor:   )))

<?php phpinfo(); ?>

          ((( Hit Control + x, type Y, then hit enter to save.  )))

          ((( Now, type in your browser: http://YOUR_IP_HERE/phpinfo.php
              The resulting page will display lots of good information
              regarding your PHP setup. )))

               *** Debian note, to add the root password for MySql root
                   type:  mysqladmin -u root password PASS_U_WANT ***

/////(13)  It's also a good idea at this point to ensure the PHP MyAdmin
           is working properly. To do so, type in your browser:
           http://YOUR_IP_HERE/phpmyadmin

         (((  Put in the username “root” and enter the password you chose
              earlier during the install process for MySql.  )))

   ******CREATE USER and MATCHING DB here**********

/////(14)  Svn the Source from the site with this command:

sudo svn co http://svn.what.cd/repos/project_gazelle/trunk/ /var/www

               *** All passwords and usernames for the SVN site are:
                   gazelle ***

===> Authenitcation real:  <> Subversion Repository

===> Password for 'root':  (((  type:  gazelle  )))

===> Username:   (((   type:  gazelle  )))

===> Password for 'gazelle':   (((   type gazelle   )))

===> Checked out revision 21.

----------------------------------
------------------------------------
--------------------------------------

Chown for webserver writeable:  -------

--------------------------------------
-------------------------------------
-----------------------------------

/////(??)  Make this new directory webserver writeable by typing:

sudo chown -R www-data:www-data /DIRECTORY_NAME  (eg. from above /var/www)

/////(15)  Start the memcached daemon by typing:

sudo memcached -d -m 1024 -l 127.0.0.1 -p 11211 -u nobody

/////(16)  navigate to http://xxx.xxx.xx.xx/install/index.php

/////(17)  Remove the install directory when you are done.  

sudo rm -r /var/www/install

/////(18)  Get the backend up and running:

cd /var/www

sudo tar zxfv xbtt.tar.gz

cd xbtt/build/xbtt

sudo ./autogen.sh

sudo make

cd src

sudo nano xbt_tracker.conf

mysql -u root -pgaz4fast3
use gazer
select * from xbt_config;
update xbt_config set value = вЂ˜xxx.xxx.xx.xx’ where value = вЂ˜old IP';
select * from xbt_config;     *** to verify the change ***

select * from xbt_client_whitelist
insert into xbt_client_whitelist (peer_id, vstring) values (’-UT1810-’, вЂ˜uTorrent 1.8.1');

/////(??)  Finally, start the tracker with the following command:

./xbt_tracker xbt_tracker.conf

                   *** restart apache for good measure one more time ***

/etc/init.d/apache2 restart

}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
=========================================================================
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
/////////////////////////////////////////////////////////////////////////
=========================================================================
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}

*** Misc Stuff ***

\\\\\\\\\\\\\\\\\\\\\\\\\\
\\\\  Error Fix Notes  \\\\
\\\\\\\\\\\\\\\\\\\\\\\\\\\\

*** If apache (on Debian usually) goes to www.YOUR_Site.com/apache2-default
    you can fix it by editing the following file:

sudo nano etc/apache2/sites-available/default

          (((  Now comment out (add # sign in front of) the line that says:
               RedirectMatch ^/$ /apache2-default/   )))

              *** eg.  # RedirectMatch ^/$ /apache2-default/ ***

*************************************
Fix Cron (torrent sees not updating *
*************************************

          *** Note: I also chmod -R 777 /var/www before doing this:
              When finished I navigated to www.sciencehd.com/schedule.php
              Then to science.com/torrents.php?clearcache=1

export EDITOR=nano
crontab -e
00,15,30,45 * * * * php /var/www/schedule.php xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx >> /var/log

     ***Restart Cron:

/etc/init.d/cron restart 

----------------------------------
------------------------------------
--------------------------------------

Create Link to root web directory ------

--------------------------------------
-------------------------------------
----------------------------------

/////(??)  ===> Now we must link it to the root web directory. Type:

sudo ln -s /PATH/FOLDER/html /var/www/FOLDER

----------------------------------
------------------------------------
--------------------------------------

move a package to a Directory     ------

--------------------------------------
-------------------------------------
----------------------------------

===> Next is to move the package to a suitable directory. Type:

sudo mv PACKAGE_NAME /PATH/FOLDER

=========================================================================

=========================================================================

----------------------------------
------------------------------------
--------------------------------------

Setup Exim and Gmail             ------

--------------------------------------
-------------------------------------
----------------------------------

The best guide I could find was at http://wiki.debian.org/GmailAndExim4 .
It is reproduced here adapted for Ubuntu 8.0.4 which I am running hear.
The steps to run as root or via sudo are

    * apt-get install (It should install the light daemon)
    * dpkg-reconfigure exim4-config
          o Choose mail sent by smarthost; no local mail
          o System mail name: Your chosen host name
          o IP-addresses to listen on: 127.0.0.1 (You don't want to allow external connections!)
          o Other destinations for which mail is accepted: Leave blank
          o Visible domain name for local users: Your chosen host name
          o IP address or host name of the outgoing smarthost:  smtp.gmail.com::587
          o Keep number of DNS-queries minimal (Dial-on-Demand)? No
          o Split configuration into small files? Yes
          o Root and postmaster mail recipient: Leave blank

    * pico /etc/exim4/passwd.client or other favourite editor

And add the following lines, substituting yourAccountName and y0uRpaSsw0RD as appropriate

gmail-smtp.l.google.com:yourAccountName@gmail.com:y0uRpaSsw0RD
*.google.com:yourAccountName@gmail.com:y0uRpaSsw0RD
smtp.gmail.com:yourAccountName@gmail.com:y0uRpaSsw0RD

    * update-exim4.conf
    * /etc/init.d/exim4 restart just for good measure