Anda di halaman 1dari 19

In this section we will configure the various services and get an understanding of what

they do.
1. Add a file system to the NEARLINE storage group
1. Open a web browser, and navigate to the JMX console.
e.g. http://localhost:8080/jmx-console
2. Locate the dcm4chee.archive section, and click on
group=NEARLINE_STORAGE,service=FileSystemMgt
3. Scroll down to the List of MBean Operations section and find the
addRWFileSystem() operation. Enter in a path for nearline storage. This will
not actually be used, since we are going to store the files in S3, but we need
to configure something here so that the system knows we are using the
NEARLINE storage. I have entered: tar:/storage/nearline. Note the tar prefix.
This tells dcm4chee that all of the files going to this storage group will be
tarred up.
4. Click Invoke to create add the file system record into the database.
2. Configure the FileCopy service
The FileCopy service is responsible for physically copying files to your nearline
storage. This is where we configure our particular plugin.
1. Specify a value for the DestinationFileSystem. This value should equal the
value you specified for your nearline storage file system so that dcm4chee
knows that this FileCopy service is associated with that file system
configuration. e.g. tar:/storage/nearline
2. Specify a value for HSMModulServicename. This should be the JMX
ObjectName of our S3 plugin module, and enables it for use within this
service when storing and retrieving files. Enter:
dcm4chee.archive:service=FileCopyHSMModule,type=S3
3. Leave the FileStatus set to TO_ARCHIVE. This will be the status of files stored
in S3. When the SyncFileStatus service runs and verifies that these files are
stored properly, it will change the status to ARCHIVED.
4. Click Apply Changes.
3. Configure the TarRetriever service
This service is responsible for fetching and extracting tar files from the nearline
storage during retrieve requests.
1. Specify a value for HSMModulServicename. This should be the JMX
ObjectName of our S3 plugin module, and enables it for use within this
service when storing and retrieving files. Enter:
dcm4chee.archive:service=FileCopyHSMModule,type=S3
2. Click Apply Changes.
4. Configure the S3 HSMModule (service=FileCopyHSMModule,type=S3)
Now we are ready to configure the S3 integration. Here are the main things to
configure here:
1. Amazon S3 bucket name
2. Amazon AWS Access Key
3. Amazon AWS Secret Key (this is write only, and you will not see a value after
clicking Apply Changes)
4. The Outgoing and Incoming directories in this configuration are temporary
storage areas that are used for tarring and untarring files.
5. Click Apply Changes.
5. Configure the SyncFileStatus service
This service will run periodically and verify the files that have been stored to S3. It
will fetch the tar files and ensure that the correct files are contained within. Once it
verifies the files, it will update the file status in the database to ARCHIVED.
1. Specify a value for the MonitoredFileSystem. This value should equal the
value you specified for your nearline storage file system so that dcm4chee
knows that this service is associated with that file system configuration. e.g.
tar:/storage/nearline
2. Specify a value for HSMModulServicename. This should be the JMX
ObjectName of our S3 plugin module, and enables it for use within this
service when fetching tar files. Enter:
dcm4chee.archive:service=FileCopyHSMModule,type=S3
3. Specify a TaskInterval. It is set to NEVER by default, so you you should set it
to a proper interval that is good for your workflow, preferably not during peak
business hours.

Summary
At this point you should be able to store DICOM objects to dcm4chee and it will archive
them to Amazon S3. The S3 key will be a hierarchical path, which should look familiar to
you if you have looked at how dcm4chee stores objects on a file system. For example, here
is a screenshot of my Amazon Management Console showing the archived path:

In the database, the files should have a changed file status, and should reflect their tar
path as shown in this screenshot:

If you cant read it in the picture, the filepaths look like


this: 2011/8/3/16/745ABFED/CF024730-323397.tar!CF024730/000004A0

Note the tar designator in the path. This tells the system that the file is contained within
a tar file.

Setting up Retention Rules to Remove Studies from Online


We probably dont want two copies of the study forever, so lets set up some rules now so
that studies are deleted from the ONLINE storage group after a period of time. This will
leave the remaining copy on S3.

