Blogs / Gaetano Giunta / The tiniest Apache setup for installing eZ Publish

The tiniest Apache setup for installing eZ Publish

Monday 04 July 2011 2:17:27 pm

  • Currently 5 out of 5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

By : Gaetano Giunta

Apache is a highly modular software - and that's a great feature, that contrbuted a lot to its wild success! Some linux distributions however have a default installation of Apache with many, many modules enabled. maybe too much. We know that any unused module chews up valuable ram, is a possible target of attack for crackers and slows down the startup of the webserver by a few milliseconds.

So, what is the absolute minimum list of Apache modules that are needed to successfully run eZ Publish? Read on to find out...

With a little experimenting, here is the list I came up with:

 List of needed modules:

  •  mod_php: required
  •  mod_mime: required for the AddType directive used to map php scripts to mod_php engine
  •  mod_authz_host ("order allow/deny" directive to block access to the complete filesystem of the server)

in vhost mode:

  •  mod_rewrite

in non-vhost mode:

  •  mod_dir

Note: mod_dir can not be disabled with the standard eZ Publish .htaccess file that contains a DirectoryIndex directive. That directive is unnecessary when rewrite rules are active and it can be safely removed.

Now, that's a small list, isn't it? On my windows 7 laptop, Apache uses about 5 MB of ram when started up in this minimal setup.

List of recommended modules:

  • mod_log_config (custom log files / formats)
  • mod_expires: recommended to add expiry headers on static resources (lighter load on the server, faster page load time for end users)
  • mod_deflate: recommended to compress css, js etc... + mod_setenvif + mod_headers to make it work properly (faster page load time for end users on slow connections)
  • mod_ssl:  recommended for security (needs to be properly configured to be of use, both in httpd.conf and eZP site.ini)
  • mod_info recommended for monitoring Apache status (in conjunction with external tools such as munin, mrtg or nagios)

All other modules:

enable on an as-needed basis

eZ debug

Timing: Jan 17 2025 23:38:28
Script start
Timing: Jan 17 2025 23:38:28
Module start 'content'
Timing: Jan 17 2025 23:38:28
Module end 'content'
Timing: Jan 17 2025 23:38:28
Script end

Main resources:

Total runtime0.1635 sec
Peak memory usage6,144.0000 KB
Database Queries185

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0048 589.3672180.8203
Module start 'content' 0.00480.0626 770.1875398.0313
Module end 'content' 0.06740.0961 1,168.2188408.6172
Script end 0.1634  1,576.8359 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00352.1173210.0002
Check MTime0.00130.7762210.0001
Mysql Total
Database connection0.00080.469210.0008
Mysqli_queries0.098760.37301850.0005
Looping result0.00130.80461830.0000
Template Total0.140686.020.0703
Template load0.00181.108420.0009
Template processing0.138884.871320.0694
Template load and register function0.00010.055110.0001
states
state_id_array0.00090.534610.0009
state_identifier_array0.00060.365720.0003
Override
Cache load0.00150.9239330.0000
Sytem overhead
Fetch class attribute name0.00120.760730.0004
Fetch class attribute can translate value0.00070.435410.0007
class_abstraction
Instantiating content class attribute0.00000.003130.0000
XML
Image XML parsing0.00020.140010.0002
General
dbfile0.00332.0253220.0002
String conversion0.00000.002330.0000
Note: percentages do not add up to 100% because some accumulators overlap

CSS/JS files loaded with "ezjscPacker" during request:

CacheTypePacklevelSourceFiles
CSS0extension/community/design/community/stylesheets/ext/jquery.autocomplete.css
extension/community_design/design/suncana/stylesheets/scrollbars.css
extension/community_design/design/suncana/stylesheets/tabs.css
extension/community_design/design/suncana/stylesheets/roadmap.css
extension/community_design/design/suncana/stylesheets/content.css
extension/community_design/design/suncana/stylesheets/star-rating.css
extension/community_design/design/suncana/stylesheets/syntax_and_custom_tags.css
extension/community_design/design/suncana/stylesheets/buttons.css
extension/community_design/design/suncana/stylesheets/tweetbox.css
extension/community_design/design/suncana/stylesheets/jquery.fancybox-1.3.4.css
extension/bcsmoothgallery/design/standard/stylesheets/magnific-popup.css
extension/sevenx/design/simple/stylesheets/star_rating.css
extension/sevenx/design/simple/stylesheets/libs/fontawesome/css/all.min.css
extension/sevenx/design/simple/stylesheets/main.v02.css
extension/sevenx/design/simple/stylesheets/main.v02.res.css
JS0extension/ezjscore/design/standard/lib/yui/3.17.2/build/yui/yui-min.js
extension/ezjscore/design/standard/javascript/jquery-3.7.0.min.js
extension/community_design/design/suncana/javascript/jquery.ui.core.min.js
extension/community_design/design/suncana/javascript/jquery.ui.widget.min.js
extension/community_design/design/suncana/javascript/jquery.easing.1.3.js
extension/community_design/design/suncana/javascript/jquery.ui.tabs.js
extension/community_design/design/suncana/javascript/jquery.hoverIntent.min.js
extension/community_design/design/suncana/javascript/jquery.popmenu.js
extension/community_design/design/suncana/javascript/jScrollPane.js
extension/community_design/design/suncana/javascript/jquery.mousewheel.js
extension/community_design/design/suncana/javascript/jquery.cycle.all.js
extension/sevenx/design/simple/javascript/jquery.scrollTo.js
extension/community_design/design/suncana/javascript/jquery.cookie.js
extension/community_design/design/suncana/javascript/ezstarrating_jquery.js
extension/community_design/design/suncana/javascript/jquery.initboxes.js
extension/community_design/design/suncana/javascript/app.js
extension/community_design/design/suncana/javascript/twitterwidget.js
extension/community_design/design/suncana/javascript/community.js
extension/community_design/design/suncana/javascript/roadmap.js
extension/community_design/design/suncana/javascript/ez.js
extension/community_design/design/suncana/javascript/ezshareevents.js
extension/sevenx/design/simple/javascript/main.js

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1node/view/full.tplblog_entry/full.tplextension/community_design/design/suncana/override/templates/blog_entry/full.tplEdit templateOverride template
2content/datatype/view/ezxmltext.tpl<No override>extension/community_design/design/suncana/templates/content/datatype/view/ezxmltext.tplEdit templateOverride template
6content/datatype/view/ezxmltags/paragraph.tpl<No override>extension/ezwebin/design/ezwebin/templates/content/datatype/view/ezxmltags/paragraph.tplEdit templateOverride template
3content/datatype/view/ezxmltags/strong.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/strong.tplEdit templateOverride template
3content/datatype/view/ezxmltags/header.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/header.tplEdit templateOverride template
4content/datatype/view/ezxmltags/li.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/li.tplEdit templateOverride template
4content/datatype/view/ezxmltags/ul.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/ul.tplEdit templateOverride template
1content/datatype/view/ezkeyword.tpl<No override>extension/community_design/design/suncana/templates/content/datatype/view/ezkeyword.tplEdit templateOverride template
1pagelayout.tpl<No override>extension/sevenx/design/simple/templates/pagelayout.tplEdit templateOverride template
 Number of times templates used: 25
 Number of unique templates used: 9

Time used to render debug report: 0.0001 secs