Difference between revisions of "Http-server"

From fd.io
Jump to: navigation, search
m (Usage)
(HTTP Server over TCP/ICN)
Line 15: Line 15:
 
* libicnet
 
* libicnet
  
== Build the HTTP-Server ==
+
== Install the HTTP-Server ==
  
For building the library, from the root folder of the project:
+
=== Installation from binary packages ===
  
<source lang="bash"> $ mkdir build && cd build
+
Ubuntu 14.04 and Ubuntu 16.04
  $ cmake ..
+
<syntaxhighlight lang="bash">
  $ make</source>
+
  $ echo "deb [trusted=yes] https://nexus.fd.io/content/repositories/fd.io.master.ubuntu.$(lsb_release -sc).main/ ./" \
== Install the HTTP-Server ==
+
          | sudo tee -a /etc/apt/sources.list.d/99fd.io.list
 +
  $ sudo apt-get update
 +
$ sudo apt-get install http-server
 +
</syntaxhighlight>
 +
 
 +
Centos 7
 +
<syntaxhighlight lang="bash">
 +
$ cat << EOF | sudo tee -a /etc/yum.repos.d/99fd.io.repo
 +
[fdio-cicn-master]
 +
name=fd.io master branch latest merge
 +
baseurl=https://nexus.fd.io/content/repositories/fd.io.master.centos7/
 +
enabled=1
 +
gpgcheck=0
 +
EOF
 +
$ sudo yum install http-server
 +
</syntaxhighlight>
 +
 
 +
=== Installation from source code ===
  
 
For installing the application:
 
For installing the application:
  
<source lang="bash"> $ cd build
+
<source lang="bash">
$ sudo make install</source>
+
$ mkdir build && cd build
 +
$ cmake ..
 +
$ make
 +
$ sudo make install
 +
</source>
 
== Usage ==
 
== Usage ==
  

Revision as of 15:20, 18 April 2017

HTTP Server over TCP/ICN

This is an implementation of a HTTP server able to serve client requests using both TCP and ICN as transport protocol.

This project is a fork from the http server implemented by Ole Christian Eidheim and open sourced at https://github.com/eidheim/Simple-Web-Server.

In the ICN flavour, so far, we support just the GET method. Later we'll be implementing the remaining methods as well.

Dependencies

  • libboost-regex-dev
  • libboost-system-dev
  • libboost-filesystem-dev
  • libicnet

Install the HTTP-Server

Installation from binary packages

Ubuntu 14.04 and Ubuntu 16.04

 $ echo "deb [trusted=yes] https://nexus.fd.io/content/repositories/fd.io.master.ubuntu.$(lsb_release -sc).main/ ./" \
          | sudo tee -a /etc/apt/sources.list.d/99fd.io.list
 $ sudo apt-get update
 $ sudo apt-get install http-server

Centos 7

$ cat << EOF | sudo tee -a /etc/yum.repos.d/99fd.io.repo
[fdio-cicn-master]
name=fd.io master branch latest merge
baseurl=https://nexus.fd.io/content/repositories/fd.io.master.centos7/
enabled=1
gpgcheck=0
EOF
$ sudo yum install http-server

Installation from source code

For installing the application:

$ mkdir build && cd build
$ cmake ..
$ make
$ sudo make install

Usage

For starting the http-server, from the build folder:

 $ cd build
 $ ./http-server

The server now is: - serving files from the folder /var/www/html - Listening on the icn name /webserver - Listening on the TCP port 8080

For retrieving a content through icn, the name must have the following format:

iget http://webserver/get/file.mp4

The server accept two option through the command line:

 $ ./http-server -h
 http-server [-p PATH_TO_ROOT_FOOT_FOLDER] [-l WEBSERVER_PREFIX]

The default values are /var/www/html for the root folder and ccnx:/webserver for the icn name.

Platforms

Libicnet has been tested in:

- Ubuntu 16.04 (x86_64)
- Debian Testing
- MacOSX 10.12

(END)