Mozilla Composer
is a good-enough tool for fast creation and editing of web pages. It
saves your HTML files locally, or publishes them to the WWW using FTP
or HTTP PUT.
Most internet providers offer FTP access. If you do not (or - maybe for security reasons - don't want to) have FTP access, how do you make use of Composer's HTTP PUT support?
On this page, I'm posting a very simple example PHP script that's
capable of handling Composer's HTTP PUT requests.
Disclaimer: Use this patch at your own risk. It currently works for me, but I won't guarantee that it works, and I won't be held liable for any damage caused by it!
Feel free to contact me at tim@digicol.de with questions/comments.
In your web server's document root, create a directory called "publish" and password protect this (in a .htaccess file or the web server configuration). Test that the password protection works, else the whole world will have write access to your website.
Copy put.php.txt into that directory (view the coloured PHP source first), and rename it to "put.php".
Then configure your web server to send HTTP PUT requests to "put.php". The following Apache httpd.conf setup works fine for me:
<Directory /public_html/publish>
AuthUserFile/public_html/.htpasswd
AuthGroupFile /dev/null
AuthName "Publish Files"
AuthType Basic
require valid-user
Script PUT /publish/put.php
</Directory>
Create a simple page in Mozilla Composer. Select the menu entry "File - Publish As...", open the "Settings" tab and set the "Publishing address" to "http://your.domain/publish/put.php/" (note the trailing slash), and the "HTTP address to "http://your.domain/".
In the "Login information" block, enter your user name and password (since you password protected the "publish" directory).
On the "Publish" tab, set the "Filename" to "test.html" or the like. You may enter a subdirectory name in "Site subdirectory for this page", it will automatically be created when publishing if it doesn't exist.
Now just click the "Publish" button... If anything goes wrong, check the PHP error logfile.