-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathREADME-server
executable file
·98 lines (70 loc) · 3.38 KB
/
README-server
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
Quick start (using Docker)
--------------------------
Follow these steps to install and run the Achtung server using Docker:
- Install [Docker](https://www.docker.com/products/docker-desktop)
- Create a Docker image. Run the following command inside the root directory of the repository: `docker build --pull --rm -f "Dockerfile" -t achtung:latest .`
- Run the Docker image: `docker run --rm -it -p 7681:7681/tcp achtung:latest ./kurveserver -p 7681`
- Browse to [http://localhost:7681](http://localhost:7681).
If you do not want to use Docker, then continue reading.
READ THIS
---------
This was originally a readme for the libwebsockets test server by Andy Green.
Since we basically took the test server and only altered it slightly into a
kurve server, most instructions below should still work.
Always run the server from the server directory, or the server will not be able
to find the client files.
Please note that the whole build-process has only been somewhat rigerously
tested on a 64bit Ubuntu machine, a 32bit Debian machine and a 64bit windows 7
machine. However, it should be possible to get the server running on most
systems with some effort (and/ or expertise).
The rest of this file is copied from the libwebsockets project. Stuff like
custom configs and SSL we have never tried. It might work, but don't expect it
to :-P
Using test-server as a quickstart
---------------------------------
For a Fedora x86_86 box, the following config line was
needed:
./configure --prefix=/usr --libdir=/usr/lib64 --enable-openssl
For Apple systems, Christopher Baker reported that this is needed
(and I was told separately enabling openssl makes trouble somehow)
./configure CC="gcc -arch i386 -arch x86_64" CXX="g++ -arch i386 -arch
x86_64" CPP="gcc -E" CXXCPP="g++ -E" --enable-nofork
For mingw build, I did the following to get working build, ping test is
disabled when building this way
1) install mingw64_w32 compiler packages from Fedora
2) additionally install mingw64-zlib package
3) ./configure --prefix=/usr --enable-mingw --host=x86_64-w64-mingw32
4) make
otherwise if /usr/local/... and /usr/local/lib are OK then...
$ ./configure
$ make clean
$ make
$ sudo make install
$ cd server
$ ./kurveserver
should be enough to get a server listening on port 7861.
There are a couple of other possible configure options
--enable-nofork disables the fork into the background API
and removes all references to fork() and
pr_ctl() from the sources. Use it if your
platform doesn't support forking.
--enable-libcrypto by default libwebsockets uses its own
built-in md5 and sha-1 implementation for
simplicity. However the libcrypto ones
may be faster, and in a distro context it
may be highly desirable to use a common
library implementation for ease of security
upgrades. Give this configure option
to disable the built-in ones and force use
of the libcrypto (part of openssl) ones.
--with-client-cert-dir=dir tells the client ssl support where to
look for trust certificates to validate
the remote certificate against.
--enable-x-google-mux Enable experimental x-google-mux support
in the build (see notes later in document)
Testing server with a browser
-----------------------------
If you point your browser (eg, Chrome) to
http://127.0.0.1:7681
2012-04-12 Andy Green <[email protected]>
2012-05-09 Marcus & Rik <[email protected]>