Aller au contenu principal

Utilisation de l’outil CatalogMover de Fatwire / Oracle

l’utilisation de l’outil de CatalogMover

CatalogMover est un outil qui est utilisé pour exporter / importer les tables de base de données. On peut même exporter les tables ElementCatalog et SiteCatalog. Nous pouvons exporter tous les actifs comme Assets de page, les Assets de contenus, etc, et d’importer l’ensemble de ces Assets dans un autre système (système cible).

Nous pouvons exporter / importer toutes les tables de la base en HTML / fichiers ZIP. Cet outil est développé en java donc il peut être utilisé sur windows ou tout autre système d’exploitation on mode interface ou ligne de commande.

L’avantage de CatalogMover sur CS-Explorer (l’autre outil qui permet de faire l’export / import ) est que cet outil peut être utilisé dans n’importe quel système d’exploitation.

Nous pouvons faire les opérations suivantes avec CatalogMover.

  1. Exportation de tables : L’exportation est le processus de récupération des lignes de la table et leur contenu à partir de la base de données et de les enregistrer dans des fichiers HTML locaux et des répertoires de données associés.
  2. Importation de ables : L’importation est le processus d’envoi des fichiers HTML stockés localement et les données associées au serveur. Vous pouvez sélectionner un fichier HTML particulier à importer, ou vous pouvez choisir d’importer tous les fichiers HTML.

Pour démarrer le CatalogMover, exécutez les scripts suivants à l’invite MS-DOS ou dans un shell UNIX:

Pour Windows: CatalogMover.bat
Pour Linux: CatalogMover.sh
Voici la capture d’écran de CatalogMover.

catalogMover

Publicités

Load balancing avec Tomcat et Apache 2

I-                  Introduction :

Pour commencer je vais rappeler la définition du load balancing : le « load balancing » ou « répartition de charge » est une technique utilisée en informatique pour distribuer un travail entre plusieurs processus, ordinateurs, disques ou autres ressources

Le load balancing peut se faire de deux manières :

  • matériel : solution permettant de résister à la plus forte charge. Elle aura des problèmes en cas de répartition sur un protocole haut niveau utilisant les sessions. Cette solution a un coût élevé.
  • logiciel : cette solution permet de gérer facilement des répartitions de charge avec respect de session et a un coût faible. Plus lent que le hard, elle dépend du serveur qui l’héberge pour définir ses performances.

Pour ce tutoriel, nous allons nous intéresser uniquement à la partie logicielle qui est plus simple à mettre en oeuvre. Nous utiliserons pour ce faire la configuration la plus courante dans le monde Java :

  • deux serveurs d’applications Tomcat (avec des configurations différentes mais une application commune. Habituellement les deux serveurs seront totalement iso)
  • un serveur Apache 2 sur lequel nous activerons le module mod_proxy_balancer.

II-               Installation  et préparation des serveurs

a-      Installation apache 2

Vous pouvez télécharger la dernière version d’apache à partir de lien suivant

1-      Installation d’apache

2-      Changement de la configuration

Dé-commenter les deux lignes suivantes

Pour activer le module mod_proxy_balancer

LoadModule proxy_balancer_module modules/mod_proxy_balancer.so

Pour activer la config des VH

Include conf/extra/httpd-vhosts.conf

Fichier httpd.conf

#

# This is the main Apache HTTP server configuration file.  It contains the

# configuration directives that give the server its instructions.

# See <URL:http://httpd.apache.org/docs/2.2&gt; for detailed information.

# In particular, see

# <URL:http://httpd.apache.org/docs/2.2/mod/directives.html&gt;

# for a discussion of each configuration directive.

#

# Do NOT simply read the instructions in here without understanding

# what they do.  They’re here only as hints or reminders.  If you are unsure

# consult the online docs. You have been warned.

#

# Configuration and logfile names: If the filenames you specify for many

# of the server’s control files begin with « / » (or « drive:/ » for Win32), the

# server will use that explicit path.  If the filenames do *not* begin

# with « / », the value of ServerRoot is prepended — so « logs/foo.log »

# with ServerRoot set to « c:\Load-balancer_Apache2_Tomcat\Apache2.2 » will be interpreted by the

# server as « C:\Load-balancer_Apache2_Tomcat\Apache2.2/logs/foo.log ».

#

# NOTE: Where filenames are specified, you must use forward slashes

# instead of backslashes (e.g., « c:/apache » instead of « c:\apache »).

# If a drive letter is omitted, the drive on which httpd.exe is located

# will be used by default.  It is recommended that you always supply

# an explicit drive letter in absolute paths to avoid confusion.

#

# ServerRoot: The top of the directory tree under which the server’s

# configuration, error, and log files are kept.

#

# Do not add a slash at the end of the directory path.  If you point

# ServerRoot at a non-local disk, be sure to point the LockFile directive

# at a local disk.  If you wish to share the same ServerRoot for multiple

# httpd daemons, you will need to change at least LockFile and PidFile.

#

ServerRoot « C:\Load-balancer_Apache2_Tomcat\Apache2.2 »

#

# Listen: Allows you to bind Apache to specific IP addresses and/or

# ports, instead of the default. See also the <VirtualHost>

# directive.

#

# Change this to Listen on specific IP addresses as shown below to

# prevent Apache from glomming onto all bound IP addresses.

#

#Listen 12.34.56.78:80

Listen 88

#

# Dynamic Shared Object (DSO) Support

#

# To be able to use the functionality of a module which was built as a DSO you

# have to place corresponding `LoadModule’ lines at this location so the

# directives contained in it are actually available _before_ they are used.

# Statically compiled modules (those listed by `httpd -l’) do not need

# to be loaded here.

#

# Example:

# LoadModule foo_module modules/mod_foo.so

#

LoadModule actions_module modules/mod_actions.so

LoadModule alias_module modules/mod_alias.so

LoadModule asis_module modules/mod_asis.so

LoadModule auth_basic_module modules/mod_auth_basic.so

