Server-Betreuung

Lage, Wartung, Infrastruktur

Der Server ist im Physik-Flachbau angeschlossen. Schluessel fuer den Raum hat Hr. Aachim Mildenberger, 0721/6083578. Fuer geplante Wartungen kriegen wir mit Christian eine Mail. Bei Stromausfaellen ist der Strom im gesammten Server raum aus, bis ihn Herr Mildenberger einschaltet. Wir haben eine Sicherung, die getrennt von den restlichen Physik-Servern ist, daher muss Herr Mildenberger erinnert werden, das Netz einzuschalten. Alle geplante Wartungen und ausergewoehnliche Ausfaelle werden auch ueber die Mailing Liste Wartung@lists.uni-karlsruhe.de so schnell wie moeglich bekanntgegeben.

Zur gleichen Sicherung wie aegeeserv, befindet sich ein Rechner mit dem Namen fphlx07.physik.uni-karlsruhe.de . Wenn aegeeserv aus ist, und ping auf fphlx07 funktioniert, liegt das Problem nicht am Strom.

Wenn der Server angegriffen wird, sendet RZ eine Mail an ugkx@stud.uka.de und der Server wird gesperrt. Wenn das Problem behoben wird, schicken wir denen eine Mail und dann laeuft alles weiter.

Der Server ist mittels Schluessel geschlossen. Der Schluessel ist bei Dilian, eine Kopie davon gibt es im Büro, geklebt am Tuer von der innere Seite. Ohne der Schluessel kann der Server nicht geoeffnet werden. Fuer Nachbestellungen bei DELL lautet seine Sortennummer 361.

Server Scripte

Die Aufgaben auf dem Server werden durch Scripte unterstuetzt, die fuer aegeeserv entworfen wurden. Mittels /root/.cron/root.vixie wird taeglich die Serverzeit mit dem GPS-Geraet auf dem RZ-Dach synchronisiert, Anti-Spam-Regeln werden von der SARE-Datenbank heruntergeladen, und /root/bin/update_aegee wird ausgefuehrt.

Software Ausstattung

