2021-12-22 19:39:15 +00:00
|
|
|
|
|
|
|
|
|
|
|
#############################################
|
|
|
|
kawipiko -- blazingly fast static HTTP server
|
|
|
|
#############################################
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Installation
|
|
|
|
============
|
|
|
|
|
|
|
|
.. contents::
|
|
|
|
:depth: 2
|
|
|
|
:local:
|
|
|
|
:backlinks: none
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-12-23 17:50:15 +00:00
|
|
|
--------
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-12-22 19:39:15 +00:00
|
|
|
Download prebuilt executables
|
|
|
|
-----------------------------
|
|
|
|
|
2021-12-22 20:56:39 +00:00
|
|
|
|
2021-12-22 19:39:15 +00:00
|
|
|
.. warning ::
|
|
|
|
|
|
|
|
No executables are currently available for download!
|
2021-12-22 20:56:39 +00:00
|
|
|
|
2021-12-22 19:39:15 +00:00
|
|
|
Please consult the `build from sources section <#build-from-sources>`__ for now.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-12-23 17:50:15 +00:00
|
|
|
--------
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2021-12-22 19:39:15 +00:00
|
|
|
Build from sources
|
|
|
|
------------------
|
|
|
|
|
|
|
|
|
2021-12-22 20:56:39 +00:00
|
|
|
|
|
|
|
|
2021-12-22 19:39:15 +00:00
|
|
|
Install the prerequisites
|
|
|
|
.........................
|
|
|
|
|
2021-12-22 20:56:39 +00:00
|
|
|
|
2021-12-22 19:39:15 +00:00
|
|
|
* Ubuntu / Debian: ::
|
|
|
|
|
|
|
|
apt-get install git-core
|
|
|
|
apt-get install golang
|
|
|
|
|
2021-12-22 20:56:39 +00:00
|
|
|
|
2021-12-22 19:39:15 +00:00
|
|
|
* OpenSUSE: ::
|
|
|
|
|
|
|
|
zypper install git-core
|
|
|
|
zypper install go
|
|
|
|
|
2021-12-22 20:56:39 +00:00
|
|
|
|
2021-12-22 19:39:15 +00:00
|
|
|
* other Linux / FreeBSD / OpenBSD / OSX:
|
|
|
|
|
2021-12-23 17:50:15 +00:00
|
|
|
* fetch and install Go from: `<https://golang.org/dl>`__
|
2021-12-22 19:39:15 +00:00
|
|
|
* add ``/usr/local/go/bin`` to your ``PATH``;
|
|
|
|
* install Git;
|
|
|
|
|
|
|
|
|
2021-12-22 20:56:39 +00:00
|
|
|
|
|
|
|
|
2021-12-22 19:39:15 +00:00
|
|
|
Prepare the environment
|
|
|
|
.......................
|
|
|
|
|
2021-12-22 20:56:39 +00:00
|
|
|
|
2021-12-22 19:39:15 +00:00
|
|
|
::
|
|
|
|
|
|
|
|
mkdir -- \
|
|
|
|
/tmp/kawipiko \
|
|
|
|
/tmp/kawipiko/bin \
|
|
|
|
/tmp/kawipiko/src \
|
|
|
|
/tmp/kawipiko/go \
|
|
|
|
#
|
|
|
|
|
|
|
|
|
2021-12-22 20:56:39 +00:00
|
|
|
|
|
|
|
|
2021-12-22 19:39:15 +00:00
|
|
|
Fetch the sources
|
|
|
|
.................
|
|
|
|
|
2021-12-22 20:56:39 +00:00
|
|
|
|
2021-12-22 19:39:15 +00:00
|
|
|
Either clone the full Git repository: ::
|
|
|
|
|
|
|
|
git clone \
|
|
|
|
-b development \
|
|
|
|
git://github.com/volution/kawipiko.git \
|
|
|
|
/tmp/kawipiko/src \
|
|
|
|
#
|
|
|
|
|
2021-12-22 20:56:39 +00:00
|
|
|
|
2021-12-22 19:39:15 +00:00
|
|
|
Either fetch and extract the latest sources bundle: ::
|
|
|
|
|
|
|
|
curl \
|
|
|
|
-s -S -f \
|
|
|
|
-o /tmp/kawipiko/src.tar.gz \
|
|
|
|
https://codeload.github.com/volution/kawipiko/tar.gz/development \
|
|
|
|
#
|
|
|
|
|
|
|
|
tar \
|
|
|
|
-x -z -v \
|
|
|
|
-f /tmp/kawipiko/src.tar.gz \
|
|
|
|
-C /tmp/kawipiko/src \
|
|
|
|
--strip-components 1 \
|
|
|
|
#
|
|
|
|
|
|
|
|
|
2021-12-22 20:56:39 +00:00
|
|
|
|
|
|
|
|
2021-12-22 19:39:15 +00:00
|
|
|
Build the dynamic executables
|
|
|
|
.............................
|
|
|
|
|
2021-12-22 20:56:39 +00:00
|
|
|
|
2021-12-22 19:39:15 +00:00
|
|
|
Compile the (dynamic) executables: ::
|
|
|
|
|
|
|
|
cd /tmp/kawipiko/src/sources
|
|
|
|
|
|
|
|
#### build `kawipiko` dynamic all-in-one executable
|
|
|
|
env \
|
|
|
|
GOPATH=/tmp/kawipiko/go \
|
|
|
|
go build \
|
|
|
|
-gcflags 'all=-l=4' \
|
2021-12-22 20:56:39 +00:00
|
|
|
-ldflags 'all=-s' \
|
|
|
|
-trimpath \
|
2021-12-22 19:39:15 +00:00
|
|
|
-o /tmp/kawipiko/bin/kawipiko \
|
|
|
|
./cmd/wrapper.go \
|
|
|
|
#
|
|
|
|
|
|
|
|
#### build `kawipiko-server` dynamic executable
|
|
|
|
env \
|
|
|
|
GOPATH=/tmp/kawipiko/go \
|
|
|
|
go build \
|
|
|
|
-gcflags 'all=-l=4' \
|
2021-12-22 20:56:39 +00:00
|
|
|
-ldflags 'all=-s' \
|
|
|
|
-trimpath \
|
2021-12-22 19:39:15 +00:00
|
|
|
-o /tmp/kawipiko/bin/kawipiko-server \
|
|
|
|
./cmd/server.go \
|
|
|
|
#
|
|
|
|
|
|
|
|
#### build `kawipiko-archiver` dynamic executable
|
|
|
|
env \
|
|
|
|
GOPATH=/tmp/kawipiko/go \
|
|
|
|
go build \
|
|
|
|
-gcflags 'all=-l=4' \
|
2021-12-22 20:56:39 +00:00
|
|
|
-ldflags 'all=-s' \
|
|
|
|
-trimpath \
|
2021-12-22 19:39:15 +00:00
|
|
|
-o /tmp/kawipiko/bin/kawipiko-archiver \
|
|
|
|
./cmd/archiver.go \
|
|
|
|
#
|
|
|
|
|
|
|
|
|
2021-12-22 20:56:39 +00:00
|
|
|
|
|
|
|
|
2021-12-22 19:39:15 +00:00
|
|
|
Build the static executables
|
|
|
|
............................
|
|
|
|
|
2021-12-22 20:56:39 +00:00
|
|
|
|
2021-12-22 19:39:15 +00:00
|
|
|
Compile the (static) executables: ::
|
|
|
|
|
|
|
|
cd /tmp/kawipiko/src/sources
|
|
|
|
|
|
|
|
#### build `kawipiko` static all-in-one executable
|
|
|
|
env \
|
|
|
|
GOPATH=/tmp/kawipiko/go \
|
|
|
|
go build \
|
|
|
|
-tags 'netgo' \
|
|
|
|
-gcflags 'all=-l=4' \
|
|
|
|
-ldflags 'all=-s' \
|
|
|
|
-trimpath \
|
|
|
|
-o /tmp/kawipiko/bin/kawipiko \
|
|
|
|
./cmd/wrapper.go \
|
|
|
|
#
|
|
|
|
|
|
|
|
#### build `kawipiko-server` static executable
|
|
|
|
env \
|
|
|
|
GOPATH=/tmp/kawipiko/go \
|
|
|
|
go build \
|
|
|
|
-tags 'netgo' \
|
|
|
|
-gcflags 'all=-l=4' \
|
|
|
|
-ldflags 'all=-s' \
|
|
|
|
-trimpath \
|
|
|
|
-o /tmp/kawipiko/bin/kawipiko-server \
|
|
|
|
./cmd/server.go \
|
|
|
|
#
|
|
|
|
|
|
|
|
#### build `kawipiko-archiver` static executable
|
|
|
|
env \
|
|
|
|
GOPATH=/tmp/kawipiko/go \
|
|
|
|
go build \
|
|
|
|
-tags 'netgo' \
|
|
|
|
-gcflags 'all=-l=4' \
|
|
|
|
-ldflags 'all=-s' \
|
|
|
|
-trimpath \
|
2021-12-22 20:56:39 +00:00
|
|
|
-o /tmp/kawipiko/bin/kawipiko-archiver \
|
2021-12-22 19:39:15 +00:00
|
|
|
./cmd/archiver.go \
|
|
|
|
#
|
|
|
|
|
|
|
|
|
2021-12-22 20:56:39 +00:00
|
|
|
|
|
|
|
|
2021-12-22 19:39:15 +00:00
|
|
|
Deploy the executables
|
|
|
|
......................
|
|
|
|
|
|
|
|
|
2021-12-22 20:56:39 +00:00
|
|
|
Just copy the two executables anywhere on the system, or any compatible remote system: ::
|
2021-12-22 19:39:15 +00:00
|
|
|
|
|
|
|
cp \
|
|
|
|
-t /usr/local/bin \
|
|
|
|
/tmp/kawipiko/bin/kawipiko-server \
|
|
|
|
/tmp/kawipiko/bin/kawipiko-archiver \
|
|
|
|
#
|
|
|
|
|