Difference between revisions of "Freeside:1.7:Documentation:InstallingOnFreeBSD"
From Freeside
Thumper113 (talk | contribs) |
Thumper113 (talk | contribs) |
||
Line 1: | Line 1: | ||
− | Setting up a FreeBSD server for Freeside | + | '''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.) | |
− | + | :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) | 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. i /JWIED/Text/ | |
− | + | ::rr. install (full name of latest version of Text-CSV_X) | |
− | + | ::ss. install Spreadsheet::WriteExcel | |
− | + | ::tt. install IO::Stringy | |
− | + | ::uu. install MIME::Tools | |
− | + | ::vv. install Apache::Session | |
− | + | ::ww. install HTML::TreeBuilder | |
− | + | ::xx. install HTML::FormatText | |
− | + | ::yy. install Test::Inline | |
− | + | ::zz. install Class::ReturnValue | |
− | + | ::aaa. install DBIx::SearchBuilder | |
− | + | ::bbb. install Log::Dispatch | |
− | + | ::ccc. install Locale::Maketext::Lexicon | |
− | + | ::ddd. install Locale::Maketext::Fuzzy | |
− | + | ::eee. install Text::Wrapper | |
− | + | ::fff. install Time::ParseDate | |
− | + | ::ggg. install Term::ReadKey | |
− | + | ::hhh. install Text::Autoformat | |
− | + | ::iii. install Text::Quoted | |
− | + | ::jjj. install Regexp::Common | |
− | + | ::kkk. install HTML::Scrubber | |
− | + | ::lll. install Tree::Simple | |
− | + | ::mmm. install JSON | |
− | + | ::nnn. install GD | |
− | + | ::ooo. install DateTime::Format::Strptime | |
− | + | ::ppp. install IPC::Run3 | |
− | + | ::qqq. install Color::Scheme | |
− | + | ::rrr. install Data::Table | |
− | + | ::sss. install Lingua::EN::NameParse | |
− | + | ::ttt. install Lingua::EN::Inflect | |
− | + | ::uuu. install Apache::DBI | |
− | + | ::vvv. install HTTP::BrowserDetect | |
− | + | ::www. “quit” | |
− | Setting up a FreeSide server. | + | '''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 | |
− | |||
− | |||
− | |||
− |
Revision as of 17:44, 5 March 2007
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.)
- 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. i /JWIED/Text/
- rr. install (full name of latest version of Text-CSV_X)
- ss. install Spreadsheet::WriteExcel
- tt. install IO::Stringy
- uu. install MIME::Tools
- vv. install Apache::Session
- ww. install HTML::TreeBuilder
- xx. install HTML::FormatText
- yy. install Test::Inline
- zz. install Class::ReturnValue
- aaa. install DBIx::SearchBuilder
- bbb. install Log::Dispatch
- ccc. install Locale::Maketext::Lexicon
- ddd. install Locale::Maketext::Fuzzy
- eee. install Text::Wrapper
- fff. install Time::ParseDate
- ggg. install Term::ReadKey
- hhh. install Text::Autoformat
- iii. install Text::Quoted
- jjj. install Regexp::Common
- kkk. install HTML::Scrubber
- lll. install Tree::Simple
- mmm. install JSON
- nnn. install GD
- ooo. install DateTime::Format::Strptime
- ppp. install IPC::Run3
- qqq. install Color::Scheme
- rrr. install Data::Table
- sss. install Lingua::EN::NameParse
- ttt. install Lingua::EN::Inflect
- uuu. install Apache::DBI
- vvv. install HTTP::BrowserDetect
- www. “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