diff --git a/CMakeLists.txt b/CMakeLists.txt
index f0b6ca3000d26b1c8037b20ca34524f58e1debd1..bdd630ec2b55c00a7c9600daf3ac72f88b7421b8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -67,13 +67,32 @@ execute_process (
 string(REGEX REPLACE "\n" "" CASTOR_DEST_PYTHON_LIBDIR ${CASTOR_DEST_PYTHON_LIBDIR})
 message(STATUS "CASTOR_DEST_PYTHON_LIBDIR = '${CASTOR_DEST_PYTHON_LIBDIR}'")
 
+set (CASTOR_BIN_SCRIPT_PERMS
+  OWNER_READ OWNER_WRITE OWNER_EXECUTE
+  GROUP_READ             OWNER_EXECUTE
+  WORLD_READ             WORLD_EXECUTE)
+
+set (CASTOR_ETC_PERMS
+  OWNER_READ OWNER_WRITE
+  GROUP_READ
+  WORLD_READ            )
+
+set (CASTOR_ETC_CRON_D_PERMS
+  OWNER_READ OWNER_WRITE
+  GROUP_READ
+  WORLD_READ            )
+
+set (CASTOR_HEADER_PERMS
+  OWNER_READ OWNER_WRITE
+  GROUP_READ
+  WORLD_READ)
 
 set (CASTOR_MAN_PAGE_PERMS
   OWNER_READ OWNER_WRITE
   GROUP_READ
   WORLD_READ)
 
-set (CASTOR_HEADER_PERMS
+set (CASTOR_SYSCONFIG_PERMS
   OWNER_READ OWNER_WRITE
   GROUP_READ
   WORLD_READ)
@@ -108,6 +127,29 @@ function (CastorAddProC _name)
     PROPERTY COMPILE_FLAGS "${ORACLE_CPPFLAGS} -Wno-error")
 endfunction ()
 
+function (CastorInstallDir _name)
+  install (CODE
+    "FILE(MAKE_DIRECTORY \$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}\${_name})")
+endfunction ()
+
+function (CastorInstallEtc _name)
+  install (FILES ${_name}
+  DESTINATION /etc
+  PERMISSIONS ${CASTOR_ETC_PERMS})
+endfunction ()
+
+function (CastorInstallEtcCronD _name)
+  install (FILES ${_name}
+  DESTINATION /etc/cron.d
+  PERMISSIONS ${CASTOR_ETC_CRON_D_PERMS})
+endfunction ()
+
+function (CastorInstallScript _name)
+  install (FILES ${_name}
+    DESTINATION ${CASTOR_DEST_BIN_DIR}
+    PERMISSIONS ${CASTOR_BIN_SCRIPT_PERMS})
+endfunction ()
+
 function (CastorInstallManPage _name _section)
   install (FILES ${_name}.man
     DESTINATION ${CASTOR_DEST_MAN_DIR}/man${_section}
@@ -147,11 +189,6 @@ function (CastorInstallLogrotate _name)
     RENAME ${_name})
 endfunction ()
 
-set (CASTOR_SYSCONFIG_PERMS
-  OWNER_READ OWNER_WRITE
-  GROUP_READ
-  WORLD_READ)
-
 function (CastorInstallSysconfig _name)
   install (FILES ${_name}.sysconfig
     DESTINATION /etc/sysconfig
@@ -234,6 +271,12 @@ if(NOT DEFINED COMPILE_PACKAGING)
   set(COMPILE_PACKAGING 1)
 endif(NOT DEFINED COMPILE_PACKAGING)
 
+################################################################################
+# Create shared directories at install time
+################################################################################
+CastorInstallDir (/var/log/castor)
+CastorInstallDir (/var/spool/castor)
+
 ################################################################################
 # Include the subdirectories of the project
 ################################################################################
diff --git a/castor/CMakeLists.txt b/castor/CMakeLists.txt
index 9177d4565c8cbf4bd8aea37520d0ccabcbcf7991..b3a494e77f7c298ebe0eb319a7bb90bd1c152f88 100644
--- a/castor/CMakeLists.txt
+++ b/castor/CMakeLists.txt
@@ -267,9 +267,3 @@ set_target_properties (castorclient
   PROPERTIES SOVERSION ${MAJOR_CASTOR_VERSION})
 target_link_libraries (castorclient castordlf)
 install (TARGETS castorclient DESTINATION ${CASTOR_DEST_LIB_DIR})
-
-################################################################################
-# Create shared  directory strcutures at install time
-################################################################################
-INSTALL(CODE "FILE(MAKE_DIRECTORY \$ENV{DESTDIR}/var/log/castor)")
-INSTALL(CODE "FILE(MAKE_DIRECTORY \$ENV{DESTDIR}/var/spool/castor)")
diff --git a/cmake/Findxrootd.cmake b/cmake/Findxrootd.cmake
index a9eb68239409d58060ec35cc9da05cc214e6937a..20e3883b9bc1eec5bd87d31a2c3883336b1fc155 100644
--- a/cmake/Findxrootd.cmake
+++ b/cmake/Findxrootd.cmake
@@ -52,6 +52,14 @@ find_library (XROOTD_XRDCLIENT_LIB XrdClient)
 find_library (XROOTD_XRDOFS_LIB XrdOfs)
 find_library (XROOTD_XRDUTILS_LIB XrdUtils)
 
+message (STATUS "XROOTD_FOUND               = ${XROOTD_FOUND}")
+message (STATUS "XROOTD_INCLUDE_DIR         = ${XROOTD_INCLUDE_DIR}")
+message (STATUS "XROOTD_PRIVATE_INCLUDE_DIR = ${XROOTD_PRIVATE_INCLUDE_DIR}")
+message (STATUS "XROOTD_XRDCL_LIB           = ${XROOTD_XRDCL_LIB}")
+message (STATUS "XROOTD_XRDCLIENT_LIB       = ${XROOTD_XRDCLIENT_LIB}")
+message (STATUS "XROOTD_XRDOFS_LIB          = ${XROOTD_XRDOFS_LIB}")
+message (STATUS "XROOTD_XRDUTILS_LIB        = ${XROOTD_XRDUTILS_LIB}")
+
 include (FindPackageHandleStandardArgs)
 find_package_handle_standard_args (xrootd DEFAULT_MSG 
   XROOTD_INCLUDE_DIR
diff --git a/xrootd/CMakeLists.txt b/xrootd/CMakeLists.txt
index ab0d72167b0e3106c1a846c9ce1cb0d452c40543..3ce9de5a67c3652326adaeb5d041f54c5a1f72d5 100644
--- a/xrootd/CMakeLists.txt
+++ b/xrootd/CMakeLists.txt
@@ -84,3 +84,35 @@ add_executable (XrdTransfer XrdTransfer.cpp)
 target_link_libraries (XrdTransfer crypto ${XROOTD_XRDCLIENT_LIB}
   ${XROOTD_XRDUTILS_LIB})
 install (TARGETS XrdTransfer DESTINATION ${CASTOR_DEST_BIN_DIR})
+
+################################################################################
+# Rules to install the x2cp and x2proc scripts
+################################################################################
+CastorInstallScript (x2cp)
+CastorInstallScript (x2proc)
+
+################################################################################
+# Rules to install xrd cron job
+################################################################################
+CastorInstallEtcCronD (xrd-logs)
+
+################################################################################
+# Rules to install example configuration files
+################################################################################
+CastorInstallEtc (xrd.cf.server.example)
+CastorInstallEtc (xrd.cf.manager.example)
+CastorInstallSysconfig (xrootd.server.example)
+CastorInstallSysconfig (xrootd.manager.example)
+
+################################################################################
+# Rules to install the log, spool and run directories of xrootd
+################################################################################
+CastorInstallDir (/var/log/xrootd/manager)
+CastorInstallDir (/var/log/xrootd/server)
+CastorInstallDir (/var/log/xrootd/manager/proc)
+CastorInstallDir (/var/log/xrootd/server/proc)
+CastorInstallDir (/var/spool/xrootd/admin)
+CastorInstallDir (/var/spool/xrootd/core)
+CastorInstallDir (/var/spool/xrootd/manager)
+CastorInstallDir (/var/spool/xrootd/server)
+CastorInstallDir (/var/run/xrootd)