Note that this is only an example. Your retention/deletion requirements may differ!
1. Configure deletion of ONLINE studies
1. Open a web browser, and navigate to the JMX console.
e.g. http://localhost:8080/jmx-console
2. Locate the dcm4chee.archive section, and click on
group=ONLINE_STORAGE,service=FileSystemMgt
3. Set DeleteStudyIfNotAccessedFor = your retention period (52w or whatever
your SLA requires)
4. Set DeleteStudyOnlyIfStorageNotCommited = false
5. Set DeleteStudyOnlyIfCopyOnMedia = false
6. Set DeleteStudyOnlyIfCopyOnReadOnlyFileSystem = false
7. Set ScheduleStudiesForDeletionInterval = a reasonable time interval for the
system to check the database and schedule deletion jobs.
8. Set DeleteStudyOnlyIfCopyOnFileSystemOfFileSystemGroup =
NEARLINE_STORAGE
9. Set DeleteStudyOnlyIfCopyArchived = true (only delete studies that have been
verified by the SyncFileStatus service. If you dont care about that or are not
running that service, you can set this false.)
10.Click Apply Changes

At this point, dcm4chee will look for studies in ONLINE that meet these criteria and
schedule them for deletion. After they are deleted, and the only copy is on S3, a retrieve
request will trigger a fetch from Amazon. The tar file(s) will be fetched, images extracted
and sent to the destination.

Thats it!

Added by Damien Evans, last edited by Jan Pechanec on May 04, 2011 (view change)
DCM4CHEE will work with PostgreSQL 8.x. You may download the database software
from http://www.postgresql.org/

PostgreSQL 9.x
To use PostgreSQL 9.x - it is necessary to upgrade your Postgres driver in
<DCM4CHEE_HOME>/server/default/lib to the 9.0 version:

1. Download new from http://jdbc.postgresql.org/download.html - for example postgresql-9.0-


801.jdbc4.jar.
2. Delete the old one (postgresql-8.2-506.jdbc3.jar) and place there new jar file.

Very Basic Instructions


Setup PostgreSQL following instructions for your operating system.

Set permissions on Postgres database. The following setting will trust only connections
from the localhost, which is reasonable for a development machine, but may need to be
changed for production.
$PGDATA/pg_hba.conf:
# IPv4 local connections:
host all all 127.0.0.1/32 trust
Initiate the archive database instance: pacsdb using create DDL script dcm4chee-psql-
2.13.6/sql/create.psql
> export PGUSER=postgres
> createdb pacsdb
> psql pacsdb -f dcm4chee-psql-2.13.6/sql/create.psql

More Detailed Instructions (focused on Windows, but some


is applicable to other operating systems)
1. Install PostgreSQL using the installation wizard contained in the distribution.
2. Accept the default Service User name of postgres, and install as a Windows Service.
3. Name the database superuser postgres, with a password of your choice.
4. When going through the Wizard, at the Initialize database
cluster page, only select Accept connections on all addresses, not just
localhost if this database server will be serving information over the network or if
you intend on remotely accessing the database. If dcm4chee is installed and
running on the same computer as the database, this checkbox should not be
selected (i.e., the database will only accept connections from localhost).
5. After installation, start the PostgreSQL service.
6. Open pgAdmin (Start -> Programs -> PostgreSQL 8.2 -> pgAdmin III), and log in as
the postgres user.
7. Create a database called pacsdb (right click on Databases, and select New
Database). Ensure the owner is the postgres user. Be sure to specify UTF8 encoding
for the database.
8. Ensure that the pacsdb database is selected/highlighted; select Tools, and then
Query Tool from the top level menu within pgAdmin.
9. Within the pgAdmin Query Tool, Click on File -> Open. Open the
file /sql/create.psql within the dcm4chee installation directory. Highlight all of the
SQL statements, and click on the Execute Query button ( ). This should execute
without any errors.
10.In your dcm4chee installation, use a text editor to edit server/default/deploy/pacs-
postgres-ds.xml, and server/default/deploy/arr-psql-ds.xml. These files control the
dcm4chee connections to the database. pacs-postgres-ds.xml is for the main
archive application, and arr-psql-ds.xml is for the Audit Record Repository (ARR).
Note that if you opted to install the ARR on a separate machine or as a separate
process, this file will not be in your dcm4chee installation directory. Ensure the
connection information, including the user name and password, are correct.
11.It is now ready for dcm4chee to use it!

Advanced (optional) Instructions

Using a Different User as the Database Owner


Sometimes it is desirable to set up a specific user in postgres to handle the database
interaction. This may be a situation where the database is shared by multiple applications,
or you do not want to use the DB super user account within dcm4chee. In this case, you
will need to create a new user in postgres. When creating the database ensure that the
desired user is selected as the database owner (see step 7 above), and make the
necessary changes in the datasource config files (see step 10 above).

Using a Different Directory (tablespace) for dcm4chee Data