#LoadModule auth_digest_module modules/mod_auth_digest.so

#LoadModule authn_alias_module modules/mod_authn_alias.so

#LoadModule authn_anon_module modules/mod_authn_anon.so

#LoadModule authn_dbd_module modules/mod_authn_dbd.so

#LoadModule authn_dbm_module modules/mod_authn_dbm.so

LoadModule authn_default_module modules/mod_authn_default.so

LoadModule authn_file_module modules/mod_authn_file.so

#LoadModule authnz_ldap_module modules/mod_authnz_ldap.so

#LoadModule authz_dbm_module modules/mod_authz_dbm.so

LoadModule authz_default_module modules/mod_authz_default.so

LoadModule authz_groupfile_module modules/mod_authz_groupfile.so

LoadModule authz_host_module modules/mod_authz_host.so

#LoadModule authz_owner_module modules/mod_authz_owner.so

LoadModule authz_user_module modules/mod_authz_user.so

LoadModule autoindex_module modules/mod_autoindex.so

#LoadModule cache_module modules/mod_cache.so

#LoadModule cern_meta_module modules/mod_cern_meta.so

LoadModule cgi_module modules/mod_cgi.so

#LoadModule charset_lite_module modules/mod_charset_lite.so

#LoadModule dav_module modules/mod_dav.so

#LoadModule dav_fs_module modules/mod_dav_fs.so

#LoadModule dav_lock_module modules/mod_dav_lock.so

#LoadModule dbd_module modules/mod_dbd.so

#LoadModule deflate_module modules/mod_deflate.so

LoadModule dir_module modules/mod_dir.so

#LoadModule disk_cache_module modules/mod_disk_cache.so

#LoadModule dumpio_module modules/mod_dumpio.so

LoadModule env_module modules/mod_env.so

#LoadModule expires_module modules/mod_expires.so

#LoadModule ext_filter_module modules/mod_ext_filter.so

#LoadModule file_cache_module modules/mod_file_cache.so

#LoadModule filter_module modules/mod_filter.so

#LoadModule headers_module modules/mod_headers.so

#LoadModule ident_module modules/mod_ident.so

#LoadModule imagemap_module modules/mod_imagemap.so

LoadModule include_module modules/mod_include.so

#LoadModule info_module modules/mod_info.so

LoadModule isapi_module modules/mod_isapi.so

#LoadModule ldap_module modules/mod_ldap.so

#LoadModule logio_module modules/mod_logio.so

LoadModule log_config_module modules/mod_log_config.so

#LoadModule log_forensic_module modules/mod_log_forensic.so

#LoadModule mem_cache_module modules/mod_mem_cache.so

LoadModule mime_module modules/mod_mime.so

#LoadModule mime_magic_module modules/mod_mime_magic.so

LoadModule negotiation_module modules/mod_negotiation.so

LoadModule proxy_module modules/mod_proxy.so

LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

LoadModule proxy_balancer_module modules/mod_proxy_balancer.so

LoadModule proxy_connect_module modules/mod_proxy_connect.so

#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so

LoadModule proxy_http_module modules/mod_proxy_http.so

#LoadModule reqtimeout_module modules/mod_reqtimeout.so

LoadModule rewrite_module modules/mod_rewrite.so

LoadModule setenvif_module modules/mod_setenvif.so

LoadModule speling_module modules/mod_speling.so

#LoadModule ssl_module modules/mod_ssl.so

LoadModule status_module modules/mod_status.so

#LoadModule substitute_module modules/mod_substitute.so

#LoadModule unique_id_module modules/mod_unique_id.so

#LoadModule userdir_module modules/mod_userdir.so

#LoadModule usertrack_module modules/mod_usertrack.so

#LoadModule version_module modules/mod_version.so

#LoadModule vhost_alias_module modules/mod_vhost_alias.so

#LoadModule jk_module modules/mod_jk.so

#Jk_WorkersFile conf/workers.properties

#JkLogFile logs/mod_jk.log

#JkLogLevel inf

<IfModule !mpm_netware_module>

<IfModule !mpm_winnt_module>

#

# If you wish httpd to run as a different user or group, you must run

# httpd as root initially and it will switch.

#

# User/Group: The name (or #number) of the user/group to run httpd as.

# It is usually good practice to create a dedicated user and group for

# running httpd, as with most system services.

#

User daemon

Group daemon

</IfModule>

</IfModule>

# ‘Main’ server configuration

#

# The directives in this section set up the values used by the ‘main’

# server, which responds to any requests that aren’t handled by a

# <VirtualHost> definition.  These values also provide defaults for

# any <VirtualHost> containers you may define later in the file.

#

# All of these directives may appear inside <VirtualHost> containers,

# in which case these default settings will be overridden for the

# virtual host being defined.

#

#

# ServerAdmin: Your address, where problems with the server should be

# e-mailed.  This address appears on some server-generated pages, such

# as error documents.  e.g. admin@your-domain.com

#

ServerAdmin admin@your-domain.com

#

# ServerName gives the name and port that the server uses to identify itself.

# This can often be determined automatically, but we recommend you specify

# it explicitly to prevent problems during startup.

#

# If your host doesn’t have a registered DNS name, enter its IP address here.

#

#ServerName hostname:80

#

# DocumentRoot: The directory out of which you will serve your

# documents. By default, all requests are taken from this directory, but

# symbolic links and aliases may be used to point to other locations.

#

DocumentRoot « C:\Load-balancer_Apache2_Tomcat\Apache2.2/htdocs »

#DocumentRoot « C:\Bugzilla »

#

# Each directory to which Apache has access can be configured with respect

# to which services and features are allowed and/or disabled in that

# directory (and its subdirectories).

#

# First, we configure the « default » to be a very restrictive set of

# features.

#

<Directory />

Options FollowSymLinks

AllowOverride None

Order deny,allow

Deny from all

</Directory>

#

# Note that from this point forward you must specifically allow

# particular features to be enabled – so if something’s not working as

