Skip to content

bstrds/AmmarServer

 
 

Repository files navigation

A lightweight extendable barebones HTTP server for linux
Please see the wiki for more info on whats going on in this repository : )
https://github.com/AmmarkoV/AmmarServer/wiki

One of the most basic philosophies behind this is to try to add as much functionality possible in a reusable and very fast way
and *WITHOUT* overly increasing loc.. The biggest recent improvements have been actually trying to merge common functionality 
and reducing loc. 

-------------------------------------------------------------------------------------------------

The projects build dependencies are the gcc compiler , pthreads and pretty basic things 
so if you issue sudo apt-get install build-essential  ( assuming a Debian/Ubuntu based system ) you should be able to compile it without problems..

Newer versions also support compression , so you might want to also apt-get install liblzma-dev if you enable ENABLE_COMPRESSION at server_configuration.h
MyURL needs libjpeg in order to serve captchas , so to add it sudo apt-get install libjpeg-dev

To perform a compilation you just need to issue 
./make from the root directory
it is a bash script that will start making evertyhing 
You can also supply dynamic , or system as arguments in order to change linking behaviour
For example "./make system" or "./make dynamic"

./make system will only work if you first run ./make and then sudo ./install.sh so that /usr/lib/ammarserver will get populated .
After that subsequent ./make system calls will work using the AmmarServer dynamic library located at /usr/lib/ammarserver 

To update your version of the project you can use the provided script that updates directly from github
It will remove any changes you have made to any of the files in the repository   
./update_from_git from the root directory 

-------------------------------------------------------------------------------------------------

This Repository contains :

-  The AmmarServer library with which you can build your own highly optimized 
and fully customizable web service..

-  A template for starting to build your own webserver which is very well documented
   https://github.com/AmmarkoV/AmmarServer/blob/master/src/Services/SimpleTemplate/main.c
   You can run it by issuing ./run_simpleTemplate from root directory 

-  A simple (but extensible) webserver demo showcasing some dynamic pages
   https://github.com/AmmarkoV/AmmarServer/blob/master/src/Services/main.c
   You can run it by issuing ./run_ammarserver from root directory 

-  A URL Shortner service like tinyurl , bitly , goo.gl etc..
   https://github.com/AmmarkoV/AmmarServer/blob/master/src/Services/MyURL/main.c
   You can run it by issuing ./run_myurl from root directory 

-  A File Uploader service based on MyLoader , currently under construction..
   https://github.com/AmmarkoV/AmmarServer/blob/master/src/Services/MyLoader/main.c
   You can run it by issuing ./run_myloader from root directory 

-  A Web Service that allows location sharing , currently under construction..
   https://github.com/AmmarkoV/AmmarServer/blob/master/src/Services/GeoPosShare/main.c
   You can run it by issuing ./run_geoposshare from root directory 


-------------------------------------------------------------------------------------------------


AmmarServer is also an integral part , providing network connectivity and used in the following projects :
V4L2ToHTTP : https://github.com/AmmarkoV/V4L2ToHTTP/
RoboVision    : https://github.com/AmmarkoV/RoboVision/ 
FlashySlideshows : https://github.com/AmmarkoV/FlashySlideshows/
RGBDAcquisition : https://github.com/AmmarkoV/RGBDAcquisition


About

A lightweight http server for linux

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 68.4%
  • HTML 11.5%
  • Shell 7.3%
  • C++ 6.3%
  • CSS 3.4%
  • CMake 2.7%
  • Other 0.4%