Apache FastCGI Tutorial

Size: px
Start display at page:

Download "Apache FastCGI Tutorial"

Transcription

1 Apache FastCGI Tutorial Release 0.9 Sébastien Lugan April 10, 2011

2

3 CONTENTS 1 Prerequisites 1 2 Server configuration Installation of Apache, FastCGI module and libraries Configuration of Apache web server Starting the FastCGI TCP server Killing the FastCGI TCP server Setting-up the FastCGI development environment Installation of FastCGI library and headers Example FastCGI script Testing your Apache FastCGI server 7 i

4 ii

5 CHAPTER ONE PREREQUISITES This document assumes that you are currently running a Debian-based distribution, such as Debian Squeeze. The instructions given in this documentation should work with any other Debian-based distribution (other Debian releases, Ubuntu, etc.) as well but this has not been tested. Please refer to the documentation provided with your distribution if needed. 1

6 Apache FastCGI Tutorial, Release Chapter 1. Prerequisites

7 CHAPTER TWO SERVER CONFIGURATION 2.1 Installation of Apache, FastCGI module and libraries The following packages must be installed: apache2-mpm-prefork Apache web server itself libapache2-mod-fastcgi Apache FastCGI module libfcgi FastCGI library spawn-fcgi FastCGI process spawner Step 1 install the required packages: # aptitude install apache2-mpm-prefork libapache2-mod-fastcgi libfcgi spawn-fcgi Note: selecting "libfcgi0ldbl" instead of the virtual package "libfcgi" The following NEW packages will be installed: apache2-mpm-prefork apache2-utils{a} apache2.2-bin{a} apache2.2-common{a} libapache2-mod-fastcgi libapr1{a} libaprutil1{a} libaprutil1-dbd-sqlite3{a} libaprutil1-ldap{a} libfcgi0ldbl spawn-fcgi 0 packages upgraded, 11 newly installed, 0 to remove and 0 not upgraded. Need to get 2405 kb of archives. After unpacking 7971 kb will be used. Do you want to continue? [Y/n/?] Y Step 2 ensure that the Apache server is now running: # service apache2 status Apache2 is running (pid 1628). 2.2 Configuration of Apache web server Add the following line to your /etc/apache2/mods-available/fastcgi.conf configuration file: FastCGIExternalServer /var/www/myfcgi -host localhost:3000 where /var/www is your DocumentRoot. Please note that /var/www/myfcgi does not need to (and actually should not) exist in your filesystem. Unlike CGI, FastCGI uses network or UNIX domain sockets to connect to the FastCGI script, not files. This directive simply indicates to the web server the location of the requests which should be handled by the FastCGI script (here: For example, if your original file looks like that: 3

8 Apache FastCGI Tutorial, Release 0.9 <IfModule mod_fastcgi.c> AddHandler fastcgi-script.fcgi #FastCgiWrapper /usr/lib/apache2/suexec FastCgiIpcDir /var/lib/apache2/fastcgi </IfModule> You should change it into: <IfModule mod_fastcgi.c> AddHandler fastcgi-script.fcgi #FastCgiWrapper /usr/lib/apache2/suexec FastCgiIpcDir /var/lib/apache2/fastcgi FastCGIExternalServer /var/www/myfcgi -host localhost:3000 </IfModule> Don t forget to reload Apache: # apache2ctl graceful Your Apache web server will then connect the following URL to a FastCGI TCP server running on localhost, port Starting the FastCGI TCP server Assuming that your FastCGI script is /home/httpd/fcgi-scripts/tiny-fcgi, enter the following command: # spawn-fcgi -p f /home/httpd/fcgi-scripts/tiny-fcgi spawn-fcgi: child spawned successfully: PID: 1818 Please note the PID of the spawned child. 2.4 Killing the FastCGI TCP server Simply kill the spawned child. As for the previous example, the command to issue would be: # kill Chapter 2. Server configuration

9 CHAPTER THREE SETTING-UP THE FASTCGI DEVELOPMENT ENVIRONMENT 3.1 Installation of FastCGI library and headers The following packages must be installed: libfcgi FastCGI library libfcgi-dev FastCGI header files Install the required packages: # aptitude install libfcgi libfcgi-dev Note: selecting "libfcgi0ldbl" instead of the virtual package "libfcgi" The following NEW packages will be installed: libfcgi-dev libfcgi0ldbl 0 packages upgraded, 2 newly installed, 0 to remove and 0 not upgraded. Need to get 0 B/315 kb of archives. After unpacking 958 kb will be used. 3.2 Example FastCGI script Let s consider the following trivial tiny-fcgi.c example: #include <stdlib.h> #include <fcgi_stdio.h> int main(int argc, char **argv) { int count = 0; } while(fcgi_accept() >= 0) printf("content-type: text/html\r\n" "\r\n" "<html><head><title>fastcgi Hello!</title></head>\n" "<body><h1>fastcgi Hello!</h1>\n" "Request number %d running on host <i>%s</i></body></html>\n", ++count, getenv("server_name")); return 0; and its associated trivial Makefile: CPPFLAGS=-std=c99 -pedantic -Wall -O3 LDFLAGS=-s -lfcgi 5

