Google Answers Logo
View Question
 
Q: Free Web Application Recommendation ( Answered 5 out of 5 stars,   0 Comments )
Question  
Subject: Free Web Application Recommendation
Category: Computers > Internet
Asked by: simogori-ga
List Price: $100.00
Posted: 16 Aug 2003 11:23 PDT
Expires: 15 Sep 2003 11:23 PDT
Question ID: 245416
What will be the best combination of free web applications 
to install on a personal web server?

I am asked to install free web applications on a 
Celeron 1.2GHz + 512MB Mem Linux machine.
It will be used as a personal web server.
Which applications should I chose?
The server will host five users.

I am required to provide at least the following functions:
 1. web gateway for an IMAP server
 2. photo album
 3. discussion board
 4. chat system
 5. calendar
 6. database

In short, I need to build a personal Yahoo! Groups server
plus GeoCities using free software.

Additional recommendation which do not belong in the 
above six categories are highly welcome.
S.A. Content Management Systems, Recipe Database, 
     Blog (whatever it is)

Decision criteria:
 1. Stability
    The software must be stable.
    I will be able to update the program 
    but I don't want to go through data conversion when updating.
 2. Ease of use
    The users are computer novice,
    Age from ten to fifty.
 3. Coolness
    It needs to be somewhat better than the free Yahoo stuff.

About the user:
The users are a Windows only novice.
The machine will be running linux, but they
have zero knowledge about linux.  They will be using
the server via web browser or windows FTP client.
Some already have their own web pages on a ISP site.

About the Machine:
 CPU: Celeron 1.2GHz
 MEM: 512MB Mem
 OS:  RedHat Linux 9
 HDD: 80GB
 Network: 100Mbps

