• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

ac-aux/H30-Jun-2018-16,57612,377

applications/H30-Jun-2018-18,29914,678

c_src/H03-May-2022-2,3591,759

contrib/H30-Jun-2018-1,534865

doc/H03-May-2022-4,9883,974

ebin/H03-May-2022-595513

examples/H30-Jun-2018-2,2981,836

include/H03-May-2022-1,3201,061

m4/H30-Jun-2018-9,3158,422

man/H03-May-2022-3,6542,972

munin/H30-Jun-2018-13781

priv/H03-May-2022-3,1862,851

rel/H30-Jun-2018-844632

scripts/H03-May-2022-2,4881,924

src/H03-May-2022-33,18025,690

ssl/H30-Jun-2018-546430

testsuite/H03-May-2022-12,88910,416

win32/H03-May-2022-1,4011,132

www/H03-May-2022-10,2878,262

ChangeLogH A D30-Jun-2018140.5 KiB5,4463,354

LICENSEH A D30-Jun-20181.5 KiB2823

Makefile.amH A D03-May-20226.6 KiB202154

Makefile.inH A D03-May-202237.7 KiB1,1411,009

README.mdH A D30-Jun-20184.4 KiB168111

README.osxH A D30-Jun-2018403 159

README.pkg-configH A D30-Jun-2018295 1611

aclocal.m4H A D30-Jun-201843.3 KiB1,2211,111

configureH A D30-Jun-2018575.3 KiB19,23116,207

configure.acH A D30-Jun-201818.4 KiB534444

erlang_deps.mkH A D30-Jun-2018321 104

include.mkH A D03-May-2022510 1811

known_dialyzer_warningsH A D30-Jun-20181 KiB1816

rebar.configH A D30-Jun-2018904 2418

rebar.config.scriptH A D30-Jun-20182.9 KiB7867

two-mode-mode.elH A D30-Jun-20184.7 KiB13579

vsn.mkH A D30-Jun-201815 21

yaws.pc.inH A D30-Jun-2018300 1613

README.md

