Skip to content


Subversion checkout URL

You can clone with
Download ZIP
YAWS is an erlang web server
Erlang JavaScript Shell Makefile HTML C Other
Branch: master
Failed to load latest commit information.
applications Initial commit.
bin Initial commit.
c_src Initial commit.
debian Initial commit.
doc Fixing json-rpc problems
ebin Initial commit.
examples Initial commit.
include Initial commit.
man Initial commit.
priv Initial commit.
scripts Initial commit.
sourceforge-site Initial commit.
src add binary support to json
ssl Initial commit.
www Initial commit.
.gitignore Ignoring beam files and object files.
ChangeLog Initial commit.
LICENSE Initial commit.
Makefile Initial commit.
README Initial commit.
config.guess Initial commit.
config.sub Initial commit.
configure Initial commit. Initial commit. Initial commit.
two-mode-mode.el Initial commit. Initial commit.


This is yaws, a webserver for dynamic content written in Erlang.

To build and install

1. Get and install an erlang system (

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

  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

  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

4.   To test the build, Start as bin/yaws -i 
     This will start a webserver at
     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 /etc/yaws.conf 

9. Create content in /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)

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

Something went wrong with that request. Please try again.