About Me:
I've got experience building four commercial web sites,
but I'm out of date on current free web applications.
(Ex. I know PostNuke, but I don't know what it does)
Sunday programing to glue the application together,
won't be a problem.

I'm not American, English isn't my native tongue, 
and I don't even live in the United States,
so please use VERY easy English.
Answer  
Subject: Re: Free Web Application Recommendation
Answered By: answerguru-ga on 16 Aug 2003 13:44 PDT
Rated:5 out of 5 stars
 
Hi simogori-ga,

What an ambitious project you've undertaken - I will do my best to
suggest products for each of these categories that best fit your
requirements based on my own experience (rather than attempt to
compare the endless number of products out there). I will also rate
all your decision crtiteria on a scale of 1 to 10 for each selection.
Let's get started:

1. web gateway for an IMAP server

My choice here would be Perdition - a brief description is as follows:

"Perdition is a fully featured POP3 and IMAP4 proxy server. It is able
to handle both SSL and non-SSL connections and redirect users to a
real-server based on a database lookup. Perdition supports modular
based database access. ODBC, MySQL, PostgreSQL, GDBM, POSIX Regular
Expression and NIS modules ship with the distribution. The API for
modules is open allowing abitary modules to be written to allow access
to any data store.

Perdition has many uses. Including, creating large mail systems where
an end-user's mailbox may be stored on one of several hosts,
integrating different mail systems together, migrating between
different email infrastructures, and bridging plain-text, SSL and TLS
services. It can also be used as part of a firewall."

http://www.vergenet.net/linux/perdition/

Technical Details:

Platform: Unix
IMAP Supported: 4rev1
Free: Yes
LDAP Support: Yes

http://www.imap.org/products/showall.php

Decision criteria: 
 1. Stability  - 9
 2. Ease of use - 8
 3. Coolness - not applicable (not visible to users)

2. photo album AND 
3. discussion board AND
4. chat system AND
5. calendar

OK I know you may not have expected to get a free web application that
is capable of supporting four of your siz requirements, but this is
really one 'killer app' and I was extremely happy to have come across
it a couple months ago when I was getting started on a project similar
to yours. Here are the details:

ARIADNE - Web Application Server and Content Management System

"Ariadne is a Web Application Server and Content Management System.
written entirely in PHP. It has a rich user interface which includes
wizards, pulldown menus, and a WYSIWYG HTML editor (MSIE 4+ only).
Ariadne is available for free under the Gnu General Public License. "

What is Araidne?

"Ariadne is an Application Platform for the Web, built entirely on
Open Source technology.

What this means is that Ariadne is a Content Management System, using
a WYSIWYG HTML editor, it's also a Group Calendar, a Photo Album, an
Addressbook, a Weblog and anything else you want it to be.

Ariadne was built with PHP, the most popular web programming language,
Apache, the most popular web server, and MySQL, the most popular
database engine for web applications. PostgrSQL is also supported. All
these are Free Software, as is Ariadne.

Because Ariadne is completely free, you can download it, use it, even
change it to your own needs or build new applications on top of it.

Ariadne gives you all the tools you need to easily build a new
website, an intranet or even an e-commerce system. You can build and
manage all this simply with your webbrowser."

What does Ariadne do?

"When you create a website with Ariadne, it stores all your content,
templates, files, etc. in a structured object store built on top of a
database system, e.g. MySQL. This object store looks a lot like a
normal file system, like your operating system uses. You can create
directories and files and navigate through them with the Ariadne
explorer just like a normal filesystem. But this filesystem can do a
lot more.

Ariadne allows you to seperate the content, layout and logic of your
website or internet application. You can assign different people to
manage these parts. Ariadne will combine all these parts dynamically
when someone visits a webpage.

The Store contains all the information for the website. This
information is combined with the class descriptions to create Objects.
These objects contain not only the information, but also contain
operations (methods) that can work on this information and on the
Store. Ariadne then applies the user defined templates on these
objects to generate a webpage.

Objects stored in the the Ariadne Store are exactly that, Objects. So
you can have all the advantages of Object Oriented Programming when
building your website or application. Including inheritance and
polymorphy on everything you put in the Store. Templates defined for a
specific Class of objects will be inherited in sub-classes or can be
overridden with new templates. Templates also automaticcaly extend
down the 'filesystem' tree.

Templates can be defined by users  through the web, via the management
interface of Ariadne. Templates can be any kind of text type: html,
xml, rtf, etc. Information and special operations on the Ariadne store
can be used in a template, via a scripting language 'PINP', which
consists of a subset of PHP functions. Besides that each class also
defines extra functions, which can be used in templates assigned to
objects of that class.

All this allows you to create a web application or website with a
minimum of programming while keeping the content and layout seperate."

http://ariadne.muze.nl/

Now, I know from this description that this seems like a
"cookie-cutter" development tool. While I agree that users who are not
proficient programmers can design very nice content management systems
with this tool, it is also a very openly designed tool. As a result,
programmer types can go behind the scenes and add features beyond
those that are included.

You can download the Unix version of Ariadne 2.2 here:

http://ariadne.muze.nl/download/ariadne.2.2.tgz/

There is also an installation Guide for easy configuration:

http://ariadne.muze.nl/download/install/

Note: Ariadne does required that the following be installed prior to
installation:

Apache Web Server: http://httpd.apache.org/
Download	 : http://httpd.apache.org/download.cgi

PHP4	: http://www.php.net/
Download: http://www.php.net/downloads.php

MySQL	: http://www.mysql.com/
Download: http://www.mysql.com/downloads/

Decision criteria: 
 1. Stability  - 10
 2. Ease of use - 10
 3. Coolness - 10

6. database

Although this requirement is somewhat redundant considering that the
MySQL database is required for Ariadne, I just thought I would
recommend MySQL as a web database regardless of whether or not it was
required by Ariadne. Here is a description of the product:

"The MySQL database server is the world's most popular open source
database. Its architecture makes it extremely fast and easy to
customize. Extensive reuse of code within the software and a
minimalistic approach to producing functionally-rich features has
resulted in a database management system unmatched in speed,
compactness, stability and ease of deployment. The unique separation
of the core server from the storage engine makes it possible to run
with strict transaction control or with ultra-fast transactionless
disk access, whichever is most appropriate for the situation. The
MySQL database server is available without a license fee under the GNU
General Public License (GPL)."

"There are [two free] versions of the database server available:

MySQL Standard includes the standard MySQL storage engines and the
InnoDB storage engine. InnoDB is a transaction-safe, ACID-compliant
storage engine with commit, rollback, crash recovery and row-level
locking capabilities. This version is for users who want the
high-performance MySQL database with full transaction support. MySQL
Standard is licensed under the GPL. MySQL Pro is the
commercially-licensed version of the server with the same feature-set.

MySQL Max is for the user who wants early access to new features. This
version includes the standard MySQL storage engines, the InnoDB
storage engine, and other extras like the Berkeley database (BDB)
storage engine, and support for splitting tables across multiple files
to avoid operating system file size limitations. In future releases,
MySQL Max will include more cutting-edge features."

http://www.mysql.com/products/mysql/index.html

Here is a list and description of MySQL features:


ANSI SQL syntax support

The MySQL database server supports a broad subset of the ANSI SQL 99
syntax, along with extra extensions such as the REPLACE statement and
the LIMIT clause for SELECT and DELETE. Alternative syntaxes from
other database systems are also supported, to make porting
applications easier. Our coverage of the complete ANSI SQL 99 syntax
is expanding, with version 4.0 introducing support for the UNION
statement.

Cross-platform support 

We provide optimised binaries for a wide range of platforms, including
Linux, Microsoft Windows, FreeBSD, Sun Solaris, IBM's AIX, Mac OS X,
HP-UX, AIX, QNX, Novell NetWare, SCO OpenUnix, SGI Irix, and Dec OSF.
You can connect to a MySQL database server from all of the major
platforms, using nearly any programming language, with our standard
threadsafe client library or one of the products in our Connector
family of database drivers.

Independent storage engines 

MySQL database server's unique independent storage engines let you
choose the type of database storage that is most appropriate for your
particular needs. If you need row-level locking and transaction
support, you can use the InnoDB storage engine. If your application
doesn't require transactions, you can use the MyISAM storage engine
for maximum performance.

Transactions 

Using the InnoDB or Berkeley DB (BDB) storage engines, the MySQL
database server supports transactions. The InnoDB storage engine also
supports foreign key constraints.

Flexible security system, including SSL support 

The MySQL database server has an advanced permissions and security
system, including support for SSL transport-layer encryption. As of
version 4.0, the security system also allows you to limit server
resources on a per-user basis.

Query caching 

Version 4.0 of the server includes a new query cache, which can
significantly increase the performance of commonly-issued queries,
without requiring any special programming. Performance can be
increased by over 200% in typical usage.

Replication 

Using database replication, you can have many "slave" servers running
off a single "master" server for robustness and speed.

Full-text indexing and searching 

Full-text indexes allow you to search fields containing arbitrary text
for specific words and phrases, including relevance rankings. With
version 4.0, we've expanded the fulltext search to include exact
phrase matching and Boolean search operators, which allows for even
more fine-grained control over your search results.

Embedded database library 

Using the embedded database library (libmysqld), you can include the
full power of the MySQL database server into applications and
electronics devices, without your end-user having any awareness of the
underlying database. The embedded MySQL database is ideal for use
behind the scenes in Internet appliances, public kiosks, turn-key
hardware/software combination units, high performance Internet
servers, self-contained databases distributed on CD-ROM, and more
possibilities just waiting for you to invent them.

Benchmarks and Feature Comparisons

We're always looking to make our software better, and have been
running benchmark software that we've developed alongside
industry-standard benchmarks such as the ANSI SQL Standard Scalable
And Portable (AS3AP) benchmark. You can view and compare the results
on our website, or download the benchmark software and run your own
tests.

We've developed a feature comparison tool called crash-me, which you
can download and run against your own database server, or use our
online feature comparison tool to compare the results we've collected
from various databases. The tool identifies gaps in functionality,
limits to functionality, and has been known to take down some servers
with its aggressive tests (thus the name).

Upcoming Features

We have a top-notch database server, but we're not sitting still. We
have a large team of developers working to implement new features.
Here's a sample:

(Note that versions listed for when each feature will appear is simply
an estimate. We do not publish estimates as to when new versions will
be released, only that we strive to do so as soon as we can without
sacrificing our own high standards for quality. If there's a feature
you'd like to see finished sooner, or a feature not on the list you'd
like us to work on, you should look into our MySQL enhancements and
extensions consulting program.)

Character set handling, with full Unicode support 

While earlier versions of the database server can be set up to support
specific characters sets, version 4.1 adds support for multiple
character sets which can be set at the server, database, table, or
field level, as well as improved support for converting between
character sets. New character sets have been added for storing Unicode
data in the UCS2 and UTF8 encodings.

Expanded support for subqueries 

Subqueries allow you to use the result of one query as a component of
a larger query. The MySQL server already supports some forms of this
technique, such as INSERT INTO ... SELECT ..., and this support will
be expanded in version 4.1 to include nested SELECT queries, which is
one of the most-requested features from our users.

Stored procedures and triggers 

Stored procedures allow you to create functions and subroutines that
run on the server. This makes it possible to grant access to specific
queries without granting carte blanche access to the underlying data,
or validate data in the database before it is stored. Triggers can be
configured to fire when certain conditions are fulfilled.

The MySQL database server will provide hooks for implementing stored
procedures in multiple languages, as well as including support for the
Persistent Stored Modules syntax defined as part of ANSI SQL-99.

Support for stored procedures and triggers will be introduced in
version 5.0.

Views 

Views allow you to configure alternative views of existing tables
without changing the underlying table structure. They can be used to
grant limited access to tables, or make it easier to construct certain
types of queries. Views are currently scheduled to be supported in
version 5.1.

http://www.mysql.com/products/mysql/index.html

Decision criteria: 
 1. Stability  - 9
 2. Ease of use - 8
 3. Coolness - Not applicable (not visible to users)


CONCLUSION:

Based on the recommendations I have made above, you will need to
download the following (free) products in order to implement your
system:

Perdition: http://www.vergenet.net/linux/perdition/

Ariadne: http://ariadne.muze.nl/download/ariadne.2.2.tgz/

Apache Web Server: http://httpd.apache.org/download.cgi

PHP4: http://www.php.net/downloads.php

MySQL Database: http://www.mysql.com/downloads/


Hopefully my recommendations will prove useful to you, but if you have
any questions about the information above please do post a
clarification and I will respond promptly.

Cheers!

answerguru-ga
Google Answers Researcher

Request for Answer Clarification by simogori-ga on 16 Aug 2003 20:20 PDT
Hello answerguru-ga,

Yes, ARIADNE seems to be a good choice.
I'm interested. Thanks.

As for the IMAP gateway, I was thinking of
something like squirrelmail.
http://www.squirrelmail.org/
I should have wrote "WebMail".
I need a web interface for the users to
connect to the IMAP server.

Same goes to the DataBase.
I am looking for a web interface to let the
users create, insert, delete and search a table.
The database itself can be MySql, Postgresql or anything.

Do you have any extra suggestions of web applications
that will help the users build their web site?
It doesn't have to be a huge package, I want something
fun or cool.  
If you imagine what your parents or child would like
if they are to create their own web site by themselves,
that would be the situation I'm in.

Thanks,
simogori-ga

Clarification of Answer by answerguru-ga on 16 Aug 2003 20:53 PDT
Hi simogori-ga,

I thought you would like Ariadne...its not often you can find a
package solution like that as an open source project :)

