Funambol without /funambol/ds on Debian

One of the first problems I had when installing Funambol on Debian Linux 2.6 was that I did not want mobile device users to have to use the long URL associated with the default sync server settings.

I wanted to change this:

http://www.mydomain.com:8080/funambol/ds

To this:

http://sync.mydomain.com/

Here is how to do it.

1. Connect to your sync server via SSH.

2. Change to /opt/Funambol/tools/tomcat/conf/Catalina (your path may vary).

3. Make a new path called sync.yourdomain.com.

4. Copy everything from localhost into sync.yourdomain.com.

5. Change to “sync.yourdomain.com”.

6. Open funambol.xml for editing using your favorite editor.

7. Change context path from “/funambol” to “/”, and make sure docBase=”funambol”.

8. Save funambol.xml.

Note: If Apache2 is not yet installed, you will need it now: apt-get install apache2

9. Change to /etc/apache2/sites-available.

10. Copy the file “default” to a new file called “sync”.

11. Open “sync” for editing, and replace it with the following:

NameVirtualHost *
<VirtualHost *>
ServerAdmin webmaster@localhost
ServerName sync.yourdomain.com

DocumentRoot /var/www/

<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>

ProxyRequests Off

<Proxy *>
Order allow,deny
Allow from all
</Proxy>

ProxyPass / http://sync.yourdomain.com:8080/funambol/ds
ProxyPassReverse / http://sync.yourdomain.com:8080/funambol/ds

ErrorLog /var/log/apache2/sync-error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog /var/log/apache2/sync-access.log combined
ServerSignature On

</VirtualHost>

12. Save and close “sync”.

13. Change to ../sites-enabled

14. Create a symbolic link to the new “sync” file:

ln -s ../sites-available/sync

15. Change to ../mods-enabled

16. Create symbolic links to the proxy mod:

ln -s ../mods-available/proxy.load

ln -s ../mods-available/proxy_http.load

17. Change to ../sites-enabled

18. Remove 000-default

19. Reload Apache2 configuration: /etc/init.d/apache2 reload

Remember that this is Open Source, and so your results may vary. If you found that your configuration required different steps, make sure to explain them in your comments to benefit future Funambol users. If you have questions, please comment as well.