Freeside:1.7:Documentation:InstallingOnFreeBSD
From Freeside
Revision as of 01:02, 9 July 2009 by OuletOlili (talk | contribs)
http://bocdrondr.com/orervart.html[monalgetze] [[1][monalgetze]]
- http://getcch.com/pasdronchi.html monalgetze
- [monalgetze]
- [[2]]
- [| monalgetze]
- [3]
- [monalgetze|http://c4tcac.com/ladelv.html]
- ((http://raccao.com/acella.html monalgetze))
- [monalgetze](http://aldron.com/dronouaceln.html "monalgetze")
"monalgetze":http://delmoncoch.com/cdeldarcoe.html
Setting up a FreeBSD server for Freeside
- 1. Install FreeBSD. - Do the complete install from CD.
- a. Insert Freebsd CD & boot to CD
- b. Select âCustomâ
- c. Select âPartitionâ
- d. Use âDâ to Delete any existing partitions
- e. Use âCâ to Create slices (this is just the drive, use one slice)
- f. Use âQâ to save & exit
- g. Select âBootMgrâ
- h. Select âLabelâ
- i. Use âCâ to create partitions
- j. Setup swap partition first (2 x RAM) â use âmâ at end of number to denote mb
- k. Select âswapâ as partition type
- l. Setup other partitions â mount point for OS is â/â
- m. Use âQâ to save & finish
- n. Select âDistributionsâ
- o. Select âAllâ
- p. Select âYesâ
- q. Select âExitâ
- r. Select âMediaâ
- s. Select âCD/DVDâ
- t. Select âCommitâ
- u. Select âYesâ
- v. Select âNoâ
- w. Select âExitâ
- x. Select âXâ
- y. Select âYesâ & remove CD
- 2. Configure the server
- a. adduser âadduserâ (set up a user for use later so you donât have to log into root everytime)
- b. set root password âpasswdâ
- c. Edit the rc.conf in etc
- i. hostname=âboxname.your.domainâ
- ii. ifconfig_fxp0=âyour.ip.here netmask your.subnet.hereâ
- iii. defaultrouter=âyour.gateway.ip.hereâ
- iv. inetd_enable=âYESâ
- v. sshd_enable=âYESâ
- vi. keyrate=âfastâ
- vii. update_motd=âNOâ
- viii. kern_securelevel_enable=âNOâ
- ix. usbd_enable=âYESâ
- x. syslogd_flags=â-sâ
- xi. sendmail_enable=âNONEâ
- xii. apache22_enable=âYESâ
- xiii. postgresql_enable=âYESâ
- d. Enable root ssh logon
- i. Edit /etc/ssh/sshd_config to allow root login by changing to yes and unremarking line
- e. âcd /etcâ
- f. âvi resolv.confâ
- i. domain your.domain
- ii. nameserver your.dns.ip.here
- g. reboot
- h. portsnap fetch
- i. portsnap extract
- 3. Perl is already installed with Freebsd, use existing install (Satisfies Freeside install step 1.) However, make sure you're running Perl v5.8.8 'perl -v' otherwise you'll have some syntax errors later on.
- 4. Install Apache
- a. âcd /usr/ports/www/apache22â
- b. âmake && make installâ (use defaults for any gui)
- c. âvi usr/local/etc/apache22/httpd.confâ
- i. Listen IP:Port
- ii. ServerAdmin youremail@yourdomain.com
- iii. ServerName your.servername:80
- iv. Reboot
- 5. Step two of Freeside install instructions almost completed, set up ssl later.
- 6. Install the cpan bundle & Apache bundle
- a. âperl âMCPAN âe shell; â
- b. type ânoâ
- c. âinstall Bundle::CPANâ (watch error messages at end has taken as many as 7 times to get full load)
- d. âreload cpanâ
- e. âinstall Bundle::Apache2â
- f. âquitâ
- 7. Install mod_perl â first download the latest mod_perl to one of your ftp servers
- a. âmkdir /home/youruserfromstep2a/programsâ
- b. âcd /home/ youruserfromstep2a /programsâ
- c. âftp yourftpserverâ
- d. âcd filelocation â
- e. âbinâ
- f. âget mod_perl-2.0-current.tar.gzâ
- g. âquitâ
- h. âtar âxvzf mod<tab>â
- i. âcd mod_perl-2.0.3â
- j. âperl Makefile.PL APACHE_SRC=/usr/ports/www/apache22\
EVERYTHING=1â (apxs source is /usr/local/sbin/apxs)
- k. âmake && make installâ
- l. â/usr/local/sbin/apxs âq LIBEXECDIRâ (should be /usr/local/libexec/apache22, so line would be libexec/apache22/mod_perl.so)
- m. add to httpd.conf â LoadModule perl_module results of above/mod_perl.so (at bottom of LoadModule section)
- n. âapachectl restartâ
- 8. Install OpenSSH (use defaults on GUI)
- a. âcd /usr/ports/security/opensshâ
- b. âmake && make install && rebootâ
- 9. Install rsync: (use defaults on GUI)
- a. âcd /usr/ports/net/rsyncâ
- b. âmake && make install && rebootâ
- 10. Install Postgresql (use defaults on GUI)
- a. âcd /usr/ports/databases/postgresql81-serverâ
- b. âmake && make installâ
- c. Initialize postgresql -- â/usr/local/etc/rc.d/postgresql initdbâ (you should see it build the database files needed here, if it doesnât, then the postgresql install was bad and you need to restart the build process)
- d. Configure for OID
- i. âvi /usr/local/pgsql/data/postgresql.confâ
- ii. enable oid by changing to yes and unremarking line
- e. reboot
- 11. Install teTex
- a. âcd /usr/ports/print/teTeXâ
- b. âmake && make installâ
- 12. Install the required perl modules (At this point I recommend two interfaces into the box. I usually use the terminal and an SSH session. If a module errors out, go to a different screen and force the install before proceeding to the next item. Iâve found the order these modules load seems to matter. You must cd to /root/.cpan/build and find the package directory and cd into it to run the manual make. First run âperl Makefile.PLâ, then âmakeâ and finally âmake installâ)
- a. âperl âMCPAN âe shell;â
- b. type ânoâ
- c. install MIME::Base64
- d. install Digest::MD5
- e. install URI
- f. install HTML::Tagset
- g. install HTML::Parser
- h. i /libnet/
- i. install (full name of latest version of libnet)
- j. install Locale::Country
- k. install Net::Whois::Raw
- l. install libwww
- m. install Bundle::LWP
- n. install Business::CreditCard
- o. i /MailTools/
- p. install (full name of latest version of mailtools)
- q. i /TimeDate/
- r. Install (full name of latest version of TimeDate)
- s. install DateManip
- t. install File::CounterFile
- u. install FreezeThaw
- v. install String::Approx
- w. install Text::Template
- x. install DBI
- y. install DBD::Pg
- z. install DBIx::DBSchema
- aa. install Net::SSH
- bb. install String::ShellQuote
- cc. i /IVAN/Net/
- dd. install (full name of latest version of NET-SCP)
- ee. install HTML::Mason (apache src is /usr/ports/www/apache22)
- ff. install Tie::IxHash
- gg. install Time::Duration
- hh. install HTML::Widgets::SelectLayers
- ii. install Storable
- jj. install Cache::Cache
- kk. install NetAddr::IP
- ll. install Chart::Base
- mm. install Crypt::PasswdMD5
- nn. install Locale::SubCountry
- oo. install JavaScript::RPC
- pp. install Frontier::RPC2
- qq. install Text::CSV_XS
- rr. install Spreadsheet::WriteExcel
- ss. install IO::Stringy
- tt. install MIME::Tools
- uu. install Apache::Session
- vv. install HTML::TreeBuilder
- ww. install HTML::FormatText
- xx. install Test::Inline
- yy. install Class::ReturnValue
- zz. install DBIx::SearchBuilder
- aaa. install Log::Dispatch
- bbb. install Locale::Maketext::Lexicon
- ccc. install Locale::Maketext::Fuzzy
- ddd. install Text::Wrapper
- eee. install Time::ParseDate
- fff. install Term::ReadKey
- ggg. install Text::Autoformat
- hhh. install Text::Quoted
- iii. install Regexp::Common
- jjj. install HTML::Scrubber
- kkk. install Tree::Simple
- lll. install JSON
- mmm. install GD
- nnn. install DateTime::Format::Strptime
- ooo. install IPC::Run3
- ppp. install Color::Scheme
- qqq. install Data::Table
- rrr. install Lingua::EN::NameParse
- sss. install Lingua::EN::Inflect
- ttt. install Apache::DBI
- uuu. install HTTP::BrowserDetect
- vvv. âquitâ
Setting up a FreeSide server.
- 1. Get Freeside ready to install - Download the latest freeside tarball to your ftp server
- a. âcd /home/ youruserfromstep2a /programsâ
- b. âftp yourftpserverâ (log in)
- c. âcd filelocation â
- d. âbinâ
- e. âget free<tab>â
- f. âget Makefileâ
- g. âquitâ
- h. âtar âxvzf free<tab>â
- i. âcp Makefile ./freeside/Makefileâ
- j. âcd free<tab>â
- 2. adduser freeside (start with âadduserâ and answer questions, pwd yourpasswdhere)
- 3. âmkdir /usr/local/www/apache22/data/freesideâ
- 4. âchown freeside:www /usr/local/www/apache22/data/freesideâ
- 5. Allow the freeside user full access to the freeside database
- a. su pgsql
- b. createuser âP freeside
- c. set password (yourpasswdhere)
- d. not a superuser
- e. yes to create database
- f. no to create role
- 6. Add the freeside database
- a. su freeside
- b. createdb âE sql_ascii freeside
- 7. Build and install the Perl modules
- a. Exit all the way to root
- b. make perl-modules
- c. make install-perl-modules
- 8. Create config files: âmake create-configâ
- 9. Edit /usr/local/etc/apache22/httpd.conf
- a. Change user & group to freeside
- 10. apachectl restart
- 11. ps âaux (make sure apache now running as freeside)
- 12. âmake install-docsâ
- 13. Edit the httpd.conf for freeside
- a. Edit /usr/local/etc/apache22/httpd.conf
- b. At bottom add âInclude etc/apache22/Includes/â
- 14. Create the database tables and initial data
- a. su freeside
- b. freeside-setup âd your.domain
- 15. Create the Freeside system users
- a. su freeside
- b. freeside-adduser âg 1 fs_queue
- c. freeside-adduser âg 1 fs_daily
- d. freeside-adduser âg 1 fs_selfservice
- 16. Correct access_user.pm
- a. edit /usr/local/lib/perl5/site_perl/5.8.8/FS/access_user.pm
- b. change the call to $htpasswd_file to â/usr/local/etc/freeside/htpasswdâ instead of just âhtpasswdâ (about line 18)
- c. change the system('htpasswd', '-b', @_, to system('/usr/local/sbin/htpasswd', '-b', @_, (about line 130)
- 17. Create one or more Freeside users
- a. su freeside
- b. freeside-adduser âg 1 yournewuser
- c. htpasswd /usr/local/etc/freeside/htpasswd yournewuser
- 18. Reboot
- 19. Get the correct httpd.conf with all the RT info
- a. Edit the /usr/local/etc/apache22/httpd.conf file
- b. Add the following near the end
- <Directory /usr/local/www/apache22/data/freeside>
- <Files ~ "\.(cgi|html)">
- AddHandler perl-script .cgi .html
- PerlHandler HTML::Mason
- </Files>
- AuthName freeside
- AuthType Basic
- AuthUserFile /usr/local/etc/freeside/htpasswd
- Require valid-user
- </Directory>
- <Perl>
- require "/usr/local/etc/freeside/handler.pl";
- </Perl>
- <Directory /usr/local/www/apache22/data/freeside/rt/NoAuth>
- <Limit GET POST>
- allow from all
- Satisfy Any
- SetHandler perl-script
- PerlHandler HTML::Mason
- </Limit>
- </Directory>
- <Directory /usr/local/www/apache22/data/freeside/rt/REST/1.0/NoAuth>
- <Limit GET POST>
- allow from all
- Satisfy any
- SetHandler perl-script
- PerlHandler HTML::Mason
- </Limit>
- </Directory>
- <DirectoryMatch "^%/usr/local/www/apache22/data/freeside/rt/.*NoAuth/images">
- SetHandler None
- </DirectoryMatch>
- <Directory /usr/local/www/apache22/data/freeside/rt/Ticket/Attachment>
- SetHandler perl-script
- PerlHandler HTML::Mason
- </Directory>
- <Directory /usr/local/www/apache22/data/freeside/rt/Search>
- SetHandler perl-script
- PerlHandler HTML::Mason
- </Directory>
- c. Immediately after the LoadModules, add
- PerlModule HTML::Mason
- 20. adduser rt (password yourpasswordforrt)
- 21. cd /home/ youruserfromstep2a /programs/freeside
- 22. Install & setup RT
- a. Make configure-rt
- b. Make create-rt
- c. Make install-rt
- 23. Set freeside to run on startup
- a. su root
- b. make install-init
- 24. Reboot
- 25. Log into Freeside
- 26. Go to Ticketing main
- 27. Go back to billing main
- 28. Add employee root
- 29. reboot
- 30. log back into freeside as root
- 31. Go to ticketing main, Configuration, Global, User Rights, Give your uid superuser rights
- 32. Go back to billing main and disable the root user