| = Guice-Distributed Server How-to |
| |
| == Requirements |
| |
| * Java 11 SDK |
| |
| Third party compulsory dependencies: |
| |
| * Cassandra 3.11.10 |
| * ElasticSearch 7.10.2 |
| * RabbitMQ-Management 3.8.1 |
| * Zenko Cloudserver or AWS S3 |
| |
| [source] |
| ---- |
| $ docker run -d -p 9042:9042 --name=cassandra cassandra:3.11.10 |
| $ docker run -d -p 9200:9200 --name=elasticsearch --env 'discovery.type=single-node' docker.elastic.co/elasticsearch/elasticsearch:7.10.2 |
| $ docker run -d -p 5672:5672 -p 15672:15672 --name=rabbitmq rabbitmq:3.8.1-management |
| $ docker run -d --env 'REMOTE_MANAGEMENT_DISABLE=1' --env 'SCALITY_ACCESS_KEY_ID=accessKey1' --env 'SCALITY_SECRET_ACCESS_KEY=secretKey1' --name=s3 zenko/cloudserver:8.2.6 |
| ---- |
| |
| == Running |
| |
| To run james, you have to create a directory containing required configuration files. |
| |
| James requires the configuration to be in a subfolder of working directory that is called |
| **conf**. A [sample directory](https://github.com/apache/james-project/tree/master/server/container/guice/cassandra-rabbitmq-guice/sample-configuration) |
| is provided with some default values you may need to replace, especially compulsory third party software endpoints. |
| |
| You will need to update its content to match your needs. |
| |
| You also need to generate a keystore with the following command: |
| |
| [source] |
| ---- |
| $ keytool -genkey -alias james -keyalg RSA -keystore conf/keystore |
| ---- |
| |
| Once everything is set up, you just have to run the jar with: |
| |
| [source] |
| ---- |
| $ java -Dworking.directory=. -Dlogback.configurationFile=conf/logback.xml -jar james-server-cassandra-rabbitmq-guice.jar |
| ---- |
| |
| Note that binding ports below 1024 requires administrative rights. |