SlideShare una empresa de Scribd logo
1 de 12
Descargar para leer sin conexión
Apache HTTP Server 2.2



                By, Ahmed Medhat
Introduction
• Apache HTTP Server is a project from Apache
  Software Foundation
• a.k.a HTTPD
Installation
• Super easy on GNU/Linux, Unix..
• On RedHat derivatives
  – yum install httpd
  – service httpd start
Configuration
• /etc/httpd/conf/httpd.conf
• Important directives:
  – DocumentRoot (where to serve content)
  – Listen (bind on which socket (ip:port))
  – LogLevel (debug,info,notice,warn,error,crit,alert,emerg)
  – DirectoryIndex (default directory index page)
Multi-Processing Module
• Respecting modularity, you can control the most basic
  functions of the web server.
• Responsible for:
   – Binding to network ports
   – Accepting requests
   – Dispatching request handling children.
• Available MPM
   – Worker (POSIX)
   – Prefork (POSIX)
   – Mpm_winnt (for windows) *won’t talk about, Unix biased :)

   POSIX = Portable Operating System Interface for Unix
Prefork MPM
• Old Apache 1.3 only MPM
• Non-threaded, for sake of respect to non-
  thread safe libraries
• Single process/thread, many child, one
  process rule them all
• Resource hungry, Listener process embedded
• Lots of tuning, expandability needs
  reconfiguration
Worker MPM
• Hybrid multi-process multi-threaded server
• Many threads, Many requests, Few resources
• Retains stability by having many processes,
  each with many threads
• Respects memory, GC
• Listener process, The guarding angel process
Sample Request
Virtual Hosts
•   A blessing for business
•   Many web sites -> one web-server
     GET /hello.html HTTP/1.1
     Host: www.example.com

•   Many web sites -> one IP address (name-based)
     – NameVirtualHost
     – <VirtualHost>

•   Many web sites -> many IP addresses (IP-based)
     – Supported out-of-the-box

•   Sample configuration
     <VirtualHost *:80>
       ServerAdmin webmaster@example.com
       DocumentRoot /var/www/example.com
       ServerName example.com
       ServerAlias www.example.com
       ErrorLog logs/example.com-error_log
       CustomLog logs/example.com-access_log common
     </VirtualHost>
Native Languages Support
•   mod_php
•   mod_python
•   mod_ruby
•   mod_cgi
Application Stacks Available
• XAMPP http://www.apachefriends.org/en/xampp.html
• WAMP http://www.wampserver.com/en/
Thank you 
• Questions ?

Más contenido relacionado

La actualidad más candente

Creating Secure VM (Comarison between Intel and AMD, and one more thing...) -...
Creating Secure VM (Comarison between Intel and AMD, and one more thing...) -...Creating Secure VM (Comarison between Intel and AMD, and one more thing...) -...
Creating Secure VM (Comarison between Intel and AMD, and one more thing...) -...
Tsukasa Oi
 
Neutrondev ppt
Neutrondev pptNeutrondev ppt
Neutrondev ppt
marunewby
 
Openstack il2014 staypuft- your friendly foreman openstack installer
Openstack il2014   staypuft- your friendly foreman openstack installerOpenstack il2014   staypuft- your friendly foreman openstack installer
Openstack il2014 staypuft- your friendly foreman openstack installer
Arthur Berezin
 

La actualidad más candente (18)

Creating Secure VM (Comarison between Intel and AMD, and one more thing...) -...
Creating Secure VM (Comarison between Intel and AMD, and one more thing...) -...Creating Secure VM (Comarison between Intel and AMD, and one more thing...) -...
Creating Secure VM (Comarison between Intel and AMD, and one more thing...) -...
 
FreeBSD hosting
FreeBSD hostingFreeBSD hosting
FreeBSD hosting
 
Look Into Libvirt Osier Yang
Look Into Libvirt Osier YangLook Into Libvirt Osier Yang
Look Into Libvirt Osier Yang
 
Drupal performance
Drupal performanceDrupal performance
Drupal performance
 
Keep Calm and Breathe During Disaster Recovery
Keep Calm and Breathe During Disaster RecoveryKeep Calm and Breathe During Disaster Recovery
Keep Calm and Breathe During Disaster Recovery
 
Nsq & python worker
Nsq & python workerNsq & python worker
Nsq & python worker
 
Libvirt and bhyve under FreeBSD
Libvirt and bhyve under FreeBSDLibvirt and bhyve under FreeBSD
Libvirt and bhyve under FreeBSD
 
Neutrondev ppt
Neutrondev pptNeutrondev ppt
Neutrondev ppt
 
Copycat presentation
Copycat presentationCopycat presentation
Copycat presentation
 
Accelerate your web app with a layer of Varnish
Accelerate your web app with a layer of VarnishAccelerate your web app with a layer of Varnish
Accelerate your web app with a layer of Varnish
 
