diff options
Diffstat (limited to 'docs')
-rw-r--r-- | docs/setup | 76 |
1 files changed, 76 insertions, 0 deletions
@@ -2,6 +2,13 @@ MySQL Database Setup + The following instructions are for setting up the wallet with a MySQL + database on the same host as the wallet server. Since the wallet is + designed to be a security-sensitive application, running MySQL on the + same system is recommended, although it will certainly work with a + remote MySQL server. The instructions below would require only minor + modifications, mostly around the database host. + After installing the MySQL server, connect as a user with permissions to create new databases and users. Then, issue the following commands: @@ -13,3 +20,72 @@ MySQL Database Setup This creates a wallet user that can be used by the rest of the wallet system and gives it access to the wallet database, where it can create its own tables. + + Now, create an /etc/wallet.conf file and include settings like: + + $DB_DRIVER = 'MySQL'; + $DB_NAME = 'wallet'; + $DB_HOST = 'localhost'; + $DB_USER = 'wallet'; + $DB_PASSWORD = 'WALLET'; + 1; + +SQLite Database Setup + + SQLite is very nice in that you don't have to create the database + first. You don't even have to create the file. Just create + /etc/wallet.conf with something like: + + $DB_DRIVER = 'SQLite'; + $DB_INFO = '/path/to/database'; + 1; + + That's all there is to it. + +Database Initialization + + Now, you have to create the necessary tables, indexes, and similar + content in the database so that the wallet can start working. There + is not, as yet, any command to do this easily, but you can do it with + the following one line of Perl: + + perl -MWallet::Server -e "Wallet::Server->initialize ('USER')" + + where USER is the fully-qualified Kerberos principal of an + administrator. This will create the database, create an ADMIN ACL, + and put USER in that ACL so that user can add other administrators and + start creating objects. + + There will eventually be a wallet-admin script to do this and similar + tasks. + +Wallet Configuration + + Review the Wallet::Config documentation (with man Wallet::Config or + perldoc Wallet::Config) and set any other configuration variables that + you want or need. If you're going to use the keytab object + implementation, you'll need to create a keytab with appropriate kadmin + privileges and set several configuration variables. + + On the wallet server, install remctld. Then, install the + configuration fragment in config/wallet in the remctld configuration. + You can do this either by adding the one non-comment line of that file + to your remctl.conf or, if your remctl.conf includes a directory of + configuration fragments, drop config/wallet into that directory. + + Note that the default wallet configuration allows any authenticated + user to run the wallet backend and relies on the wallet's ACLs for all + access control. Normally, this is what you want. But if you're using + the wallet for a very limited purpose, you may want to change ANYUSER + in that configuration fragment to a path to a regular ACL file and + only allow certain users to run wallet commands at all. + + Once you have the configuration in place, restart or send a HUP signal + to remctld to make it re-read the configuration. + + Now, you can start using the wallet. Read the wallet man page for + details on all the possible commands. The first step is probably to + create a new object with the create command, create an ACL with the + acl create command, add the ACL entries that should own that object to + that ACL with acl add, and then set that ACL as the owner of the + object with the owner command. |