Postgres will by default store all of the dcm4chee data in a subdirectory the postgres
installation directory. This is the default tablespace. As you can imagine there are many
scenarios where this is not desirable; you may have a specific mount point or file system
that you want to store the database on. The two main use cases for this are:
You want to separate the database file system from the DICOM image file system for
performance reasons. I.e. to eliminate disk IO contention between image file
reads/writes, database file reads/writes, and/or application log file writes.
You have a separate disk or disk array that has a backup strategy in place, and/or is
managed in an HA or fault tolerant manner.

In this case, before you create the database (in step 7 above), create a tablespace.
1. Create a directory on the desired file system to hold the dcm4chee data files.
File System Permissions
Ensure that the postgres Service User has full control of the created directory, with
regards to Windows (or other operating system) Security/Permissions for the folder.
2. Right click on Tablespaces
3. Select New Tablespace for the database.
4. The tablespace location should be the directory you just created, and the owner
should be postgres (or other user if you're using a non-default user id for dcm4chee
database access). Name the tablespace dcm4chee.
5. Specify this tablespace when you create the dcm4chee database (see step 7
above).

Securing the Database Password on the File System


See How to configure secure DB password

Tuning
Your mileage may vary on this, as every installation is different. I have had success with
these parameters in some installations. Again, keep in mind that tuning is very specific to
the usage of the archive.

The following table lists some modifications that may be made to the default Postgres
settings.

VERSION: 8.3.1

Defaul
Property dcm4chee
t

autovacuum on on

max_connections 100 100


shared_buffers 32MB 512MB

temp_buffers 8MB 32MB

work_mem 1MB 4MB

maintenance_work_me
16MB 64MB
m

wal_buffers 64kB 256kB

checkpoint_segments 3 10

128M
effective_cache_size 512MB
B

port 5432 5432

Related Content:
http://www.kaltenbrunner.cc/blog/index.php?/archives/21-8.3-vs.-8.2-a-simple-
benchmark.html
http://www.powerpostgresql.com/PerfList

ySql 5.5+
The file create.mysql contains SQL instructions that populate the database with empty tables.

Currently, create.mysql contains instructions suitable for older versions of MySql.

Until this bug is fixed, create.mysql must be edited before it can be used with MySql 5.5+.

All instances of type= must be replaced with engine=


> mysql -uroot -p<root password>
mysql> create database pacsdb;
mysql> grant all on pacsdb.* to 'pacs'@'localhost' identified by 'pacs';
mysql> \q
> mysql -upacs -ppacs pacsdb < create.mysql

Create the ARR database


Now create the audit record repository (ARR) database.
> mysql -uroot -p<root password>
mysql> create database arrdb;
mysql> grant all on arrdb.* to 'arr'@'localhost' identified by 'arr';
mysql> \q

The tables will be created automatically when the audit record repository first starts up.

If desired, <deployment folder>\dcm4chee-arr-3.0.11-mysql\sql\dcm4chee-arr-mysql.ddl can be used to manually


create them now.

> mysql -uarr -parr arrdb < dcm4chee-arr-mysql.ddl

Adjust DB configuration if necessary


The database configuration information is contained within dcm4chee-<x.xx.x>-mysql/server/default/deploy/pacs-
mysql-ds.xml and arr-mysql-ds.xml.

If you're using a different database name, user name, etc., you'll need to update this file.

You should also optimize the database configuration in my.cnf or my.ini. See Getting Started with MySQL, Using
Option Files, and this post

DCM4CHEE 2.17.1 Installation Instructions


Version 2.17.1 is the latest version of the archive. It is recommended that you install this
version and not an older version because of improvements and bug fixes.

You will find similar (but not as detailed) installation documentation in the doc directory of
your dcm4chee distribution.

Minimum System Requirements


JDK 5 or higher
512 MB RAM
200 MB hard disk space (additional to archive storage disk space)
400 MHz CPU

Supported Databases
Need to install separately.