1This is Yaws, a webserver for dynamic content written in Erlang.
2
3[![Travis build Status](https://travis-ci.org/klacke/yaws.svg?branch=master)](https://travis-ci.org/klacke/yaws)
4
5Prepare build
6-------------
7
8Get and install an Erlang system (http://www.erlang.org).
9
10**To compile Yaws, Erlang/OTP R16B01 or higher is required.**
11
12If you've cloned the source from github and you want to build using autotools,
13note there is no ./configure script in the source, so create one:
14
15    $> autoreconf -fi
16
17Install build dependencies. Required packages to compile Yaws are (based on
18debian packages):
19
20* build-essential
21* autoconf/automake/libtool
22* erlang - Required apps:
23 * erlang-{kernel/stdlib/sasl/erts}
24 * erlang-compiler
25 * erlang-crypto
26 * erlang-xmerl
27* libpam0g-dev
28
29To build the documentation (optional), you also need to install:
30
31* texlive-latex-base
32* texlive-latex-recommended
33* texlive-fonts-recommended
34* texlive-font-utils
35* texlive-extra-utils
36* ghostscript
37
38On Ubuntu/debian this is pretty much equal to:
39
40    $> apt-get build-dep yaws
41
42Finally, to run the testsuites, yaws need to install:
43
44* git
45* wget
46* curl
47* erlang-eunit
48* erlang-inets
49* erlang-mnesia
50* erlang-ssl
51* cadaver
52
53
54Build
55-----
56
57You can build using rebar:
58
59    $> rebar get-deps compile
60
61or via autotools:
62
63    $> ./configure --prefix=/usr/local
64
65If using rebar, you'll get a "local installation" with Yaws script in ./bin
66and the Yaws configuration file in ./etc/yaws.
67
68If using autotools, the build will be configured by default for installation
69under /usr/local. For more information about installation directories and
70other supported options, see the configure help. Useful options are:
71
72    --with-defaultcharset=CHARSET specify default charset, i.e UTF-8
73    --with-extrainclude=DIR       dir to include if e.g. pam is installed in some odd place
74    --with-erlang=PREFIX          prefix where Erlang is installed (optional)
75
76Note to packagers (rpm, deb ...) All install targets support the DESTDIR
77variable. Thus, if we do
78
79    $> ./configure --prefix=/usr; make
80
81we can subsequently do:
82
83    $> make install DESTDIR=/foo/bar
84
85All Yaws files will be installed under DESTDIR, but all code will assume Yaws
86should be installed under /usr.
87
88Main make targets:
89
90* all           : compile Yaws
91* debug         : compile Yaws with debug flags
92* clean         : remove files produced by all or debug target
93* install       : do a proper install of Yaws
94* doc or docs   : build the documentation
95* check or test : launch tests
96* cleantest     : remove files produced by check target
97* dialyzer      : run dialyzer on Yaws
98* mkinstaller   : build an installer for windows
99* cleaninstaller: remove files produced by mkinstaller target
100* apps          : compile Yaws applications (chat,mail,wiki,yapp)
101* cleanapps     : remove files produced by apps target
102* installapps   : install Yaws applications
103* fullinstall   : install + installapps
104* fullclean     : clean + cleantest + cleanapps + cleaninstaller
105
106
107Test your build
108---------------
109
110With autotools, to test the build, you should install it somewhere:
111
112    $> ./configure --prefix=$PWD/_inst && make install
113    $> $PWD/_inst/bin/yaws -i
114
115If you used rebar to compile Yaws, you can alternatively start Yaws with
116
117    $> ./bin/yaws -i
118
119Either approach will start a webserver at http://0.0.0.0:8000
120Terminate through ^C, or ^G followed by q, or
121
122    > init:stop()
123
124NOTE: If you've used rebar to build the system, none of the following
125directions apply. With rebar only "local installations" are supported.
126
127
128Install and run
129---------------
130
131NOTE: following commands may require root privileges, depending of the
132installation prefix.
133
134Just run:
135
136    $> make install
137
138Then, to run Yaws, you should use its script:
139
140    $> ${bindir}/yaws -i
141
142This starts an interactive system.
143
144With the default yaws.conf file, this will create a webserver at
145http://${host} and one at https://${host}.
146
147You can adapt Yaws configuration by editing '${sysconfig}/yaws/yaws.conf'.
148
149
150Daemonize Yaws
151--------------
152
153Start it using '--daemon' and '--heart' options:
154
155    $> ${bindir}/yaws --daemon --heart
156
157This will start a daemon (--daemon) which will be autorestarted when/if it
158crashes or hangs (--heart).
159Also, for most unices, we create proper start scripts in ${sysconfdir}/init.d
160
161Example: Here is how I compile/start the yaws system that runs at
162http://yaws.hyber.org (Ubuntu server system)
163
164    $> autoreconf -fi
165    $> ./configure --sysconfdir=/etc
166    $> make && make install
167    $> /etc/init.d/yaws start
168

README.osx

1# Homebrew on OSX
2
3If you develop on OS X (Mavericks, Mountain Lion, Lion, Snow Leopard), the
4Yaws formula works correctly for users of Erlang/OTP R16B01 and above. To
5install please run:
6
7    brew install yaws
8
9To install the HEAD using Homebrew run:
10
11    brew install --HEAD yaws
12
13This capability was made to work correctly with [this pull request
14merge](https://github.com/mxcl/homebrew/pull/23076).
15

README.pkg-config

1##
2## pkg-config(1) support
3##
4
5If you have pkg-config installed on your system, you can
6use it as shown below to obtain information about Yaws:
7
8$ pkg-config yaws --modversion
91.80
10
11$ pkg-config yaws --cflags
12-I/usr/local/lib/yaws/include
13
14$ pkg-config yaws --libs
15-pa /usr/local/lib/yaws/ebin
16