Freeside:1.7:Documentation:InstallingOnFreeBSD

From Freeside
Revision as of 15:41, 19 July 2009 by Erc4tCorda (talk | contribs)

Jump to: navigation, search

keanna reeves video scandal tandem bikes gun rust remover linsey dawn mackenzie free movies roller coaster video game amateur home pinto video symantec antivirus license file icopydvds2 serialz wire and cable specialist aria movie trailer link wage hour division funny films pmbok free automobile clipart atrevida la racing video european driving license computers tallahassee properties for sale adult book guest inurl movie porn teen tax adjustments importexport license japanese mario movie sunshine super britney mp3 tennis ball launcher project jpop jrock torrents natures miracle cleaner 20online adipex sql timestamp comparison altezza taillight mickey rim thompson truck smartmovie player palm london parking ncp russian orthodox church religion www.petiteteenager.com japanese sale sword site contraceptive pill voom satellite mac kills my inner child video merly streep movies dean martin ringtones shithole movies nfsu nocd crack outkast elevators video cherry bomb lokki torrent abi titmuss topless exam online physical video mugen guilty gear characters polly.com kentucky movie russellville theater top i woke up in a car video serena williams nude rca component video cables internet cleanup 4 crack free foreclosure listings oliver stone new movie pornosaur kaiba the revenge crack altplayground radio kaos torrent infragistics netadvantage crack http wireless isp willsky mit pole vaulting videos pan peter pirate ship american insulated new movies and movies to come illinois foster home licensing procedure skala podatkowa 2004 wellbutrin and lexapro together sitemap nextel accessory wholesale picasa 2.0 crack juggernaut man movie x robert ranson top microsoft office xp download crack latinas movie clips snowy range snowmobile rentals dow jones futures movie prank myspace music video code for t.is what you know agreement end license software user russle crow movies an inspiration and paymaster for terrorist vehiculos industriales ocasion wellbutrin prices glucagon movie new tyrese property insurance magix movie editor pro 10 v 5.0.6.0 crack valley ford st. louis mo iwoa university nu virgos stop video augustus academy award best movie nominations guinea 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