# you might expect, make sure that you have specifically enabled it

# below.

#

#

# This should be changed to whatever you set DocumentRoot to.

#

<Directory « C:Load-balancer_Apache2_Tomcat\Apache2.2/htdocs »>

#

# Possible values for the Options directive are « None », « All »,

# or any combination of:

#   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews

#

# Note that « MultiViews » must be named *explicitly* — « Options All »

# doesn’t give it to you.

#

# The Options directive is both complicated and important.  Please see

# http://httpd.apache.org/docs/2.2/mod/core.html#options

# for more information.

#

Options Indexes FollowSymLinks

#

# AllowOverride controls what directives may be placed in .htaccess files.

# It can be « All », « None », or any combination of the keywords:

#   Options FileInfo AuthConfig Limit

#

AllowOverride None

#

# Controls who can get stuff from this server.

#

Order allow,deny

Allow from all

#

# Tell Apache to use Perl to execute .cgi

#

#ScriptInterpreterSource Registry-Strict

</Directory>

#

# DirectoryIndex: sets the file that Apache will serve if a directory

# is requested.

#

<IfModule dir_module>

DirectoryIndex index.html

</IfModule>

#

# The following lines prevent .htaccess and .htpasswd files from being

# viewed by Web clients.

#

<FilesMatch « ^\.ht »>

Order allow,deny

Deny from all

Satisfy All

</FilesMatch>

#

# ErrorLog: The location of the error log file.

# If you do not specify an ErrorLog directive within a <VirtualHost>

# container, error messages relating to that virtual host will be

# logged here.  If you *do* define an error logfile for a <VirtualHost>

# container, that host’s errors will be logged there and not here.

#

ErrorLog « logs/error.log »

#

# LogLevel: Control the number of messages logged to the error_log.

# Possible values include: debug, info, notice, warn, error, crit,

# alert, emerg.

#

LogLevel warn

<IfModule log_config_module>

#

# The following directives define some format nicknames for use with

# a CustomLog directive (see below).

#

LogFormat « %h %l %u %t \ »%r\ » %>s %b \ »%{Referer}i\ » \ »%{User-Agent}i\ » » combined

LogFormat « %h %l %u %t \ »%r\ » %>s %b » common

<IfModule logio_module>

# You need to enable mod_logio.c to use %I and %O

LogFormat « %h %l %u %t \ »%r\ » %>s %b \ »%{Referer}i\ » \ »%{User-Agent}i\ » %I %O » combinedio

</IfModule>

#

# The location and format of the access logfile (Common Logfile Format).

# If you do not define any access logfiles within a <VirtualHost>

# container, they will be logged here.  Contrariwise, if you *do*

# define per-<VirtualHost> access logfiles, transactions will be

# logged therein and *not* in this file.

#

CustomLog « logs/access.log » common

#

# If you prefer a logfile with access, agent, and referer information

# (Combined Logfile Format) you can use the following directive.

#

#CustomLog « logs/access.log » combined

</IfModule>

<IfModule alias_module>

#

# Redirect: Allows you to tell clients about documents that used to

# exist in your server’s namespace, but do not anymore. The client

# will make a new request for the document at its new location.

# Example:

# Redirect permanent /foo http://PC-de-Ali/bar

#

# Alias: Maps web paths into filesystem paths and is used to

# access content that does not live under the DocumentRoot.

# Example:

# Alias /webpath /full/filesystem/path

#

# If you include a trailing / on /webpath then the server will

# require it to be present in the URL.  You will also likely

# need to provide a <Directory> section to allow access to

# the filesystem path.

#

# ScriptAlias: This controls which directories contain server scripts.

# ScriptAliases are essentially the same as Aliases, except that

# documents in the target directory are treated as applications and

# run by the server when requested rather than as documents sent to the

# client.  The same rules about trailing « / » apply to ScriptAlias

# directives as to Alias.

#

ScriptAlias /cgi-bin/ « C:\Load-balancer_Apache2_Tomcat\Apache2.2/cgi-bin/ »

</IfModule>

<IfModule cgid_module>

#

# ScriptSock: On threaded servers, designate the path to the UNIX

# socket used to communicate with the CGI daemon of mod_cgid.

#

#Scriptsock logs/cgisock

</IfModule>

#

# « C:\Load-balancer_Apache2_Tomcat\Apache2.2/cgi-bin » should be changed to whatever your ScriptAliased

# CGI directory exists, if you have that configured.

#

<Directory « C:\Load-balancer_Apache2_Tomcat\Apache2.2/cgi-bin »>

AllowOverride None

Options None

Order allow,deny

Allow from all

</Directory>

#

# DefaultType: the default MIME type the server will use for a document

# if it cannot otherwise determine one, such as from filename extensions.

# If your server contains mostly text or HTML documents, « text/plain » is

# a good value.  If most of your content is binary, such as applications

# or images, you may want to use « application/octet-stream » instead to

# keep browsers from trying to display binary files as though they are

# text.

#

DefaultType text/plain

<IfModule mime_module>

#

# TypesConfig points to the file containing the list of mappings from

# filename extension to MIME-type.

#

TypesConfig conf/mime.types

#

# AddType allows you to add to or override the MIME configuration

# file specified in TypesConfig for specific file types.

#

#AddType application/x-gzip .tgz

#

# AddEncoding allows you to have certain browsers uncompress

# information on the fly. Note: Not all browsers support this.

#

#AddEncoding x-compress .Z

#AddEncoding x-gzip .gz .tgz

#

# If the AddEncoding directives above are commented-out, then you

# probably should define those extensions to indicate media types:

#

AddType application/x-compress .Z

AddType application/x-gzip .gz .tgz

#

# AddHandler allows you to map certain file extensions to « handlers »:

# actions unrelated to filetype. These can be either built into the server

# or added with the Action directive (see below)

#

# To use CGI scripts outside of ScriptAliased directories:

# (You will also need to add « ExecCGI » to the « Options » directive.)

#

AddHandler cgi-script .cgi