As far as the Webmail - I see what you are looking for now.
Squirrelmail would have actually been my choice as well for this -
great set of features on this one!

For the database interface, I haven't actually come across one that
deals directly with tables (as this concept is lost upon the average
user), however, depending on the content you are planning on putting
in your database, Ariadne has a great interface that can be modified
to deal directly with tables.

I do like SQlWeb for this as well - here is a brief description:

"SQLweb has just been released as open source software, freely
distributable under the GNU general public license. SQLweb is a
powerful yet easy to use tool which easily interfaces with Oracle, and
other databases. The SQLweb software can now be installed and used on
any UNIX-based server for free. You can download the SQLweb source
code and instructions for compiling. Once you compile it, you will
have a fully-functional version of SQLweb. "

http://www.sqlweb.com/

As far as additional suggestions go, I would have to say that you
should try and find tools to achieve your purpose rather than defining
your purpose based on what tools are available. The only thing I would
say that you should include is a set of resources so that if your
users have problems, they don't need to go elsewhere to find the
answer.
 
Good luck!

answerguru-ga

Request for Answer Clarification by simogori-ga on 17 Aug 2003 00:23 PDT
Hello answerguru-ga,

So it shall be ARIADNE, Squirrelmail and SQLWeb.
Thanks for the answers.
You've done a good job for me.

