Skip to content
This repository has been archived by the owner on Jun 23, 2018. It is now read-only.

markaylett/aug

Repository files navigation

Copyright (c) 2004, 2005, 2006, 2007, 2008, 2009 Mark Aylett <mark.aylett@gmail.com>

This file is part of Aug written by Mark Aylett.

Aug is released under the GPL with the additional exemption
that compiling, linking, and/or using OpenSSL is allowed.

Aug is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

Aug is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

Please see http://www.xofy.org/aug for the latest documentation.

AUG is an event-driven network application server, licensed under the GNU
General Public License (GPL).  AUG's Module system makes it ideally suited to
building heterogeneous Internet applications. Python and Ruby Modules are
bundled with the AUG package.  The core system is written in portable C & C++.
AUG also supports IPv6 and SSL, and is available for LINUX, WINDOWS and other
POSIX-compliant systems.

Basic Installation
==================

1. `cd' to the directory containing the package's source code and type
   `./configure' to configure the package for your system.  If you're using
   `csh' on an old version of System V, you might need to type `sh
   ./configure' instead to prevent `csh' from trying to execute `configure'
   itself.

   Running `configure' takes awhile.  While running, it prints some messages
   telling which features it is checking for.

2. Type `make' to compile the package.

3. Optionally, type `make check' to run any self-tests that come with the
   package.

4. Type `make install' to install the programs and any data files and
   documentation.

MSI Installation
================

1. Run the MSI installer.  Before changing the destination folder from the
   default, please read the Aug MSI FAQ, below.

2. From the installation directory, copy the 'etc/augd.conf.default' file
   to 'etc/augd.conf'.

3. Change the 'etc/augd.conf' file as appropriate.  At least, the 'rundir'
   option should be set to the absolute path of the installation directory.

4. To run the example modules, copy the contents of 'example/augas/etc' and
   'example/augas/htdocs' to the respective directories 'etc' and 'htdocs'.

5. Run the 'install.bat' file in the installation directory: this will
   register the service with the Service Control Manager.

6. To start the service, run the 'start.bat' file in the installation
   directory.

   If the service fails to start, and no log file exists in the log
   directory, try checking here:

   C:\Documents and Settings\NetworkService\Local Settings\Temp

MSI FAQ
=======

1. Why do I receive a 'The system cannot open the device or file specified.'
   error when trying to install the MSI?

   This error is often followed by:

   The installer has encountered an unexpected error installing this package.
   This may indicate a problem with this package.  The error code is 2755.

   If you are using an encrypted file system, decrypt the MSI installer and
   rerun.

2. Why does the following message appear in the log file?

   'import site' failed; use -v for traceback ImportError: No module named
   traceback

   If you are using an encrypted file system, recursively decrypt the
   directory to which Python was installed.

3. Why do I receive an 'Access Denied' error when attempting to start the
   service?

   By default the Service will be run using the system's 'Network Service'
   account.  As with the 'Local System' account, access may be restricted to
   certain areas of the file system.

   This may occur when installing to destination directories other than the
   default.

   This issue can be resolved by either a) re-installing to a shared (common)
   area of the file system, or b) running the service under an alternate
   account.

MinGW Build
===========

1. Verify that cygwin's mingw toolchain and w32api packages are installed.

2. Run config.pl in the base directory, and ensure that:

   a) "cygwin build for mingw host" is selected as the compiler toolset.

   b) where unavailable, python, ruby and ssl support are disabled.

3. Run the resulting config.sh, to configure.

   $ cd $OPENSSL_HOME/bin/
   $ cp ssleay32.dll libssleay32.dll
   $ cd $OPENSSL_HOME/lib/
   $ cp MinGW/*.a ./
   $ cp ssleay32.a libssleay32.a

   If "make check" is failing, try installing the package first to ensure that
   the DLLs are visible on your PATH.

MSVC++ Build
============

1. Add the following executable directories:

   $(OPENSSL_HOME)\bin
   $(PYTHON_HOME)
   $(RUBY_HOME)\bin

2. Add the following include directories:

   $(OPENSSL_HOME)\include
   $(PYTHON_HOME)\include
   $(RUBY_HOME)\lib\ruby\1.8\i386-mswin32

3. Add the following library directories:

   $(OPENSSL_HOME)\lib\VC
   $(PYTHON_HOME)\libs
   $(RUBY_HOME)\lib

License FAQ
===========

1. What does the COPYING file contain?

   A verbatim copy of the following document:

   http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt

2. Can the years on the license notice be summarised in a range, such as
   2004-2009?

   Ideally, gnu.org want the years to be explicitly listed rather than in a
   range.  There is some confusion on why they want this, but it related to
   international laws.  They have a Berne copyright law, but not all countries
   have signed it.  So those at gnu.org convinced it is better to play it safe
   than be sorry.

3. If I build with OpenSSL support, doesn't this break the GPL license
   agreement?

   No.  The following exception has been added to the license agreement.

   "This program is released under the GPL with the additional exemption that
   compiling, linking, and/or using OpenSSL is allowed."

4. Aug is targeted at MacOS, Windows, and Posix compliant systems.  Does it
   depend on any non-free system?

   No.  Aug does not depend on any non-free systems.

5. Does Aug have any other dependencies?

   Optional dependencies are:

   OpenSSL
   License: OpenSSL License
   http://www.openssl.org/source/license.html

   Python
   License: Python Software Foundation License Version 2
   http://www.python.org/psf/license/

   Ruby
   License: Ruby License
   http://www.ruby-lang.org/en/LICENSE.txt

6. How about how about any source code contributions?

   Aug also benefits from the following third-party contributions:

   dlmalloc by Doug Lea
   License: Public Domain
   http://gee.cs.oswego.edu/pub/misc/malloc.c

   dlfcn.c by Jorge Acereda and Peter O'Gorman
   License: Open Source License
   http://www.opensource.apple.com/darwinsource/WWDC2004/Libwrappers-14/dlcompat/dlfcn.c

   getopt.c by Henry Spencer
   License: Public Domain
   http://www.lysator.liu.se/c/henry

   md5.c by Colin Plumb
   License: Public Domain
   http://cvsweb.xfree86.org/cvsweb/*checkout*/cvs/lib/md5.c?rev=1.1

   strlcpy.c by Dan Cross
   License: Public Domain
   http://unixpapa.com/incnote/string.html

   sys/queue.h
   License: BSD License
   http://fxr.watson.org/fxr/source/sys/queue.h

GitHUB Pages
============

$ git clone git@github.com:marayl/aug.git gh-pages
$ git checkout --track -b gh-pages origin/gh-pages
$ git push

MinGW Cross Compiler
====================

$ ./configure --build=i686-pc-linux-gnu --host=i586-mingw32msvc

About

AUG is an event-driven network application server.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published