Software
From SFLink
Contents |
[edit] Web servers
You can make parts of your website private (but not encrypted!) thtough the basic Authentication system. This is perfect for things like private minutes of meetings where you just want to discourage the curious surfer.
The FAQ for this can be found here http://httpd.apache.org/docs/howto/auth.html
Basically it tells you to do this
* Create a password file * Set the configuration to use this password file * Optionally, create a group file
And what it tells you to do is ....
htpasswd -c /home/sf-foundation.org/passwords hawkida New password: mypassword Re-type new password: mypassword Adding password for user hawkida
The -c flag is used only when you are creating a new file. After the first time, you will omit the -c flag, when you are adding new users to an already-existing password file.
In theory we ought to also reduce the permissions on this file so that no one else can read it even though the passwords are encrypted.
Now you need to tell Apache to use this password file so create a file called .htaccess in the directory to be protected. Put in it something like this...
AuthType Basic AuthName "Foundation Committee Only" AuthUserFile /home/sf-foundation.org/passwords Require user hawkida bugshaw dontknow whoelse
You will need to restart your Apache server in order for the new configuration to take effect, (or ask one of the GopherIT Admins to do it for you).
Note that in addition to specifically listing the users to whom you want to grant access, you can specify that any valid user should be let in. This is done with the valid-user keyword:
Require valid-user
[edit] Want to move to a new URL
[edit] Email
[edit] Mailing Lists
I have set up a mailing list. Email gopherit-subscribe@yahoogroups.com to subscribe (and follow the instructions)
However a number of people really dislike YahooGroups. We have the offer of a mailmain mailing list from SteveGlover.
YahooGroups provides a cheap and easy way of setting up an email list for a group of people.
[edit] Pros
- free for basic services
- web interface if required
[edit] Cons
- dodgy license restrictions
- a "yahoogroups.com" domain
It may be worth while replacing YahooGroups with some mailing list software of our own.
[edit] SquirrelMail
SquirrelMail is a php based web mail system so that users of the priest machine with MailDir style mailstores can access their mail via the web.
It is regularly used by Alex McLintock and was tested for a bit by Julie (juliefaith unix user).
You can try it out by visiting http://www.sflink.net/mail/
Bugs:
- It does not seem to be able to save its own config suggesting a file permission problem.
- It does not interact with an LDAP server for addresses
- It does not use https instead of http.
[edit] Procmail
procmail is a system which watches for mail and processes it in some way. It is typically controlled by a file ~/.procmailrc which is described
[edit] Postfix
PostFix is a mail sending system similar to, but different from sendmail. sendmail is notoriously difficult to configure. We use Webmin to make changes to PostFix if necessary.
We intend to add ClamAv anti virus filtering. (Question how does ClamAv get updated?)
We also use procmail to process mail and filter out spam. Users can add lines to filter with SpamAssassin.
Here is the current situation as of 6 April 2004
postfix receives mail and filters it based on a number of allowable addresses. Some get sent to the mailman program for mailing lists, and some get sent to local users. (In theory some should get forwarded elsewhere too).
The thing which delivers mail to local users is the MDA (mail delivery agent). It should be procmail - but I am not sure this is the case. It should also store the mail in a directory Maildir which can be read by Courier-Imap, but isn;'t. Currently mail is getting stored in a mbox file.
This situation is confused slightly because the mail software pine is taking my mbox file and turning it into something LIKE a Maildir except it calls the diretory "mail".
JohnBray has set up aliases 'home' and 'work' to forward to his jrbray account, which has a procmail chain to spam filter them and sent them out to other addresses round the world.
[edit] Proposed Changes
Currently we have flat alias structure, so mail to webmaster@any_one_of_the_hosted_sites maps onto one entry in the /etc/postfix/aliases file, and can only go to one user. http://www.postfix.org/VIRTUAL_README.html discusses the problem, and section 'Postfix virtual ALIAS example: separate domains, UNIX system accounts' indicates a solution. Initially JohnBray would set it up for johnbray.org.uk only, so mail to home@johnbray.org.uk etc would be specially treated, independant of the standard aliases. If sucessful we could offer the facility to other users.
As email is a critical feature, only implement when support available.
[edit] Related Tools
- SquirrelMail - a webmail system
[edit] Databases
DelCotter, TanyaBrown, and various other fans are skilled with Microsoft Access.
[edit] MySql
MySQL is the main database used by http://www.sflink.net, GopherIT and DiverseBooks.
It's main advantages are
- free
- fast reads
- SQL RDBMS
But its disadvantages are
- no stored procedures
- transactions only implemented recently
Its main competitor is PostgreSQL which is generally thought to have "caught up" in terms of speed but not perhaps in userbase and number of installations. PostgreSQL always had a more complete feature set than MySQL.
[edit] Tips
- mysqladmin -i1 proc status -p
- We have a tool called "mytop" which lists the mysql server processes (or threads) and helps you fine tune the system and diagnose problems.
- Should I be using myisamchk ?
[edit] Other Docs
[edit] Upgrading
- Before you do an upgrade, you should back up your old databases
- copy mysqld to mysqld.old_version
- If you change the character set when running MySQL, you must run myisamchk -r -q --set-character-set=charset on all tables
- It is a good idea to rebuild and reinstall the Perl DBD::mysql module whenever you install a new release of MySQL (Yuck!)
- After upgrading, update the grant tables to add new privileges and features.
- Edit any MySQL startup scripts or configure files to not use any of the deprecated options
- Convert your old ISAM files to MyISAM files with the mysql_convert_table_format database script
- Ensure that you don't have any MySQL clients that use shared libraries
or we could try
I've successfully upgraded MySQL on a Redhat 9 server by following these steps:
- Download the server, client, and "Dynamic client libraries (including 3.23.x libraries)" rpms.
- rpm -Uvh --nodeps MySQL-server-4.0.16-0.i386.rpm
- rpm -Uvh MySQL-shared-compat-4.0.16-0.i386.rpm
- rpm -Uvh MySQL-client-4.0.16-0.i386.rpm
[edit] Problems
MySQL seems to be having problems but with no specific cause.
[edit] Backups
There is a script /root/mysql_backup/dobackups.sh which is meant to be a complete database backup tool - but isn't quite there yet... It trys to save stuff to /backups/mysql/ but isn't doing everything.
This is somewhat like an ODBC driver - it accepts database requests through a standard interface (DBI) and sends it on to the database in the way the database expects.
There was significant problems installing the mysql driver for perl which were solved by
- using export LANG=C (for some unknown RedHat 9 reason)
- installing the MySQL development headers, which were missing.
Alex 17th November
[edit] RSS
RSS or "Rich Site Summary" is a very useful way of sharing your recent headlines or full articles with other sites.
As examples you can fetch http://news.diversebooks.com/diversebooks.rss and display it in a number of tools for displaying that. <p> Since rss is in the widely understood XML format there are many systems which can parse it. One such example is the LiveJournal system which can be set up to read all sorts of RSS files. You can add "diversedvd" and "diversebooks" to your friends list if you have an account there. <p> One fan who has written articles about RSS and RDF is SimonBisson <p> the rss feed above has a small problem which is that it does not contain the introductory text to the article - just the headlines and link. The code for this appears to be in the tasks directory of slashcode "open_backend.pl" and in particular this my $rss = xmlDisplay('rss', { version => $version, title => $title, 'link' => $link, textinput => 1, image => 1, items => [ map { { story => $_ } } @$stories ], }, 1); I am trying this... my $rss = xmlDisplay('rss', { version => $version, title => $title, 'link' => $link, textinput => 1, image => 1, description => 'description goes here', items => [ map { { story => $_ } } @$stories ], }, 1);
[edit] ==
See also
http://www-106.ibm.com/developerworks/library/w-rss.html
[edit] Content Management Systems
[edit] Mediawiki
This might not be a real CMS but is the easiest way to set up a website to be edited by a large group of people. Examples we host include this site http://sflink.net/info and also http://www.YearOfTheTeledu.org/
Mediawiki was developed for and is used by Wikipedia. It is pretty good software.
The problems with Mediawiki are that it attracts spammers and therefore has a high maintenance cost for people removing spam.
[edit] Drupal
This is a highly recommended system. It gets the right balance of simplicity and strength. See Drupal
[edit] Joomla
This is an easy to use system, and easy to install. It has a number of plugins for doing extra tasks but seems ok out the box for many simple websites. It has the advantage of looking better than Drupal. Joomla was previously called Mambo. We would prefer not to install Joomla on the GopherIT box for a variety of reasons.
[edit] Slashcode
This is the software used to provide news to three sites: http://news.Diversebooks.com, http://www.diversedvd.com and http://owal.co.uk/news/ It has been copied many times, most notably by PHPNuke (the software behind http://www.plokta.com/pnn/ ). Slashcode is not the easiest software to use but it is "heavyweight" and can scale up to very very large sites.
[edit] Apache Lenya
If you need XML and XSL and want something Cocoon based. I havent looked at this in several years but would be hapy to again if you really need an XML CMS.
[edit] Slash
As used by http://Slashcode.org and http://slashdot.org/
[edit] Mailing Lists
http://sourceforge.net/mailarchive/forum.php?forum=slashcode-general
[edit] Current Patches
I have made several changes to the official source installed on DiverseBooks and DiverseDVD - but not always the same changes to both. I need to separate these patches out so that it is easy to update the code and keep the patches.
- When displaying a review it attempts to query Amazon through its web services interface and display some purchase information.
- When submitting something to DiverseBooks it emails diversebooksdiscuss yahoogroup telling us something needs approving. (but not applied to DiverseBooks
- loads of templates are of course changed.
[edit] Required Patches
- index.pl - The home page could be improved greatly. I am thinking of something more like http://theregister.com but with different areas of screen for different sections. There is a Page Plugin which could help with this.
- Most important - We need to add extra columns to the "story" tables. This is a standard operation with Slashcode and one which is documented on the mailing list and elsewhere. We basically need extra columns for title, subtitle, author, reviewer, and so on - loads of them. We can then use this extra data when displaying the story but most importantly we can *list* the stories in a variety of new ways - eg by title, or by author....We also need to store some extra info which may not be made public such as who gave us this book, and therefore who should be emailed when the article goes live.
- We might want to have stories entered into the "books received" section and then have those same stories used as samples, or templates for people reviewing the book later on.
!! Tips for template handling
cd /usr/local/slash/site/DiverseBooks/backups
../../../bin/template-tool -u going2 -d