# For type maps (negotiated resources):

#AddHandler type-map var

#

# Filters allow you to process content before it is sent to the client.

#

# To parse .shtml files for server-side includes (SSI):

# (You will also need to add « Includes » to the « Options » directive.)

#

#AddType text/html .shtml

#AddOutputFilter INCLUDES .shtml

</IfModule>

#

# The mod_mime_magic module allows the server to use various hints from the

# contents of the file itself to determine its type.  The MIMEMagicFile

# directive tells the module where the hint definitions are located.

#

#MIMEMagicFile conf/magic

#

# Customizable error responses come in three flavors:

# 1) plain text 2) local redirects 3) external redirects

#

# Some examples:

#ErrorDocument 500 « The server made a boo boo. »

#ErrorDocument 404 /missing.html

#ErrorDocument 404 « /cgi-bin/missing_handler.pl »

#ErrorDocument 402 http://PC-de-Ali/subscription_info.html

#

#

# EnableMMAP and EnableSendfile: On systems that support it,

# memory-mapping or the sendfile syscall is used to deliver

# files.  This usually improves server performance, but must

# be turned off when serving from networked-mounted

# filesystems or if support for these functions is otherwise

# broken on your system.

#

#EnableMMAP off

#EnableSendfile off

# Supplemental configuration

#

# The configuration files in the conf/extra/ directory can be

# included to add extra features or to modify the default configuration of

# the server, or you may simply copy their contents here and change as

# necessary.

# Server-pool management (MPM specific)

#Include conf/extra/httpd-mpm.conf

# Multi-language error messages

#Include conf/extra/httpd-multilang-errordoc.conf

# Fancy directory listings

#Include conf/extra/httpd-autoindex.conf

# Language settings

#Include conf/extra/httpd-languages.conf

# User home directories

#Include conf/extra/httpd-userdir.conf

# Real-time info on requests and configuration

#Include conf/extra/httpd-info.conf

# Virtual hosts

Include conf/extra/httpd-vhosts.conf

# Local access to the Apache HTTP Server Manual

#Include conf/extra/httpd-manual.conf

# Distributed authoring and versioning (WebDAV)

#Include conf/extra/httpd-dav.conf

# Various default settings

#Include conf/extra/httpd-default.conf

# Secure (SSL/TLS) connections

#Include conf/extra/httpd-ssl.conf

#

# Note: The following must must be present to support

#       starting without SSL on platforms with no /dev/random equivalent

#       but a statically compiled-in mod_ssl.

#

<IfModule ssl_module>

SSLRandomSeed startup builtin

SSLRandomSeed connect builtin

</IfModule>

#JkMount /*.jsp loadbalancer

#JkMount /servlet/* loadbalancer*

#

# Allow server status reports generated by mod_status,

# with the URL of http://servername/server-status

# Change the « .example.com » to match your domain to enable.

#

<Location /server-status>

SetHandler server-status

Order deny,allow

Deny from all

Allow from .example.com

</Location>

#

# Allow remote server configuration reports, with the URL of

http://servername/server-info (requires that mod_info.c be loaded).

# Change the « .example.com » to match your domain to enable.

#

<Location /server-info>

SetHandler server-info

Order deny,allow

Deny from all

Allow from .example.com

</Location>

b-     Installation des Tomcat

Pour l’installation des Tomcat vous pouvez  télécharger la dernière version (Windows dans mon cas ) à partir de lien suivant http://tomcat.apache.org/tomcat-7.0-doc/appdev/installation.html

Installation membre 01

1-      Installation de Tomcat 1

2-      Changer le fichier server.xml comme ci-dessous

<?xml version=’1.0′ encoding=’utf-8′?>

<!–

Licensed to the Apache Software Foundation (ASF) under one or more

contributor license agreements.  See the NOTICE file distributed with

this work for additional information regarding copyright ownership.

The ASF licenses this file to You under the Apache License, Version 2.0

(the « License »); you may not use this file except in compliance with

the License.  You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software

distributed under the License is distributed on an « AS IS » BASIS,

WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

See the License for the specific language governing permissions and

limitations under the License.

–>

<!– Note:  A « Server » is not itself a « Container », so you may not

define subcomponents such as « Valves » at this level.

Documentation at /docs/config/server.html

–>

<Server port= »11005″ shutdown= »SHUTDOWN »>

<!–APR library loader. Documentation at /docs/apr.html –>

<Listener className= »org.apache.catalina.core.AprLifecycleListener » SSLEngine= »on » />

<!–Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html –>

<Listener className= »org.apache.catalina.core.JasperListener » />

<!– Prevent memory leaks due to use of particular java/javax APIs–>

<Listener className= »org.apache.catalina.core.JreMemoryLeakPreventionListener » />

<!– JMX Support for the Tomcat server. Documentation at /docs/non-existent.html –>

<Listener className= »org.apache.catalina.mbeans.ServerLifecycleListener » />

<Listener className= »org.apache.catalina.mbeans.GlobalResourcesLifecycleListener » />

<!– Global JNDI resources

Documentation at /docs/jndi-resources-howto.html

–>

<GlobalNamingResources>

<!– Editable user database that can also be used by

UserDatabaseRealm to authenticate users

–>

<Resource name= »UserDatabase » auth= »Container »

type= »org.apache.catalina.UserDatabase »

description= »User database that can be updated and saved »

factory= »org.apache.catalina.users.MemoryUserDatabaseFactory »

pathname= »conf/tomcat-users.xml » />

</GlobalNamingResources>

<!– A « Service » is a collection of one or more « Connectors » that share

a single « Container » Note:  A « Service » is not itself a « Container »,

so you may not define subcomponents such as « Valves » at this level.

Documentation at /docs/config/service.html

–>

<Service name= »Catalina »>

<!–The connectors can use a shared executor, you can define one or more named thread pools–>

<!–

<Executor name= »tomcatThreadPool » namePrefix= »catalina-exec- »

maxThreads= »150″ minSpareThreads= »4″/>

