public
Description: Yaws webserver
Homepage: http://yaws.hyber.org
Clone URL: git://github.com/klacke/yaws.git
yaws /
name age message
file .gitignore Tue Jun 09 00:15:52 -0700 2009 Added a .gitignore to file to ignore generated ... [Fabian Alenius]
file ChangeLog Thu Feb 08 07:48:25 -0800 2007 prepare 1.68 git-svn-id: https://erlyaws.svn.... [klacke]
file LICENSE Wed Apr 05 00:53:08 -0700 2006 changed licens to proper BSD git-svn-id: http... [klacke]
file Makefile Fri Mar 06 02:03:38 -0800 2009 Rename shopingcart to shoppingcart This should... [ndim]
file README Mon Aug 03 04:07:55 -0700 2009 readme docs [klacke]
file README.pkg-config Thu Jan 29 15:29:48 -0800 2009 add pkg-config support contributed by Olivier G... [vinoski]
file README.win32-cygwin Mon Aug 03 04:07:55 -0700 2009 readme docs [klacke]
file _build.cfg Thu May 15 01:39:10 -0700 2008 Adding files for Erlware. A very rough packagin... [etnt]
directory applications/ Thu Sep 17 11:17:02 -0700 2009 more efficient check for the yaws application b... [vinoski]
directory bin/ Mon Mar 04 12:26:30 -0800 2002 "" git-svn-id: https://erlyaws.svn.sourceforg... [klacke]
directory c_src/ Fri Sep 25 21:03:04 -0700 2009 determine gcc flags for 32-bit or 64-bit Erlang... [vinoski]
file config.guess Sat Mar 13 03:03:03 -0800 2004 "" git-svn-id: https://erlyaws.svn.sourceforg... [klacke]
file config.sub Sat Mar 13 03:03:03 -0800 2004 "" git-svn-id: https://erlyaws.svn.sourceforg... [klacke]
file configure.in Wed Nov 11 13:43:42 -0800 2009 rm configure [klacke]
directory debian/ Mon May 24 06:37:04 -0700 2004 debian patch from David Welton applied git-sv... [klacke]
directory doc/ Sat Oct 17 12:09:34 -0700 2009 document yaws_multipart (with the assistance of... [vinoski]
directory ebin/ Mon Jun 10 14:35:55 -0700 2002 "" git-svn-id: https://erlyaws.svn.sourceforg... [klacke]
directory examples/ Mon Nov 25 14:52:08 -0800 2002 "" git-svn-id: https://erlyaws.svn.sourceforg... [klacke]
file include.mk.in Thu Jan 22 12:38:57 -0800 2009 cygwin build patch by Davide marques git-svn-i... [klacke]
directory include/ Mon Nov 23 01:06:39 -0800 2009 add the soap_srv_mods support, which can setup ... [Eric Liang]
file install-sh Wed Nov 27 15:24:25 -0800 2002 added ability to run as different user than roo... [klacke]
directory man/ Mon Nov 23 01:07:23 -0800 2009 add explanation about global setting: soap_srv_... [Eric Liang]
directory munin/ Fri Jun 12 07:28:05 -0700 2009 README.munin [Olivier Girondel]
directory priv/ Mon Feb 23 02:04:25 -0800 2009 empty dir [klacke]
directory scripts/ Tue Sep 22 13:07:17 -0700 2009 installer [klacke]
directory src/ Mon Nov 23 06:37:36 -0800 2009 erasing the connection header must also set doc... [vinoski]
directory ssl/ Sun Oct 18 06:54:55 -0700 2009 mkcert [klacke]
directory test/ Sat Sep 19 12:29:15 -0700 2009 Use iolists instead of binaries for streamconte... [vinoski]
file two-mode-mode.el Thu Feb 14 08:57:23 -0800 2008 untabified all of yaws git-svn-id: https://erl... [klacke]
file vsn.mk Sat Oct 17 14:07:14 -0700 2009 prepare for 1.85 [klacke]
directory win32/ Mon Jun 01 04:44:47 -0700 2009 Better error msg if erl is not found for win32 ... [klacke]
directory www/ Mon Nov 16 06:55:25 -0800 2009 Merge branch 'master' of git://github.com/etnt/... [klacke]
file yaws.pc.in Thu Jan 29 15:29:48 -0800 2009 add pkg-config support contributed by Olivier G... [vinoski]
file yaws.rel.src Mon Sep 01 01:32:30 -0700 2008 yaws.rel.src was missing and better error print... [klacke]
README
This is yaws, a webserver for dynamic content written in Erlang.


To build and install


1. Get and install an erlang system (http://www.erlang.org)

2. ./configure --prefix=/usr/local
   This will install everything under /usr/local including var files
   in /usr/local/var/run/yaws and etc files in
   /usr/local/etc/yaws.*

  A plain ./configure will install executables under 
  /usr/local/bin and libs in /usr/local/lib/yaws etc and
  var files will end up under /usr/local/etc and /usr/local/var


Note: We can also change the target directory for etc and var 
      directories by using:

  --localstatedir=DIR for files that should go in /var
  --sysconfdir=DIR for files that should go in /etc
  --disable-pam  If we for some reason do not want pam support
  --with-extrainclude=DIR Will add DIR to the include path
                      May be useful if e.g. pam is installed
          somewhere where its usually not found
  --with-defaultcharset=String  Will set the default charset used
                        in generated page headers. Usually never needed.
                        
This way you can precisely control where you install Yaws (This is
usefull for computers where you do not have right access to the 
standard systemdirs). 

For example:
./configure --prefix=/home/install/yaws --localstatedir=/home/install/yaws/var --sysconfdir=/home/install/etc


2b. Note to packagers (rpm, deb ...) All install targets support the 
    DESTDIR variable.
    Thus, if we do ./configure --prefix=/usr; make
    we can subsequently do:
    DESTDIR=/foo/bar make install
    All yaws files will be installed under DESTDIR, but all 
    code will assume yaws should be installed under /usr


3. make
     This will build the system

  make docs 
     (Optionnal) You can issue this command if you want to build Yaws
     documentation.

  make local_install
     and perform something we call a
     local install. It will create an executable script in the $HOME/bin 
     directory and a config file in $HOME/yaws.conf. This is for developers
     only

4.   To test the build, Start as bin/yaws -i 
     This will start a webserver at http://0.0.0.0:8000
     Terminate through ^C or 
     > init:stop()

5. as root make install

6. as root start as /usr/local/bin/yaws -i 
   (this starts an interactive system)

7. This will create a webserver at http://${host} and one at https://${host}

8. as root edit /usr/local/etc/yaws/yaws.conf 

9. Create content in /usr/local/var/yaws

10a. Start as /usr/local/bin/yaws --daemon --heart
     This will start a daemon (--daemon) which will be autorestarted when/if
     it crashes or hangs (--heart)
     Also, for most unices, we create proper start scripts in
     /etc/init.d (sysconfdir)

10b. Or start interactive system as /usr/local/bin/yaws -i


11.  Example: Here is how I compile/start the yaws system that runs
     at http://yaws.hyber.org (Ubuntu server system)

     # ./configure --sysconfdir=/etc
     # make && make install
     # /etc/init.d/yaws start