diff --git a/README_SETUP.md b/README_SETUP.md index 5065e3383c4ac2f2d549bfedb15687d0b4124ec0..d46722d26458757a53f081dd1ce9af3db2688283 100644 --- a/README_SETUP.md +++ b/README_SETUP.md @@ -58,12 +58,14 @@ libpam0g-dev`. Then try again. After a fresh clone of the repository, this is what you need to setup the server: -1. Compile the server with `make compile`. This may take a while and there +1. Install the `proto` submodule (and submodules for those extensions you want, see above): + `git submodule update --init caosdb-proto` +2. Compile the server with `make compile`. This may take a while and there needs to be an internet connection as packages are downloaded to be integrated in the java file. 1. It is recommended to run the unit tests with `make test`. It may take a while. -2. Create an SSL certificate somewhere with a `Java Key Store` file. For +3. Create an SSL certificate somewhere with a `Java Key Store` file. For self-signed certificates (not recommended for production use) you can do: - `mkdir certificates; cd certificates` - `keytool -genkey -keyalg RSA -alias selfsigned -keystore caosdb.jks -validity 375 -keysize 2048 -ext san=dns:localhost` @@ -77,11 +79,11 @@ server: Alternatively, you can create a keystore from certificate files that you already have: - `openssl pkcs12 -export -inkey privkey.pem -in fullchain.pem -out all-certs.pkcs12` - `keytool -importkeystore -srckeystore all-certs.pkcs12 -srcstoretype PKCS12 -deststoretype pkcs12 -destkeystore caosdb.jks` -3. Install/configure the MySQL back-end: see the `README_SETUP.md` of the +4. Install/configure the MySQL back-end: see the `README_SETUP.md` of the `caosdb-mysqlbackend` repository -4. Create an authtoken config (e.g. copy `conf/core/authtoken.example.yaml` to +5. Create an authtoken config (e.g. copy `conf/core/authtoken.example.yaml` to `conf/ext/authtoken.yml` and change it) -5. Copy `conf/core/server.conf` to `conf/ext/server.conf` and change it +6. Copy `conf/core/server.conf` to `conf/ext/server.conf` and change it appropriately: * Setup for MySQL back-end: specify the fields `MYSQL_USER_NAME`, `MYSQL_USER_PASSWORD`, @@ -94,7 +96,7 @@ server: `CERTIFICATES_KEY_STORE_PATH`, and `CERTIFICATES_KEY_STORE_PASSWORD`. Make sure that the conf file is not readable by other users because the certificate passwords are stored in plaintext. - - Set the path to the authtoken config (see step 4) + * Set the path to the authtoken config (see step 4) * Set the file system paths: - `FILE_SYSTEM_ROOT`: The root for all the files managed by CaosDB. - `DROP_OFF_BOX`: Files can be put here for insertion into CaosDB. @@ -112,8 +114,8 @@ server: - `INSERT_FILES_IN_DIR_ALLOWED_DIRS`: add mounted filesystems here that shall be accessible by CaosDB * Maybe set another `SESSION_TIMEOUT_MS`. - * See also [CONFIGURATION.rst](src/doc/administration/configuration.rst) -6. Copy `conf/core/usersources.ini.template` to `conf/ext/usersources.ini`. + * See also [CONFIGURATION.rst](src/doc/administration/configuration.rst) +7. Copy `conf/core/usersources.ini.template` to `conf/ext/usersources.ini`. * You can skip this if you do not want to use an external authentication. Local users (CaosDB realm) are always available. * Define the users/groups who you want to include/exclude. @@ -128,7 +130,7 @@ server: Especially that there are no `properties` (aka `keys`) without a `value`. An emtpy value can be represented by `""`. Comments are everything from `#` or `;` to the end of the line. -7. Possibly install the PAM caller in `misc/pam_authentication/` if you have +8. Possibly install the PAM caller in `misc/pam_authentication/` if you have not do so already. See above. Done!