10 Apache FastCGI Tutorial, Release 0.9 Compile the script: $ make tiny-fcgi cc -std=c99 -pedantic -Wall -O3 -s -lfcgi tiny-fcgi.c -o tiny-fcgi and check it: $./tiny-fcgi Content-type: text/html <html><head><title>fastcgi Hello!</title></head> <body><h1>fastcgi Hello!</h1> Request number 1 running on host <i>(null)</i></body></html> You can now upload this file to your FastCGI server (e.g. in /home/httpd/fcgi-scripts/tiny-fcgi). 6 Chapter 3. Setting-up the FastCGI development environment

11 CHAPTER FOUR TESTING YOUR APACHE FASTCGI SERVER Simply point your web browser to your FastCGI URL (e.g.: You can also use curl (you might need to install the curl package) to check your installation from a terminal: $ curl <html><head><title>fastcgi Hello!</title></head> <body><h1>fastcgi Hello!</h1> Request number 1 running on host <i>localhost</i></body></html> $ curl <html><head><title>fastcgi Hello!</title></head> <body><h1>fastcgi Hello!</h1> Request number 2 running on host <i>localhost</i></body></html> $ curl <html><head><title>fastcgi Hello!</title></head> <body><h1>fastcgi Hello!</h1> Request number 3 running on host <i>localhost</i></body></html> (please note that the request number is increasing, since the very same process is answering all of the requests) Congratulations: your Apache FastCGI installation is working! 7

Apache, FastCGI and Python

Apache, FastCGI and Python Revision History Revision 1.1 Oct 16, 2017 Revised by: FB Ferry Boender 1. Preface FastCGI is a hybrid solution to serving web applications written in a wide variety of programming languages. It sits somewhere

More information

The first command should show your short hostname, and the second should show your fully qualified domain name (FQDN).

The first command should show your short hostname, and the second should show your fully qualified domain name (FQDN). Set the Hostname Before you begin installing and configuring the components described in this guide, please make sure you've followed our instructions for setting your hostname. Issue the following commands

More information

System Administration. NFS & Web Servers

System Administration. NFS & Web Servers System Administration NFS & Web Servers NFS SERVER File System Operations Create file / directory Remove file / directory List directory Open file Read from file Write to file NFS Network file system File

More information

CS Operating Systems Lab 3: UNIX Processes

CS Operating Systems Lab 3: UNIX Processes CS 346 - Operating Systems Lab 3: UNIX Processes Due: February 15 Purpose: In this lab you will become familiar with UNIX processes. In particular you will examine processes with the ps command and terminate

More information

HTTP. EC512 Spring /15/2015 EC512 - Prof. Thomas Skinner 1

HTTP. EC512 Spring /15/2015 EC512 - Prof. Thomas Skinner 1 HTTP EC512 Spring 2015 2/15/2015 EC512 - Prof. Thomas Skinner 1 HTTP HTTP is the standard protocol used between a web browser and a web server. It is standardized by the World Wide Web Consortium, W3C

More information

web development with Python and Mod_Python George Lambert, GoldenWare. Cambridge Python Users Group Cambridge MA 21st November 2007

web development with Python and Mod_Python George Lambert, GoldenWare. Cambridge Python Users Group Cambridge MA 21st November 2007 web development with Python and Mod_Python George Lambert, GoldenWare. Cambridge Python Users Group Cambridge MA 21st November 2007 Python Web Development Part I - Options - options and more options Part

More information

Linux Network Administration. Apache Web Server COMP1071 Summer 2017

Linux Network Administration. Apache Web Server COMP1071 Summer 2017 Linux Network Administration Apache Web Server COMP1071 Summer 2017 Overview Apache2 is a software package which provides the infrastructure to deliver web services It is flexible, fast, open source, scalable,

More information

Lab FOSSology. Table of content

Lab FOSSology. Table of content Lab FOSSology Lab Contents This lab purpose is to install and use FOSSology to analyze licenses included in software components. Lab Writer and Trainer: Bruno.Cornec@hp.com Table of content Objectives...2

More information

G-WAN. Complete install process for Ubuntu (both for the 32 and the 64 OS versions).

G-WAN. Complete install process for Ubuntu (both for the 32 and the 64 OS versions). G-WAN Complete install process for Ubuntu 11.10 (both for the 32 and the 64 OS versions). G-WAN (Global Web Area Network) is both a web server (for static web pages) and a web application server (for rich

More information

School of Information and Computer Technology Sirindhorn International Institute of Technology Thammasat University

School of Information and Computer Technology Sirindhorn International Institute of Technology Thammasat University School of Information and Computer Technology Sirindhorn International Institute of Technology Thammasat University ITS351 Database Programming Laboratory Laboratory #1: HTML & CSS Objective: - To introduce

More information

CS Basics 15) Compiling a C prog.

CS Basics 15) Compiling a C prog. CS Basics 15) Compiling a C prog. Emmanuel Benoist Fall Term 2016-17 Berner Fachhochschule Haute cole spcialise bernoise Berne University of Applied Sciences 1 Compiling a C program Example of a small

More information

Programming the DMCC in C

Programming the DMCC in C Programming the DMCC in C Task This tutorial will teach you how to write your first program on a dual motor control cape (DMCC) through the BeagleBone microcontroller. The DMCC is a stackable board that