>I would have to say that you should try and find tools 
>to achieve your purpose rather than defining
>your purpose based on what tools are available.

Now, as for the above statement, you are absolutely right,
and I intend to do exactly as you say.
The problem is, I have to show the users what is possible,
before I can ask them what they want to do. That's what
you have to do with novices.
And that's why I'm expecting extra suggestions.

Since you've answered all my questions and I'm satisfied,
I can close this answer at the current state,
or I can wait for your extra suggestions.
Any idea will be rewarded.
Tell me what you want to do.

Thanks,
simogori-ga

Clarification of Answer by answerguru-ga on 17 Aug 2003 08:18 PDT
Hi again,

I was thinking about additional things that you could incorporate into
this project and came up with a couple more:

1. Guestbook

This provides site visitors to "leave their mark" and make comments
about the site itself. For this I would recommend Dreambook, an free
guestbook with lot of customization options:

https://panel.dreamhost.com/kbase/?area=3

2. Voting (polling) functionality

The webmaster can ask a multiple choice question and site visitors can
post their vote in response - results can be viewed in real time.

Dream Tools has a nice polling script that they host on their own
server:
http://www.dream-tools.com/

You can view some screenshots/examples here:
http://www.dream-tools.com/samples/polls.html

3. Mailing List

If the webmaster decides, they can send out content to their visitors
via email through a mailing list that visitors can sign up for while
browsing the site.

