FreeBSD 6.2 (amd64) Installation
From DocMGR
[edit] This is an overview of the steps I am taking to install DocMGR onto a FreeBSD 6.2 system (amd64/64-bit)
[edit] General Info
Author: Michael Joyner
EMail #1: mjoyner (at) ewc (dot) edu
EMail #2: mjoyner (at) vbservices (dot) net
[edit] Install FreeBSD 6.2
I am currently in the progress of doing this, documenting as I go along... patience please. :)
Here is my partition table:
da0s1a / 512 MB da0s1b SWAP 994 MB da0s1d /var 1521 MB da0s1d /tmp 512 MB da0s1e /usr 12839 MB da1s1d /docmgr 119 GB
All binaries and sources were selected for installation. Sendmail = Enabled sshd = Enabled
After base OS installed and configured to satisfaction...
su -
/bin/sh
for x in bash cvsup-without-gui gmake; do
pkg_add -r ${x}
done
- chsh for root and your ssh login user to change the shell to bash
- logoff
- logon
- su - root
- update ports collection
[edit] Install Dependencies First
[edit] Apache
cd /usr/ports/www/apache13-modssl make all make certificate TYPE=custom make install make clean
add apache_enable="YES" to /etc/rc.conf
[edit] Apache: Fix search path!
edit /usr/local/etc/rc.d/apache insert:
export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/X11R6/bin
after the
#!/bin/sh
line.
[edit] Apache: Test connectivity
/usr/local/etc/rc.d/apache.sh start
Verify you can talk to the web server, both SSL and non-SSL.
[edit] PHP5
cd /usr/ports/lang/php5 make config ┌────────────────────────────────────────────────────────────────────┐ │ Options for php5 5.2.1_3 │ │ ┌────────────────────────────────────────────────────────────────┐ │ │ │ [X] CLI Build CLI version │ │ │ │ [X] CGI Build CGI version │ │ │ │ [X] APACHE Build Apache module │ │ │ │ [ ] DEBUG Enable debug │ │ │ │ [X] SUHOSIN Enable Suhosin protection system │ │ │ │ [X] MULTIBYTE Enable zend multibyte support │ │ │ │ [X] IPV6 Enable ipv6 support │ │ │ │ [ ] MAILHEAD Enable mail header patch │ │ │ │ [ ] REDIRECT Enable force-cgi-redirect support (CGI only) │ │ │ │ [ ] DISCARD Enable discard-path support (CGI only) │ │ │ │ [X] FASTCGI Enable fastcgi support (CGI only) │ │ │ │ [X] PATHINFO Enable path-info-check support (CGI only) │ │ │ │ │ │ │ │ │ │ │ │ │ │ ├─└────────────────────────────────────────────────────────────────┘─┤ │ [ OK ] Cancel │ └────────────────────────────────────────────────────────────────────┘ make make install make clean
Make sure index.php is part of your DirectoryIndex.
You should add the following to your Apache configuration file:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
vi /usr/local/etc/apache/httpd.conf
change
#
# DirectoryIndex: Name of the file or files to use as a pre-written HTML
# directory index. Separate multiple entries with spaces.
#
<IfModule mod_dir.c>
<IfModule mod_php3.c>
<IfModule mod_php4.c>
DirectoryIndex index.php index.php3 index.html
</IfModule>
<IfModule !mod_php4.c>
DirectoryIndex index.php3 index.html
</IfModule>
</IfModule>
<IfModule !mod_php3.c>
<IfModule mod_php4.c>
DirectoryIndex index.php index.html
</IfModule>
<IfModule !mod_php4.c>
DirectoryIndex index.html
</IfModule>
</IfModule>
</IfModule>
to
<IfModule mod_dir.c> DirectoryIndex index.php index.php3 index.html </IfModule>
Change
#
# To enable type maps, you might want to use
#
#AddHandler type-map var
</IfModule>
to
#
# To enable type maps, you might want to use
#
#AddHandler type-map var
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
</IfModule>
Restart apache:
/usr/local/etc/rc.d/apache.sh restart
Create a test php file.
cd /usr/local/www mv data data.orig mkdir data cd data cat > index.php <?php phpinfo(); ?> ^D
Navigate to http://yourserver/, verify PHP is working. Navigate to https://yourserver/, verify PHP is working.
[edit] GOCR
cd /usr/ports/graphics/gocr make && make install && make clean
[edit] ImageMagick (pt. 1)
cd /usr/ports/graphics/ImageMagick make config
┌────────────────────────────────────────────────────────────────────┐
│ Options for ImageMagick 6.3.2.0_1 │
│ ┌────────────────────────────────────────────────────────────────┐ │
│ │ [X] X11 X11 support │ │
│ │ [X] IMAGEMAGICK_PERL Perl support │ │
│ │ [X] IMAGEMAGICK_MODULES Modules support │ │
│ │ [X] IMAGEMAGICK_BZLIB Bzlib support │ │
│ │ [X] IMAGEMAGICK_16BIT_PIXEL 16bit pixel support │ │
│ │ [X] IMAGEMAGICK_LCMS LCMS support │ │
│ │ [X] IMAGEMAGICK_TTF Freetype support │ │
│ │ [X] IMAGEMAGICK_FONTCONFIG Fontconfig support │ │
│ │ [X] IMAGEMAGICK_JPEG JPG format support │ │
│ │ [X] IMAGEMAGICK_PNG PNG format support │ │
│ │ [X] IMAGEMAGICK_TIFF TIFF format support │ │
│ │ [X] IMAGEMAGICK_FPX FPX format support │ │
│ │ [X] IMAGEMAGICK_JBIG JBIG format support │ │
│ │ [X] IMAGEMAGICK_JPEG2000 JPEG2000 format support │ │
│ │ [ ] IMAGEMAGICK_DOT GraphViz dot graphs support │ │
├─└─────v(+)───────────────────────────────────────────────────────┘─┤
│ [ OK ] Cancel │
└────────────────────────────────────────────────────────────────────┘
┌────────────────────────────────────────────────────────────────────┐
│ Options for ImageMagick 6.3.2.0_1 │
│ ┌─────^(-)───────────────────────────────────────────────────────┐ │
│ │ [X] IMAGEMAGICK_LCMS LCMS support │ │
│ │ [X] IMAGEMAGICK_TTF Freetype support │ │
│ │ [X] IMAGEMAGICK_FONTCONFIG Fontconfig support │ │
│ │ [X] IMAGEMAGICK_JPEG JPG format support │ │
│ │ [X] IMAGEMAGICK_PNG PNG format support │ │
│ │ [X] IMAGEMAGICK_TIFF TIFF format support │ │
│ │ [X] IMAGEMAGICK_FPX FPX format support │ │
│ │ [X] IMAGEMAGICK_JBIG JBIG format support │ │
│ │ [X] IMAGEMAGICK_JPEG2000 JPEG2000 format support │ │
│ │ [ ] IMAGEMAGICK_DOT GraphViz dot graphs support │ │
│ │ [X] IMAGEMAGICK_WMF WMF format support │ │
│ │ [X] IMAGEMAGICK_SVG SVG format support │ │
│ │ [X] IMAGEMAGICK_PDF PDF format support │ │
│ │ [X] IMAGEMAGICK_MPEG2 MPEG2 format support │ │
│ │ [X] IMAGEMAGICK_GSLIB libgs (Postscript SHLIB) support │ │
├─└────────────────────────────────────────────────────────────────┘─┤
│ [ OK ] Cancel │
└────────────────────────────────────────────────────────────────────┘
[edit] ImageMagick (pt. 2)
make depends
┌────────────────────────────────────────────────────────────────────┐
│ Options for lcms 1.16_1,1 │
│ ┌────────────────────────────────────────────────────────────────┐ │
│ │ [ ] TIFFICC Build color profile applier for tiff │ │
│ │ [ ] JPEGICC Build color profile applier for JPEG │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
├─└────────────────────────────────────────────────────────────────┘─┤
│ [ OK ] Cancel │
└────────────────────────────────────────────────────────────────────┘
┌────────────────────────────────────────────────────────────────────┐
│ Options for librsvg2 2.16.1 │
│ ┌────────────────────────────────────────────────────────────────┐ │
│ │ [ ] MOZILLA_PLUGIN Enable the SVG browser plug-in │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
├─└────────────────────────────────────────────────────────────────┘─┤
│ [ OK ] Cancel │
└────────────────────────────────────────────────────────────────────┘
The Ghostscript options were left at default settings.
┌─────────────────── AFPL Ghostscript driver configuration ────────────────────┐ │ │ │ This new ghostscript driver configuration dialog allows you to choose │ │ only those gs drivers, you really need. Don't think too economical, since │ │ other programs in the ports collection might need some of the default gs │ │ file format drivers. The gs5 default drivers are preselected. │ │ Have fun with this new configuration style ! -andreas │ │ │ │ Please choose options by pressing SPACE to TOGGLE an option ON/OFF ? │ │ ┌──────────────────────────────────────────────────────────────────────────┐ │ │ │[X] x11 X Window System version 11, release >=4 │ │ │ │[X] x11alpha X Window System masquer. as device with alpha capability │ │ │ │[X] x11cmyk X Window System masquer. as 1-bit-per-plane CMYK device │ │ │ │[X] x11cmyk2 X Window System as a 2-bit-per-plane CMYK device │ │ │ │[X] x11cmyk4 X Window System as a 4-bit-per-plane CMYK device │ │ │ │[X] x11cmyk8 X Window System as an 8-bit-per-plane CMYK device │ │ │ │[X] x11gray2 X Window System as a 2-bit gray-scale device │ │ │ │[X] x11gray4 X Window System as a 4-bit gray-scale device │ │ │ │[X] x11mono X Window System masquer. as black-and-white device │ │ │ └────v(+)──────────────────────────────────────────────────────────────────┘ │ ├──────────────────────────────────────────────────────────────────────────────┤ │ [ OK ] Cancel │ └──────────────────────────────────────────────────────────────────────────────┘
[edit] ImageMagick (pt. 3)
make make install make clean
[edit] xpdf
cd /usr/ports/graphics/xpdf make && make install && make clean
[edit] enscript-letter
cd /usr/ports/print/enscript-letter make && make install && make clean
[edit] wget
cd /usr/ports/ftp/wget make && make install && make clean
[edit] zip
cd /usr/ports/archivers/zip make && make install && make clean
[edit] antiword
/usr/ports/textproc/antiword make && make install && make clean
[edit] ClamAV
cd /usr/ports/security/clamav make config
┌────────────────────────────────────────────────────────────────────┐
│ Options for clamav 0.90_3 │
│ ┌────────────────────────────────────────────────────────────────┐ │
│ │ [X] MILTER Compile the milter interface │ │
│ │ [ ] LDAP libmilter was built with LDAP │ │
│ │ [ ] CURL Support URL downloading │ │
│ │ [ ] STDERR Print logs to stderr instead of stdout │ │
│ │ [ ] EXPERIMENTAL Build experimental code │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
├─└────────────────────────────────────────────────────────────────┘─┤
│ [ OK ] Cancel │
└────────────────────────────────────────────────────────────────────┘
make && make install && make clean
cat >> /etc/rc.conf clamav_clamd_enable="YES" clamav_freshclam_enable="YES" clamav_milter_enable="YES" ^D
cd /usr/local/etc/rc.d
for x in clam*; do
./${x} start
done
[edit] postgresql
cd /usr/ports/databases/postgresql82 make config
┌────────────────────────────────────────────────────────────────────┐
│ Options for postgresql-server 8.2.3 │
│ ┌────────────────────────────────────────────────────────────────┐ │
│ │[X] NLS Use internationalized messages │ │
│ │[ ] PAM Build with PAM support (server only) │ │
│ │[ ] LDAP Build with LDAP authentication support │ │
│ │[ ] MIT_KRB5 Build with MIT's kerberos support │ │
│ │[ ] HEIMDAL_KRB5 Builds with Heimdal kerberos support │ │
│ │[ ] OPTIMIZED_CFLAGS Builds with compiler optimizations (-O3) │ │
│ │[ ] LIBC_R Link w/ libc_r, used by plpython (server) │ │
│ │[ ] THREADSAFE make libpq thread safe │ │
│ │[ ] TESTS Allows the use of a check target (server) │ │
│ │[ ] DEBUG Builds with debugging symbols │ │
│ │[ ] INTDATE Builds with 64-bit date/time type (server)│ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
├─└────────────────────────────────────────────────────────────────┘─┤
│ [ OK ] Cancel │
└────────────────────────────────────────────────────────────────────┘
make make install make clean
cat >> /etc/rc.conf postgresql_enable="YES" ^D
From /usr/local/share/doc/postgresql/*
To initialize the database, run
/usr/local/etc/rc.d/postgresql initdb
You can then start PostgreSQL by running:
/usr/local/etc/rc.d/postgresql start
For postmaster settings, see ~pgsql/data/postgresql.conf
NB. FreeBSD's PostgreSQL port logs to syslog by default
See ~pgsql/data/postgresql.conf for more info
[edit] postgresql-contrib
cd /usr/ports/databases/postgresql-contrib make make config make install make clean
[edit] PHP5-extensions (pt. 1)
cd /usr/ports/lang/php5-extensions make config
┌────────────────────────────────────────────────────────────────────┐
│ Options for php5-extensions 1.1 │
│ ┌────────────────────────────────────────────────────────────────┐ │
│ │ [ ] BCMATH bc style precision math functions │ │
│ │ [X] BZ2 bzip2 library support │ │
│ │ [ ] CALENDAR calendar conversion support │ │
│ │ [X] CTYPE ctype functions │ │
│ │ [X] CURL CURL support │ │
│ │ [ ] DBA dba support │ │
│ │ [ ] DBASE dBase library support │ │
│ │ [X] DOM DOM support │ │
│ │ [ ] EXIF EXIF support │ │
│ │ [X] FILEINFO fileinfo support │ │
│ │ [X] FILTER input filter support │ │
│ │ [ ] FRIBIDI FriBidi support │ │
│ │ [X] FTP FTP support │ │
│ │ [X] GD GD library support │ │
│ │ [X] GETTEXT gettext library support │ │
├─└───────v(+)─────────────────────────────────────────────────────┘─┤
│ [ OK ] Cancel │
└────────────────────────────────────────────────────────────────────┘
┌────────────────────────────────────────────────────────────────────┐
│ Options for php5-extensions 1.1 │
│ ┌───────^(-)─────────────────────────────────────────────────────┐ │
│ │ [X] GMP GNU MP support │ │
│ │ [X] HASH HASH Message Digest Framework │ │
│ │ [X] ICONV iconv support │ │
│ │ [X] IMAP IMAP support │ │
│ │ [ ] INTERBASE Interbase 6 database support (Firebird) │ │
│ │ [X] JSON JavaScript Object Serialization support │ │
│ │ [X] LDAP OpenLDAP support │ │
│ │ [X] MBSTRING multibyte string support │ │
│ │ [ ] MCRYPT Encryption support │ │
│ │ [ ] MHASH Crypto-hashing support │ │
│ │ [ ] MING ming shockwave flash support │ │
│ │ [ ] MSSQL MS-SQL database support │ │
│ │ [ ] MYSQL MySQL database support │ │
│ │ [ ] MYSQLI MySQLi database support │ │
│ │ [ ] NCURSES ncurses support (CLI only) │ │
├─└───────v(+)─────────────────────────────────────────────────────┘─┤
│ [ OK ] Cancel │
└────────────────────────────────────────────────────────────────────┘
┌────────────────────────────────────────────────────────────────────┐
│ Options for php5-extensions 1.1 │
│ ┌───────^(-)─────────────────────────────────────────────────────┐ │
│ │ [ ] ODBC unixODBC support │ │
│ │ [X] OPENSSL OpenSSL support │ │
│ │ [ ] PCNTL pcntl support (CLI only) │ │
│ │ [X] PCRE Perl Compatible Regular Expression support │ │
│ │ [ ] PDF PDFlib support (implies GD) │ │
│ │ [X] PDO PHP Data Objects Interface (PDO) │ │
│ │ [X] PDO_SQLITE PDO sqlite driver │ │
│ │ [X] PGSQL PostgreSQL database support │ │
│ │ [X] POSIX POSIX-like functions │ │
│ │ [X] PSPELL pspell support │ │
│ │ [ ] READLINE readline support (CLI only) │ │
│ │ [ ] RECODE recode support │ │
│ │ [X] SESSION session support │ │
│ │ [ ] SHMOP shmop support │ │
│ │ [X] SIMPLEXML simplexml support │ │
├─└───────v(+)─────────────────────────────────────────────────────┘─┤
│ [ OK ] Cancel │
└────────────────────────────────────────────────────────────────────┘
┌────────────────────────────────────────────────────────────────────┐
│ Options for php5-extensions 1.1 │
│ ┌───────^(-)─────────────────────────────────────────────────────┐ │
│ │ [X] SOAP SOAP support │ │
│ │ [ ] SOCKETS sockets support │ │
│ │ [X] SPL Standard PHP Library │ │
│ │ [X] SQLITE sqlite support │ │
│ │ [ ] SYBASE_CT Sybase database support │ │
│ │ [ ] SYSVMSG System V message support │ │
│ │ [ ] SYSVSEM System V semaphore support │ │
│ │ [ ] SYSVSHM System V shared memory support │ │
│ │ [ ] TIDY TIDY support │ │
│ │ [X] TOKENIZER tokenizer support │ │
│ │ [ ] WDDX WDDX support (implies XML) │ │
│ │ [X] XML XML support │ │
│ │ [X] XMLREADER XMLReader support │ │
│ │ [ ] XMLRPC XMLRPC-EPI support │ │
│ │ [X] XMLWRITER XMLWriter support │ │
├─└───────v(+)─────────────────────────────────────────────────────┘─┤
│ [ OK ] Cancel │
└────────────────────────────────────────────────────────────────────┘
┌────────────────────────────────────────────────────────────────────┐
│ Options for php5-extensions 1.1 │
│ ┌───────^(-)─────────────────────────────────────────────────────┐ │
│ │ [ ] SYBASE_CT Sybase database support │ │
│ │ [ ] SYSVMSG System V message support │ │
│ │ [ ] SYSVSEM System V semaphore support │ │
│ │ [ ] SYSVSHM System V shared memory support │ │
│ │ [ ] TIDY TIDY support │ │
│ │ [X] TOKENIZER tokenizer support │ │
│ │ [ ] WDDX WDDX support (implies XML) │ │
│ │ [X] XML XML support │ │
│ │ [X] XMLREADER XMLReader support │ │
│ │ [ ] XMLRPC XMLRPC-EPI support │ │
│ │ [X] XMLWRITER XMLWriter support │ │
│ │ [ ] XSL XSL support (Implies DOM) │ │
│ │ [ ] YAZ YAZ support (ANSI/NISO Z39.50) │ │
│ │ [X] ZIP ZIP support │ │
│ │ [X] ZLIB ZLIB support │ │
├─└────────────────────────────────────────────────────────────────┘─┤
│ [ OK ] Cancel │
└────────────────────────────────────────────────────────────────────┘
make make install make clean
[edit] PHP5-extensions (pt. 2)
┌────────────────────────────────────────────────────────────────────┐
│ Options for curl 7.16.0_1 │
│ ┌────────────────────────────────────────────────────────────────┐ │
│ │ [ ] CARES Asynchronous DNS resolution via c-ares │ │
│ │ [ ] CURL_DEBUG Enable curl diagnostic output │ │
│ │ [ ] GNUTLS Use GNU TLS if OPENSSL is OFF │ │
│ │ [X] IPV6 IPv6 support │ │
│ │ [ ] KERBEROS4 Kerberos 4 authentication │ │
│ │ [ ] LIBIDN Internationalized Domain Names via libidn │ │
│ │ [ ] NTLM NTLM authentication │ │
│ │ [X] OPENSSL OpenSSL support │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
├─└────────────────────────────────────────────────────────────────┘─┤
│ [ OK ] Cancel │
└────────────────────────────────────────────────────────────────────┘
┌────────────────────────────────────────────────────────────────────┐
│ Options for php5-gd 5.2.1_3 │
│ ┌────────────────────────────────────────────────────────────────┐ │
│ │ [X] T1LIB Include T1lib support │ │
│ │ [X] TRUETYPE Enable TrueType string function │ │
│ │ [ ] JIS Enable JIS-mapped Japanese font support │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
├─└────────────────────────────────────────────────────────────────┘─┤
│ [ OK ] Cancel │
└────────────────────────────────────────────────────────────────────┘
┌────────────────────────────────────────────────────────────────────┐
│ Options for php5-mbstring 5.2.1_3 │
│ ┌────────────────────────────────────────────────────────────────┐ │
│ │ [X] REGEX Enable multibyte regex support │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
├─└────────────────────────────────────────────────────────────────┘─┤
│ [ OK ] Cancel │
└────────────────────────────────────────────────────────────────────┘
┌────────────────────────────────────────────────────────────────────┐
│ Options for php5-sqlite 5.2.1_3 │
│ ┌────────────────────────────────────────────────────────────────┐ │
│ │ [ ] UTF8 Enable UTF-8 support │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
├─└────────────────────────────────────────────────────────────────┘─┤
│ [ OK ] Cancel │
└────────────────────────────────────────────────────────────────────┘
/usr/local/sbin/apachectl graceful
[edit] DocMGR
[edit] DocMgr (pt 1)
cd /docmgr wget 'http://downloads.sourceforge.net/docmgr/docmgr-0.57.3.tar.gz?modtime=1162414030&big_mirror=0' tar xvfz docmgr-0.57.3.tar.gz cd doc mv files ../files chown -R www /docmgr/files
[edit] DocMgr (pt 2)
vi config/config.php
Parts to change...
define("DBUSER","pgsql"); //my attempts to change this from the default FAILED!
define("DBPASSWORD","YOURsecret");
define("IMPORT_DIR","/docmgr/import");
define("FILE_DIR","/docmgr/files");
define("ADMIN_EMAIL","support@ewc.edu");
define("SITE_URL","http://YOURSITENAME/doc/");
//use the tsearch2 indexing system
define("TSEARCH2_INDEX","1");
//allow removal of past file revisions (yes or no)
define("FILE_REVISION_REMOVE","no");
//allow removal of past document revisions (yes or no)
define("DOC_REVISION_REMOVE","no");
[edit] DocMgr (pt 3)
chsh pgsql
Change /bin/sh to /usr/local/bin/bash
su -l pgsql cd /docmgr/doc/scripts createuser --no-superuser --no-createdb --no-createrole --login --pwprompt --echo docmgr createdb --echo --owner docmgr docmgr psql -d docmgr -f docmgr.pgsql exit
[edit] DocMgr (pt 4)
cd /usr/local/www/data ln -s /docmgr/doc .
/usr/local/etc/rc.d/postgresql restart su -l pgsql cd /usr/local/share/postgresql/contrib psql -d docmgr -f tsearch2.sql cd /docmgr/doc/scripts
Visit http://YourServer/doc/