More information

Berner Fachhochschule Haute cole spcialise bernoise Berne University of Applied Sciences 2

Berner Fachhochschule Haute cole spcialise bernoise Berne University of Applied Sciences 2 Compiling a C program CS Basics 15) Compiling a C prog. Emmanuel Benoist Fall Term 2016-17 Example of a small program Makefile Define Variables Compilation options Conclusion Berner Fachhochschule Haute

More information

Exercises. Cacti Installation and Configuration

Exercises. Cacti Installation and Configuration Exercises Cacti Installation and Configuration Exercises Your Mission... Install Cacti Create device entry for your local router Create device entries for your local servers Create entries for class router

More information

Exercises. Cacti Installation and Configuration

Exercises. Cacti Installation and Configuration Exercises Cacti Installation and Configuration Exercises Your Mission... Install Cacti Create device entry for your local router Create device entries for your local servers Create entries for class router

More information

Installing LAMP on Ubuntu and (Lucid Lynx, Maverick Meerkat)

Installing LAMP on Ubuntu and (Lucid Lynx, Maverick Meerkat) Installing LAMP on Ubuntu 10.04 and 10.10 (Lucid Lynx, Maverick Meerkat) April 29, 2010 by Linerd If you're developing websites, it's nice to be able to test your code in the privacy of your own computer

More information

Computer Networks CS3516 B Term, 2013

Computer Networks CS3516 B Term, 2013 Computer Networks CS3516 B Term, 2013 Project 1 Project Assigned: October 31 Checkpoint: November 07 12:01 AM Due: November 14 12:01 AM Networks - Project 1 1 What You Will Do In This Project. The purpose

More information

Exercise 1: Basic Tools

Exercise 1: Basic Tools Exercise 1: Basic Tools This exercise is created so everybody can learn the basic tools we will use during this course. It is really more like a tutorial than an exercise and, you are not required to submit

More information

Servers for Hackers. Server Administration for Programmers. Chris Fidao. This book is for sale at

Servers for Hackers. Server Administration for Programmers. Chris Fidao. This book is for sale at Servers for Hackers Server Administration for Programmers Chris Fidao This book is for sale at http://leanpub.com/serversforhackers This version was published on 2018-06-19 This is a Leanpub book. Leanpub

More information

If you re the administrator on any network,

If you re the administrator on any network, Let s do an inventory! If you re the administrator on any network, chances are you ve already faced the need to make an inventory. In fact, keeping a list of all the computers, monitors, software and other

More information

GateDefender Performa updates from a local Web server

GateDefender Performa updates from a local Web server GateDefender Performa updates from a local Web server Copyright notice Panda Security 2008. All rights reserved. Neither the documents nor the programs that you may access may be copied, reproduced, translated

More information

HTTP Server Application

HTTP Server Application 1 Introduction You are to design and develop a concurrent TCP server that implements the HTTP protocol in the form of what is commonly called a web server. This server will accept and process HEAD and

More information

Lecture 2: Applications and Application Programming

Lecture 2: Applications and Application Programming Lecture 2: Applications and Application Programming We re in a new room Administrivia If you are a Masters student, you need to enroll for 3, not 4 credits Prof. Levis will not have regular office hours

More information

USQ/CSC2406 Web Publishing

USQ/CSC2406 Web Publishing USQ/CSC2406 Web Publishing Lecture 4: HTML Forms, Server & CGI Scripts Tralvex (Rex) Yeap 19 December 2002 Outline Quick Review on Lecture 3 Topic 7: HTML Forms Topic 8: Server & CGI Scripts Class Activity

More information

WWPASS AUTHENTICATION MODULE FOR APACHE SERVER 2.2 INSTALL GUIDE

WWPASS AUTHENTICATION MODULE FOR APACHE SERVER 2.2 INSTALL GUIDE WWPASS AUTHENTICATION MODULE FOR APACHE SERVER 2.2 INSTALL GUIDE June 2013 TABLE OF CONTENTS TABLE OF CONTENTS... 2 ABOUT THIS DOCUMENT... 3 DOCUMENT TEXT CONVENTIONS... 4 ABBREVIATIONS & DEFINITIONS...

More information

Managing Open Source Software on Workstations and Clusters. Theodore Kisner, LBNL

Managing Open Source Software on Workstations and Clusters. Theodore Kisner, LBNL Managing Open Source Software on Workstations and Clusters Theodore Kisner, LBNL Why Use Open Source Software (OSS)? Many useful tools for data processing and visualization Quality is usually good FREE!

More information

BME Data Feed Compression Guidelines

BME Data Feed Compression Guidelines BME Data Feed Compression Document Name: BME Data Feed Compression Version: 1.0 Related to: BME Data Feed Release 5.5 Last update: 21-Oct-09 BME Data Feed Interface Specification Page 2 of 12 REVISION

More information

Deep C. Multifile projects Getting it running Data types Typecasting Memory management Pointers. CS-343 Operating Systems

Deep C. Multifile projects Getting it running Data types Typecasting Memory management Pointers. CS-343 Operating Systems Deep C Multifile projects Getting it running Data types Typecasting Memory management Pointers Fabián E. Bustamante, Fall 2004 Multifile Projects Give your project a structure Modularized design Reuse