PostgreSQL 8.1+
MySQL 4.1+
Oracle 9i+
SQL Server 2000+
DB2 8.1+
Firebird 2.1+
Hypersonic SQL (Embedded in JBoss AS) - not suitable for production use!
Compression Notes
For image compression/decompression, dcm4chee utilizes Sun's Java Advanced Imaging
Image I/O Tools 1.1.
The binary distribution packages of dcm4chee already includes necessary JARs and
native libraries for Windows and Linux i586.
For Linux-amd64, and Solaris, you have to download the SW package from
Sun here yourself and replace the Linux version of libclib_jiio.so in dcm4chee-2.17.1-
xxx/bin/native from the JAI Image IO package for Linux-amd64 or Solaris. Or see this
post for a more recent version.
If you have already installed (or are installing) the JAI Image IO distribution
from http://download.java.net/media/jai-imageio/builds/release/1.1/ separate from
dcm4chee in a standalone or classpath fashion, you should remove the following
files, or potentially suffer from version conflicts:
$DCM4CHEE_HOME/server/default/lib/jai_imageio.jar
$DCM4CHEE_HOME/server/default/lib/clibwrapper_jiio.jar
$DCM4CHEE_HOME/bin/native/clib_jiio.dll
$DCM4CHEE_HOME/bin/native/clib_jiio_sse2.dll
$DCM4CHEE_HOME/bin/native/clib_jiio_util.dll
$DCM4CHEE_HOME/bin/native/libclib_jiio.so
For Mac OSX and 64 bit Java on Windows there is no free, native Image I/O
implementation available. Because of the missing implementations you have to
change a file in dcm4chee if you want to have the WADO service running. Please
have a look at step 8 to see how to change the file (or modify the settings via the
JMX console). See also:
http://java.net/jira/browse/JAI_IMAGEIO_CORE-103
http://java.net/jira/browse/JAI_IMAGEIO_CORE-62
FYI - You can run on 64-bit Windows, you just need to use the 32-bit JDK! In that
case you do not need to do the above steps of changing the WADO service.

Additional notes from Nicolas Roduit:

I want to clarify the big misunderstanding about the Java imageio library included in
dcm4chee and Weasis. I understand that the compression issue with imageio is confusing.
The imageio lib is used for reading and writing the different image formats (image
compression). It contains a pure java part (jai_imageio.jar) and a native part (set in
$DCM4CHEE_HOME/bin/native/). The native part only exist for the following operating
systems:
Windows 32-bit
Linux x86 32 and 64-bit
Solaris (all processors)
Thanks to Sun and Oracle for this limitation, but that's not all, some encoders and
decoders are exclusively available in the native part. That means NOT available in
the pure java part. Here are these TSUIDs:
1.2.840.10008.1.2.4.51 JPEG Extended (Process 2 & 4): Default Transfer Syntax for
Lossy JPEG 12 Bit Image Compression (Process 4 only)
1.2.840.10008.1.2.4.57 JPEG Lossless, Non-Hierarchical (Process 14)
1.2.840.10008.1.2.4.70 JPEG Lossless, Non-Hierarchical, First-Order Prediction
(Process 14 [Selection Value 1]): Default Transfer Syntax for Lossless JPEG Image
Compression
1.2.840.10008.1.2.4.80 JPEG-LS Lossless Image Compression
1.2.840.10008.1.2.4.81 JPEG-LS Lossy (Near-Lossless) Image Compression
And some codecs exist in the pure Java library but have a different implementation
in the native library (the native implementation is used by default when available):
1.2.840.10008.1.2.4.50 JPEG Baseline (Process 1): Default Transfer Syntax for Lossy
JPEG 8 Bit Image Compression
1.2.840.10008.1.2.4.90 JPEG 2000 Image Compression (Lossless Only)
1.2.840.10008.1.2.4.91 JPEG 2000 Image Compression
About dcm4chee:
That's why it is recommended to install dcm4chee on Linux, Solaris or Windows
(also with windows 64-bit but only with a 32-bit Java Runtime). Otherwise, the
dcm4chee services won't be able to compress or uncompress some DICOM files.
One of the mandatory requirement (WADO spec) of a WADO service is to uncompress
any DICOM file. The latter requirement cannot be totally fulfilled if you install
dcm4chee on OS X.
We provide on the Osirix website this document which recommends to install
dcm4chee on Linux and to use the jpeg2000 compression (if you want to compress
all the images stored in dcm4chee).
About Weasis:
In the table of [Platform Compatibility of DICOM Transfer
Syntax|../../../../../../../../../display/WEA/Dicom+Conformance] you can see the
compatibility related to the list above. This compatibility is true ONLY when Weasis
loads files from a local storage (not WADO). When downloading images with the
WADO service of dcm4chee that contain native imageio library, ALL the images can
be read on ALL operating systems, because Weasis (in recent version) is able to
request the WADO server for an uncompressed syntax (see [WEA-
73|../../../../../../../../../../jira/browse/WEA-73]) when the syntax is not supported by the
operating system running Weasis.
I'm working to provide a real multiplatform Java wrapping of jpeg, jpeg-ls and
jpeg2000 but I progress slowly because my time is very limited for doing that. The
implementation is limited to the Weasis use.
Hope it helps

