<< | Page list | >>
Notes on administrating the server and setting up new developers. Links to other pages with e.g. release procedure.
1. Services related to LyX and LyX development on different servers.
2. The "LyX-server", i.e. the server lyx.lyx.org
- Domain name: lyx.lyx.org
- Virtual machine
- Hosted at the University of Bonn
- The account "webadmin" is a mailing list alias.
3. Setting up a new developer at lyx.org:
Note that this does not include a shell account on the server, that's at the moment only for administrators.
To give Subversion write permission:
sudo su - lyx # Need permission as if the user 'lyx'
# Give Subversion write permission by doing the following:
emacs ~lyx/etc/passwd # Add line per format: USER = PLAIN-PASSWORD
emacs ~lyx/etc/authz # Add developer to the group 'developers'.
# Create Trac account by doing the following:
htpasswd -sb ~lyx/www/trac/.htpasswd USER PLAIN-PASSWORD
Note: The original text said something about the same password, I don't think this is
necessary.
After the user has been added for Trac, someone needs to give that user the correct permissions in Trac, which is done through Trac's web interface.
4. About developers@lyx.org
The e-mail address developers@lyx.org is non-public address for LyX developers.
- Only accepts e-mails originating from <name>@lyx.org
- Administered by:
5. Gitolite - Access to git repositories on the LyX server (section-status: added 2017-01-04/chr)
The LyX project uses "gitolite" for Git repositories on the LyXserver.
To get e.g. write permission to these repositories, contact one of
the administrators of gitolite (currently):
- larsbj
- lasgouttes
- rgheck
- vfr
Precondition for adding e.g. write permission for a LyX developer:
- The administrator of gitolite will need the public part of the developer's SSH key pair.
Internal notes:
- Configuration of gitolite is done through it's repository:
git@git.lyx.org:gitolite-admin.git
- The main configuration file is:
conf/gitolite.conf.
Other notes:
5.1 Running gitolite commands on the server
With SSH access setup, you should be able to do e.g:
ssh git@git.lyx.org help
where 'help' is a command to gitolite that will show you other possible commands.
The following command is useful to see e.g. write access:
$ ssh git@git.lyx.org info
hello chr, this is gitolite 2.3.1-1.el6 running on git 1.7.1
the gitolite config gives you the following access:
@C R W developers/chr/..*
@R W features
@R_ gsoc
@R W lyx
@R_ @W_ testing
where the second to last row indicates write access to the 'lyx' repository.
6. Restoring/resetting a accounts
6.1 Resetting (or setting) a Trac password
To restore someone's account, add their username and a temporary password
to trac.htpasswd. You can generate the password using the command:
htpasswd -nbd UserName Password
This will write an appropriate line, such as:
UserName:dRQHwZeMce2SI
to the terminal. You do not need to be root to do this.
Copy the line that was generated, then open trac.htpasswd and append it
to the end. You will need to sudo to do that.
The trac password file is located here
/home/lyx/www/trac/conf/trac.htpasswd
6.2 Most likely old instructions...
This is probably obsolete, history indicates it was added in 2008-11-?? by me (chr).
- log in into svn.lyx.org
- create the user
sudo /usr/sbin/adduser -c "<Name>" -G svnusers <loginname>
- give write access to svn:
sudo vi /home/lyx/svnstore/lyx/conf/authz
[add a line "<loginname> = rw"]
sudo passwd <loginname>
sudo bash -c 'echo "<real e-mail>" > /home/<loginname>/.forward'
sudo chown <loginname>:<loginname> /home/<loginname>/.forward
sudo mkdir -m 700 /home/<loginname>/.ssh
- subscribe the user to
cvslog@lyx.org
sudo su
cd /usr/lib/mailman/bin
echo <loginname>@lyx.org |./add_members -r - cvslog
7. Setting up a new administrator at lyx.org
7.1 Creating the account
- Use 'useradd' or 'adduser', I don't remember which...
- Give a special flag which prevents login with a password
- Get a public key from the person that'll get the account
- Copy this key to some file in .ssh/
- Test that you can login!
7.2 Giving sudo permissions
You need to have root access to give an account sudo permissions, so the first step to become root with the following command:
chr@debian:~$ su
Password:
debian:/home/chr# visudo
Now you can add a username to the list. For example:
lasgouttes ALL=(ALL) ALL
Save the file to complete the process.
Then, as root, set a random password (e.g. from pwgen), because without a password he will not be able to use sudo.
8. Software services on Aussie
- List of software currently used on Aussie (incomplete)
9. Mailing lists
Lars?
10. Things to do
Also see:
(related to the move to the new server)
Not done:
- The most irritating one: Web/wiki/trac pages have 30s idle times - this is not under our control - xen problems
- svn update of web pages after committing into www-user
- See if it's possible to remove the warnings when starting apache
- Fix so that notification of change uploaded files works. Right now the same message is sent over and over.
- redirection http://bugzilla.lyx.org/show_bug.cgi?id=5836 -> http://www.lyx.org/trac/ticket/5836
- Trac - how to block bugs? link
- Trac homepage into the top line of buttons
- Trac doesnt let new users to log-in
- Trac doesnt let other people to be CC-ed into some bug
- www.lyx.org wiki does not remember Author field when editing (wiki.lyx.org does)
I think the reason for this could be that the user has logged out in between?
ps: yes, but why wiki.lyx.org is able to remember it?
Done:
- Trac do not notify peple via email
- Check that IPFM and file uploading works on the new server [Christian]
- Check that e-mail notifications from LyX server works when web pages
and wiki pages are modified
11. Tips for sharing files
This should be moved elsewhere...
When for instance you need to send a file that needs to be placed on the LyX ftp site, the following tools/methods could be useful:
- Place the file on the web and send the link
- Use a service such as the following:
12. Automatically generated source code documentation
- Doxygen
- Location: The automatically generated HTML files are stored at
/home/lyx/www/????
- Setup: How to setup so that the generated HTML can be shown
- Check out a version of the code
- Automake, configure and build
- Move generated code to... ?
- Re-generation of docs, directly places it in the correct directory:
SOURCEDOC=/home/lyx/www/wiki.lyx.org/sourcedoc
[ -d $SOURCEDOC/svnold ] && rm -rf $SOURCEDOC/svnold
mv $SOURCEDOC/svn $SOURCEDOC/svnold
mkdir -p $SOURCEDOC/svn
cd ~/lyx/build
make OUTPUT_DIR=$SOURCEDOC/svn doxydoc
13. Notes on server configuration
We should move this to a separate page.
13.1 Installed packages
# Packages installed by Christian, roughly in chronological order
# Packages for convenience and CLI power
sudo apt-get install screen emacs
# Packages for running the web and wiki services
sudo apt-get install libapache2-mod-php5 php5-cli php5-common php5-cgi
# Packages to be able to build LyX
sudo apt-get install automake
sudo apt-get install libqt4-dev
# Packages to be able to run doxygen, i.e. generate the source docs
sudo apt-get install doxygen
sudo apt-get install graphviz
14. Trac related stuff
14.1 Ticket workflow
A diagram illustrating the ticket workflow (ticket life cycle) can be linked
to from wiki pages using
[[uploads:/Site/Trac/trac.png]]
The diagram looks as follows:
.
We should have a page somewhere explaining the diagram...
Generating the diagram
Here's instructions for generating a diagram with the ticket workflow in Trac.
BINDIR=~larsbj/Development/Trac-0.11.3/contrib/workflow
SRCDIR=~lyx/www/trac/conf
DSTDIR=~lyx/www/wiki.lyx.org/uploads/Site/Trac
cp $SRCDIR/trac.ini $DSTDIR
$BINDIR/showworkflow $DSTDIR/trac.ini
rm $DSTDIR/trac.ini
Notes:
- I copy the file trac.ini to a different directory ($DSTDIR) because the
script 'showworkflow' produces the output in that directory.
- Afterwards, I remove the file trac.ini in case it contains sensitive information.
- Neither the command 'cp' nor 'rm' should produce an error message (with the right permissions).
- The command 'showworkflow' will protest that the program 'kpdf' isn't available. Ignore this.
15. Categories