Packages
sudo apt-get install build-essential automake autoconf mono-complete liblog4net1.2-cil uuid-dev libxml2-dev mono-apache-server mono-apache-server2
gsoap libapache2-mod-mono libncurses-dev libtool g++-4.3 gcc-4.3 apache2
Modules to enable
sudo a2enmod ssl
sudo a2enmod rewrite
See /usr/share/doc/apache2.2-common/README.Debian.gz for ssl information
Set hostname
First set your hostname using the hostname command, then edit the hosts file using tab seperation (all entries per host on one line)
hostname servershostnamegoes here
sudo vim /etc/hosts
127.0.0.1 servernamegoeshere localhost
Install Flaim
cd ~
mkdir tmp
cd tmp
wget http://forge.novell.com/modules/xfcontent/private.php/flaim/development/flaim/downloads/source/libflaim-4.9.989.tar.gz -O - | tar -xzf -
cd libflaim-4.9.989/
sed -i "s/\-Werror//" Makefile
make
sudo make install
Install iFolder
cd ~/tmp
wget http://sourceforge.net/projects/ifolder/files/iFolder%20Clients/3.8.0/simias-1.8.3.9328.1.tar.gz/download -O - | tar -xzf -
cd simias-1.8.3.9328.1/
export CSC_LIBFLAG="/target:library"
export WSDL=wsdl2
export CSC2="gmcs -d:MONO -d:MONONATIVE"
export CSC="gmcs -d:MONO -d:MONONATIVE"
export MONO=mono
export CC=gcc-4.3
export CXX=g++-4.3
*NOTE - The following 3 lines are all one command*
sed -i -e "s+\$(GSOAP_PATH)/wsdl2h+wsdl2h+g" -e "s+\$(GSOAP_PATH)/soapcpp2+soapcpp2+g"
-e "s+\$(GSOAP_PATH)/stdsoap2.c+/usr/include/gsoap/stdsoap2.c+g"
-e "s+\$(GSOAP_PATH)/stdsoap2.h+/usr/include/stdsoap2.h+g" src/core/libsimias/Makefile.am
make
sudo make install
sudo updatedb
locate simias-server-setup
sudo /where/it/is/simias-server-setup
The only changes I made during the set up prompts was the choice not to use LDAP and the insertion of my hostname (which we set in the first few steps of this doco), pretty much kept everything else as the default.
You may want to open port 443 on the firewall (below is an example of just opening 443 to my internal network).
iptables -A INPUT -s 192.168.0.0/24 -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
sudo sed -i 's/apache2\/mod_mono.conf/apache2\/mods-enabled\/mod_mono.conf/g' /etc/apache2/conf.d/simias.conf
sudo mkdir -p /var/www/.config/.mono/
sudo chown -R www-data:www-data /var/www/.config/
Locate the ifolder-admin-setup script and run it, make sure that you apply the correct apache user and group eg www-data
sudo /where/it/is/ifolder-admin-setup
Locate ifolder-web-setup (same as above and run it as sudo be sure to enter your external URL instead of accepting …localhost:443 and again make sure that the corrent apache user and group are used.
sudo /where/it/is/ifolder-web-setup
fix up the conf files
sudo sed -i 's/apache2\/mod_mono.conf/apache2\/mods-enabled\/mod_mono.conf/g' /etc/apache2/conf.d/ifolder_admin.conf
and
sudo sed -i 's/apache2\/mod_mono.conf/apache2\/mods-enabled\/mod_mono.conf/g' /etc/apache2/conf.d/ifolder_web.conf
then restart apache2
/etc/init.d/apache2 restart
Gochyas (Read these first)
SSL HostName Issue
You will have to create a self signed Cert as part of this install if you are choosing SSL when installing iFolder. You will have to Google that but take note of the following during the creation of the cert.
Did not get much joy in the browser so I checked the /var/log/apache2/error.log and saw the following
[warn] RSA server certificate CommonName (CN) `ubuntu’ does NOT match server name!?
To solve this make sure that you have your hostname set as the ServerName in the apache config files that are being used. And most importantly this name must patch the setting called “Common Name (eg, YOUR name) []:” that you have to enter while creating your certificate eg running
sudo openssl req -new -x509 -days 365 -nodes -out /etc/ssl/certs/server.cert -keyout /etc/ssl/certs/server.key
mod_mono
During the install of mod_mono I chose yes for the following (the default is no)
Configuration file `/etc/apache2/mods-available/mod_mono.conf'
==> File on system created by you or by a script.
==> File also in package provided by package maintainer.
What would you like to do about it ? Your options are:
Y or I : install the package maintainer's version
N or O : keep your currently-installed version
D : show the differences between the versions
Z : background this process to examine the situation
The default action is to keep your current version.
*** mod_mono.conf (Y/I/N/O/D/Z) [default=N] ? Y