Installation Procedure:
1. Download and extract the binary distribution package of
dcm4chee:
Download the latest version of dcm4chee that is relevant to the database of your choice
from the dcm4che Sourceforge site . Extract the package (e.g. dcm4chee-2.17.1-psql.zip for
the PostgreSQL version). When extracting, avoid using a directory that has a name that
contains spaces in order to avoid issues with running command line applications with
spaces in the path name.
2. Download the binary distribution package of JBoss Application
Server 4.2.3.GA:
Download the binary distribution of JBoss 4.2.3.GA from their website and extract it into a
different directory.

Use neither JBoss 5 nor JBoss 6, because it is completely re-architected and is


significantly different than the 4.2 line of JBoss!

If you want to use JDK 5, don't download JBoss for JDK 6 (jboss-4.2.3.GA-jdk6.zip) - use
jboss-4.2.3.GA.zip!

dcm4chee requires Java Development Kit (JDK) and not just the Java Runtime
Environment (JRE).

3. Copy files from JBoss to dcm4chee:


Dcm4chee consists of components that run within the JBoss application server platform.
This step will copy the JBoss runtime files to the dcm4chee directory.

Go to the dcm4chee-2.17.1-xxx/bin directory and execute the install_jboss.bat or


install_jboss.sh script, as appropriate for your operating system, with the path of your
JBoss AS installation directory as a parameter.

For example:
C:\apps\dcm4chee-2.17.1-psql\bin>install_jboss.bat c:\apps\jboss-4.2.3.GA

4. Install the Database Software and create the DCM4CHEE


Database:
If you do not already have database software running, install it now. Please follow the
vendor's installation instructions to do so. Some operating systems already come with
database software installed (e.g. Mac OSX and MySQL). Even in those cases though, it is
helpful for you to review the database vendor's documentation. After all, the database is
an extremely important part of the dcm4chee solution.

See below for links to database-specific installation notes:


PostgreSQL
MySQL
Oracle
Microsoft SQL Server
DB2
Firebird
Hypersonic SQL

5. Deploy the Audit Record Repository (ARR)


Starting with dcm4chee-2.12.0, the binary distribution package of the archive application
does NOT include the dcm4chee Audit Record Repository (ARR) anymore. The ARR
maintains an audit log of all transactions within the archive. This is necessary for HIPAA
and IHE. Some dcm4chee deployment scenarios call for the deployment of the ARR in a
standalone fashion because it acts as an ARR for more than one dcm4chee instance, or
multiple applications which can take advantage of an external ARR. Commonly though it is
deployed within the dcm4chee archive itself. If you are not running the ARR in a
standalone fashion, you must do the following:
1. Download the dcm4chee Audit Record Repository 3.0.11 (dcm4chee-arr-3.0.11)
available at
http://sourceforge.net/projects/dcm4che/files/dcm4chee-arr/3.0.11/. Be sure to
download the distribution package of dcm4chee-arr-3.0.11 for the database of your
choice (likely the same database that you are using for the archive, but it could
differ if you wish to store audit records in a completely different database).
2. Go to the dcm4chee-2.17.1-xxx/bin directory and execute the install_arr.bat or
install_arr.sh script, as appropriate for your operating system, with the path of the
dcm4chee-arr-3.0.11 installation directory as
parameter.
Because of the growth factor of the audit database, it is recommended to
store the records in it's own database. Create the audit record repository
database instance: arrdb, and grant sufficient privileges to the DB user (see
the datasource descriptor deploy/arr-xxx-ds.xml for user information, typically
arr with pw of arr). Also see above links to DB-specific pages for tips.

6. Set environment variable JAVA_HOME to JDK location.


The dcm4chee startup/shutdown scripts depend on the JAVA_HOME environment variable
in order to find the Java executables and libraries. For example, if your JDK is installed at
"C:\Program Files\Java\jdk1.5.0_22" then that is the path to JAVA_HOME

If you're not sure what an environment variable is, check with your IT staff or review this
wikipedia page and/or consult the documentation for your operating system.

7. Optional: Adjust maximum allocation of heap memory:


Java programs run with a finite amount of memory allocated to them. If you anticipate high
volumes of storage and retrievals, or very large datasets, you may want to increase the
max (-Xmx) heap size of the Java process.

For example, in Windows see the file dcm4chee-2.17.1-xxx/bin/run.bat:


rem Sun JVM memory allocation pool parameters. Modify as appropriate.
set JAVA_OPTS=%JAVA_OPTS% -Xms128m -Xmx512m -XX:MaxPermSize=128m

Linux/Unix/OSX: dcm4chee-2.17.1-xxx/bin/run.conf
# Specify options to pass to the Java VM.
if [ "x$JAVA_OPTS" = "x" ]; then
JAVA_OPTS="-Xms128m -Xmx512m -XX:MaxPermSize=128m ..
fi

according available RAM and memory requirements of other processes on this node.
E.g.: if only 512 MB RAM are available, you should decrease the default value -Xmx512m to
(e.g.) -Xmx300.

8. Mac OSX and Windows x64 specific changes for the WADO service:
Because there are no native codecs (compression/decompression) for these platforms, it
is necessary to edit configuration to disable the loading of the native codecs. These
platforms are not able to take advantage of compression/decompression. The only default
loading of the codecs is in the WADO service. You can either edit the property within the
JMX Console web user interface (see step 11), or edit the configuration files directly:

Change com.sun.media.imageioimpl.plugins.jpeg.CLibJPEGImageWriter to
com.sun.image.codec.jpeg.JPEGImageEncoder for the ImageWriterClass:
$DCM4CHEE_HOME/server/default/conf/xmdesc/dcm4chee-wado-xmbean.xml:
@@ -122,7 +122,7 @@
<name>ImageWriterClass</name>
<type>java.lang.String</type>
<descriptors>
- <value value="com.sun.media.imageioimpl.plugins.jpeg.CLibJPEGImageWriter" />
+ <value value="com.sun.image.codec.jpeg.JPEGImageEncoder" />
</descriptors>
</attribute>

9. Test the installation:


To test your installation, go to the dcm4chee-2.17.1-xxx/bin directory and execute the
run.bat or run.sh script, as appropriate for your operating system. Your output should look
like the following and contain no error or exception messages:
=========================================================================

JBoss Bootstrap Environment

JBOSS_HOME: /home/gunter/dcm4chee-2.17.1-psql

JAVA: /usr/lib/j2sdk1.5-sun/bin/java

JAVA_OPTS: -Dprogram.name=run.sh -server -Xms128m -Xmx512m


-Dsun.rmi.dgc.client.gcInterval=3600000
-Dsun.rmi.dgc.server.gcInterval=3600000 -Djava.awt.headless=true
-Dapp.name=dcm4chee -Djava.net.preferIPv4Stack=true
-Djava.library.path=/home/gunter/dcm4chee-2.17.1-psql/bin/native

CLASSPATH: /home/gunter/dcm4chee-2.17.1-psql/bin/run.jar:
/usr/lib/j2sdk1.5-sun/lib/tools.jar

=========================================================================
23:17:52,373 INFO [Server] Starting JBoss (MX MicroKernel)...
23:17:52,374 INFO [Server] Release ID: JBoss [Trinity] 4.2.3.GA (build:
SVNTag=JBoss_4_2_3_GA date=200807181439)
:
23:19:49,580 INFO [AjpProtocol] Starting Coyote AJP/1.3 on ajp-127.0.0.1-8009
23:19:49,632 INFO [Server] JBoss (MX MicroKernel) [4.2.3.GA (build:
SVNTag=JBoss_4_2_3_GA date=200807181439)] Started in 1m:57s:103ms

10. Login into web interface:


Connect to the Web Interface at http://localhost:8080/dcm4chee-web3/ of the archive using
any Web Browser (most tested are Mozilla-Firefox and Microsoft Internet Explorer v6.x).
You should get the User Login Screen. Login in using default Administrator account
'admin', with password 'admin'.

11. Login to JMX Console:


Connect to JBoss's JMX Console at http://localhost:8080/jmx-console/ and login using also
the Administrator account 'admin', with password 'admin'.
Follow the link "group=ONLINE_STORAGE,service=FileSystemMgt" to the configuration
page for File System Management service under the "dcm4chee.archive" heading.
Invoke the operation addRWFileSystem(), with argument dirPath specifying the directory,
where the archive shall store received objects/images.

If no Storage File System is configured, the archive will auto-configure dcm4chee-2.17.1-


xxx/server/default/archive as Storage File System, when receiving the first object/image.

12. Optional: Change the default AE Title


