|
|
Line 4: |
Line 4: |
| :1. Install FreeBSD. - Do the complete install from CD. | | :1. Install FreeBSD. - Do the complete install from CD. |
| | | |
− | ::a. Insert Freebsd CD & boot to CD | + | ::a. Insert Freebsd 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. 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
| |