WebMon for Tiger
What is WebMon?
WebMon helps you configure OS X's built-in web server to support WebDAV, PHP, and SSL. With WebDAV turned on, your web server acts like an iDisk, allowing you to connect to the WebDav folder remotely, securely, and directly from the Finder, so you can save, share, and distribute your files and folders. You can also use the WebDav folder to share your iCal calendars.
Leopard : I've released a new version that will work with Leopard, which you can buy.
WebMon also helps you set up the web server so that you can monitor its log file from a remote machine. WebMon is able to help you monitor any number of web servers from a single remote machine.
The WebMon Guide • Panel 1 • PHP & WebDAV
When you first run WebMon on the server machine, you will see WebMon's "Configure Web Server" window, above.
The first panel in the WebMon's "Configure Web Server" window allows you to turn on PHP and WebDAV, while giving you the option to make a back-up of the current config file, start building from the default Apache config file, or base it on the one you have existing on your server.
Turning on WebDAV
You can create multiple WebDAV folders, each with its own user name and password combination.
There is a WebDAV Help button, that will show you how the four editable WebDAV parameters - WebDAV Realm, WebDAV folder, User Name and Password - will appear in the OS X authentication dialogs when you try to publish an iCal calendar or access a WebDAV folder from the Finder's "Go / Connect to Server" Menu. (See also, Help for Windows clients).
There is also a "Turn on Directory Listing" check box which will turn on auto-listing of directories, for when you want to share folders of files and images with people who have not been given write access to that directory.
Sharing iCal Calendars
Once you have WebDAV turned on, you can start sharing iCal calendars on the server. The following picture shows you how to set up iCal to publish your calendar, assuming that you're using the default values for the name of the WebDAV folder, login ID and password :
The following shows the result of a successful operation :
Sharing Files and Folders like an iDisk
You can make the WebDav folder act like your very own .Mac iDisk. This is how you can connect to it remotely, directly from the Finder. From the Finder menu, choose Go and then Connect to Server.
You will see the dialog box below. Enter the domain name or the IP address of the web server that you have just set up using WebMon (in place of 10.0.1.205). Also, note that the protocol used is http and not afp or ftp :
If your server is accessible and WebDav is running, you will be asked to authenticate with it. Enter the WebDav user ID and password (default "webdav" and "dav" respectively, unless you have changed it) :
If you authenticated correctly, you will see your WebDav folder directly on your desktop and you can drag files and folders onto it. Unlike ftp, you can actually double-click on these documents, launch the application (in my case, Keynote, because I have a Keynote document), and make changes to it.
WebDav is "better" than using ftp because you have one less port to open (it uses the web server's port 80, and 443, if you have SSL on). It is a bit faster. And it integrates smoothly with the Finder, allowing you to work with the WebDav folder like any ordinary Finder folder.
Panel 2 • SSL & Log Format
The second panel of WebMon allows you to set up the web server to support SSL, i.e., to support in-coming requests that start with "https" :
All communications between the server and browser will then be encrypted.
This option is turned off in WebMon by default but is easily turned on with the use of a test cert that WebMon will help you generate.
First, make sure that the domain name that you're using to access the server is entered into the Domain Name field at the top right hand corner of the WebMon window.
Then select the "Turn on SSL" and "Use a test certificate" options and hit Configure Web Server, and you will be able to access the web server by its domain name over SSL.
Once you have an idea of how your web site might work with SSL on, you might want to get a real "live" cert from a Certification Authority (CA) like RapidSSL.WebMon will help you generate the Certificate Request that is needed by a CA, below :
Once the certificate (text block) is returned from a CA, you can paste it back into WebMon, using the "Save Cert returned from CA" button. WebMon will take care of saving it into the right place.
WebMon will also allow you to import a pre-existing live certificate to be used with the web server. There is a "Use a pre-existing Cert' button that will open up the Certficate panel, as shown below.
The certificate and key fields will allow the corresponding certificate and key files to be dragged from the Finder and dropped onto them. Click the Save Cert button and WebMon will then stash them into the right places in the /System/Library/OpenSSL/ folder for SSL to work when you hit the Configure Server button.
The Log Format Option
There is one other option in the SSL and Log Format panel and this is always turned on by default. This sets up the web server's log format so that it will report referrer information, as well as allow WebMon to parse the log file very quickly.
If you've run the Configure Web Server button in WebMon with this Log Format option turned on, you will be able to launch a web server monitor window that will show you all your hits on the server, like below :
You can use the WebMon Web Server list, below, to set whether the log window for localhost launches on program startup, runs automatically on launch, ignores hits by robots and crawlers, or excludes hits on images, etc.
You can edit the list of known bots and the list of file extensions that are excluded from a "Show Page Views Only" listing, using a dialog box that is accessible from the Help menu :
Panel 3 • Remote Admin
If you have managed to set up the web server and its logging facility successfully, you are now ready to make WebMon work across a network so that you can monitor and configure the web server remotely.
Panel 3 of WebMon allows you to do that. If you are able to ssh (remote login) into your server machine from a remote machine, you should be able to use WebMon remotely from the server.
However, SSH and its auto-login feature (which allows you to connect to the server from a trusted machine without having to send over a password to initiate the login connection each time) is quite hard to do by an ordinary user.
Therefore WebMon includes a facility to help you do that. You can do this in two steps.
Step 1 - Test that Remote Login works while still on the server machine
First you continue to work on the server and make sure that Remote Login (SSH) is turned on in the Sharing Preferences :
Then you add another record to WebMon's Web Server list as shown below :
We use "username@localhost" (where username is the ID of an admin-level user on your server) because we can pretend to be logging in to our server via the SSH Remote Login mechanism, even though we're still working locally on the server.
This allows us to test that Remote Login is properly configured before we move on to deal with the added complexity of connecting to our server over a network, e.g., before we have to deal with time-outs from having a slow network etc.
Now with username@localhost selected, we click on WebMon's "Check Connection" button. If SSH is not yet set up, WebMon will warn us and turn on its "Set Up Remote Connection" button :
Clicking on "Set Up Remote Connection", WebMon will ask you for the administrator's password and attempt to set up the auto-login SSH connection.
If the password given is correct and authenticated, WebMon will report that the connection is now OK, and you should be able to click on the "Launch Log Window" button and launch a log monitor window, as shown below :
If you're able to get a list of the log records via username@localhost, it shows that your SSH Remote Login set up is working correctly.
You can now go on to the final step, knowing that any problems connecting to your server from a remote machine is probably due to either time-out problems from a slow network, or due to firewall or other network issues, rather than an inability to set up the Remote Login connectivity properly.
Assuming that our server can be reached via a domain name cutedgesystems.com, say, we now run WebMon on a remote machine, e.g., the administrator's personal iBook or PowerBook.
We add a server for WebMon to monitor, as shown below :
We're now at a remote machine, connecting back to our server at cutedgesystems.com.
We do the same two things as in Step 1 above - click on "Check Connection" and then click on "Set Up Remote Connection" with our administrator's password to establish the credentials of our remote machine with our server machine so that the server will trust an incoming SSH connection from this specific remote machine.
If the network doesn't introduce any problems, we should be able to establish a similar auto-login connection to the one before, only this time we're really connecting from across the network and so things work a bit more slowly now.
If we're successful with the connection, we should be able to monitor the web server from our remote machine, as well as do any of the same configuration tasks that we had done locally.
The WebMon Web Server table allows you to list any number of servers that you might want to manage from this remote machine. WebMon remembers the individual setting for each machine .
Finally, WebMon allows you to turn off the Configure Web Server window on program startup, if you are through with configuring the servers. You can always bring it back by either choosing WebMon Preferences, or looking for it under the Help menu.
WebMon has two other Help menu items - Check for Updates, as well as a link back to this WebMon home page.
WebMon's Log Window
WebMon allows you to monitor your web server's in-coming hits through its log window, below :
WebMon's log window allows you to set the number of records you want to retrieve from the log file at /var/log/httpd/access_log, whether you want to ignore hits from bots and crawlers, and whether you want to show only page views and ignore the hits on images.
You can filter the display further through the use of the Search Field, below.
WebMon allows you to show or hide individual columns in the table through the use of the pop-up menu at the top right hand corner of the table :
The column order can be re-arranged and re-sorted. WebMon will show you the details of each hit as you click on each row in the table, including the country from which the hit is being made, below :
If the hit has a referrer, double-clicking on the record will launch the referrer page. With a record selected, you can do a Shift-Command-C and copy its IP address to the Search Field. This will immediately filter the display to show only the hits coming from this IP address, and this is useful for tracing the path taken by one particular browser through your web site.
Other items in the Navigation menu allows you to clear the Search Field, return the search to the most recent search string, as well as scroll the display back to the currently selected record.
WebMon saves the list of recent searches across application launches, as well as the size and position of the table columns.
WebMon's File menu provides you with two ways of keeping a persistent history of the log records - one as an exported file which can be read as either a tab-delimited or comma-separated file in Excel, and another as a saved file which can be read back by WebMon.
WebMon is a Cocoa document-based application, so you can open as many windows of log records as you like.
Finally, WebMon's Help menu allows you to edit the Bots and Page Views exclusion list, check for updates to WebMon, come back to this WebMon home page on the web, as well as to re-open the Configure Web Server window.
WebMon starts by working like Postfix Enabler or DNS Enabler, helping you set up a server machine, in this case the web server functions, but it goes a bit further, in the sense that it allows for remote configuration and monitoring of the server machine, and it allows you to manage any number of servers from a single remote machine.
It does things like WebDAV and SSL that used to be difficult for an ordinary non-techie Mac user to set up, and it does it all with the one-click simplicity of the Mac. It's one more step towards making the Mac the ultimate business machine.
1.0.1 20th March 2005. WebServer Monitor is re-written in Objective-C. Works a lot faster than the AppleScript Studio prototype. There is a helper utility for setting up the Remote Login connection automatically. The application can also be used locally on the server by setting the server name as "localhost". The data can be saved into documents and re-opened simply by double-clicking on them.
1.0.2 23rd March 2005. The columns can now be sorted and re-arranged in any order. The data can also be exported in Comma-Separated-Values format and it'll open up in Excel, in the exact same order you have on your log window.
1.0.3 25th March 2005. Added a search field.
1.0.4 25th March 2005. Added the ability to "hold on" to the current log record line, when the columns are re-sorted or filtered through a search. This is especially useful when you've searched for all the downloads, say, and want to "mark the spot" to trace back to find referrer information that tells you how a user happened to know about that page.
1.0.5 29th March 2005. The Search Field remembers your most recent searches. You can now double-click on a log record line to launch the web page of a referrer. And, there's a new Country Field when you look at a log detail, which shows you which country the hit is coming from.
1.0.6 3rd April 2005. Introduces the ability to track virtual hosts, traffic in the form of bytes served, status of hits (success or re-direct or page not found), as well as the ability to show or hide columns selectively.
1.0.7 11th June 2005. Added a Navigation menu. You can select a log record and use the Navigation menu to copy the browser's IP address to the Search Field so that you can quickly trace how this user has traversed through the site. Other menu items on the search field will clear the Search Field, scroll to the current log record, and launch the referrer's web page.
1.0.8 25th June 2005. While WebServer Monitor itself will run on either Panther or Tiger, there is a bug when the server is on Tiger. WebServer Monitor doesn't SSH into the remote (Tiger) machine correctly and therefore cannot set up the server log format properly. This release fixes that bug. Also I've re-arranged the Navigation menu, changed its keyboard short-cuts, and added a menu item to revert the search to the last search done on the Search History List (in the Search Field). Hopefully, these will make it even easier to move around the log data.
1.0.9 28th June 2005. WebServer Monitor is renamed WebMon. This release takes care of the slower servers that time-out while WebMon is trying to configure it. Also fixed a bug where a hidden column disappears from the "Show or Hide Column" menu completely when the program is re-launched, so you can't show it ever again. Also, fixed the Export to CVS function so it works again.
1.0.10 1st July 2005. Added the ability to show Page Views rather than hits. The default is to ignore hits with the following file extensions : "jpg, gif, css, png, js" but you can change this in the Preferences Panel. Also added a Tab Delimited option to the Export function. And the Show/Hide Column Menu and Search Menu are now synchronised with the order in which you have arranged your table columns.
1.1 8th July 2005. WebMon can now monitor more than one web server. In addition to showing only Page Views, you can now also filter out the robots. And, you can set whether the search starts immediately when the program launches. In order to incorporate per-server preference settings, WebMon 1.1 uses a new preferences file.
1.1.1 12th July 2005. Added the "Configure Web Server" panel. WebMon can now turn on PHP and WebDav on the web server with just one click. The WebDav folder name and path, login user name, and password can all be customised. The WebDav folder can be used to store (and publish) iCal calendars. The folder name, login, and password correlates with the three fields on iCal's Publish Calendar dialog box.
1.1.2 22nd July 2005. WebMon can now turn on SSL using either "test" certs that it helps create, or "live" certs from a Certification Authority (CA). WebMon provides the interface for capturing the data required by a CA and generates the Certificate Request from it. When a certificate is available from a CA, WebMon provides the field for pasting the cert into.
1.1.3 6th August 2005. WebMon can now be used totally standalone, without remote access, on the local machine. If you want to use WebMon locally on the server machine, just enter "localhost" for the Web Server's name in WebMon's setup panel.
1.1.4 11th August 2005. Re-organised the work flow so that it will be easier to use, starting from a standalone setup at the server and finishing with the remote administration.
1.1.5 16th August 2005. This version adds drag and drop support which allows the Web Server list in the WebMon configuration panel to be in any sort order.
1.1.6 7th September 2005. The WebDav folder created by WebMon now acts like an iDisk folder. You can mount it remotely from the Finder and copy files and folders onto it.
2.0 23rd September 2005. First commercial release. Also, files and folders inside the WebDav folder can now be re-named. And published iCal calendars can now be subscribed to without needing to give the WebDav folder password.
2.0.1 7th October 2005. Configures the web server to suppress the auto-listing of directories - otherwise the contents of WebDav directories may be displayed in browsers. Hit the Configure Web Server button in WebMon to effect this.
2.0.2 18th December 2005. The WebDav folder's name should be customisable but it was not. This has been fixed in this release.
2.0.3 13th January 2006. Includes a Danish localisation by Sebastian Adorján Dyhr. The WebMon web server monitor window now includes a new column to show the authenticated remote user's ID.
2.0.4 16th January 2006. WebMon had a problem running on Panther 10.3.9. This has been traced to an inconsistency in the way Cocoa Bindings work on 10.3.9 and had to be worked around. This release fixes that and WebMon now works on all versions of Panther, as well as on Tiger. We're now also one step away from making this a Universal Binary that will run on Intel Macs.
2.0.5 10th February 2006. This is the first WebMon Universal Binary release. Changed the user interface slightly to make it easier to set up the web server, including SSL, in just one step.
2.0.6 17th February 2006. Added the ability to allow a pre-existing live certificate to be used with the web server. The interface allows the certificate and key files to be dragged from the Finder into their corresponding fields in the Certificate Panel. WebMon will then store them in the right places for SSL to work, with just one click.
2.0.7 21st March 2006. Contains an updated IPaddress-to-Country database, good as at 16th March 2006.
WebMon is a Universal Binary
2.1 24th March 2006. This version is marked 2.1 to indicate that WebMon has been built and totally tested on an Intel iMac Core Duo. Also, it marks a significant improvement to the WebDAV feature - the ability to create multiple WebDAV folders, each with its own user name and password combination. Also version 2.1 includes the ability to turn on or off auto-Directory Listing, for directories with no index.html page.
2.1.1 2nd April 2006. Added a Help Panel for Windows clients. It shows how you need to format the URL to access a WebDAV folder when using Windows XP (e.g., see below, with the addition of the port number) :
This should also work for Windows 2000 clients, but Windows 2000 doesn't really need the port number. The WebDAV user name and password are entered the same way as for the Mac clients.
If you have SSL turned on at the server, you can enter the URL like this : https://domainName/dav. The user name and password, plus all the subsequent WebDAV communications, will then be sent encrypted. Another Windows Note: If you cannot access the server via https, you need to go to Internet Explorer's Tools/Internet Options menu, and under the Advaned tab, under the Security section, turn on "Use TLS 1.0".
2.1.2 4th April 2006. Modified the httpd.conf file created by WebMon so that Windows Explorer users will be able to access our SSL-encrypted pages without needing to set the "Use TLS 1.0" option from the Tools/Internet Options menu. (Like, how would anybody know to do that? Better to work a little bit harder at our end - better still if people would just use a Mac.)
2.1.3 24th April 2006. This latest release adds a French localisation from Joselyne Rochaud and Corentin Cras-Méneur.