Bravenet has a great mailing list system with numerous features:
  Double Opt-In - Confirmed subscriber lists are safer from spam
complaints
  Email Notifications - Get notified by email when new members
subscribe
  Easy List Manager - Add, edit and delete your list subscribers
easily
  HTML Newsletters - Use our HTML Builder to build and send HTML email
  Full Site Integration - Our subscribe box can be completely
customized
  Easy installation - Just copy and paste our code onto your webpage 

http://www.bravenet.com/webtools/elist/index.php

4. Login Functionality

If the webmaster would like only certain people to access their site,
they can make it non-public, whereby the visitor would need to have
been given or have to sign up for an account.

Again, BraveNet has the solution - a "password gate" with the
following features:

  Select Ad Style - Display ads in the format best suited to your site
  Simple User Management - Add, edit or delete your users easily
  Easy installation - Just copy and paste our code onto your webpage

http://www.bravenet.com/webtools/passwd/index.php

Actually Bravenet has a very large set of tools that are worth
checking out:

URL Redirect
Guestbook
Counter/Site Statistics
Password Gate
Site Search
Tell-A-Friend (about the site)
FAQ Database
...

There are actually a *lot* of tools available here - pretty much all
you can imagine. The only downside is that although they are free (for
the non-Professional versions) they are not open source. My decision
to recommend these tools in place of an open source version is because
the "coolness" factor decreases significantly (most of those ones are
text based with very rudimentary features). Plus, you probably aren't
going to use every tool on the site so its not a bad tradeoff :)

Hopefully these extra suggestions have given you some more ideas -
since this has become a fairly exhaustive list already, we can close
the question assuming you are satisfied :)

Thanks,
answerguru-ga

Request for Answer Clarification by simogori-ga on 17 Aug 2003 09:12 PDT
Hello answerguru-ga,

The extra suggestions you've made are "Web Services"
not "Web Applications" which I can install.
I understand that these services look better, but
as I stated in the first line of my initial question,
I am going to install everything on the target machine,
therefore, web services will not be acceptable. Sorry.

If you're tired, we can close the question at this point,
or if you wish, you can put down any web applications you have 
already gathered.

I'll close the question upon receiving your next answer.

Thanks,
simogori-ga

Clarification of Answer by answerguru-ga on 17 Aug 2003 09:22 PDT
OK, well I suppose web services and web applications are not quite the
same but maybe the ideas that I provided you with earlier can be used
when you are looking for web applications. Since this is all beyond
the scope of your original question maybe it would be best to close
the question now. If you are interested in finding more actual web
applications in the areas I mentioned you may consider posting another
question.

answerguru-ga
simogori-ga rated this answer:5 out of 5 stars and gave an additional tip of: $10.00
The answer was great.
The extra suggestions where invalid, but thanks for trying.

Comments  
There are no comments at this time.

Important Disclaimer: Answers and comments provided on Google Answers are general information, and are not intended to substitute for informed professional medical, psychiatric, psychological, tax, legal, investment, accounting, or other professional advice. Google does not endorse, and expressly disclaims liability for any product, manufacturer, distributor, service or service provider mentioned or any opinion expressed in answers or comments. Please read carefully the Google Answers Terms of Service.

If you feel that you have found inappropriate content, please let us know by emailing us at answers-support@google.com with the question ID listed above. Thank you.
Search Google Answers for
Google Answers  


Google Home - Answers FAQ - Terms of Service - Privacy Policy