Makefile for Scalix-Installation on Debian and Ubuntu
Contents
IMPORTANT NOTE
The installation described and performed by the makefile is out of date on the Scalix 11 side. This still uses packages from the Community Preview, which are no longer current. Please download Scalix 11 Beta software instead from http://www.scalix.com/downloads and follow the manual install instructions. The Makefile is community-maintained and needs to be updated before it can again be used to install Scalix 11. (Florian)
What is this?
This is a Makefile to install Scalix 10 CE Raw on a clean Base-Installation of Ubuntu. I testet it on different Systems, but it's 'very alpha'. So it's better to make a Backup (It's always nice to have a Backup, isn't it? ;).
For Scalix 11 preview there's another Makefile. But as the Download-Location and Packagenames changed in 11 beta, neither this Makefile nor the Makefile.11pre will work on that Version. I will fix this as soon as possible. If you already did, please let me know.
Prepare
Activate univers and universe-security in /etc/apt/sources.list and run apt-get update. Without this, you can run into Dependency-Problems with the Package krb5-user
Packages
To use this Makefile, we need the Packages make, sed and wget. Sed and wget should be included in the Base-Installation.
apt-get install make wget sed
You can download this Makefile from http://linux.in-no-sense.de. Chmod to 0400, because it contains the Cleartext-Password for the Admin-Users
[ -d /opt/scalix_install ] || ( mkdir /opt/scalix_install && cd /opt/scalix_install/ && \ wget http://linux.in-no-sense.de/download/scalix/Makefile && \ chown root:root Makefile && chmod 0400 Makefile)
Java
Get the Java JDK 5.0 Update 6 from http://java.sun.com and save the jdk-1_5_0_06-linux-i586.bin in /opt/scalix_install/pkg
Be sure to make jdk-1_5xxx executable.
chmod +x jdk-1_5_0_06-linux-i586.bin
Info: The Makefile deletes existing alternatives of java and javc!
Edit the Makefile
You have to set some Variables to fit it to your needs.
The Admin-Password
ADMIN_PASSWD := verysecret
Domain- and Hostname of your Host. Check it by typing hostname -f
DOMAINNAME := localdomain HOSTNAME := scalix
Mailnode and Standard-Maildomain
MAILNODE := testfirma MAILDOMAIN := testfirma.org
Optional Settings
See Wiki for Details
CN_RULE := 'S, G' AUTHID_RULE := 'gs'
Java and Tomcat-Versions
JAVAPKG_DIR := pkg/jdk-1_5_0_06-linux-i586.bin JAVAPKG_DOTDIR := jdk1.5.0_06
TOMCAT_VER := jakarta-tomcat-5.0.28
Installation
To install, type
make with_java
If you allready have java installed (I just need this for reinstalling Scalix), type
make without_java
To remove the installation
make very_clean
this does not remove Java
Testing
Try http://localhost:8080/sac and login with User: sxadmin and your Password
Try http://localhost:8080/webmail and do the same
Bugs
Sometimes the files res.properties or swa.properties are empty after running the Makefile.
Appendix
Makefile
## Makefile for Scalix Community Edition Raw 10 on Ubuntu - v0.3 ## ## (c) 2006 - Ralf Nickel, ralf.nickel@itrn.de - http://www.itrn.de ## based on http://www.scalix.com/wiki/index.php?title=Scalix_CE_Raw/Installation ## ## only tested on a Base-Installation on Ubuntu Dapper Drake beta, Hoary and Breezy ## Changes ## 07/27/06 - checking existing Directories in 'prepare' ## - Changed libapache2-mod-jk2 to libapache2-mod-jk in 'dubidu_depends' - Djdicbob ## - /opt/scalix_install replaced everywhere by $(INST_PREFIX) ## - forcing creation of Symlinks - Reinier ## - forcing removal of Files and Symlinks - Reinier ## Directory of this Makefile INST_PREFIX := /opt/scalix_install # Where is the Scalix-Installation SCALIX_PREFIX := /opt/scalix JAVAPKG_DIR := pkg/jdk-1_5_0_06-linux-i586.bin JAVAPKG_DOTDIR := jdk1.5.0_06 # Tomcat-Package TOMCAT_VER := jakarta-tomcat-5.0.28 TOMCAT_PKG := pkg/$(TOMCAT_VER).tar.gz TOMCAT_INSTDIR := /opt TOMCAT_LINK := /opt/scalix-tomcat TOMCAT_PORT := 8080 # Admins ADMIN_USER := sxadmin # LDAP-Admin QUERYADMIN_USER := sxqueryadmin # I simply use same Password for both Admins. ADMIN_PASSWD := geheim # Domain- and Hostname for this Host # check with 'hostname -f' DOMAINNAME := localdomain HOSTNAME := scalix # CE Raw - just one Mailnode MAILNODE := testfirma # Default Maildomain MAILDOMAIN := testfirma.org # see http://www.scalix.com/wiki for details CN_RULE := 'S, G' AUTHID_RULE := 'gs' all: @echo -e "Download Java JDK1.5 from \nhttp://java.sun.com\nsave it to $(INST_PREFIX)/pkg and run \n# make with_java or \n# make without_java" with_java: dubidu_depends java_sdk prepare scalix-tomcat scalix_inst scalix_setup add_sxgroups \ add_tweaks start_allom tomscal_conf conf_swa.properties conf_ubermanager \ conf_res.properties restart_tomcat config_apache2 without_java: dubidu_depends prepare scalix-tomcat scalix_inst scalix_setup add_sxgroups \ add_tweaks start_allom tomscal_conf conf_swa.properties conf_ubermanager \ conf_res.properties restart_tomcat config_apache2 very_clean: /etc/init.d/scalix stop /etc/init.d/scalix-tomcat stop apt-get --yes remove --purge scalix-res* scalix-sac* scalix-server* scalix-swa* rm -drf /etc/opt/scalix rm -drf /var/opt/scalix rm -drf $(TOMCAT_LINK) rm -drf $(TOMCAT_INSTDIR)/$(TOMCAT_VER) rm -drf $(SCALIX_PREFIX) rm -f /etc/init.d/scalix-tomcat rm -f /etc/apache2/conf.d/scalix-web-client.conf update-rc.d scalix-tomcat remove ## Packages for Ubuntu dubidu_depends: apt-get install apache2 libapache2-mod-jk gawk krb5-config krb5-doc krb5-user libkadm55 libkrb53 libglib2.0-0 \ libstdc++2.10-glibc2.2 libxml2 sgml-base xml-core libsasl2-modules libsasl2-gssapi-mit sendmail elinks ## Get Packages prepare: cd $(INST_PREFIX)/pkg && \ wget http://www.scalix.com/ceraw/download/pub/libical/libical_0.24.RC4.20050413_i386.deb \ http://www.scalix.com/ceraw/download/pub/server/scalix-res_10.0.1.21_all.deb \ http://www.scalix.com/ceraw/download/pub/server/scalix-sac_10.0.1.21_all.deb \ http://www.scalix.com/ceraw/download/pub/server/scalix-server_10.0.1.4_i386.deb \ http://www.scalix.com/ceraw/download/pub/server/scalix-swa_10.0.1.6_all.deb \ http://apache.sunsite.ualberta.ca/tomcat/tomcat-5/v5.0.28/bin/jakarta-tomcat-5.0.28.tar.gz ## Get Tomcat Startscript [ -d $(INST_PREFIX)/init.d ] || ( mkdir $(INST_PREFIX)/init.d && \ cd $(INST_PREFIX)/init.d/ && \ wget http://linux.in-no-sense.de/download/scalix/scalix-tomcat ) ## Get Tweaks [ -d $(INST_PREFIX)/tweaks ] || ( mkdir $(INST_PREFIX)/tweaks && \ cd $(INST_PREFIX)/tweaks/ && \ wget http://linux.in-no-sense.de/download/scalix/general.cfg ) ## install JDK in /usr/local/lib/java and set alternatives # !! existing alternatives will be deleted !!! java_sdk: cd /usr/local/lib && $(INST_PREFIX)/$(JAVAPKG_DIR) && ln -sf $(JAVAPKG_DOTDIR) java update-alternatives --remove-all java update-alternatives --remove-all javac update-alternatives --install /usr/bin/java java /usr/local/lib/java/bin/java 120 update-alternatives --install /usr/bin/javac javac /usr/local/lib/java/bin/javac 120 ## install Tomcat in /opt and symlink to $(TOMCAT_LINK) ## you have to set your RAM-Settings scalix-tomcat: cd /opt && tar xpzf $(INST_PREFIX)/$(TOMCAT_PKG) && ln -sf $(TOMCAT_VER) scalix-tomcat rm -f $(TOMCAT_LINK)/common/endorsed/xml-apis.jar cp $(TOMCAT_LINK)/bin/setclasspath.sh $(TOMCAT_LINK)/bin/setclasspath.bak @echo -e "PATH=$(PATH):$(SCALIX_PREFIX)/bin \nJAVA_HOME=/usr/local/lib/java \nJAVA_OPTS='-server -Xms128m -Xmx128m' \nexport JAVA_HOME JAVA_OPTS\n" > $(TOMCAT_LINK)/bin/setclasspath.sh cat $(TOMCAT_LINK)/bin/setclasspath.bak >> $(TOMCAT_LINK)/bin/setclasspath.sh cp init.d/scalix-tomcat /etc/init.d/ chown root:root /etc/init.d/scalix-tomcat chmod 755 /etc/init.d/scalix-tomcat update-rc.d scalix-tomcat defaults 22 ## Install Scalix scalix_inst: dpkg -i pkg/*.deb $(SCALIX_PREFIX)/bin/ommakeom $(SCALIX_PREFIX)/bin/ompatchom scalix_setup: ## Chapter 5.2 to 5.11 of Wiki #5.2 $(SCALIX_PREFIX)/bin/sxconfig --set -t general.usrl_cn_rule=$(CN_RULE) $(SCALIX_PREFIX)/bin/sxconfig --set -t general.usrl_authid_rule=$(AUTHID_RULE) $(SCALIX_PREFIX)/bin/sxconfig --set -t orniasys.name_part_1='"C" <G.S>' -t orniasys.domain_part_1='$(MAILDOMAIN)' #5.3 $(SCALIX_PREFIX)/bin/omaddmn -m $(MAILNODE) #5.5 $(SCALIX_PREFIX)/bin/omrc -n #5.6 $(SCALIX_PREFIX)/bin/omaddu -n "$(ADMIN_USER)/$(MAILNODE)" --class limited -c admin -p $(ADMIN_PASSWD) $(ADMIN_USER) #5.7 $(SCALIX_PREFIX)/bin/omlimit -u "$(ADMIN_USER)/$(MAILNODE)" -o -i 0 -m 0 #5.8 $(SCALIX_PREFIX)/bin/omaddu -n "$(QUERYADMIN_USER)/$(MAILNODE)" --class limited -c admin -p $(ADMIN_PASSWD) $(QUERYADMIN_USER)@$(HOSTNAME).$(DOMAINNAME) #5.9 add_sxgroups: $(SCALIX_PREFIX)/bin/omaddpdl -l ScalixUserAdmins/$(MAILNODE) $(SCALIX_PREFIX)/bin/omaddpdl -l ScalixGroupAdmins/$(MAILNODE) $(SCALIX_PREFIX)/bin/omaddpdl -l ScalixUserAttributesAdmins/$(MAILNODE) $(SCALIX_PREFIX)/bin/omaddpdl -l ScalixAdmins/$(MAILNODE) #5.10 add_tweaks: cat tweaks/general.cfg >> /var/opt/scalix/sys/general.cfg #5.11 start_allom: $(SCALIX_PREFIX)/bin/omon -s all tomscal_conf: cp $(SCALIX_PREFIX)/web/scalix-res.xml $(TOMCAT_LINK)/conf/Catalina/localhost cp $(SCALIX_PREFIX)/web/scalix-admin.xml $(TOMCAT_LINK)/conf/Catalina/localhost cp $(SCALIX_PREFIX)/web/scalix-caa.xml $(TOMCAT_LINK)/conf/Catalina/localhost cp $(SCALIX_PREFIX)/web/scalix-swa.xml $(TOMCAT_LINK)/conf/Catalina/localhost cp $(SCALIX_PREFIX)/web/scalix-webcal.xml $(TOMCAT_LINK)/conf/Catalina/localhost ## configure Scalix ## Set Domain and Host conf_swa.properties: cat /etc/opt/scalix/webmail/swa.properties \ | sed -e 's/%LOCALHOST%/$(HOSTNAME).$(DOMAINNAME)/g' \ | sed -e 's/%LOCALDOMAIN%/$(DOMAINNAME)/g' \ > /etc/opt/scalix/webmail/swa.properties conf_ubermanager: cat /etc/opt/scalix/caa/scalix.res/config/ubermanager.properties \ | sed -e 's/__SECURED_MODE__/false/g' \ | sed -e 's/__FQHN_FOR_KDC_HOST__//g' \ | sed -e 's="ubermanager/__FQHN_HOST__@__KERBEROS_REALM__"==g' \ | sed -e 's/__KERBEROS_REALM__//g' \ | sed -e 's/__FQHN_QUERY_SERVER_NAME__/$(HOSTNAME).$(DOMAINNAME)/g' \ | sed -e 's/__UBERMGR_USE_EXTERNAL_AUTH__/false/g' \ | sed -e 's/__UBERMGR_ALLOW_EXTERNAL_AUTH__/false/g' \ | sed -e 's/__UBERMGR_MAXLIST_SIZE__/100/g' \ | sed -e 's/__UBERMGR_MAIL_DOMAINS_LIST__/$(MAILDOMAIN)/g' \ | sed -e 's/__UBERMGR_EXTERNAL_DOMAIN_AUTH_LIST__//g' \ | sed -e 's/__CONFIGURED__/true/g' \ > /etc/opt/scalix/caa/scalix.res/config/ubermanager.properties echo $(ADMIN_PASSWD) > /etc/opt/scalix/caa/scalix.res/config/psdata chmod 400 /etc/opt/scalix/caa/scalix.res/config/psdata chown root:root /etc/opt/scalix/caa/scalix.res/config/psdata conf_res.properties: cat /etc/opt/scalix/res/config/res.properties \ | sed -e 's/__SECURED_MODE__/false/g' \ | sed -e 's/__FQHN_FOR_UBERMANAGER__/$(HOSTNAME).$(DOMAINNAME)/g' \ | sed -e 's/__TOMCAT_PORT__/$(TOMCAT_PORT)/g' \ | sed -e 's/__KERBEROS_REALM__//g' \ | sed -e 's/__FQHN_FOR_KDC_HOST__//g' \ | sed -e 's/__CONFIGURED__/true/g' \ > /etc/opt/scalix/res/config/res.properties restart_tomcat: /etc/init.d/scalix-tomcat restart ## Configure Apache2 config_apache2: ln -sf $(SCALIX_PREFIX)/global/httpd/scalix-web-client.conf /etc/apache2/conf.d /etc/init.d/apache2 restart