More information

Nginx HTTP Server. Adopt Nginx for your web applications to make the most of your infrastructure and serve pages faster than ever.

Nginx HTTP Server. Adopt Nginx for your web applications to make the most of your infrastructure and serve pages faster than ever. Nginx HTTP Server Adopt Nginx for your web applications to make the most of your infrastructure and serve pages faster than ever element Nedelcu [ ] ~men~e~eri~c::i~li~dce PUBLISHING BIRMINGHAM - MUMBAI

More information

CSCI-243 Exam 2 Review February 22, 2015 Presented by the RIT Computer Science Community

CSCI-243 Exam 2 Review February 22, 2015 Presented by the RIT Computer Science Community CSCI-43 Exam Review February, 01 Presented by the RIT Computer Science Community http://csc.cs.rit.edu C Preprocessor 1. Consider the following program: 1 # include 3 # ifdef WINDOWS 4 # include

More information

Global Servers. The new masters

Global Servers. The new masters Global Servers The new masters Course so far General OS principles processes, threads, memory management OS support for networking Protocol stacks TCP/IP, Novell Netware Socket programming RPC - (NFS),

More information

app = web.application(urls, globals()) class hello: def GET(self, name): if not name: name = 'World' return 'Hello, ' + name + '!' if name == " main "

app = web.application(urls, globals()) class hello: def GET(self, name): if not name: name = 'World' return 'Hello, ' + name + '!' if name ==  main How to deploy web.py applications In this article you will learn how to deploy a web.py application under Linux / UNIX environments. You can refer to our article titled, How to install web.py if you don

More information

Each line will contain a string ("even" or "odd"), followed by one or more spaces, followed by a nonnegative integer.

Each line will contain a string (even or odd), followed by one or more spaces, followed by a nonnegative integer. Decision-making in C Squeezing Digits out of an Integer Assignment For part of this assignment, you will use very basic C techniques to implement a C function to remove from a given nonnegative integer

More information

CS342 - Spring 2019 Project #3 Synchronization and Deadlocks

CS342 - Spring 2019 Project #3 Synchronization and Deadlocks CS342 - Spring 2019 Project #3 Synchronization and Deadlocks Assigned: April 2, 2019. Due date: April 21, 2019, 23:55. Objectives Practice multi-threaded programming. Practice synchronization: mutex and

More information

CherryPy on Apache2 with mod_python

CherryPy on Apache2 with mod_python Revision History CherryPy on Apache2 with mod_python Revision 1.5 November 9, 2009 Revised by: FB Ferry Boender 1. Introduction I ve recently written a web application using Python using the following

More information

European Commission SVN+WebDAV install documentation

European Commission SVN+WebDAV install documentation EUROPEAN COMMISSION DIRECTORATE-GENERAL FOR INFORMATICS ISA Integrated Collaborative Platform European Commission SVN+WebDAV install documentation Date: 25/07/2013 Version: 1.000 Authors: everis Revised

More information

Installing Open Project on Ubuntu AWS with Apache and Postgesql

Installing Open Project on Ubuntu AWS with Apache and Postgesql Installing Open Project on Ubuntu AWS with Apache and Postgesql Contents Installing Open Project on Ubuntu AWS with Apache and Postgesql... 1 Add new ports to your security group... 2 Update your system...

More information

Recitation 2/18/2012

Recitation 2/18/2012 15-213 Recitation 2/18/2012 Announcements Buflab due tomorrow Cachelab out tomorrow Any questions? Outline Cachelab preview Useful C functions for cachelab Cachelab Part 1: you have to create a cache simulator

More information

HHVM. general concepts and operations

HHVM. general concepts and operations HHVM general concepts and operations What is HHVM? A virtual machine that is able to run PHP code and is almost 100% compatible with PHP 5.x (for some value of x > 3). It features JIT compilation of bytecode.

More information

Workshop Agenda Feb 25 th 2015