–>

<!– A « Connector » represents an endpoint by which requests are received

and responses are returned. Documentation at :

Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)

Java AJP  Connector: /docs/config/ajp.html

APR (HTTP/AJP) Connector: /docs/apr.html

Define a non-SSL HTTP/1.1 Connector on port 8080

–>

<!–Connector port= »8080″ protocol= »HTTP/1.1″

connectionTimeout= »20000″

redirectPort= »8443″ /–>

<Connector port= »8001″ protocol= »HTTP/1.1″

               connectionTimeout= »20000″

               redirectPort= »8443″ />

<!– A « Connector » using the shared thread pool–>

<!–

<Connector executor= »tomcatThreadPool »

port= »8080″ protocol= »HTTP/1.1″

connectionTimeout= »20000″

redirectPort= »8443″ />

–>

<!– Define a SSL HTTP/1.1 Connector on port 8443

This connector uses the JSSE configuration, when using APR, the

connector should be using the OpenSSL style configuration

described in the APR documentation –>

<!–

<Connector port= »8443″ protocol= »HTTP/1.1″ SSLEnabled= »true »

maxThreads= »150″ scheme= »https » secure= »true »

clientAuth= »false » sslProtocol= »TLS » />

–>

<!– Define an AJP 1.3 Connector on port 8009 –>

<Connector port= »11009″ protocol= »AJP/1.3″ redirectPort= »8443″ />

<!– An Engine represents the entry point (within Catalina) that processes

every request.  The Engine implementation for Tomcat stand alone

analyzes the HTTP headers included with the request, and passes them

on to the appropriate Host (virtual host).

Documentation at /docs/config/engine.html –>

<!– You should set jvmRoute to support load-balancing via AJP ie :

<Engine name= »Catalina » defaultHost= »localhost » jvmRoute= »jvm1″>

–>

    <Engine name= »Catalina » defaultHost= »localhost » jvmRoute= »tomcat1″>

<!–For clustering, please take a look at documentation at:

/docs/cluster-howto.html  (simple how to)

/docs/config/cluster.html (reference documentation) –>

<!–

<Cluster className= »org.apache.catalina.ha.tcp.SimpleTcpCluster »/>

–>

<!– The request dumper valve dumps useful debugging information about

the request and response data received and sent by Tomcat.

Documentation at: /docs/config/valve.html –>

<!–

<Valve className= »org.apache.catalina.valves.RequestDumperValve »/>

–>

<!– This Realm uses the UserDatabase configured in the global JNDI

resources under the key « UserDatabase ».  Any edits

that are performed against this UserDatabase are immediately

available for use by the Realm.  –>

<Realm className= »org.apache.catalina.realm.UserDatabaseRealm »

resourceName= »UserDatabase »/>

<!– Define the default virtual host

Note: XML Schema validation will not work with Xerces 2.2.

–>

<Host name= »localhost »  appBase= »webapps »

unpackWARs= »true » autoDeploy= »true »

xmlValidation= »false » xmlNamespaceAware= »false »>

<!– SingleSignOn valve, share authentication between web applications

Documentation at: /docs/config/valve.html –>

<!–

<Valve className= »org.apache.catalina.authenticator.SingleSignOn » />

–>

<!– Access log processes all example.

Documentation at: /docs/config/valve.html –>

<!–

<Valve className= »org.apache.catalina.valves.AccessLogValve » directory= »logs »

prefix= »localhost_access_log. » suffix= ».txt » pattern= »common » resolveHosts= »false »/>

–>

</Host>

</Engine>

</Service>

</Server>

Installation membre 02

1-      Installation de Tomcat 2

2-      Changer le fichier server.xml comme ci-dessous

<?xml version=’1.0′ encoding=’utf-8′?>

<!–

Licensed to the Apache Software Foundation (ASF) under one or more

contributor license agreements.  See the NOTICE file distributed with

this work for additional information regarding copyright ownership.

The ASF licenses this file to You under the Apache License, Version 2.0

(the « License »); you may not use this file except in compliance with

the License.  You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software

distributed under the License is distributed on an « AS IS » BASIS,

WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

See the License for the specific language governing permissions and

limitations under the License.

–>

<!– Note:  A « Server » is not itself a « Container », so you may not

define subcomponents such as « Valves » at this level.

Documentation at /docs/config/server.html

–>

<Server port= » 11205″ shutdown= »SHUTDOWN »>

<!–APR library loader. Documentation at /docs/apr.html –>

<Listener className= »org.apache.catalina.core.AprLifecycleListener » SSLEngine= »on » />

<!–Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html –>

<Listener className= »org.apache.catalina.core.JasperListener » />

<!– Prevent memory leaks due to use of particular java/javax APIs–>

<Listener className= »org.apache.catalina.core.JreMemoryLeakPreventionListener » />

<!– JMX Support for the Tomcat server. Documentation at /docs/non-existent.html –>

<Listener className= »org.apache.catalina.mbeans.ServerLifecycleListener » />

<Listener className= »org.apache.catalina.mbeans.GlobalResourcesLifecycleListener » />

<!– Global JNDI resources

Documentation at /docs/jndi-resources-howto.html

–>

<GlobalNamingResources>

<!– Editable user database that can also be used by

UserDatabaseRealm to authenticate users

–>

<Resource name= »UserDatabase » auth= »Container »

type= »org.apache.catalina.UserDatabase »

description= »User database that can be updated and saved »

factory= »org.apache.catalina.users.MemoryUserDatabaseFactory »

pathname= »conf/tomcat-users.xml » />

</GlobalNamingResources>

<!– A « Service » is a collection of one or more « Connectors » that share

a single « Container » Note:  A « Service » is not itself a « Container »,

so you may not define subcomponents such as « Valves » at this level.

Documentation at /docs/config/service.html

–>

<Service name= »Catalina »>

<!–The connectors can use a shared executor, you can define one or more named thread pools–>

<!–

<Executor name= »tomcatThreadPool » namePrefix= »catalina-exec- »