Connect to JBoss's JMX Console at http://localhost:8080/jmx-console/ and login using also
the Administrator account 'admin', with password 'admin'.
Follow the link "service=AE" to the configuration page for AE (Application Entity - a DICOM
term for a DICOM node on the network) service under the "dcm4chee.archive" heading.
Invoke the operation updateAETitle with the old AE Title (DCM4CHEE if unchanged from
the default), and new AE Title as parameters.
This will update the following configurations:
update the retrieve AET of file systems, associated to the current retrieve AET of
this node
update retrieveAETs of all instances, series and studies that have files on these
filesystems
update the entry for the retrieve AE in the AE Configuration
update the AE Title of all services listed by attribute
OtherServiceAETitleAttributesToUpdate

13. Optional: Configure image compression:


As noted above, this is not applicable for Mac OSX or 64 bit Windows.
At default configuration, received images are stored as received - in particular, no
compression is performed. Lossless compression of received uncompressed images can
be activated by attribute "CompressionRules" in the configuration page for the Storage
SCP Service (service=StoreScp). E.g. set it to "JLSL", to compress all type of images
received from any Storage SCU using JPEG-LS Lossless codec.

14. Optional: Modify web image cache directories:


The directories used for caching generated JPEG representations of archived images
requested by Web Access to DICOM Persistent Objects (WADO) can be specified by
attributes "CacheDataRootDirectory" and "CacheJournalRootDirectory" in the
configuration page for the WADO Service (service=WADOService).
Defaults: dcm4chee-2.17.1-xxx/server/default/wadocachedata and dcm4chee-2.17.1-
xxx/server/default/wadocachejournal.

The directory used for caching generated PDF representations of archived Structured
Report Documents requested by IHE Retrieve Information for Display (RID) Services can be
specified by modifying BASE_DIR=docstore/rid/store in file conf/dcm4chee-
docstore/dcm4chee-docstore-cfg.xml (this file will not exists before processing the first
RID request).

15. Optional: Allow remote access:


Not necessary with versions 2.13.6 and newer!

By default, JBoss does not bind to anything except the local address. Use
run -b 0.0.0.0
to allow running generic access.

16. Test DICOM storage:


Send some object/images to the archive's Storage SCP, e.g. by using the send utility of the
dcm4che 2.x (dicom toolkit) core package available at Sourceforge here. E.g:
> dcm4che-2.0.23/bin/dcmsnd DCM4CHEE@localhost:11112 ~/mesa/storage/modality/MR