Workshop Agenda Feb 25 th 2015 Workshop Agenda Feb 25 th 2015 Time Presenter Title 09:30 T. König Talk bwhpc Concept & bwhpc-c5 - Federated User Support Activities 09:45 R. Walter Talk bwhpc architecture (bwunicluster, bwforcluster

More information

Laboratory Exercises, C++ Programming

Laboratory Exercises, C++ Programming LUND INSTITUTE OF TECHNOLOGY EDAF30 Department of Computer Science 2016 Laboratory Exercises, C++ Programming General information: The course has four compulsory laboratory exercises. You shall work in

More information

mod_wsgi Documentation

mod_wsgi Documentation mod_wsgi Documentation Release 4.6.4 Graham Dumpleton Apr 03, 2018 Contents 1 Project Status 3 2 Security Issues 5 3 Getting Started 7 4 Requirements 9 5 Installation 11 6 Troubleshooting 13 7 User Guides

More information

Accessible depuis une interface web, OCS va permettre de visualiser l'inventaire de votre parc.

Accessible depuis une interface web, OCS va permettre de visualiser l'inventaire de votre parc. OCS Inventory Qu'est-ce que OCS Inventory? OCS Inventory NG (Open Computers and Software Inventory NextGeneration), est un outil permettant d'effectuer un inventaire automatisé d'un parc informatique.

More information

Install Apache Manually Win7 7 Php Mysql Phpmyadmin Ubuntu Server

Install Apache Manually Win7 7 Php Mysql Phpmyadmin Ubuntu Server Install Apache Manually Win7 7 Php Mysql Phpmyadmin Ubuntu Server Installing MYSQL with PHP 5, After installing PHP, After installing MySQL install phpmyadmin from source, Mysql-workbench, For more information

More information

ECE 650 Systems Programming & Engineering. Spring 2018

ECE 650 Systems Programming & Engineering. Spring 2018 ECE 650 Systems Programming & Engineering Spring 2018 Programming with Network Sockets Tyler Bletsch Duke University Slides are adapted from Brian Rogers (Duke) Sockets We ve looked at shared memory vs.

More information

A programmer can create Internet application software without understanding the underlying network technology or communication protocols.

A programmer can create Internet application software without understanding the underlying network technology or communication protocols. CS442 Comer Networking API Chapter 3 Chapter three of the textbook presents an API to perform network programming in the C language. While this chapter does not cover everything about network programming,

More information

Phpmyadmin Ubuntu Server

Phpmyadmin Ubuntu Server Manual Install Apache Win7 7 Php Mysql Phpmyadmin Ubuntu Server Error: Ubuntu installation does not detect Windows 7. Reference: Show locations of a particular software $ dpkg -L mysql-server. To check

More information

Formatting 1. Commands starting with $ are Linux console commands on the host PC:

Formatting 1. Commands starting with $ are Linux console commands on the host PC: Custom Kernel Guide by Arrvindh Shriraman Last update: April 1, 2016 This document guides the user through: 1. Downloading and compiling the Linux kernel's source code. 2. Running a custom kernel inside

More information

Kollaborate Server. Installation Guide

Kollaborate Server. Installation Guide 1 Kollaborate Server Installation Guide Kollaborate Server is a local implementation of the Kollaborate cloud workflow system that allows you to run the service in-house on your own server and storage.

More information

INTRODUCTION. To avoid the PHP7 conflicts use this OS image: STEP 1 - Parts List:

INTRODUCTION. To avoid the PHP7 conflicts use this OS image:   STEP 1 - Parts List: INTRODUCTION These are enhanced instruction set to install RaspberryPints on a Raspberry Pi 2 Model B with use of an AlaMode card and Flow Meters from AdaFruit.com. I started with instruction set here:

More information

Advanced Web Programming

Advanced Web Programming Advanced Web Programming 1 Advanced Web Programming what we have covered so far 2 The SocketServer Module simplified development of network servers a server tells clients the time 3 A Forking Server instead

More information

Setup Desktop Grids and Bridges. Tutorial. Robert Lovas, MTA SZTAKI

Setup Desktop Grids and Bridges. Tutorial. Robert Lovas, MTA SZTAKI Setup Desktop Grids and Bridges Tutorial Robert Lovas, MTA SZTAKI Outline of the SZDG installation process 1. Installing the base operating system 2. Basic configuration of the operating system 3. Installing

More information

GestióIP IPAM. v3.2. Installation Guide. v0.12. IP address management software.

GestióIP IPAM. v3.2. Installation Guide. v0.12. IP address management software. GestióIP IPAM v3.2 IP address management software Installation Guide v0.12 www.gestioip.net GestióIP Copyright Marc Uebel 2017 Table of Contents 1 Introduction...3 2 Requirements...3 3 System preparation...3

More information

Serving dynamic content. Issues in serving dynamic content. add.com: THE Internet addition portal! CGI. Page 2

Serving dynamic content. Issues in serving dynamic content. add.com: THE Internet addition portal! CGI. Page 2 15-213 Serving dynamic content Internet Services II April 27, 2000 Topics dynamic content Tiny Web tour Client sends request to. If request URI contains the string /cgi-bin, then the assumes that the request

More information

Contents. HTTP Server 3

Contents. HTTP Server 3 Contents HTTP Server 3 1 HTTP server in ROOT 5 1.1 Starting the HTTP server.............................................. 5 1.2 Registering objects.................................................. 6 1.3

More information

GestióIP IPAM v3.0 IP address management software Installation Guide v0.4

GestióIP IPAM v3.0 IP address management software Installation Guide v0.4 GestióIP IPAM v3.0 IP address management software Installation Guide v0.4 www.gestioip.net GestióIP Copyright Marc Uebel 2014 Table of Contents 1 Introduction... 3 2 Requirements... 3 3 System preparation...

More information

Web History. Systemprogrammering 2006 Föreläsning 9 Web Services. Internet Hosts. Web History (cont) 1945: 1989: Topics 1990:

Web History. Systemprogrammering 2006 Föreläsning 9 Web Services. Internet Hosts. Web History (cont) 1945: 1989: Topics 1990: Systemprogrammering 2006 Föreläsning 9 Web Services Topics HTTP Serving static content Serving dynamic content 1945: 1989: Web History Vannevar Bush, As we may think, Atlantic Monthly, July, 1945. Describes

More information

2 Compiling a C program

2 Compiling a C program 2 Compiling a C program This chapter describes how to compile C programs using gcc. Programs can be compiled from a single source file or from multiple source files, and may use system libraries and header

More information

Giving credit where credit is due

Giving credit where credit is due CSCE 230J Computer Organization Web Services Dr. Steve Goddard goddard@cse.unl.edu Giving credit where credit is due Most of slides for this lecture are based on slides created by Drs. Bryant and O Hallaron,

More information

A Library and Proxy for SPDY

A Library and Proxy for SPDY A Library and Proxy for SPDY Interdisciplinary Project Andrey Uzunov Chair for Network Architectures and Services Department of Informatics Technische Universität München April 3, 2013 Andrey Uzunov (TUM)

More information

X-road MISP2 installation and configuration guide. Version 1.20

X-road MISP2 installation and configuration guide. Version 1.20 X-road MISP2 installation and configuration guide Version 1.20 Contents 1. Introduction... 3 2. Environment requirements... 3 3.MISP2 Installation... 3 3.1. Java... 3 3.2. PostgreSQL... 3 3.3. Apache Tomcat

More information

X-road MISP2 installation and configuration guide. Version 2.6

X-road MISP2 installation and configuration guide. Version 2.6 X-road MISP2 installation and configuration guide Version 2.6 Contents 1. Introduction... 3 2. Environment requirements... 3 3.MISP2 Installation... 3 3.1 Repositories... 3 3.2 MISP2 keyring... 4 3.3 PostgreSQL

More information

Unix-Linux 2. Unix is supposed to leave room in the process table for a superuser process that could be used to kill errant processes.

Unix-Linux 2. Unix is supposed to leave room in the process table for a superuser process that could be used to kill errant processes. Unix-Linux 2 fork( ) system call is successful parent suspended child created fork( ) returns child pid to parent fork( ) returns zero value to child; zero is the pid of the swapper/scheduler process both

More information

Cheap, Fast, and Good You can have it all with Ruby on Rails

Cheap, Fast, and Good You can have it all with Ruby on Rails Cheap, Fast, and Good You can have it all with Ruby on Rails Brian McCallister brianm@ninginc.com http://www.ning.com/ What is Ruby? Dynamic and Interpreted Strong support for OO programming Everything

More information

CSE 303, Winter 2006, Final Examination 16 March Please do not turn the page until everyone is ready.

CSE 303, Winter 2006, Final Examination 16 March Please do not turn the page until everyone is ready. CSE 303, Winter 2006, Final Examination 16 March 2006 Please do not turn the page until everyone is ready. Rules: The exam is closed-book, closed-note, except for one side of one 8.5x11in piece of paper.

More information

PetaLinux SDK User Guide. Application Development Guide

PetaLinux SDK User Guide. Application Development Guide PetaLinux SDK User Guide Notice of Disclaimer The information disclosed to you hereunder (the "Materials") is provided solely for the selection and use of Xilinx products. To the maximum extent permitted

More information

CSci 4061 Introduction to Operating Systems. Processes in C/Unix

CSci 4061 Introduction to Operating Systems. Processes in C/Unix CSci 4061 Introduction to Operating Systems Processes in C/Unix Process as Abstraction Talked about C programs a bit Program is a static entity Process is an abstraction of a running program provided by

More information

Maemo Diablo GNU Make and makefiles Training Material

Maemo Diablo GNU Make and makefiles Training Material Maemo Diablo GNU Make and makefiles Training Material February 9, 2009 Contents 1 GNU Make and makefiles 2 1.1 What is GNU Make?......................... 2 1.2 How does make work?........................

More information

First C or C++ Lab Paycheck-V1.0 Using Microsoft Visual Studio

First C or C++ Lab Paycheck-V1.0 Using Microsoft Visual Studio C & C++ LAB ASSIGNMENT #1 First C or C++ Lab Paycheck-V1.0 Using Microsoft Visual Studio Copyright 2013 Dan McElroy Paycheck-V1.0 The purpose of this lab assignment is to enter a C or C++ into Visual Studio

More information

PoWA Documentation. Release Dalibo

PoWA Documentation. Release Dalibo PoWA Documentation Release 1.2.1 Dalibo May 04, 2015 Contents 1 PostgreSQL Workload Analyzer detailled installation guide 3 1.1 Download PoWA from the website................................... 3 1.2

More information

Reading Assignment 4. n Chapter 4 Threads, due 2/7. 1/31/13 CSE325 - Processes 1

Reading Assignment 4. n Chapter 4 Threads, due 2/7. 1/31/13 CSE325 - Processes 1 Reading Assignment 4 Chapter 4 Threads, due 2/7 1/31/13 CSE325 - Processes 1 What s Next? 1. Process Concept 2. Process Manager Responsibilities 3. Operations on Processes 4. Process Scheduling 5. Cooperating

More information

Jexus Web Server Documentation

Jexus Web Server Documentation Jexus Web Server Documentation Release 5.8 Lex Li December 29, 2017 Contents 1 Topics 1 1.1 Getting Started.............................................. 1 1.2 Tutorials.................................................

More information

OpenEMR INSTALLATION AND UPGRADE Quick guide

OpenEMR INSTALLATION AND UPGRADE Quick guide OpenEMR INSTALLATION AND UPGRADE Quick guide Preliminary documentation September 2 nd, 2009 Updated February 1 st, 2010 Amended on July 13 th, 2010 Amended September 22, 2010 Page 1 of 19 Preliminary notes

More information

C Compilation Model. Comp-206 : Introduction to Software Systems Lecture 9. Alexandre Denault Computer Science McGill University Fall 2006

C Compilation Model. Comp-206 : Introduction to Software Systems Lecture 9. Alexandre Denault Computer Science McGill University Fall 2006 C Compilation Model Comp-206 : Introduction to Software Systems Lecture 9 Alexandre Denault Computer Science McGill University Fall 2006 Midterm Date: Thursday, October 19th, 2006 Time: from 16h00 to 17h30

More information

SE350: Operating Systems

SE350: Operating Systems SE350: Operating Systems Tutorial: The Programming Interface Main Points Creating and managing processes fork, exec, wait Example: implementing a shell Shell A shell is a job control system Allows programmer

More information

OCTVQE Zaptel Echo Canceller (PRELIMINARY)

OCTVQE Zaptel Echo Canceller (PRELIMINARY) OCTVQE - Zaptel Echo Canceller User s Guide (Preliminary) OCTVQE Zaptel Echo Canceller (PRELIMINARY) User s Guide Revision 1.9 OctWare Inc. www.octware.net 4101, Molson St., Suite 300 Montreal Quebec H1Y

More information

Martin Brunner, Jonas Pfoh Sept. 6, Sept. 24, 2010

Martin Brunner, Jonas Pfoh Sept. 6, Sept. 24, 2010 Martin Brunner, Jonas Pfoh martin.brunner@sit.fraunhofer.de;pfoh@sec.in.tum.de IT Security Lab Technische Universität München Munich, Germany Sept. 6, 2010 - Sept. 24, 2010 Outline 1 2 3 4 5 6 Welcome

More information

Apache Web Server Administration for Windows

Apache Web Server Administration for Windows or tri N s di IO n tio AT uc od pr re U ed AL riz ho ut na EV U is i ib d tie PY oh pr O n C io t bu Apache Web Server Administration for Windows Apache Web Server Administration for Windows (AWS101 version

More information

Intermediate Programming, Spring 2017*

Intermediate Programming, Spring 2017* 600.120 Intermediate Programming, Spring 2017* Misha Kazhdan *Much of the code in these examples is not commented because it would otherwise not fit on the slides. This is bad coding practice in general

More information

DD2387 Programsystemkonstruktion med C++ Lab 1: The Essentials 21st of September 2015

DD2387 Programsystemkonstruktion med C++ Lab 1: The Essentials 21st of September 2015 DD2387 Programsystemkonstruktion med C++ Lab 1: The Essentials 21st of September 2015 Introduction The purpose of this lab is to teach you how to use the elementary concepts of C++. This includes, but

More information

PRINCIPLES OF OPERATING SYSTEMS

PRINCIPLES OF OPERATING SYSTEMS PRINCIPLES OF OPERATING SYSTEMS Tutorial-1&2: C Review CPSC 457, Spring 2015 May 20-21, 2015 Department of Computer Science, University of Calgary Connecting to your VM Open a terminal (in your linux machine)

More information

CSC374, Spring 2010 Lab Assignment 1: Writing Your Own Unix Shell

CSC374, Spring 2010 Lab Assignment 1: Writing Your Own Unix Shell CSC374, Spring 2010 Lab Assignment 1: Writing Your Own Unix Shell Contact me (glancast@cs.depaul.edu) for questions, clarification, hints, etc. regarding this assignment. Introduction The purpose of this

More information

Make was originally a Unix tool from 1976, but it has been re-implemented several times, notably as GNU Make.

Make was originally a Unix tool from 1976, but it has been re-implemented several times, notably as GNU Make. make Make was originally a Unix tool from 1976, but it has been re-implemented several times, notably as GNU Make. Make accepts a Makefile, which is a strictly formatted file detailing a series of desired

More information

Setting up PostgreSQL

Setting up PostgreSQL Setting up PostgreSQL 1 Introduction to PostgreSQL PostgreSQL is an object-relational database management system based on POSTGRES, which was developed at the University of California at Berkeley. PostgreSQL

More information

518 Lecture Notes Week 3

518 Lecture Notes Week 3 518 Lecture Notes Week 3 (Sept. 15, 2014) 1/8 518 Lecture Notes Week 3 1 Topics Process management Process creation with fork() Overlaying an existing process with exec Notes on Lab 3 2 Process management

More information

82V391x / 8V893xx WAN PLL Device Families Device Driver User s Guide

82V391x / 8V893xx WAN PLL Device Families Device Driver User s Guide 82V391x / 8V893xx WAN PLL Device Families Device Driver Version 1.2 April 29, 2014 Table of Contents 1. Introduction... 1 2. Software Architecture... 2 2.1. Overview... 2 2.2. Hardware Abstraction Layer

More information

Remote Exploit. compass-security.com 1

Remote Exploit. compass-security.com 1 Remote Exploit compass-security.com 1 Content Intel Architecture Memory Layout C Arrays Buffer Overflow BoF Exploit Assembler Shellcode Function Calls Debugging Remote Exploit Exploit Mitigations Defeat

More information

Check the Desktop development with C++ in the install options. You may want to take 15 minutes to try the Hello World C++ tutorial:

Check the Desktop development with C++ in the install options. You may want to take 15 minutes to try the Hello World C++ tutorial: CS262 Computer Vision OpenCV 3 Configuration with Visual Studio 2017 Prof. John Magee Clark University Install Visual Studio 2017 Community Check the Desktop development with C++ in the install options.

More information

Good Luck! Marking Guide. APRIL 2014 Final Exam CSC 209H5S

Good Luck! Marking Guide. APRIL 2014 Final Exam CSC 209H5S APRIL 2014 Final Exam CSC 209H5S Last Name: Student #: First Name: Signature: UNIVERSITY OF TORONTO MISSISSAUGA APRIL 2014 FINAL EXAMINATION CSC209H5S System Programming Daniel Zingaro Duration - 3 hours

More information

Creating a Shell or Command Interperter Program CSCI411 Lab

Creating a Shell or Command Interperter Program CSCI411 Lab Creating a Shell or Command Interperter Program CSCI411 Lab Adapted from Linux Kernel Projects by Gary Nutt and Operating Systems by Tannenbaum Exercise Goal: You will learn how to write a LINUX shell

More information

Computer Systems Assignment 2: Fork and Threads Package

Computer Systems Assignment 2: Fork and Threads Package Autumn Term 2018 Distributed Computing Computer Systems Assignment 2: Fork and Threads Package Assigned on: October 5, 2018 Due by: October 12, 2018 1 Understanding fork() and exec() Creating new processes

More information

MISP2 installation and configuration guide. Version 2.12

MISP2 installation and configuration guide. Version 2.12 MISP2 installation and configuration guide Version 2.12 Contents Contents... 2 1. Introduction... 3 2. Environment requirements... 3 3. MISP2 Installation... 3 3.1. Updating the MISP2 package list... 3

More information

CS 610: Intermediate Programming: C/C++ Making Programs General An Introduction to Linked Lists

CS 610: Intermediate Programming: C/C++ Making Programs General An Introduction to Linked Lists ... 1/17 CS 610: Intermediate Programming: C/C++ Making Programs General An Introduction to Linked Lists Alice E. Fischer Spring 2016 ... 2/17 Outline Generic Functions Command Line Arguments Review for

More information

Apache MySQL PHP PHPAdmin Install

Apache MySQL PHP PHPAdmin Install Apache MySQL PHP PHPAdmin Install Installing Apache 2 To only install the apache2 webserver, use any method to install apache2 It requires a restart for it to work sudo /etc/init.d/apache2 restart Checking

More information

OptiRain Open 2 Installation Guide for LInux. This guide provides general instructions for installing OptiRain Open 2 on a Linux based server.

OptiRain Open 2 Installation Guide for LInux. This guide provides general instructions for installing OptiRain Open 2 on a Linux based server. QUICKSMART OptiRain Open 2 Installation Guide for LInux QuickSmart Development P.O. Box 3689 Santa Clara, CA 95055 408-777-0944 www.quicksmart.com This guide provides general instructions for installing

More information

Jarvis Web Gateway. Installation Instructions. Jonathan Couper-Smartt

Jarvis Web Gateway. Installation Instructions. Jonathan Couper-Smartt Jarvis Web Gateway Installation Instructions Jonathan Couper-Smartt jarvis@nsquared.co.nz Abstract: The Jarvis Web Gateway is a lightweight web-service designed to give Rich Internet Applications a rapid,

More information

MP 1: HTTP Client + Server Due: Friday, Feb 9th, 11:59pm

MP 1: HTTP Client + Server Due: Friday, Feb 9th, 11:59pm MP 1: HTTP Client + Server Due: Friday, Feb 9th, 11:59pm Please read all sections of this document before you begin coding. In this assignment, you will implement a simple HTTP client and server. The client

More information

Politecnico di Milano FACOLTÀ DI INGEGNERIA DELL INFORMAZIONE. Advanced Operating Systems A.A Exam date: 28 June 2016

Politecnico di Milano FACOLTÀ DI INGEGNERIA DELL INFORMAZIONE. Advanced Operating Systems A.A Exam date: 28 June 2016 Politecnico di Milano FACOLTÀ DI INGEGNERIA DELL INFORMAZIONE Advanced Operating Systems A.A. 2015-2016 Exam date: 28 June 2016 Prof. William FORNACIARI Surname (readable)... Matr... Name (readable)...

More information

Getting to know you. Anatomy of a Process. Processes. Of Programs and Processes

Getting to know you. Anatomy of a Process. Processes. Of Programs and Processes Getting to know you Processes A process is an abstraction that supports running programs A sequential stream of execution in its own address space A process is NOT the same as a program! So, two parts

More information

Interfacing Apache HTTP Server 2.4 with External Applications

Interfacing Apache HTTP Server 2.4 with External Applications with External November 6, 2012 Who am I? Met Unix (in the form of Xenix) in 1985 Joined IBM in 1990 to work on network software for mainframes Moved to a different organization in 2000 to work on Apache

More information