Update pyceo.md

This commit is contained in:
Andrew Wang 2021-07-10 20:42:08 +00:00
parent 394d7f535f
commit 8c110e9065
1 changed files with 47 additions and 31 deletions

View File

@ -5,51 +5,67 @@ a PR if you wish to edit these.
Make sure to use the devenv branch as this is where I put my source
code changes:
https://git.csclub.uwaterloo.ca/public/pyceo/src/branch/devenv
Make sure you do a git pull in the dev env repo (the one on GitLab).
When in doubt, git pull.
All instructions below should apply to the containers phosphoric-acid,
coffee and mail, unless specified otherwise. I suggest git cloning
the pyceo repo as one of the dummy user's accounts (e.g. ctdalek)
since their homedirs are mounted on NFS so you can access them
from any container.
coffee and mail, unless specified otherwise.
1. Try to build ceo (from the pyceo directory):
```
apt install devscripts
debuild -uc -us
```
This will complain about a whole bunch of dependencies missing. Install
1. I suggest git cloning the pyceo repo as one of the dummy user's accounts (e.g. ctdalek)
since their homedirs are mounted on NFS so you can access them from any container.
```
login ctdalek
<password is krb5>
git clone -b devenv https://git.csclub.uwaterloo.ca/public/pyceo.git
```
1. Try to build ceo (from the pyceo directory) (only once if using NFS):
```
apt install devscripts
debuild -uc -us
```
This will complain about a whole bunch of dependencies missing. Install
all of them, then build again.
1. Install ceo locally as a Python package:
```
apt install --no-install-recommends python-pip python-setuptools
pip2 install -e .
```
```
apt install --no-install-recommends python-pip python-setuptools
pip2 install -e .
```
1. Create the following symlinks (from the pyceo directory):
```
ln -s $PWD/etc /etc/csc
ln -s $PWD/src /usr/lib/ceod
```
```
ln -s $PWD/etc /etc/csc
ln -s $PWD/src /usr/lib/ceod
```
1. Add Kerberos principals for `ceod/<hostname>` in the containers.
For example, in phosphoric-acid:
```
kadmin -p sysadmin/admin
<password is krb5>
addprinc -randkey ceod/phosphoric-acid.csclub.internal
ktadd ceod/phosphoric-acid.csclub.internal
```
Do this for coffee and mail as well. You need to actually be in the
```
kadmin -p sysadmin/admin
<password is krb5>
addprinc -randkey ceod/phosphoric-acid.csclub.internal
ktadd ceod/phosphoric-acid.csclub.internal
```
Do this for coffee and mail as well. You need to actually be in the
appropriate container when running these commands, since the credentials
are being added to the local keytab.
On phosphoric-acid, you will additionally need to create a principal
On phosphoric-acid, you will additionally need to create a principal
called `ceod/admin` (remember to addprinc *and* ktadd).
1. On coffee, run `mysql` as root and run the following:
```sql
CREATE USER ceod@localhost IDENTIFIED BY 'mysql';
GRANT ALL PRIVILEGES ON *.* TO ceod@localhost WITH GRANT OPTION;
```
```sql
CREATE USER ceod@localhost IDENTIFIED BY 'mysql';
GRANT ALL PRIVILEGES ON *.* TO ceod@localhost WITH GRANT OPTION;
```
1. Run `src/ceod` as root on all three containers.
1. Run `bin/ceo` as a regular user (e.g. ctdalek) in any of the containers.
Make sure you can add new members, add new clubs, create club reps, etc.
Andrew: You may need to install some Python packages to get `bin/ceo` or `ceo` to run (I installed to ctdalek NFS but there might be a better way?)
```
pip2 install python-ldap urwid protobuf dnspython
```