maxThreads= »150″ minSpareThreads= »4″/>

–>

<!– A « Connector » represents an endpoint by which requests are received

and responses are returned. Documentation at :

Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)

Java AJP  Connector: /docs/config/ajp.html

APR (HTTP/AJP) Connector: /docs/apr.html

Define a non-SSL HTTP/1.1 Connector on port 8080

–>

<!–Connector port= »8080″ protocol= »HTTP/1.1″

connectionTimeout= »20000″

redirectPort= »8443″ /–>

<Connector port= »8002″ protocol= »HTTP/1.1″

               connectionTimeout= »20000″

               redirectPort= »8443″ />

<!– A « Connector » using the shared thread pool–>

<!–

<Connector executor= »tomcatThreadPool »

port= »8080″ protocol= »HTTP/1.1″

connectionTimeout= »20000″

redirectPort= »8443″ />

–>

<!– Define a SSL HTTP/1.1 Connector on port 8443

This connector uses the JSSE configuration, when using APR, the

connector should be using the OpenSSL style configuration

described in the APR documentation –>

<!–

<Connector port= »8443″ protocol= »HTTP/1.1″ SSLEnabled= »true »

maxThreads= »150″ scheme= »https » secure= »true »

clientAuth= »false » sslProtocol= »TLS » />

–>

<!– Define an AJP 1.3 Connector on port 8009 –>

<Connector port= »12009″ protocol= »AJP/1.3″ redirectPort= »8443″ />

<!– An Engine represents the entry point (within Catalina) that processes

every request.  The Engine implementation for Tomcat stand alone

analyzes the HTTP headers included with the request, and passes them

on to the appropriate Host (virtual host).

Documentation at /docs/config/engine.html –>

<!– You should set jvmRoute to support load-balancing via AJP ie :

<Engine name= »Catalina » defaultHost= »localhost » jvmRoute= »jvm1″>

–>

    <Engine name= »Catalina » defaultHost= »localhost » jvmRoute= »tomcat2″>

<!–For clustering, please take a look at documentation at:

/docs/cluster-howto.html  (simple how to)

/docs/config/cluster.html (reference documentation) –>

<!–

<Cluster className= »org.apache.catalina.ha.tcp.SimpleTcpCluster »/>

–>

<!– The request dumper valve dumps useful debugging information about

the request and response data received and sent by Tomcat.

Documentation at: /docs/config/valve.html –>

<!–

<Valve className= »org.apache.catalina.valves.RequestDumperValve »/>

–>

<!– This Realm uses the UserDatabase configured in the global JNDI

resources under the key « UserDatabase ».  Any edits

that are performed against this UserDatabase are immediately

available for use by the Realm.  –>

<Realm className= »org.apache.catalina.realm.UserDatabaseRealm »

resourceName= »UserDatabase »/>

<!– Define the default virtual host

Note: XML Schema validation will not work with Xerces 2.2.

–>

<Host name= »localhost »  appBase= »webapps »

unpackWARs= »true » autoDeploy= »true »

xmlValidation= »false » xmlNamespaceAware= »false »>

<!– SingleSignOn valve, share authentication between web applications

Documentation at: /docs/config/valve.html –>

<!–

<Valve className= »org.apache.catalina.authenticator.SingleSignOn » />

–>

<!– Access log processes all example.

Documentation at: /docs/config/valve.html –>

<!–

<Valve className= »org.apache.catalina.valves.AccessLogValve » directory= »logs »

prefix= »localhost_access_log. » suffix= ».txt » pattern= »common » resolveHosts= »false »/>

–>

</Host>

</Engine>

</Service>

</Server>

III-            Configuration de load-Balanceur avec mod_balancer

c-      Configuration apache loadBalaceur

Ajouter le VH ci-dessous dans le fichier de VHs d’apache

<VirtualHost *:88>

ServerName test.load-balancer.ali

DocumentRoot « C:\Load-balancer_Apache2_Tomcat\Apache2.2 »

ProxyPass / balancer://wwwCluster/ stickysession=JSESSIONID|jsessionid

<Proxy balancer://wwwCluster>

BalancerMember http://localhost:8001 disablereuse=On route=tomcat1

BalancerMember http://localhost:8002 disablereuse=On route=tomcat2

</Proxy>

ErrorLog « logs/httpsvnerror.balancer.log »

CustomLog « logs/httpsvnaccess.balancer.log » common

RewriteLog « logs/rewritefichier.balancer.log »

RewriteLogLevel 9

LogLevel  Debug

</VirtualHost>

d-     Configuration des Tomcat

Pour le serveur Tomcat il faut rajouter l’attribut « jvmRoute » correspondant qui a « tomcat1 » pour le Tomcat 01 « tomcat2 » pour le Tomcat 02 dans notre l’exemple

Membre 01

<Engine name= »Catalina » defaultHost= »localhost » jvmRoute= »tomcat1″>

Membre 02

<Engine name= »Catalina » defaultHost= »localhost » jvmRoute= »tomcat2″>

Installation de CA (Certificate Authority)


1     
Introduction

Lorsque vous créez votre propre autorité de certification CA, vous pouvez l’enregistrer dans la liste des certificats d’autorités de votre navigateur, et tout certificat signé par votre CA sera automatiquement approuvé par votre navigateur.

Et si vous voulez utiliser un certificat client (pour l’authentification client), vous pouvez simplement importer le certificat CA dans le magasin de confiance côté serveur. De cette façon, un certificat client signé par votre CA sera automatiquement approuvé par le serveur. Ainsi, vous pouvez créer plusieurs certificats client, tous signés par votre autorité de certification, sans avoir à les importer dans votre magasin de confiance serveur

 

2      Créer votre propre CA pour Tomcat

2.1       Création de clé privé

Une fois openssl est correctement installé et configuré, vous pouvez commencer à créer votre propre autorité de certification.

Créer votre clé privée ca.key dans le répertoire privé avec la commande suivante:

Commande:

[prompt]$ sudo openssl genrsa -des3 -out /private/ca.key 1024

 Exécution:

[prompt]$  sudo openssl genrsa -des3 -out /private/ca.key 1024

Generating RSA private key, 1024 bit long modulus

………..++++++

…….++++++

e is 65537 (0x10001)

Enter pass phrase for /private/ca.key:

Verifying – Enter pass phrase for /private/ca.key:

 

2.2       Auto-signé le CA Certificate

Après vous pouvez auto-signer votre certificat CA pour une longue période de temps si vous le souhaitez. Spécifiez des informations concernant votre pays, localisation, etc… Ces informations seront lisibles dans un navigateur ou avec un outil comme outil keytool.

Commande:

[prompt]$ sudo openssl req -new -x509 -key /private/ca.key -out public/ca.crt -days 3600

Exécution:

[prompt]$ sudo openssl req -new -x509 -key /private/ca.key -out public/ca.crt -days 3600

Enter pass phrase for /private/ca.key:

You are about to be asked to enter information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter ‘.’, the field will be left blank.

—–

Country Name (2 letter code) [GB]:FR

State or Province Name (full name) [Berkshire]:State

Locality Name (eg, city) [Newbury]:City

Organization Name (eg, company) [My Company Ltd]:Company Name

Organizational Unit Name (eg, section) []:OU

Common Name (eg, your name or your server’s hostname) []:Name

Email Address []:admin@company.com

 

Maintenant nous avons notre certificat de CA, et nous pouvons l’utiliser pour signer notre certificat de serveur. L’avantage de la signature de certificat de serveur est toujours le même que pour le certificat du client. Une fois la validité du certificat du serveur est expirée, vous devez le renouveler. Si vous gardez le même CA, pas besoin de mettre à jour le magasin de confiance de vos clients parce qu’ils ne contiennent que le certificat de CA. Ainsi, vous pouvez remplacer plusieurs fois le certificat de serveur que vous avez fourni et garder le même certificat CA.

2.3       Créer et signé le certificat serveur

Utilisez les commandes suivantes pour créer votre certificat de serveur avec openssl :

Nous avons d’abord générer la clé privée du serveur codé ( -des3 ), et protégé par un mot de passe fort.

Commande:

[prompt]$ sudo openssl genrsa -des3 -out /private/server.key 1024

Exécution:

[prompt]$ sudo openssl genrsa -des3 -out private/server.key 1024

Generating RSA private key, 1024 bit long modulus

……………..++++++

………………………………………………………………………………………………++++++

e is 65537 (0x10001)

Enter pass phrase for private/server.key:

Verifying – Enter pass phrase for private/server.key:

Ensuite, nous pouvons créer notre demande de signature de serveur de certificat (csr)

Commande:

[prompt]$ sudo openssl req -new -key private/server.key -out certificate/server.csr

Exécution:

[prompt]$ sudo openssl req -new -key private/server.key -out certificate/server.csr

Enter pass phrase for private/server.key:

You are about to be asked to enter information that will be incorporated

into your certificate request.

What you are about to enter is what is called a Distinguished Name or a DN.

There are quite a few fields but you can leave some blank

For some fields there will be a default value,

If you enter ‘.’, the field will be left blank.

—–

Country Name (2 letter code) [GB]:FR

State or Province Name (full name) [Berkshire]:State

Locality Name (eg, city) [Newbury]:City

Organization Name (eg, company) [My Company Ltd]:Company Name

Organizational Unit Name (eg, section) []:Section

Common Name (eg, your name or your server’s hostname) []:Name

Email Address []:admin@company.com

Please enter the following ‘extra’ attributes

to be sent with your certificate request

A challenge password []:password

An optional company name []:Company Name

Puis le signer avec notre propre autorité de certification.

Commande:

 [prompt]$ sudo openssl x509 -req -days 360 -in certificate/server.csr -CA public/ca.crt -CAkey private/ca.key -CAcreateserial -out public/server.crt

Exécution:

[prompt]$ sudo openssl x509 -req -days 360 -in certificate/server.csr -CA public/ca.crt -CAkey private/ca.key -CAcreateserial -out public/server.crt

Signature ok

subject=/C=FR/ST=State/L=City/O=Company Name/OU=section/CN=Name/emailAddress=admin@company.com

Getting CA Private Key

Enter pass phrase for private/ca.key:

 

2.4       Création de keyStore et installation sous Tomcat

Alors maintenant, nous avons tout ce qu’il faut faire un fichier pkcs12. Plus tard, quand nous allons créer un certificat client (pour l’authentification client), nous aurons besoin du certificat pkcs12 pour les navigateurs, car il contient la clé privée et publique pour le côté client. Dans ce cas, le client va envoyer un message au serveur https codé avec la clé privée de certificat client, le serveur va décrypter le message avec la clé publique de certificat client et de le comparer avec le certificat client dans son magasin de confiance. Si elle correspond, le serveur va approuver le certificat client et nous appelons cela l’authentification du client processus.

Au début il faut créer le fichier pkcs12 (avec server.crt et server.key) et le convertir à un JKS keystore: server.jks. Ce magasin de clés contient la clé privée et publique nécessaire pour chiffrer un message côté serveur pour le serveur Tomcat.

Nous créons notre fichier pkcs12 avec openssl avec la commande suivante:

Commande:

[prompt]$ sudo openssl pkcs12 -export -in public/server.crt -inkey private/server.key -out certificate/server.p12

Exécution:

[prompt]$ sudo openssl pkcs12 -export -in public/server.crt -inkey private/server.key -out certificate/server.p12

Enter pass phrase for private/server.key:

Enter Export Password:

Verifying – Enter Export Password:

Nous devons maintenant transformer le pkcs12 à un fichier de clés.

Commande:

[prompt]$ sudo keytool -importkeystore -srckeystore certificate/server.p12 -srcstoretype pkcs12 -destkeystore certificate/server.jks -deststoretype jks -deststorepass password

Exécution:

