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.
In /home/listserv stehen:
- rename_list - Diese Script umbenennt eine Liste, macht einen Eintrag in /home/listserv/aliases.renamed_lists, damit die Mails fuer die alte Addresse an die neue Liste gehen. Wird mit rename_list <current_list_name> <new_list_name> <Auftraggeber> ausgefuehrt, z.B. /home/listserv/rename_list test-l test2-l Dilyan\ Palauzov\ \<dilyan.palauzov@aegee.org\>
- addlistalias - wird nicht mehr vom Administrator ausgefuehrt - fuegt eine neue Liste in der /home/listserv/aliases.listserv mit allen 8 aliases fuer die jeweilige Liste.
- create_listowners_l - erzeugt die Liste listowners-l: Dort wird jeder Listowner eingetragen. Wird jede nacht ausgefuehrt.
- dellist - loescht eine Liste und fuegt die geloeschte Liste in /home/listserv/deleted_lists mit gesammten Archiven und Logs;
- generate_aegee.org_L erzeugt die Liste aegee_org-l. Dort werden alle E-Mail addressen eingetragen, die mit einem Aegee.org account verbunden sind;
- update_listserv_aliases - erzeugt /home/listserv/aliases.listserv.new mittels addlistalias.
In /root/bin/ stehen:
- newaliases_aegee - fueht /home/listserv/update_listserv_aliases aus und erzeugt die gesammt Mail-Weiterleitungen aus den Dateien /etc/mail/alises.europe, /home/listserv/aliases.renamed_lists und /etc/mail/aliases.karlsruhe . Die Eintraege in /etc/mail/aliases.karlsruhe ueberschreiben alle andere Datensaetze. newaliases_aegee wird ausgefuehrt, wenn eine Mail fuer listserv@aegee.org mit dem Inhalt _GENERATE_ALIASES empfangen wird.
- update_aliases - herunterladet die Datei mit den Weiterleitungen aus Aachen, fuehrt newaliases_aegee aus, und holt die neuesten Virendatenbank mittels freshclam. update_aliases wird ausgefuehrt, wenn eine Mail fuer listserv@aegee.org mit Inhalt _GENERATE_ALIASES all empfangen wird.
- update_map - erzeut aegee.org/map.
- sieve_forwards erzeugt die Dateistruktur unter /usr/sieve/. Wird verwendet, wenn aegeeserv sieve-scripte auswerten kann.
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 Дилян Палаузов