Apache Provisionr (incubating) - Bucharest JUG 10
Apache Provisionr (incubating) - Bucharest JUG 10Apache Provisionr (incubating) - Bucharest JUG 10
Apache Provisionr (incubating) - Bucharest JUG 10
 
Managing your SaltStack Minions with Foreman
Managing your SaltStack Minions with ForemanManaging your SaltStack Minions with Foreman
Managing your SaltStack Minions with Foreman
 
IT Operations for Web Developers
IT Operations for Web DevelopersIT Operations for Web Developers
IT Operations for Web Developers
 
What's new in MySQL 5.5? FOSDEM 2011
What's new in MySQL 5.5? FOSDEM 2011What's new in MySQL 5.5? FOSDEM 2011
What's new in MySQL 5.5? FOSDEM 2011
 
Openstack il2014 staypuft- your friendly foreman openstack installer
Openstack il2014   staypuft- your friendly foreman openstack installerOpenstack il2014   staypuft- your friendly foreman openstack installer
Openstack il2014 staypuft- your friendly foreman openstack installer
 
Scylla Summit 2018: Rebuilding the Ceph Distributed Storage Solution with Sea...
Scylla Summit 2018: Rebuilding the Ceph Distributed Storage Solution with Sea...Scylla Summit 2018: Rebuilding the Ceph Distributed Storage Solution with Sea...
Scylla Summit 2018: Rebuilding the Ceph Distributed Storage Solution with Sea...
 
Fluentd v0.14 Overview
Fluentd v0.14 OverviewFluentd v0.14 Overview
Fluentd v0.14 Overview
 
Infinit filesystem, Reactor reloaded
Infinit filesystem, Reactor reloadedInfinit filesystem, Reactor reloaded
Infinit filesystem, Reactor reloaded
 

Destacado

Apache Web Server Administration
Apache Web Server AdministrationApache Web Server Administration
Apache Web Server Administration
webhostingguy
 
httpd — Apache Web Server
httpd — Apache Web Serverhttpd — Apache Web Server
httpd — Apache Web Server
webhostingguy
 
Choosing A Proxy Server - Apachecon 2014
Choosing A Proxy Server - Apachecon 2014Choosing A Proxy Server - Apachecon 2014
Choosing A Proxy Server - Apachecon 2014
bryan_call
 

Destacado (10)

Apache Web Server Administration
Apache Web Server AdministrationApache Web Server Administration
Apache Web Server Administration
 
Apache and PHP: Why httpd.conf is your new BFF!
Apache and PHP: Why httpd.conf is your new BFF!Apache and PHP: Why httpd.conf is your new BFF!
Apache and PHP: Why httpd.conf is your new BFF!
 
httpd — Apache Web Server
httpd — Apache Web Serverhttpd — Apache Web Server
httpd — Apache Web Server
 
Learn how to develop for Android, beyond the Hello World android app - Cape T...
Learn how to develop for Android, beyond the Hello World android app - Cape T...Learn how to develop for Android, beyond the Hello World android app - Cape T...
Learn how to develop for Android, beyond the Hello World android app - Cape T...
 
Apache
ApacheApache
Apache
 
Apache httpd 2.4 Reverse Proxy: The Hidden Gem
Apache httpd 2.4 Reverse Proxy: The Hidden GemApache httpd 2.4 Reverse Proxy: The Hidden Gem
Apache httpd 2.4 Reverse Proxy: The Hidden Gem
 
Apache HTTP Server
Apache HTTP ServerApache HTTP Server
Apache HTTP Server
 
Chap 19 web
Chap 19 webChap 19 web
Chap 19 web
 
ApacheConNA 2015: Apache httpd 2.4 Reverse Proxy
ApacheConNA 2015: Apache httpd 2.4 Reverse ProxyApacheConNA 2015: Apache httpd 2.4 Reverse Proxy
ApacheConNA 2015: Apache httpd 2.4 Reverse Proxy
 
Choosing A Proxy Server - Apachecon 2014
Choosing A Proxy Server - Apachecon 2014Choosing A Proxy Server - Apachecon 2014
Choosing A Proxy Server - Apachecon 2014
 

Similar a Apache HTTPd Server 2.2 Presentation

05.m3 cms list-ofwebserver
05.m3 cms list-ofwebserver05.m3 cms list-ofwebserver
05.m3 cms list-ofwebserver
tarensi
 
Ricardo Sanchez - Ruby projects of interest for devops
Ricardo Sanchez - Ruby projects of interest for devopsRicardo Sanchez - Ruby projects of interest for devops
Ricardo Sanchez - Ruby projects of interest for devops
SVDevOps
 
Ruby projects of interest for DevOps
Ruby projects of interest for DevOpsRuby projects of interest for DevOps
Ruby projects of interest for DevOps
Ricardo Sanchez
 
Performance_Out.pptx
Performance_Out.pptxPerformance_Out.pptx
Performance_Out.pptx
sanjanabal
 

