Foxmarks: Using Your Own Server
From Foxmarks Wiki
This article is a place where users can describe their experiences with or provide tips for using your own server.
Contents |
How Foxmarks 2.x works with your own server
While Foxmarks can't provide support for people using their own server, we do provide this section of notes to help you understand how it works. This in turn should help you to determine how to set up your own server.
- By default, Foxmarks assumes that you are syncing with the Foxmarks server. The Setup Wizard, for instance, only works for setting up an account on the Foxmarks server; if you're using your own server, there's no need to use the Setup Wizard.
- Configuration of your own server happens primarily in the "Advanced" pane of the Foxmarks Settings dialog. Check the "Use own server" button and enter the url which identifies the location on your server where your sync file is to be stored. This url can be anything that Firefox knows how to read and write, such as http:, https:, or ftp:. For example, http://myserver.example.com/homedirectory/foxmarks.json. (Note that the filename itself, foxmarks.json, can be anything you choose, but the url must denote a file, not a directory).
- When accessing the file via the above url, Foxmarks will supply (as necessary) the username and password you have provided in the General pane of the Foxmarks Settings dialog.
- When using FTP, Foxmarks fetches and parses the entire sync file every time you sync. This can be slow.
- When using HTTP, Foxmarks will fetch and parse the entire sync file only if the file's etag has changed since Foxmarks last wrote the file. This can be quite a performance boost, but some servers (notably Apache WebDAV) don't support etags correctly; to disable them, set foxmarks.disableIfMatchOnPut in about:config (see below for more info).
- If you have trouble connecting to your Foxmarks server, and you are using Microsoft IIS, you might have to make some changes to your IIS configuration to allow it to send/receive .json files. If this is the case, take the following steps: 1) Open your server's Internet Information Services Manager; 2) Open up your Web Sites section; 3) Right-click on the website which holds your Foxmarks .json file and choose Properties; 4) Select the HTTP Headers tab, and then press the MIME Types button; 5) Create a Mime type for the .json file. MIME type text/css works fine. 6) save your changes.
- If performance is still a problem, you can likely improve speed by sacrificing favicon sync.
- Note that the Foxmarks server is in general faster than using your own server, as the Foxmarks server transmits only deltas.
- Additional online services (such as My Foxmarks) are available only to users of the Foxmarks server.
Foxmarks version 2.0.+
Shortly after the upgrade was released, "Quix" posted to the Foxmarks blog an excellent summary on how to get things working with your own server. In his own words:
Upgrading to 2.x when you are using your own server, a step-by-step guide. This is what I had to do.Then it started working fine for me. My environment:
- make sure you have every machine you are interested in synced with version 1.0.1 first.
- upgrade foxmarks on all machines
- Pick one machine (hereby called MASTER), make sure it has file.json in the URL setting. (The URL might look something like: http://myfoxmarksserver.com/mypath/foxmarks.json)
- on MASTER, do a manual overwrite “Upload” of bookmarks (Note that you may have to restart Firefox and try this twice for this to complete successfully.)
- on every other machine, do a manual overwrite “Download”
Some other notes:
- Machine 1: Win XP, FF 2.0.0.11
- Machine 2: Win XP, FF 2.0.0.11
- Machine 3: linux Ubuntu feisty, FF 2.0.0.11
- Machine 4: linux Fedora 5, FF 1.5.0.3
- Server: RHEL4, apache 2.0.52 (Using webdav interface)
- foxmarks is busy: restart firefox
- verifying account stall: I got this on machines that upgraded to 2.x but hadn’t done a manual download yet
- connection reset: I think I was getting this after getting 404’s from the server.. then:
- foxmarks would be busy: restart firefox
Additional notes:
- If your server does not require a user name or password, then don't supply a dummy one. When prompted for user and password, just press the OK button without making any entry.
Sync Foxmarks 2.0 to cPanel Web Disk
- Get a cPanel Web Disk account assigned to you. Make sure that the directory that the Web Disk account points to is not in the /public_html directory tree of your account if you don't want your files to be accessible to the public.
- Access Foxmarks Settings using Tools > Foxmarks > Settings path through the Firefox menu system.
- General Settings
- Account
- Type username@myfoxmarksserver.com (replace with the user name assigned to you) in the "Username" field.
- Type the password assigned to you in the "Password" field.
- Account
- Advanced Settings
- Server
- Check the "Use own server" checkbox.
- Type https://myfoxmarksserver.com:2078/foxmarks.json (replace "myfoxmarksserver.com" with the fully qualified name of your server) in the "URL".
- Manual Overwrite
- Click the "Upload" button next to "Force overwrite of server bookmarks".
- Server
- General Settings
Foxmarks version 1.0.1
Microsoft IIS/WebDAV
Check out this article.
Microsoft IIS 5.0 ETag issues
When using your own Microsoft Windows 2000 IIS 5.0 server Foxmarks may seem to hang whilst displaying the "Status: Copying local file to remote..." message:
After several minutes the message will change to "Status: Connection reset":
At the beginning of a Synchronize session, when Foxmarks downloads the foxmarks.xml file with a HTTP GET command, IIS issues an ETag header that is effectively a Version Control Timestamp - the ETag value is guaranteed to remain the same so long as the file on the web server remains unmodified. Some IIS 5.0 installations have issues updating the foxmarks.xml file when using the corresponding ETag header is used later with a HTTP PUT command. Foxmarks does not recognize the "HTTP/412 Precondition failed" secondary status that gets returned by IIS after the "HTTP/100 Continue" initial status and so waits until IIS closes the connection - generating the Connection reset message.
You can disable Foxmarks' usage of the ETag header by creating a new Preference entry in Firefox's about:config section:
- Preference name: foxmarks.disableIfMatchOnPut
- Type: boolean
- Value: true
Caveat: Ignoring the ETag value means that changes made to the foxmarks.xml file on the IIS 5.0 server by other Firefox browsers concurrently running Foxmarks may be lost.
Apache 2.0/WebDAV
This article is a reasonable tutorial
on setting up WebDAV with Apache under Debian. However, for Foxmarks you don't want to allow WebDAV access
to the entire web tree, only to part of it, so omit the Alias directive. I also suggest putting
the AuthDigestFile inside the webdav subdirectory so it can't be read by any random browser.
When you try to make a second firefox sync its bookmarks you will
probably get the error Foxmarks: Error: Precondition Failed, due to a bug in Apache.
The workaround is to set foxmarks.disableIfMatchOnPut to true using about:config,
as detailed at the bottom of that page.
Sync with iDisk using dotMac account
Tested with Firefox v2.0.0.14 and Foxmarks v2.0.46.9 on both Mac and PC.
1. Backup your Firefox bookmarks first
- In Firefox, go to Bookmarks > Organize Bookmarks
- Click on File > Export
- Save
2. Manually upload your bookmarks to .Mac iDisk using Foxmarks
- Install the Foxmarks plugin
- When the wizard comes up, hit cancel.
- Open the Foxmarks preferences by clicking on the Foxmarks logo found in the bottom right hand corner of your browser.
- In the "General" tab, under Account, type in your .Mac account name and password for the Username and password.
- Put a check mark under "Remember the password between sessions"
- Go to the "Advanced" tab
- Put a check mark next to "Use own Server"
- Under the URL type: https://idisk.mac.com/iDiskUsername/Documents/foxmarks.xml
- Under the Manual Overwrite section, click on "Upload"
Check to make sure that the foxmarks.xml file has been correctly uploaded by going to your iDisk and looking for the "foxmarks.xml" file in your Documents folder.
3. Setting up other computers to sync your bookmarks
- Install the Foxmarks plugin
- When the wizard comes up, hit cancel.
- Open the Foxmarks preferences by clicking on the Foxmarks logo found in the bottom right hand corner of your browser.
- In the "General" tab, under Account, type in your .Mac account name and password for the Username and password.
- Put a check mark under "Remember the password between sessions"
- Go to the "Advanced" tab
- Put a check mark next to "Use own Server"
- Under the URL type: https://idisk.mac.com/iDiskUsername/Documents/foxmarks.xml
- Either ....
Using FTP server with Foxmarks
LifeHacker has an article up discussing setting up Foxmarks to use an FTP server. Lots of good info.
The above site gives instructions for an older version of Foxmarks. Here are some basic instructions for use with newer versions of Foxmarks (e.g. v2.0.43).
There is a basic assumption you already have an established FTP server. Explaining how to setup an FTP server is way beyond the scope of these instructions.
Fill in your login information for your own FTP server on the "General" settings page. Then proceed to the "Advanced" page and click the "Use own server" check box. Add a URL to point to the location of your bookmarks save file in the edit box provided.
The basic URL format for using your own FTP server is as follows (leave out the quotes):
ftp://<hostname>/<pathname>/<filename>
examples:
ftp://myserver.homeip.net/bookmarks/filemarks.jim
or
ftp://192.168.1.125/mybookmarks
The first example places a file called "filemarks.jim" in the "bookmarks" subfolder. The second example creates a file called "mybookmarks" in the root folder assigned to your login credentials.
Preventing Foxmarks from checking for upgrades
For those who are using version 1.0.1 of Foxmarks with their own server, the auto-check in Firefox to update to the newest version can sometimes become annoying. To prevent this from happening follow these instructions:
- In Firefox, open
about:config(by typing that alone in the address bar) - Type foxmark in the search box and press enter, this shows all the configurations for foxmarks. If there is already a boolean value for
extensions.foxmarks@kei.com.update.enabledthen ignore the next step and move on to the last step. - Right click and select New and then Boolean from the submenu. For the name type in:
extensions.foxmarks@kei.com.update.enabled - Set the value of
extensions.foxmarks@kei.com.update.enabledtofalse(either as you create it, or modify the already existing one).
This will prevent Firefox from ever checking for an update to this extension. If you wish to update the extension at a later date, just open about:config again change the value of extensions.foxmarks@kei.com.update.enabled to true.



