Ubuntu server on a home network with Apache; PostgreSQL; LedgerSMB -- newbie Step by Step
The objective is to use an old unused computer as the business computer which will hold the accounting database. LedgerSMB along with PostgreSQL will allow more than one user the access to the accounting software from anywhere on the network. Although computer literate, I don't make a living at it... so by the time I learned anything it's obsolete. Command prompts were something I used a long time ago under MS-DOS. Linux is new to me, so the following steps are what made it work on my system. There may be better and easier ways to achieve the same, so if you can help improve this process, please do so. If someone somewhere can use this to setup their own configuration, then the 5 or 6 days of banging my head against the monitor and the few swear words will have more value. Good Luck Farmer Dave, a Linux newbie :-) ------------------------------------------------------------------------- Ubuntu Server ------------------------------------------------------------------------- Download and burn on CD Ubuntu's server edition; in this case version 6.10 Make sure the computer is properly hooked up to the router. Start your computer and configure your Bios to boot on the CD-ROM If it will not boot using CD-ROM... use Smart Boot Manager. See https://help.ubuntu.com/community/SmartBootManagerHowto in my case it would still not boot, so I replaced the CD-ROM with the same one I used to burn the CD. Ubuntu's menu will appear; Select Install to the hard disk I get an error " [42949372.960000] ACPI:Unable to locate RSDP " and ignore it. Since I only have 64MB of memory, the install will enter a low memory mode. Answer to prompts. At the 'Partition disks' menu, I choose to erase entire disk At the 'Ubuntu software selection' I choose DNS server. If new to Linux, check out "An introduction to the Linux command line" at http://www.tuxfiles.org/linuxhelp/cli.html To get an idea of what the directories are for, check out "Linux's directory structure" at http://www.tuxfiles.org/linuxhelp/linuxdir.html ------------------------------------------------------------------------- Apache ------------------------------------------------------------------------- Install Apache $ sudo apt-get update $ sudo apt-get install apache2 I get the response " could not determine the server's fully qualified domain name, using 127.0.1.1 for ServerName " If I enter http://192.168.0.102/ in my favorite browser on any other computer on the network, I will reach the apache2-default directory. Try replacing 102 with 102, 103, 104, etc if no connection is established. ------------------------------------------------------------------------- Various utilities ------------------------------------------------------------------------- Install C-compiler and other libraries $ apt-get install build-essential $ sudo ln -s /usr/bin/gcc-4.1 /bin/gcc $ sudo apt-get install libreadline5-dev $ sudo apt-get install zlib1g-dev ------------------------------------------------------------------------- PostgreSQL ------------------------------------------------------------------------- Install PostgreSQL. Here I'm using version 8.1.5; change accordingly for newer version and/or another mirror. $ sudo mkdir /usr/temp $ cd /usr/temp $ sudo wget ftp://ftp.postgresql.org/pub/source/v8.1.5/postgresql-8.1.5.tar.gz $ sudo gunzip postgresql-8.1.5.tar.gz $ cd /usr/src $ sudo tar xf /usr/temp/postgresql-8.1.5.tar $ cd postgresql-8.1.5 $ sudo ./configure $ sudo make $ sudo make install-strip $ sudo make clean $ sudo /sbin/ldconfig /usr/local/pgsql/lib $ PATH=/usr/local/pgsql/bin:$PATH $ export PATH $ MANPATH=/usr/local/pgsql/man:$MANPATH $ export MANPATH create os user & initialize db cluster $ adduser postgres enter a password of your liking << postgrespassword >> $ sudo su $ mkdir /usr/local/pgsql/data $ chown postgres /usr/local/pgsql/data $ su postgres $ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data $ exit $ exit set-up an auto-start at login script $ sudo cp /usr/src/postgresql-8.1.5/contrib/start-scripts/linux /etc/init.d/postgresql.sh $ sudo chmod 755 postresql.sh $ sudo update-rc.d postgresql.sh defaults $ exit reboot computer $ sudo -u postgres /usr/local/pgsql/bin/createdb testdb if postgresql install was succesful, you should have a response "CREATE DATABASE" $ sudo -u postgres /usr/local/pgsql/bin/dropdb testdb to delete the database ------------------------------------------------------------------------- CPAN ------------------------------------------------------------------------- Install CPAN $ sudo perl -MCPAN -e shell if it's the first ime CPAN is used, an initial configuration questionnaire is launched. Otherwise enter the following if you wish to redo the questionnaire. cpan> o conf init The default answer is probably appropriate most times. Since I want to save space, I won't be keeping the source files. Parameters for the 'make' command? --> "CC=gcc" Parameters for the 'make install' command? --> "CC=gcc" type q to exit the shell when I ran the shell again... sudo perl -MCPAN -e shell ... I was asked again to do the inititial confiuration again! which I redid. cpan> install HTML::LinkExtor cpan> q ------------------------------------------------------------------------- LedgerSMB ------------------------------------------------------------------------- Install Ledger SMB. Here I'm using version 1.1.1d; change accordingly for newer version and/or another mirror. $ cd /usr/temp $ sudo wget http://superb-east.dl.sourceforge.net/sourceforge/ledger-smb/ledger-smb-1.1.1d.tar.gz $ sudo gunzip ledger-smb-1.1.1d.tar.gz $ cd /usr/src $ sudo tar xf /usr/temp/ledger-smb-1.1.1d.tar $ cd ledger-smb $ sudo perl -w setup.pl it will try to install DBI and DBD::Pg package if not already done Create a regular Postgres user. Carefull with the case of the parameters when typing the commands... "-d" is not the same as "-D". $ sudo -u postgres /usr/local/pgsql/bin/createuser -S -d -R -P ledger-smb Enter password for new "ledger-smb" role just created: << PostgresRolePassword >> Configure Apache to serve LedgerSMB $ cd /etc/apache2 $ sudo cp /usr/src/ledger-smb/ledger-smb-httpd.conf ledger-smb.conf $ sudo nano ledger-smb.conf modify the paths at 3 places... Alias /ledger-smb "/usr/src/ledger-smb/" <Directory "/usr/src/ledger-smb"> AllowOveride All AddHandler cgi-script .pl Options ExecCGI Includes FollowSymLinks Order Allow,Deny Allow from all </Directory> <Directory "/usr/src/ledger-smb/users"> Order Deny,Allow Deny from All </Directory> save & exit $ sudo nano apache2.conf add the following lines somewhere in the text... # Ledger-SMB Include /etc/apache2/ledger-smb.conf save & exit reboot computer $ cd /usr/src/ledger-smb $ sudo chown -hR www-data:www-data users templates css spool ------------------------------------------------------------------------- Set-up a database and tables ------------------------------------------------------------------------- Load your web browser and connect to http://192.168.0.102/ledger-smb/admin.pl This is your first time logging into LedgerSMB. Please set your administrative password Select the "Database Administration" link, enter the user you created in the previous step. Host Port User ledger-smb Password PostgresRolePassword Connect to Superuser Password Click on create Dataset Create users and passwords to work in the created dataset. Connect your web browser to http://192.168.0.102/ledger-smb/login.pl to start the application if you get "You have chosen to open login.pl.... open with or save to disk" dialog... clear the browser cache Your system now has user structure that looks like the following. system user password ------- ---------------------- -------------- Linux root encrypted Linux ubuntu * ubuntuPassword * Linux postgres * postgrespassword * Postgresql postgres * (superuser) Postgresql ledger-smb * PostgresRolePassword * Ledger SMB admin * adminPasword * LedgerSMB ledgerUser1 * ledgerUser1Password * LedgerSMB ledgerUser2 * ledgerUser2Password * * or whatever names you choosed -- Low Prices, Wide Selection of Gas Masks Everyday low price guarantee. We offer special police discounts and an extremely wide selection of gas masks, filters and huge selection of preparedness gear. http://a8-asy.a8ww.net/a8-ads/adftrclick?redirectid=24e08df2353d2e6cb9bae3a0e3c8c61e ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Ledger-smb-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ledger-smb-users
