header pictures for dedicated hosting services

How to Install ISPConfig 2 on FreeBSD 5.1

This is a document is intended to install ISPConfig.2.2.31 on a freebsd 5.1 dedicated server. As the apache1.3 shipped with ISPConfig 2 is broken, ISPConfig 2 cannot be installed a FreeBSD 7 install or later. We have tried different combinations of ISPConfig 2.2/3.0 oand FreeBSD 5.1/7.0, only ISPConfig 2.2 + FreeBSD 5.1 is fully functional. If you are looking for an administration panel that works well with FreeBSD you can try Webmin or a preconfigured solutions such as cPanel dedicated servers that you can rent in various hardware configurations.

Please note: This is intended as a guide only and we assume no responsibility for any issues resulting from using the installation instructions below. If you have any questions as Murphy’s law dictates that not everything goes smoothly all the time then visit our FreeBSD Forums.

Part I: Preparing for the ISPConfig Installation

1. Install perl 5.8, because the required perl modules for ispconfig are broken in 5.6 

Login to your FreeBSD 5.1 server using the root account and install perl5.8 with the following command:

cd /usr/ports/lang/perl58 && make install clean 

After that, run the following command to install required modules: 

perl -MCPAN -e"install DB_File"
perl -MCPAN -e"install Net::DNS"
perl -MCPAN -e"install Digest::SHA1"
perl -MCPAN -e"install HTML::Parser" 


If this is the first time you run this command, you'll be prompted to set some options for perl modules. Accept the default by pressing "Enter" all the time. 
The last 2 steps will prompt you for the continent and country you live in, so that it can pick a mirror that's closest to you, pick an option that suits your situation. 

2 install software packages 
Install Proftpd with the following command: 

fetch ftp://ftp.ukrwest.net/pub/FreeBSD/ports/distfiles/proftpd-1.2.8.tar.bz2
mv proftpd-1.2.8.tar.bz2 /usr/ports/distfiles/
cd /usr/ports/ftp/proftpd && make install clean 

Install procmail with the following command: 

cd /usr/ports/mail/procmail && make install clean 

Install bash with the following command: 

cd /usr/ports/shells/bash2 && make install clean 

Install apache 2 with the following command:

fetch http://apache.freelamp.com/httpd/httpd-2.2.11.tar.gz
tar zxf httpd-2.2.11.tar.gz
./configure --prefix=/usr/local
make && make install && make clean

install mysql database 5.0.77 with the following command:

fetch http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-5.0.77.tar.gz/from/ftp://mysql.mirror.rafal.ca/pub/mysql/
mv fetch.out mysql-5.0.77.tar.gz
tar zxf mysql-5.0.77.tar.gz
cd mysql-5.0.77
./configure --prefix=/usr/local
make
make install
make clean
pw groupadd mysql
pw useradd mysql -g mysql -s /bin/flase -c "Mysql daemon"
/usr/local/bin/mysql_install_db --user=mysql
/usr/local/bin/mysqld_safe &

**Note:  mysqld should be running before running setup scripts 

sendmail/named should be installed by default, so we don't have do anything about them

3. create the directory for your websites, ispconfig instsall scripts will ask for this information.
By default, ISPConfig use /home/www, you can set your own, like /var/www

To create a directory, run the following command:

    mkdir /var/www 

Now You Are Ready to Install ISPConfig

4. download source files from www.ispconfig.org website

fetch http://nchc.dl.sourceforge.net/sourceforge/ispconfig/ISPConfig-2.2.31.tar.gz

All soure files will be untared to a dir called "install_ispconfig" 

5. untar sourcefile

tar zxf ISPConfig-2.2.31.tar.gz 

All source files will be untared to a dir called "install_ispconfig" 


6. Modify some scripts to make it run on FreeBSD:

a> under install_ispconfig dir, modify file setup1 by removing line 284-286 that reads as following, otherwise install script will exit with error message like "your operating system is not supported" 

if [ "$dist_supported" == "" ] || [ "$distvers" == "" ]; then
  error "Ihr Betriebssystem wird nicht unterst\xfctzt! / Your operating system is not supported! / Votre systeme d'exploitation n'est pas support\xe9!"         
fi    

b> edit install_ispconfig/scripts/lib/config.lib.php file and replace the following line: 

$mod->log->caselog("useradd -d ".$document_root."/ftp -g web".$web["doc_id"]."_anonftp -m -s /bin/false -u ".($mod->system->server_conf["userid_von"] + 2000 + $web["doc_id"])." web".$web["doc_id"]."_anonftp &> /dev/null", $this->FILE, __LINE__);   

with 

$mod->log->caselog("useradd -d ".$document_root."/ftp -g web".$web["doc_id"]."_anonftp -m -s /bin/false -u ".($mod->system->server_conf["userid_von"] + 2000 + $web["doc_id"])." web".$web["doc_id"]."_anonftp &> /dev/null", $this->FILE, __LINE__);   

And replace the following line: 

$mod->log->caselog("groupadd -g ".($mod->system->server_conf["userid_von"] + 2000 + $web["doc_id"])." web".$web["doc_id"]."_anonftp &> /dev/null", $this->FILE,__LINE__);  

with: 

$mod->log->caselog("pw groupadd web".$web["doc_id"]."_anonftp -g ".($mod->system->server_conf["userid_von"] + 2000 + $web["doc_id"]) &> /dev/null", $this->FILE,__LINE__); 

c> edit install_ispconfig/dist.txt file, change line 1507-1508 that reads: 

dist_http_user=www ##                                            # freebsd51
dist_http_group=www ##                                           # freebsd51 

To:

dist_http_user=daemon ##                                            # freebsd51
dist_http_group=daemon ##                                           # freebsd51 

Because our apache-2.2.11 will run as daemon user instead of www. 

Next:

Continue on to Part 2 of how to install ISPConfig on FreeBSD here

Looking for our FreeBSD Forums? We have moved them off our main page,just follow the link to our FreeBSD Forums page.

Guests Visit the FreeBSD Forums  •  Login to the FreeBSD Forums  •  Register for FREE
Custom Search


Copyright © 2009, WEBSERVER CONSUMER GUIDE

Privacy Policy

Please note:
(1) FreeBSD is a registered trademark of The FreeBSD Foundation.
(2) WEBSERVER CONSUMER GUIDE is in no way affiliated with The FreeBSD Foundation