[prompt]$ sudo keytool -importkeystore -srckeystore certificate/server.p12 -srcstoretype pkcs12 -destkeystore certificate/server.jks -deststoretype jks -deststorepass password

Saisissez le mot de passe du keystore sourceآ :

L’entrée de l’alias 1 a été importée.

Commande dimportation exécutée entrées importées, échec ou annulation de {1} entrées

[prompt]$

Article2 – Les outils de mise en place d’usine à sites

Les outils CMS facilitent l’industrialisation de déploiement de sites multiples avec des fonctionnalités Usine à site et avec des assistants de création et de duplication des sites.

On peut trouvez aussi la notion de wizard ou assistant de création/duplication de site/sous-site dans quelques CMS qui est définie par l’assemblage des objets suivants:

– Constituer son Front-Office

– une arborescence de navigation c’est-à-dire un site plan,

– des gabarits de page branchés sur la racine de cette arborescence

– des gabarits de contenu liés aux gabarits de page

– Organiser son Back-Office

– un Espace de travail

– des types de contenus, de portlets, de formulaires auxquels sont associés des modèles de workflows éditoriaux,

– des groupes qui définissent des droits, au sens rôle, peuvent être référencés par les modèles de workflow et attribués aux membres de l’équipe éditoriale.

Les CMS offrent par ailleurs un ensemble de fonctionnalités Usine à sites, permettant de modéliser et de construire des sites/sous-sites :

– la création de modèle de portail ou de modèle de site,

– la possibilité de copier toute l’arborescence d’un site,

– la possibilité de rediriger un portail vers un autre portail,

– un assistant de création d’un site à partir d’un modèle de site,

– le partage de contenu entre deux ou plusieurs sites

Article 1 : Notion de mise en œuvre d’une usine à site

Une usine à sites est une solution multi-sites très souple et capable de supporter des besoins très variés.

Les axes sur lesquelles on peut agir en générale sont les suivantes :

– de multiples site/sous-sites (au niveau du Front-Office), chacun disposant de son unité de navigation et graphique indépendante ou partager,

– de multiples Espaces de travail (au niveau du Back-office), chaque équipe éditoriale (ou équipe projet) disposant ainsi de son propre Back-office (ou le même back office avec des droits d’accès spécifique),

– de multiples sites physiques en utilisant la solution duplication ou synchronisation qui nous permet de distribuer ou partager physiquement ou logiquement les référentiels de contenus.

Ainsi,  Une usine à site permet plus facilement de mettre en œuvre soit :

– Un Back-office et plusieurs Front-Office : des sites en marque blanche, gérés à partir d’un back-office commun,

– Un Front-Office et plusieurs Back-office : des espaces collaboratifs multiples indépendants,

– Un Back-office et un Front-office – une relation un pour un, un Back-office de contribution pour chaque site Front-office,

Par exemple, des intranets métier au sein d’une infrastructure d’intranet d’entreprise avec autonomie de chaque entité métier dans le respect des chartes graphiques, ergonomiques et organisationnelles définies par l’entreprise, ou des espaces collaboratifs partagés.

Précédent <                              Sommaine                               >Suivant

Les usines à sites entre la théorie et la pratique

La refonte des systèmes d’information Web est un projet de plus en plus adopté par beaucoup de sociétés en France et surtout les mutli-national françaises

 

Dans cette série d’articles je vais essayer de vous donner un petit retour d’expérience sur l’étude et la mise en place de deux usines à sites pour deux grands groupes Français

 

Et vous monter les pours et les contres de la mise en place d’une solution industrialisée de création de sites

L’arrivée de la nouvelle version de WebCenter Sites WCS-11gr

Oracle annonce l’arrivée de la version WebCenter Sites 11Gr (Fatwire 8). Après plusieurs reports, principalement à cause du rachat de Fatwire par Oracle,  le package d’installation de WCSites est disponible sur la plateforme de téléchargement d’oracle http://www.oracle.com/technetwork/middleware/webcenter/sites/downloads/index.html

Cette version est la première version majeur distribuer par oracle même si la plus grande partie a été developper par l’ancienne équipe de Fatwire.

Cette Release de WCSites 11g R1 (11.1.1.6.0) inclus plusieurs améliorations, et surtout, le travail de refonte sur l’interface de contribution qui était un vrai handicape pour les anciennes versions de Fatwire (ex. 7.5)

Ci-dessous un petit résumé des nouvelles fonctionnalités de cette version

1-     Nouvelle interface de contribution

a.     Nouvelle interface avec des onglets et mode navigation plus facile

b.     Amélioration de support de glisser-déplacer (anciennement siteIn)

Cette nouvelle interface offre un espace de travail très pratique avec un mode d’édition sur la prévisualisation et de la contribution avec glisser-déplacer bien fait

c.     Amélioration de la présentation des résultats des recherches

d.     Amélioration du processus d’approbation : ils ont ajoutés la possibilité d’apporber un Asset avec ces dépendances en une seule opération

e.     Un nouveau skin pour l’interface de contribution avec la possibilité de personnalisation par profil

2-     De nouvelles fonctionalités pour l’integeration avec les reseaux sociaux

a.     Widget sondage

b.     Widget d’évaluation

c.     Barre de connexion intégrable dans le site front

d.     Et d’autres améliorations sur les widgets existantes

Ci-dessous le nouveau packaging Oracle des composants Fatwire

WebCenter Sites (anciennement FatWire Content Server)

• Community (anciennement FatWire Community Server)

• Targeting (anciennement FatWire Engage)

• Analytics (anciennement FatWire Analytics)

• Gadgets (anciennement FatWire Gadget Server)

• Mobility Server (anciennement FatWire Mobility Server)

• Satellite Server (anciennement FatWire Satellite Server)

• WebCenter Sites Content Integration Platforms for EMC and SharePoint (anciennement

FatWire Content Integration Platforms for EMC and SharePoint).

Pour plus d’infos

http://www.oracle.com/technetwork/middleware/webcenter/sites/overview/index.html