Der Server laeuft unter "Linux from Scratch", und bearbeitet alle Mails mit sendmail. Die Konf. Dateien fuer sendmail sind in /etc/mail/*.cf . An Ende jeder cf-Datei steht der ursprunglichen .mc-Inhalt, der die cf-Datei erzeugt hat. Sendmail wird gepatched, einmal damit er mit cyrus2 kommunizieren kann, und einmal damit er sich mit listserv verstehen kann (VERP können).

Sendmail wird ueber /etc/init.d/rc.sendmail gestartet, die meisten anderen Anwendungen ueber /etc/init.d/rc.M . Listserv muss ausdruecklich gestartet werden, das geht mit /home/listserv/go bg .

Jeden morgen werden die Addressen im @aegee.org-Bereich von Aachen abgeholt und zusammen mit den Mailing-Listen, wird /etc/mail/aliases geschaft. Ein Bericht darueber wird an root@aegee.org geschickt. Sollte der Prozess nicht erfolgreich sein, kann man /root/bin/update_aliases starten. Alternativ kann man eine Mail an listserv@aegee.org mit dem Inhalt _GENERATE_ALIASES all schicken.

Manchmal schaltet sich der Virenscanner aus. Dann laufen keine Mails durch. In solche Faelle muss man clamav-milter -m 50 -qfKH local:/var/run/clamav/clmilter.sock -p nichts ausfuehren.

Die Zertifikaten stehen in /etc/ssl/2007.

Der Webserverprozess wird mit apachectl (start|stop) gestartet, und ueber /etc/aegee_include.conf und /etc/httpd.conf .

Die Dateien aus /home, /etc, /var, und ab 8.5.2007 /root werden jede Nacht auf dem RZ-TSM Server kopiert (wird Backup gemacht). Man kann die letzten drei Versionen von den kopierten Dateien mittels dsmc restore herunterladen. Hilfe zum Befehl gibt es mit dsmc help <RETURN>39.

Der Server wird mit aegpoweroff, aegreboot und aeghalt gesteuert. Falls es nicht geht, soll /sbin/aeghalt zu /sbin/halt umbenannt werden.

Software Übersetzung

php 5.3.10 ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-libgcc --with-regex=system --with-openssl --with-pcre-regex --with-zlib --enable-bcmath --with-bz2 --enable-calendar --with-curl --enable-dba=shared --with-db4=/usr --enable-exif --enable-ftp --with-gd=/usr --with-gettext --with-imap=/usr/local/imap-2007f/ --with-imap-ssl=/usr --enable-zend-multibyte --enable-zip --with-xsl --enable-mbstring --with-libmbfl --with-mcrypt --with-mysql --with-mysql-sock=/tmp/mysql.sock --with-iodbc=/usr --enable-pcntl --with-readline --enable-soap --enable-sockets --enable-sqlite-utf8 --enable-wddx --with-xmlrpc --with-ldap --with-ldap-sasl --with-pdo-mysql --libdir=/usr/lib64 --with-kerberos --with-config-file-path=/etc --with-freetype-dir --enable-intl --enable-fpm --with-fpm-user=wwwrun --with-fpm-group=nogroup, probably with prefixed CFLAGS and LDFLAGS from /etc/config.site, and patch to configure:
52463c52463
< CXXFLAGS="-O3 -march=native"
---
> CXXFLAGS="-g -O2"
52469c52469
< CXXFLAGS="-O3 -march=native"
---
> CXXFLAGS="-O2"
plus setPHP_LIBDIR=lib64 and
if test "$THIS_LFLAGS" != "/usr/$PHP_LIBDIR" && test "$THIS_LFLAGS" != "/usr/lib64"; then
...
if test "$THIS_LFLAGS" != "/usr/$PHP_LIBDIR" && test "$THIS_LFLAGS" != "/usr/lib64"; then

php 5.2 ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --with-apxs2=/usr/bin/apxs --enable-fastcgi --enable-force-cgi-redirect --enable-magic-quotes --enable-libgcc --with-libxml-dir --with-openssl --with-kerberos=/usr/local --with-zlib --enable-bcmath --enable-calendar --with-bz2 --with-curl --enable-dba=shared --with-db4 --enable-exif --with-pcre-dir --enable-ftp --with-jpeg-dir --with-png-dir --with-zlib-dir --with-ttf --with-t1lib --with-gettext --with-gmp --with-ldap --with-ldap-sasl --enable-mbstring --with-mcrypt --with-mhash --with-mime-magic --with-mysql=/usr --with-mysql-sock=/tmp/mysql.sock --with-ncurses --with-iodbc --with-readline --enable-soap --enable-sockets --enable-wddx --with-xsl --enable-zip --with-imap=/usr/local/imap --with-imap-ssl=/usr --with-mpm=worker

php 4.4 ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --with-apxs2 --enable-fastcgi --enable-magic-quotes --enable-libgcc --with-openssl --with-kerberos --with-zlib --enable-bcmath --with-bz2 --enable-calendar --with-curl --enable-dba --with-inifile --with-flatfile --with-dio --with-dom --with-dom-xslt --enable-exif --enable-filepro --enable-ftp --with-gd --with-t1lib --with-ttf --with-gettext --with-gmp --with-iconv --with-imap=/usr/local/imap/ --with-java=/opt/jdk --enable-mbstring --enable-mbstring=all --with-mcrypt --with-mcve --with-openssl-dir --with-mhash --with-mime-magic --with-mysql=/usr/ --with-gdbm --with-zlib-dir --with-ncurses --with-iodbc --with-libedit --with-readline --with-openssl-dir=/usr --with-xmlrpc --enable-sockets --enable-zip --with-tsrm-phtreads --with-config-file-path=/etc --with-mysql-sock=/tmp/mysql.sock --with-freetype-dir --with-db4 --with-ldap --with-xslt-sablot --enable-xslt --with-pam_auth --with-jpeg-dir --enable-memory-limit

sendmail 8.13, in devtools/Site/site.config.m4 steht:
APPENDDEF(`confMAPDEF', `-DDNSMAP=1 -DNEWDB -DLDAPMAP -DMAP_REGEX -DTCPWRAPPERS -DSOCKETMAP') dnl -DPH_MAP -DNIS -DNISPLUS
APPENDDEF(`confENVDEF', `-DSTARTTLS -DSASL=2 -DIP_SRCROUTE=1 -DLOG -DNETINET -DNETINET6 -DUSERDB=1')
APPENDDEF(`confENVDEF', `-DNETUNIX -DMATCHGEC0S -DMIME8TO7=1 -DMIME7TO8=1 -DMILTER -DIDENTPROTO=1')
APPENDDEF(`confENVDEF', `-DLDAPMAP -DNAMED_BIND -DLISTSERV')
APPENDDEF(`confINCDIRS', `-I/usr/include/sasl -I/usr/include/openssl/')
APPENDDEF(`confLIBS', `-lssl -lcrypto -lsasl2 -lldap -llber -lwrap -lpthread')

cyrus-imap 2.3(.16) ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-nntp --enable-murder --enable-replication --enable-cmulocal --enable-listext --enable-netscapehack --enable-gssapi=/usr/local/ --with-ldap=/usr --with-openssl --with-perl --enable-idled
Patches: In timsieved/parser.c:cmd_authenticate, func. Ergebnis von mboxlist_detail soll vernachlaessigt werden, da die Mailboxes (fuer die Listen) sowieso nicht existieren (Zeile 716ret = FALSE; goto cleanup; auskomentieren.). In timsieved/actions.c, func. actions_setuser, sollen die Leerzeichen in sieve_dir ganz am Ende in Punkte umgewandelt werden (Zeile 141ff.char* first_space; while (first_space = strchr(sieve_dir,' ')) first_space[0] = '.';).
Cosider applying patch from Cyrus Bug Report 3054.
Update 20110713 for cyrus imap 2.4.10 64bit:CFLAGS="-O3 -march=native" LDFLAGS="-L/lib64 -L/usr/lib64 -L/usr/lib64/sasl2" ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-nntp --enable-murder --enable-replication --enable-cmulocal --enable-netscapehack --enable-gssapi=/usr --with-openssl --with-perl --enable-idled --with-com_err=/usr --with-sasl=/usr/lib64 --libdir=/usr/lib64 --with-bdb-libdir=/usr/lib64 --with-bdb-incdir=/usr/include/ --with-gss_impl=mit
Patches: In timsieved/parser.c:cmd_authenticate, func. Ergebnis von mboxlist_lookup soll vernachlaessigt werden, da die Mailboxen (für MLs und intranet Benutzer) sowieso nicht exisitern (Zeile 715-716ret = FALSE; goto cleanup; auskomentieren.)

cyrus-sasl 2.2.23 ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --with-saslauthd --with-pam --enable-gssapi=/usr/local --enable-otp --with-gss_impl=mit --enable-digest --enable-cram --with-des

clamav 0.95.3 ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-milter --enable-readdir_r --enable-readdir_r --enable-bigstack --disable-clamdtop

mysql 4.1 ./configure --prefix=/usr --localstatedir=/var --sysconfdir=/etc --with-pthread --with-mysqlfs --with-vio --with-openssl --with-isam --with-berkeley-db --with-embedded-server

apr-util-1.4.1: oops, configure parameters lost by accident. Pay attention of ldap and DB options, in ./configure or sub-configure scripts.

apr-iconv-1.2.1: ./configure --libdir=/usr/lib64 --sysconfdir=/etc --localstatedir=/var --with-apr=/usr/bin --prefix=/usr

apr-1.4.5 (für Apache httpd 2.2, gilt nicht mehr): ./configure --libdir=/usr/lib64 --enable-threads --enable-other-child --prefix=/usr --sysconfdir=/etc --localstatedir=/var

Apache httpd 2.2.22 (gilt nicht mehr):
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-authn-dbm --enable-authn-anon --enable-authn-dbd --enable-authn-alias --enable-authz-dbm --enable-authz-owner --enable-authnz-ldap --enable-auth-digest --enable-file-cache --enable-cache --enable-disk-cache --enable-mem-cache --enable-dbd --enable-dumpio --enable-echo --enable-substitute --enable-deflate --enable-logio --enable-mime-magic --enable-cern-meta --enable-expires --enable-headers --enable-ident --enable-usertrack --enable-unique-id --enable-version --enable-proxy --enable-proxy-connect --enable-proxy-ftp --enable-proxy-http --enable-proxy-ajp --enable-proxy-scgi --enable-proxy-balancer --enable-ssl --enable-http --enable-dav --enable-info --enable-cgid --enable-dav-fs --enable-dav-lock --enable-vhost-alias --enable-imagemap --enable-speling --enable-rewrite --enable-so --with-apr=/usr --with-apr-util=/usr --with-pcre=/usr --with-ssl --with-z=/usr/ --enable-mods-shared=all --libdir=/usr/lib64 --enable-ldap
und in build/config_vars.sh "lib" mit "lib64" ersetzen.

bash-3.2, alle Patches von bash32-patches anwenden, dann ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-alias --enable-arith-for-command --enable-array-variables --enable-bang-history --enable-brace-expression --enable-command-timing --enable-cond-command --enable-cond-regexp --enable-directory-stack --enable-ddparen-arithmetic --enable-extended-glob --enable-help-buildin --enable-history --enable-job-control --enable-multibyte --enable-net-redirections --enable-process-substitution --enable-prog-comp --enable-prompt-string-decoding --enable-readline --enable-select --enable-separate-helpfiles --enable-xpg-echo-default --with-installed-readline --no-create --no-recursion

bash-4.2, alle Patches wie open, dann ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --enable-alias --enable-arith-for-command --enable-array-variables --enable-bang-history --enable-brace-expansion --enable-casemod-attributes --enable-casemod-expansions --enable-command-timing --enable-cond-command --enable-cond-regexp --enable-coprocesses --enable-dparen-arithmetic --enable-extended-glob --enable-help-builtin --enable-history --enable-multibyte --enable-net-redirections --enable-process-substitution --enable-progcomp --enable-readline --enable-select --enable-separate-helpfiles --with-installed-readline --enable-prompt-string-decoding --enable-usg-echo-default

spamassassin
documenting the changes in spamssasssin-3.1.8 in file Mail-Spamassassin-3.1.8/lib/Mail/SpamAssassin/PerMsgStatus.pm,
Line 738:
if ($self->{conf}->{rewrite_header}->{Subject}) {
$subject ||= "\n";
my $tag = $self->_replace_tags($self->{conf}->{rewrite_header}->{Subject});
$tag =~ s/\n/ /gs; # strip tag's newlines
ADD if ($subject !~/${tag}/) {
$subject =~ s/^(?:\Q${tag}\E )?/${tag} /g;
};
}

line 750:
# use string appends to put this back together -- I finally benchmarked it.
# join() is 56% of the speed of just using string appends. ;)
while (my ($header, $data) = each %{$self->{conf}->{$addition}}) {
my $line = $self->_process_header($header,$data);
$line = $self->qp_encode_header($line);
$new_hdrs_pre .= "X-Spam-$header: $line\n";
ADD $new_hdrs_pre .= "X-Aegee-Spam-$header: $line\n";
}

line 774:
foreach my $header (keys %{$self->{conf}->{headers_spam}}) {
my $data = $self->{conf}->{headers_spam}->{$header};
my $line = $self->_process_header($header,$data);
$line = $self->qp_encode_header($line);
$newmsg .= "X-Spam-$header: $line\n"; # add even if empty
ADD $newmsg .= "X-Aegee-Spam-$header: $line\n" # add even if empty
}

line 922
# The tag should be a comment for this header ...
$tag = "($tag)" if ($hdr =~ /^(?:From|To)$/);
ADD if ( $_ !~ m/${tag}/i) {
s/^([^:]+:)[ \t]*(?:\Q${tag}\E )?/$1 ${tag} /i;
ADD }

Anmerkungen für www.anciens.org [gilt nicht mehr]

Folgende Information (als ganzes) ist seit der erfolgreichen Migration von test.aegee.org zu www.anciens.org irrelevant geworden.

Bei Updates von den WP-Themes Rezo und Photobox ist folgendes zu beachten:

In der Datei wp-content/themes/(photobox,rezo)/themify/img.php zwischen den Zeilen


// If ALLOW_EXTERNAL is true and ALLOW_ALL_EXTERNAL_SITES is false, then external images will only be fetched from these domains and their subdomains.
$ALLOWED_SITES = array (

und
'themify.me',
'flickr.com',
'picasa.com',
ist die Zeile
'test.aegee.org',
hinzuzufügen, sowie zwischen den Zeilen
curl_setopt ($curl, CURLOPT_TIMEOUT, CURL_TIMEOUT);
curl_setopt ($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.122 Safari/534.30");
curl_setopt ($curl, CURLOPT_RETURNTRANSFER, TRUE);

und
curl_setopt ($curl, CURLOPT_HEADER, 0);
curl_setopt ($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt ($curl, CURLOPT_WRITEFUNCTION, 'wordthumb::curlWrite');
ist die Zeile
curl_setopt ($curl, CURLOPT_FOLLOWLOCATION, TRUE);
hinzuzufügen.


This page is created in Mai 2007, last update November 2011 by Дилян Палаузов