Similar a Apache HTTPd Server 2.2 Presentation (20)

Lecture 7: Server side programming
Lecture 7: Server side programmingLecture 7: Server side programming
Lecture 7: Server side programming
 
Linux advanced concepts - Part 2
Linux advanced concepts - Part 2Linux advanced concepts - Part 2
Linux advanced concepts - Part 2
 
Apache Performance Tuning: Scaling Up
Apache Performance Tuning: Scaling UpApache Performance Tuning: Scaling Up
Apache Performance Tuning: Scaling Up
 
Follow the White Rabbit - Message Queues with PHP
Follow the White Rabbit - Message Queues with PHPFollow the White Rabbit - Message Queues with PHP
Follow the White Rabbit - Message Queues with PHP
 
Securing Your Webserver By Pradeep Sharma
Securing Your Webserver By Pradeep SharmaSecuring Your Webserver By Pradeep Sharma
Securing Your Webserver By Pradeep Sharma
 
Apache
Apache Apache
Apache
 
05.m3 cms list-ofwebserver
05.m3 cms list-ofwebserver05.m3 cms list-ofwebserver
05.m3 cms list-ofwebserver
 
Top ten-list
Top ten-listTop ten-list
Top ten-list
 
Webserver
WebserverWebserver
Webserver
 
Ricardo Sanchez - Ruby projects of interest for devops
Ricardo Sanchez - Ruby projects of interest for devopsRicardo Sanchez - Ruby projects of interest for devops
Ricardo Sanchez - Ruby projects of interest for devops
 
Ruby projects of interest for DevOps
Ruby projects of interest for DevOpsRuby projects of interest for DevOps
Ruby projects of interest for DevOps
 
Linux basics (part 2)
Linux basics (part 2)Linux basics (part 2)
Linux basics (part 2)
 
Networking Concepts
Networking ConceptsNetworking Concepts
Networking Concepts
 
Network concepts
Network conceptsNetwork concepts
Network concepts
 
L9 Protocol Suits
L9 Protocol SuitsL9 Protocol Suits
L9 Protocol Suits
 
High Performance Drupal Sites
High Performance Drupal SitesHigh Performance Drupal Sites
High Performance Drupal Sites
 
Performance_Out.pptx
Performance_Out.pptxPerformance_Out.pptx
Performance_Out.pptx
 
2 7
2 72 7
2 7
 
Performance out
Performance outPerformance out
Performance out
 
Performance out
Performance outPerformance out
Performance out
 

Apache HTTPd Server 2.2 Presentation

  • 1. Apache HTTP Server 2.2 By, Ahmed Medhat
  • 2. Introduction • Apache HTTP Server is a project from Apache Software Foundation • a.k.a HTTPD
  • 3. Installation • Super easy on GNU/Linux, Unix.. • On RedHat derivatives – yum install httpd – service httpd start
  • 4. Configuration • /etc/httpd/conf/httpd.conf • Important directives: – DocumentRoot (where to serve content) – Listen (bind on which socket (ip:port)) – LogLevel (debug,info,notice,warn,error,crit,alert,emerg) – DirectoryIndex (default directory index page)
  • 5. Multi-Processing Module • Respecting modularity, you can control the most basic functions of the web server. • Responsible for: – Binding to network ports – Accepting requests – Dispatching request handling children. • Available MPM – Worker (POSIX) – Prefork (POSIX) – Mpm_winnt (for windows) *won’t talk about, Unix biased :) POSIX = Portable Operating System Interface for Unix
  • 6. Prefork MPM • Old Apache 1.3 only MPM • Non-threaded, for sake of respect to non- thread safe libraries • Single process/thread, many child, one process rule them all • Resource hungry, Listener process embedded • Lots of tuning, expandability needs reconfiguration
  • 7. Worker MPM • Hybrid multi-process multi-threaded server • Many threads, Many requests, Few resources • Retains stability by having many processes, each with many threads • Respects memory, GC • Listener process, The guarding angel process
  • 9. Virtual Hosts • A blessing for business • Many web sites -> one web-server GET /hello.html HTTP/1.1 Host: www.example.com • Many web sites -> one IP address (name-based) – NameVirtualHost – <VirtualHost> • Many web sites -> many IP addresses (IP-based) – Supported out-of-the-box • Sample configuration <VirtualHost *:80> ServerAdmin webmaster@example.com DocumentRoot /var/www/example.com ServerName example.com ServerAlias www.example.com ErrorLog logs/example.com-error_log CustomLog logs/example.com-access_log common </VirtualHost>
  • 10. Native Languages Support • mod_php • mod_python • mod_ruby • mod_cgi
  • 11. Application Stacks Available • XAMPP http://www.apachefriends.org/en/xampp.html • WAMP http://www.wampserver.com/en/
  • 12. Thank you  • Questions ?