Refresh the Web Interface (http://localhost:8080/dcm4chee-web3/), which shall now show


the the list of received studies. You may need to click the 'binocular' icon to initiate a
search.

Expand one study row to show contained series. Expand one of these series to show
contained instances. In the case of images, you can follow the image icon on the right, to
invoke a http WADO request for a JPEG presentation of this image, which will be displayed
in a separate browser window.

17. Test object retrieval:


To test object retrieval, you need an external Storage SCP acting as Move Destination, e.g.
by using the receiver utility of the dcm4che 2.x DICOM toolkit:
> dcm4che-2.0.23/bin/dcmrcv 11113
13:55:14,782 INFO - Start listening on 0.0.0.0/0.0.0.0:11113
Start Server listening on port 11113

You also need to configure an additional Application Entity Title identifying this Move
Destination. Do so in the "AE Management" tab within the Web user interface.
E.g. new AET
AE Title: DCMRCV
Hostname: localhost
Port: 11113

Switch back to the Study List ("Folder"), mark studies to retrieve using the check box on
the right, select "DCMRCV" as send destination in the combo box above and click on the
send button left from it.

18. Install as a service:


If running as a service or daemon on any operating system, you should disable CONSOLE
logging as noted here:http://forums.dcm4che.org/jiveforums/thread.jspa?
messageID=4787&#4787
After verifying that the archive works, you may want to run it as a service so that it stays
running even when you log out. If still running in the console window, you may stop the
archive by Ctrl+C, and

Windows:
install it as Windows service executing install_service.bat (see Running dcm4chee
PACS as a Windows service or daemon)
aditional notes:
to adjust maximum allocation of heap memory - you need to edit
install_service.bat (not run.bat)
for 64-bit Windows download JavaService version 2.0.7.64
from http://javaservice.objectweb.org and replace file bin/JavaService.exe
if your service fails while starting ("Service could not be started") and you are
using JDK 6:
1. check your your Windows Event Log - if there are messages like "The
specified module could not be found.", "Failed creating java ...\jvm.dll" -
continue with next step
2. try to add %JAVA_HOME%\bin to the system PATH environment variable,
so java could find file mscvr71.dll (for details
see https://issues.apache.org/bugzilla/show_bug.cgi?id=41538 and http:/
/www.duckware.com/tech/java6msvcr71.html)
many versions of Windows need to be restarted after modifying environment
variables (like JAVA_HOME and PATH)

Redhat and Ubuntu Linux:


copy the init script dcm4chee_init_redhat.sh to /etc/init.d/ and adjust it according
your installation location of the archive and the JDK and under which user the
archive application shall run.
Mac OSX
See this forum post (and others) for suggestions and startup item/plist
scripts: http://forums.dcm4che.org/jiveforums/thread.jspa?threadID=593&tstart=0

Labels

installation
windows

Child Pages (7)

Hide Child Pages | Reorder Pages

Page: DB2
Page: Firebird
Page: Hypersonic SQL
Page: Microsoft SQL Server
Page: MySQL
Page: Oracle
Page: PostgreSQL

Comments (5)

Hide Comments
Collapse All
1. Oct 12, 2011
Nikhil says:
Do not use MySQL 5.5 my SQL 5.5 does not have support for TYPE in Create table w...

Do not use MySQL 5.5 my SQL 5.5 does not have support for TYPE in Create table which
causes arrdb startup to fail. MySQL 5.1 worked for me.

P
ermalink
Jul 17, 2012
Mark Messer says:
You can use the latest MySQL. The problem is the MySQL syntax for Create Table c...

You can use the latest MySQL.


The problem is the MySQL syntax for Create Table command has changed. This command
is used during installation of dcm4chee-arr.
The type= parameter is obsolete. It has been replaced by engine=.

This means you must modify the MySQL script that creates the tables.
Open dcm4chee-arr-3.0.11-mysql\sql\dcm4chee-arr-mysql.ddl in a text editor.
Find all occurrences of type=
Replace them with engine=

P
ermalink

2. Oct 27, 2011


Raj says:
FYI - There is a serious security hole in the jboss-4.2.3.GA It allows at...

FYI - There is a serious security hole in the jboss-4.2.3.GA

It allows attackers to use the jmxconsole to use your server to attack other servers.

To fix the issue, edit the following in this file:&nbsp;deploy/jmx-console.war/WEB-


INF/web.xml

Find this block of code

___________________________________________________________________________

<security-constraint>
<web-resource-collection>
<web-resource-name>HtmlAdaptor</web-resource-name>
<description>
An example security config that only allows users with the role
JBossAdmin to access the HTML JMX console web application
</description>
<url-pattern>/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>JBossAdmin</role-name>
</auth-constraint>
</security-constraint>

___________________________________________________________________________

And replace it with this:

___________________________________________________________________________

<security-constraint>
<web-resource-collection>
<web-resource-name>HtmlAdaptor</web-resource-name>
<description>
An example security config that only allows users with the role
JBossAdmin to access the HTML JMX console web application
</description>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>JBossAdmin</role-name>
</auth-constraint>
</security-constraint>

___________________________________________________________________________

Here is the original link where the bug was posted:

https://access.redhat.com/kb/docs/DOC-30741

P
ermalink
Jul 09, 2012
Ben Rexwinkel says:
I'm not really sure if this also needs to be done, but the original source also ...

I'm not really sure if this also needs to be done, but the original source also states
removing or commenting these lines in the
file <dcm4chee>/server/default/deploy/management/console-mgr.sar/web-
console.war/WEB-INF/web.xml

Anyway, the file stated by Raj seems to be properly modified in dcm4chee 2.17.1

P
ermalink

3. Jul 09, 2012


Ben Rexwinkel says:
After updating the default AE Title in (optional) step 12, I had problems retrie...

After updating the default AE Title in (optional) step 12, I had problems retrieving images
from dcm4chee as well as not being able to echo other entities from the web-interface.
The following solves those problems:

Add the following lines to the service=AE -> 'OtherServiceAETitleAttributesToUpdate'


dcm4chee.web:service=MoveScu#CallingAETitle
dcm4chee.web:service=MoveScu#CalledAETitle
dcm4chee.web:service=EchoService#CallingAETitle
dcm4chee.web:service=Web3MwlSCU#CallingAETitle

NOTE: this only works if you add these lines before invoking updateAETitle(). If you
already changed the AE Title as in step 12 above, you'll need to manually change the AE
Title in the four sections mentioned (under dcm4chee.web).

See the forum for the full thread: fleetwoodfc in "dcm4chee 2.17.1 studies export
problem"

P
ermalink

4.

Anda mungkin juga menyukai