Table of Contents
- Inrichten Linux servers
- Primaire server (blackpearl)
- Hardware Node (hood)
- Partities
- Linux (virtual) servers
- Installatie verslag
- Root password
- Inrichten blackpearl server
- SuSE Installatie bron
- NBD testen
- Gallery 2.2.1
- Install / Clone grafspee
- Overig
- Backup regelen van grafspee naar hood
- Uitgevoerde backups
- Overpiepen heel titanic naar grafspee
- Creating a second VPS
- Port mappings VPS'en
- Printing
- sshdfilter
- Diversen
- smtp mail access
- VPN with openvpn
- JMX monitoring for Tomcat
- MessAdmin
- CVS
- Google Analytics
- JSPWiki changes for GA
- Gallery 2 changes for GA
- PXE Boot server
Inrichten Linux servers#
We willen een server inrichten die permanent aan blijft staan, en fysiek los staat van desktop machines.
Voor de inrichting maken we gebruik van SLES10 met daarop een OpenVZ kernel voor virtualisatie. De belangrijkste reden voor deze keuze is het gemak van beheer van OpenVZ (geen gerommel met schijf partities, en je kan makkelijk vanuit de HN beheer doen op de VPS's), en bovendien ondersteunt de OpenVZ kernel ACPI goed (in elk geval op de Toshiba M1 laptop)
Voor de VPS systemen wordt openSUSE 10 als template gebruikt.
Primaire server (blackpearl)#
Op de primaire machine (blackpearl, VPS 101) wordt bij voorkeur openSuSE 10.x geinstalleerd en moeten de volgende services gehost worden :
- Tomcat 6.0.x, met daarop de volgende webapplicaties :
- KRM administratie
- JSPWiki
- DHFDS
- Apache als frontend voor:
- Tomcat
- Webmin
- Gallery
- Gallery
- MySQL, tbv Gallery en KRM
- Snort (beveiliging)
- Webmin als beheertool
- vsFTPD
- cupsd ? (alleen als remote printing goed te regelen is)
- ntpd
- sshd
- postfix mailserver
- linux firewall (iptables, geconfigureerd met webmin)
- zie verder ook InstallHistorySUSE10.2
Hardware Node (hood)#
Op de hardware node (hood) wordt een bijna default SuSE install gedaan (basic server met Gnome als desktop), met daarop voorlopig alleen uitsluitend een SSH server, en een HTTP server, en uiteraard de openvz daemon.IP address HN is 10.0.0.151, hostnaam hood
Partities#
Server wordt opgedeeld in 3 partities.De partities zijn :
- / (root) partitie, hda5, 5 GB
- swap partite, hda6, 2 GB
- /vz partitie, hda7, 29 GB (alle resterende ruimte dus)
Linux (virtual) servers#
See: Linux Servers
Installatie verslag#
- Als eerste pakken we de gekochte 2e hands laptop (Medion 6200, 512MB , 30 GB).
- We beginnen met een nagenoeg standaard SLES10 installatie. Dat gaat wat moeizaam omdat de DVD tijdens de installatie van de software storingen geeft, en we moeten dan ook halverwege overschakelen op een netwerk installatie waarbij de SLES10 DVD in de desktop gaat, en via http://10.0.0.150/suse
bereikbaar is.
- Vervolgens zetten we met de runlevel editor de nodige services uit, Samba, splash, en nog wat meer, dat moet nog ff gefinetuned worden
- Dan begint de installatie van OpenVZ, te starten met de download/installatie van de OpenVZ kernel, we kiezen voor de SLES10 based versie (kernel-default-2.6.16.21_2_ve026test016-1.i586). Dit gaat met RPM, gevolgd door een reboot (de menu.lst wordt automatisch goed aangepast.)
- Dan volgt aanpassing van sysctl (/etc/sysctl.conf) : # On Hardware Node we generally need # packet forwarding enabled and proxy arp disabled net.ipv4.ip_forward = 1 net.ipv4.conf.default.proxy_arp = 0 # Enables source route verification net.ipv4.conf.all.rp_filter = 1 # Enables the magic-sysrq key kernel.sysrq = 1 # TCP Explict Congestion Notification #net.ipv4.tcp_ecn = 0 # we do not want all our interfaces to send redirects net.ipv4.conf.default.send_redirects = 1 net.ipv4.conf.all.send_redirects = 0 Please edit the file as described.
- gevolgd door een sysctl -p command, en tevens zorgen dat het met boot wordt uitgevoerd door /etc/init.d/boot.sysctl : chkconfig boot.sysctl on
- dan installatie van de utilities, daar heb ik nog wat rpms van de vorige install gevonden die kennelijk nog nodig zijn, het gaat al met al om de volgende RPM's (eerst nog Python xml en Python-tk met Yast erop rijden) : kernel-2.6.18-ovz028stab027.1.src.rpm python-elementtree-1.2.6-7.rh9.rf.i386.rpm sqlite-3.2.7-3.i386.rpm vzpkg-2.7.0-18.noarch.rpm vzrpm44-python-4.4.1-22.5.i386.rpm kernel-default-2.6.16.21_2_ve026test016-1.i586.rpm python-sqlite-1.1.6-1.i386.rpm vzctl-3.0.16-1.i386.rpm vzquota-3.0.9-1.i386.rpm vztmpl-fedora-core-5-2.0-2.i386.rpm python-elementtree-1.2.6-4.i386.rpm python-urlgrabber-2.9.6-1.noarch.rpm vzctl-lib-3.0.16-1.i386.rpm vzrpm44-4.4.1-22.5.i386.rpm vzyum-2.4.0-11.noarch.rpm
- dan de download en installatie van de openSUSE template, we gebruiken hiervoor een precreated cache
- aanpassen /etc/vz/vz.conf: DEF_OSTEMPLATE="suse"
- hierop moet de cache naam worden aangepast : hood:/vz/template/cache # l total 92592 drwxr-xr-x 2 root root 4096 Jun 10 14:41 ./ drwxr-xr-x 4 root root 4096 Jun 10 13:59 ../ -rw-r--r-- 1 root root 94704595 Dec 29 2005 suse.tar.gz
- hostnaam ip adres en startup regelen: hood:/vz/template/cache # vzctl set 101 --onboot yes --save Saved parameters for VE 101 hood:/vz/template/cache # vzctl set 101 --hostname blackpearl.computerhok.nl --save Saved parameters for VE 101 hood:/vz/template/cache # vzctl set 101 --ipadd 192.168.169.101 --save Saved parameters for VE 101
- en starten die handel: hood:/vz/template/cache # vzctl start 101 Starting VE ... VE is mounted Adding IP address(es): 192.168.169.101 Setting CPU units: 1000 Set hostname: blackpearl.computerhok.nl VE start in progress...
Root password#
Root password kan worden ingesteld met : vzctl set 101 --userpasswd root:xxxxxx
Inrichten blackpearl server#
SuSE Installatie bron#
Installatie server wordt vorlopig nog de oude desktop, want de DVD speler op de hood is defect, daar komt de DVD in te hangen, en de SUSE installatie bron voor de VPS's wordt http://blackpearl/suse
.
Dit doen we door op te voeren /etc/apache2/user.conf met de volgende inhoud:
#--------------------------- # tbv suse dvd: Alias /suse "/media/cdrom" <Directory "/media/cdrom"> Allow from all Options Indexes </Directory>En door tevens op te nemen in de /etc/apache2/httpd.conf : Include /etc/apache2/user.conf, gevolgd door een restart van de http server.
Na net Yast installeren van mysql doet yast zelf het niet meer, bij keuze van Software Management krijg ik segmentation faults, na wat Googlen komen we niet meteen veel verder. Ik besluit te concluderen dat de door openvz geleverde (unsupported) suse cache niet helemaal lekker is, en dat je niet zomaar een SLES10 installatie CD als installation source kan gebruiken.
Volgende poging:
Copy the hood naar /vz/private/102
Dat wordt helemaal niks, boot niet goed, geen netwerk interfaces enz.. weer weggooien maar.
I Think I found it, ik gebruikte de SLES10 DVD terwijl de cache een openSuSE 10.0 is:
blackpearl:/etc # cat SuSE-release SUSE LINUX 10.0 (i586) OSS VERSION = 10.0
Dus we gaan verder met de openSuSE 10.0 installatie DVD, en dat gaat beter, YaST install gedaan voor locate lynx mysql++
- YaST install van lynx, locate, mysql, ntop (doet die het wel goed met venet0 ?!), 2 yast modules voor runlevel editor en sysconfig editor.
- met runlevel editor mysql aanzetten in runlevel 3, chkconfig mysql, en :
- /usr/bin/mysqladmin -u root password xxxxxxx
- /usr/bin/mysqladmin -u root -h blackpearl.computerhok.nl password xxxxxxx
Na reboot problemen met memory: "Cannot allocate memory" bij ongeveer alles wat je doet. Heel fijn, kijk even in de /proc/user_beancounters:
hood:/proc # cat /proc/user_beancounters
Version: 2.5
uid resource held maxheld barrier limit failcnt
0: kmemsize 3330967 4204679 2147483647 2147483647 0
lockedpages 0 33 2147483647 2147483647 0
privvmpages 24637 34177 2147483647 2147483647 0
shmpages 8980 9076 2147483647 2147483647 0
dummy 0 0 2147483647 2147483647 0
numproc 70 94 2147483647 2147483647 0
physpages 9743 16812 2147483647 2147483647 0
vmguarpages 0 0 2147483647 2147483647 0
oomguarpages 9743 16812 2147483647 2147483647 0
numtcpsock 9 13 2147483647 2147483647 0
numflock 2 4 2147483647 2147483647 0
numpty 2 2 2147483647 2147483647 0
numsiginfo 0 2 2147483647 2147483647 0
tcpsndbuf 2228 265540 2147483647 2147483647 0
tcprcvbuf 0 201108 2147483647 2147483647 0
othersockbuf 204020 426664 2147483647 2147483647 0
dgramrcvbuf 0 8372 2147483647 2147483647 0
numothersock 146 179 2147483647 2147483647 0
dcachesize 941194 1011468 2147483647 2147483647 0
numfile 884 1278 2147483647 2147483647 0
dummy 0 0 2147483647 2147483647 0
dummy 0 0 2147483647 2147483647 0
dummy 0 0 2147483647 2147483647 0
numiptent 10 10 2147483647 2147483647 0
101: kmemsize 586787 949644 2752512 2936012 0
lockedpages 0 0 32 32 0
privvmpages 48390 49788 131072 131072 196
shmpages 0 336 8192 8192 0
dummy 0 0 0 0 0
numproc 21 33 65 65 0
physpages 13317 14534 0 2147483647 0
vmguarpages 0 0 6144 2147483647 0
oomguarpages 13317 14534 6144 2147483647 0
numtcpsock 3 4 80 80 0
numflock 10 11 100 110 0
numpty 0 1 16 16 0
numsiginfo 0 2 256 256 0
tcpsndbuf 0 4456 319488 524288 0
tcprcvbuf 0 8552 319488 524288 0
othersockbuf 4456 17244 132096 336896 0
dgramrcvbuf 0 27400 132096 132096 0
numothersock 3 9 80 80 0
dcachesize 65000 92040 1048576 1097728 0
numfile 128 248 2048 2048 0
dummy 0 0 0 0 0
dummy 0 0 0 0 0
dummy 0 0 0 0 0
numiptent 10 10 128 128 0
En kijk bij privvmpages van VPS 101, daar zie je een failcount van 196, dus die waarde *dynamisch* verhoogd :
vzctl set 101 --privvmpages 512m --save, en hup gaan weer met die banaan.
Apache wil niet opstarten, wederom "Cannot allocate memory" , weer beancounters bekijken, nu staat de numproc van de 0 failcnt:
uid resource held maxheld barrier limit failcnt
numproc 24 65 65 65 8
Dus de numproc opgehoogd: vzctl set 101 --numproc 512 --save , en hij gaat weer..... :-) I like that...
- Install JDK5, get it from openSuSE 10.2 CD en dan : rpm -i java-1_5_0-sun-1.5.0_update8-19.i586.rpm.
Testen, weer memory problemen, en jawel weer beancounter failcnt van nul af, privvmpages opgehoogd naar 1024m, weer getest, en nu oke !
- Tomcat
- Download tomcat 6.0.13 (tar.gz) en uitpakken naar /usr/local/tomcat.
- opvoeren met yast user en groep tomcat
- copy van titanic: /etc/init.d/tomcat gevolgd door een chkconfig tomcat on
- gekloo.. met JAVA_HOME zoals gebruikelijk op SuSE, symlink aangelegd java --> java-1.5.0-sun-1.5.0_update8 in /usr/lib/jvm
- in /etc/init.d/tomcat aanpassing JRE_HOME=/usr/lib/jvm/java/jre
- copieren van titanic: tomcat-users.xml en server.xml
- starten, en hij doetut: http://blackpearl:8080/manager/html
- copieren van titanic /usr/local/tomcat/webapps : dhfds JSPWiki krm
- copieren van titanic /usr/local/tomcat/logs/*
- copieren van titanic /var/jspwiki/*
- copieren van titanic /usr/local/tomcat/lib/mysql-connector-java-3.1.8-bin.jar
- Webmin
- blackpearl:/tmp # rpm -i webmin-1.350-1.noarch.rpm warning: webmin-1.350-1.noarch.rpm: V3 DSA signature: NOKEY, key ID 11f63c51 Operating system is SuSE Linux Webmin install complete. You can now login to http://blackpearl.computerhok.nl:10000/ as root with your root password.
- webmin poort naar 51981
- M.b.v. webmin alle users in mysql opvoeren.
- copieren van titanic/etc/apache2 : krm.conf krm-ssl user.conf, backend-connector.conf
- Install extra apache mods with YaST sysconfig rewrite proxy proxy_ajp proxy_http status info
- mod_status.conf aanpassen, allow from All
NBD testen#
- install nbd-2.8.3-15.2.i586.rpm (van SLES10 DVD) op hood en laptopm1
- op m1: nbd-server 1100 /dev/hda5 , op hood: nbd-client 10.0.0.160 1100 /dev/nbd0
- overpiepen: dd if=/dev/hda7 of=/dev/nbd0 bs=1M, je kan dan met een kill -s USR1 <pid> zorgen dat dd ff wat stats geeft : 290+0 records in 290+0 records out 304087040 bytes (304 MB) copied, 196.48 seconds, 1.5 MB/s
- enfin, met dd wordt het niks, want dan moeten de devices even groot zijn, handiger is overpiepen als volgt :
- hood:/ # tar -cz /bin /boot /etc /home /lib / media /mnt /opt /root /sbin /srv /usr /vz /var | ssh -c blowfish 10.0.0.160 tar -xz -C /media/hda5
- na het overpiepen van deze files, nog copieren: /etc/sysconfig/network/ifcfg* => /media/hda5/etc/sysconfig/network , en de oude weggooien
- tevens aanmaken dirs /media/hda5/[dev|tmp|proc|sys]
- problemen met booten, waiting for device /dev/hda5 to appear... , moet iets met initrd zijn, laten liggen....
- dumpen krm database: mysqldump krmdb -u root -p > mysqldumpkrm
- restoren krm database: blackpearl:/home/metskem # mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 91 to server version: 4.1.13 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> use krmdb Database changed mysql> source mysqldumpkrm Query OK, 0 rows affected (0.01 sec) ..... Query OK, 0 rows affected (0.00 sec) Query OK, 27 rows affected (0.00 sec) Records: 27 Duplicates: 0 Warnings: 0 Query OK, 0 rows affected (0.00 sec) ..... Query OK, 0 rows affected (0.00 sec) Query OK, 17 rows affected (0.00 sec) Records: 17 Duplicates: 0 Warnings: 0 Query OK, 0 rows affected (0.00 sec) ... Query OK, 0 rows affected (0.00 sec) Query OK, 14 rows affected (0.01 sec) Records: 14 Duplicates: 0 Warnings: 0 Query OK, 0 rows affected (0.00 sec) ... Query OK, 46 rows affected (0.00 sec) Records: 46 Duplicates: 0 Warnings: 0 Query OK, 0 rows affected (0.00 sec) .... Query OK, 806 rows affected (0.04 sec) Records: 806 Duplicates: 0 Warnings: 0 Query OK, 0 rows affected (0.00 sec) .... Query OK, 0 rows affected (0.00 sec) mysql>
- upgrade gedaan naar mysql 5.0.26 (rpm's gecopieerd van opensuse 10.2 DVD), inclusief upgrade naar glibc 2.5.25
- database permissions, user permissions opgevoerd => krm werkt
Gallery 2.2.1#
De installatie log is van de vorige keer gebruikt: InstallatieVerslagGallery- met webmin een mysql user opgevoerd metskem en gallery
- mysqladmin -uroot create gallery2 -p (aanleggen database gallery2)
- mysql gallery2 -uroot -e"GRANT ALL ON gallery2.* TO metskem@localhost IDENTIFIED BY 'password'" -p (geef alle Database permissions aan metskem op database gallery2) (idem voor user gallery2)
- download typical gallery 2.2.1 from http://codex.gallery2.org/Downloads
- uitpakken naar /usr/local/gallery2
- VZ diskquota opgehoogd: DISKSPACE="10000000:15000000"
- overpiepen: /mnt/data/gallery2
- chown wwwrun /mnt/data/gallery2
- chmod 755 /mnt/data/gallery2
- in /etc/apache2/user.conf openemen :
#-------------------------- # tbv gallery2: #-------------------------- Alias /gallery "/usr/local/gallery2" <Directory "/usr/local/gallery2"> Allow from all </Directory>
- install php
- (2007-08-04):
- install Gallery additem plugin (via Gallery Interface) , zodat we zipfiles met foto's kunnen toevoegen
- in /etc/php.ini aangepast : upload_max_filesize = 5M (was 2 Mb)
Install / Clone grafspee#
De grafspee is de HN op de M1 laptop die productie moet gaan draaien, hier kort een verslag van de installatie stappen:
- nagenoeg default SLES10 install
- overcopieren /root/openvz/*
- rpm install van de openvz kernel, gevolgd door reboot
- /etc/sysctl.conf aangepast en sysctl -p gedaan
- rpm install van de openvz utils (voorafgegaan door install van python-xml en python-tk) install met --nodeps gedaan
- dan : hood:/vz # tar -cz private | ssh -c blowfish grafspee tar -xz -C /vz
- /etc/init.d/vz start
- vzlist -a
- vzctl start 101
- LET WEL: Als de blackpearl verhuist van hardware node, dan dient de routing op het routermodem te worden aangepast (10.0.0.151 <=> 10.0.0.152)
Overig#
- timezones halen: scp -r root@10.0.0.151:/usr/share/zoneinfo . scp 10.0.0.151:/etc/localtime /etc
- hostnamen instellen van alle pc's en de /etc/hosts overal aanpassen
- sysconfig: cleanup tmp and tomcat dirs regularly:
| MAX_DAYS_IN_TMP | 15 |
| MAX_DAYS_IN_LONG_TMP | 15 |
| TMP_DIRS_TO_CLEAR | default to /tmp |
| LONG_TMP_DIRS_TO_CLEAR | /var/tmp |
- webmin achter apache regelen:
- 2 stuks proxy statements in backend-connector.conf:
ProxyPass /webmin http://localhost:51981 ProxyPassReverse /webmin http://localhost:51981
- en het volgende in /etc/webmin/config:
webprefix=/webmin webprefixnoredir=1 referer=h88211133030.dsl.spedlinq.nl
- enable NTP timing (op de HN !!) , de VPSjes krijgen de tijd van de HN:
- /etc/ntp.conf overgecopieerd
- /etc/init.d/ntp start
- chkconfig ntp on
- user wim opgevoerd, en .ssh/authorized_keys overgecopieerd
- deels inhoud van /etc/sudoers overgecopieerd
- cron (+ required postfix) installed
- vzctl set 101 --numothersock 250 --save (postfix wilde niet starten)
- VSFTPD regelen:
- met Yast installeren
- /etc/vsftpd.conf tweaken (settings overgenomen van InstallHistorySUSE10.2
- ftp service enablen via webmin Internet services
- chkconfig xinetd on en mbv webmin reload (SIGHUP) voor xinetd
- vzctl set 101 --lockedpages 50 --save
- firewall mogelijk maken (mbv iptables) op blackpearl:
- op HN aanpassen /etc/vz/vz.conf: IPTABLES="ipt_REJECT ipt_tos ipt_limit ipt_multiport iptable_filter iptable_mangle ipt_TCPMSS ipt_tcpmss ipt_ttl ipt_length ip_conntrack ip_conntrack_ftp ip_conntrack_irc ipt_LOG ipt_conntrack ipt_helper ipt_state iptable_nat ip_nat_ftp ip_nat_irc ipt_TOS"
- op HN: vzctl stop 101 en /etc/init.d/vz restart
- op HN: lsmod|grep tables laat nu flink wat meer opties zien bij x_tables.
- m.b.v. webmin firewall rules weer gemaakt
- OpenVZSnekjes : de firewall logging gaat naar de HN, niet in de VPS zelf :-)
- nog wat fout met logrotate:
Jun 25 17:06:39 blackpearl syslog-ng[1367]: STATS: dropped 0 Jun 25 18:06:39 blackpearl syslog-ng[1367]: STATS: dropped 0 Jun 25 18:30:02 blackpearl logrotate: ALERT exited abnormally with [1] Jun 25 18:30:02 blackpearl logrotate: error: error accessing /var/log/tomcat5/base: No such file or directory Jun 25 18:30:02 blackpearl logrotate: error: tomcat5:1 glob failed for /var/log/tomcat5/base/*.txt Jun 25 18:30:05 blackpearl su: (to nobody) root on none==> opgelost door wegmikken van /etc/logrotate.d/tomcat5
- timezone tomcat goed zetten: aanpassen /usr/local/tomcat/bin/catalina.sh JAVA_OPTS -Duser.timezone=CET
- vzctl set 101 --lockedpages 200 --save
- ssh probleem vanaf wimpie opgelost, hij had zn RSA keys niet meer staan
- OpenVZSnekjes : lsof werkt niet naar behoren in een VPS, geeft helemaal geen output, terwijl dit in de HN wel goed gaat :-(
- opvoeren /root/.my.cnf (zie ook /etc/logrotate.d/mysql)
- OpenVZSnekjes : xosview installed, maar helaas :
blackpearl:~ # xosview Can not open file : /proc/interrupts
- ntpd uitzetten (tijd komt van de HN): chkconfig ntp off
- powersaved uitzetten (powersave functionaliteit komt van de HN) : chkconfig powersaved off
- multitail installeren
Backup regelen van grafspee naar hood#
Deze procedure regelmatig gebruiken om een complete backup te maken van alle VPS'en op de grafspee naar de hood.- stoppen van alle actieve VPS'en op de hood (target HN), alleen indien nodig, controle met vzlist -a
- overpiepen vz naar hood:
cd /etc/vz && tar -c vz.conf | ssh -c blowfish hood tar -xv -C /etc/vz cd /etc/sysconfig && tar -c vz-scripts | ssh -c blowfish hood tar -xv -C /etc/sysconfig cd /vz && tar -c private template | ssh -c blowfish hood tar -xv -C /vz
- aanpassen IP-adres van blackpearl copy op hood, door op hood aan te passen in /etc/vz/conf/101.conf, het ip-adres van 10.0.0.101 veranderen in 10.0.0.201
- starten blackpearl op hood: vzctl start 101
- als de backup langer moet blijven draaien, dan static route op routermodem omgooien voor adres 10.0.0.101 van 10.0.0.152 naar 10.0.0.151. Anders gewoon testen door adres 10.0.0.201 gebruiken.
- na het testen weer de VPS op de hood op noautostart zetten door volgende in /etc/vz/conf/10*.conf : ONBOOT="no"
Uitgevoerde backups#
Per 10-11-2007 hier bijhouden wanneer je een backup hebt gemaakt.
Overpiepen heel titanic naar grafspee#
- copy: date;cd / && tar -c bin boot etc home lib media mnt opt root sbin srv usr var | ssh -c blowfish grafspee tar -x -C /media/hda8;date
- start om 18:33:01 , gereed om 19:28:52, dan is er 14 GB overgepiept (per abuis ook de gemounte SuSE DVD meegenomen), dat betekent dus 4 MB/s
Creating a second VPS#
- make symlink:
grafspee:/usr/lib # ln -s libexpat.so.1 libexpat.so.0
- download cache template for fc5 and CentOS 4.5 from http://openvz.org/download/template/metadata/
- install templates:
grafspee:~/openvz/rpm # rpm -i vztmpl-centos-4-2.0-2.i386.rpm --nodeps warning: vztmpl-centos-4-2.0-2.i386.rpm: Header V3 DSA signature: NOKEY, key ID a7a1d4b6 grafspee:~/openvz/rpm # vzpkgls fedora-core-5-i386-default fedora-core-5-i386-minimal centos-4-i386-default centos-4-i386-minimal(de --nodeps durf ik te doen omdat ik al een vzrpm44-python-4.4.1-22.5, de fc template ging er zonder --nodeps in)
- create package cache:
grafspee:/usr/lib # vzpkgcache fedora-core-5-i386-default Creating cache for fedora-core-5-i386-default OS template Setting up Install Process Setting up repositories fc5-base 100% |=========================| 1.1 kB 00:00 fc5-vz-addons 100% |=========================| 951 B 00:00 fc5-updates-released 100% |=========================| 1.2 kB 00:00 Reading repository metadata in from local files primary.xml.gz 100% |=========================| 767 kB 00:03 fc5-base : ################################################## 2207/2207 Added 2207 new packages, deleted 0 old in 11.18 seconds primary.xml.gz 100% |=========================| 1.8 kB 00:00 fc5-vz-add: ################################################## 3/3 Added 3 new packages, deleted 0 old in 0.16 seconds primary.xml.gz 100% |=========================| 406 kB 00:01 fc5-update: ################################################## 1159/1159 Added 1159 new packages, deleted 0 old in 7.53 seconds Parsing package install arguments .................. .......... ........ Packing cache file fedora-core-5-i386-default.tar.gz ... Cache file fedora-core-5-i386-default.tar.gz [118M] created.
- dan echt de VPS maken:
grafspee:~ # vzctl create 102 --ostemplate fedora-core-5-i386-default --ipadd 192.168.169.102 --hostname tirpitz Creating VE private area (fedora-core-5-i386-default) Performing postcreate actions VE private area was created
- root pw: vzctl set 102 --userpasswd root:xxxxxx
- CentOS erin, met wat hackwerk:
grafspee:/usr/share/vzpkgtools # ln -s vzrpm44 vzrpm43 grafspee:/usr/share/vzpkgtools # vzpkgcache centos-4-i386-default Creating cache for centos-4-i386-default OS template Setting up Install Process Setting up repositories centos4-vz-addons 100% |=========================| 951 B 00:00 centos4-base 100% |=========================| 1.1 kB 00:00 centos4-updates-released 100% |=========================| 951 B 00:00 Reading repository metadata in from local files primary.xml.gz 100% |=========================| 1.8 kB 00:00 centos4-vz: ################################################## 3/3 Added 3 new packages, deleted 0 old in 0.16 seconds primary.xml.gz 100% |=========================| 580 kB 00:02 centos4-ba: ################################################## 1518/1518 Added 1518 new packages, deleted 0 old in 8.64 seconds primary.xml.gz 100% |=========================| 66 kB 00:00 ...... ............. ........... Complete! chmod: cannot access `/etc/cron.daily/makewhatis.cron': No such file or directory Packing cache file centos-4-i386-default.tar.gz ... Cache file centos-4-i386-default.tar.gz [108M] created.
- dan echt de VPS maken:
grafspee:/vz/template/cache # vzctl create 103 --ostemplate centos-4-i386-default --ipadd 192.168.169.103 --hostname repulse Creating VE private area (centos-4-i386-default) Performing postcreate actions VE private area was created
- en starten: vzctl start 103
Port mappings VPS'en#
Zie overzicht bovenaan voor de poorten.
Voor elke VPS kan je een port forward aanzetten door b.v. het volgende te doen :
ssh -L *:10222:localhost:22 -c blowfish -N root@localhost
Printing#
Tja, je kan niet via de VPS printen, want die heeft geen toegang tot USB devices. We gaan voor de makkelijke oplossing, we gaan printen via de HN (grafspee).
Daar dus met YaST cups+ installed, en wat lopen tweaken met de /etc/cups/cupsd.conf (vooral autorisaties openzetten, zodat je remote beheer kan doe via http://grafspee:631
.
Op andere pc's printer ingesteld op http://grafspee:631/printers/Deskjet
2007-10-29: Printing werkt niet lekker, je kan geen jobs cancellen. Dus maar even de /etc/cups/cupsd.conf op grafspee aangepast (RunAsUser en Authtype User) :
LogLevel info AutoPurgeJobs No Printcap /etc/printcap User lp Group lp RunAsUser No Port 631 Browsing On BrowseAllow @LOCAL BrowseDeny All SystemGroup users <Location /> AuthType None Order Allow,Deny Allow from All </Location> <Location /jobs> AuthClass User AuthType Basic Order Allow,Deny Allow from All </Location>
sshdfilter#
- download from http://www.csc.liv.ac.uk/~greg/sshdfilter/
- create /etc/sshdfilterrc
- create firewall chain:
iptables -N SSHD -A INPUT -p tcp -m tcp --dport 22 -j SSHD(hetzelfde ook even in webmin regelen, of wat ook kan is een revert configuration in webmin doen
- cp source/sshdfilter.pl /usr/sbin/sshdfilter
- copy man files :
cp sshdfilter.1 /usr/share/man/man1 cp sshdfilterrc.5 /usr/share/man/man5
- create named fifo:
mkfifo /var/log/sshd.fifo chmod 600 /var/log/sshd.fifo
- copy sshdfilter to /etc/init.d and chkconfig sshdfilter on
- starten met /etc/init.d/sshdfilter start
- syslog conf aanpassen, dest toevoegen naar /var/log/sshd.fifo, en een target maken /var/log/messages => /var/log/sshd.fifo
- testen met ssh noooooo@localhost ,geeft volgende log :
Jul 7 21:15:26 blackpearl sshd[17696]: Invalid user nooooo from 127.0.0.1 Jul 7 21:15:26 blackpearl sshdfilt[16289]: DB:INVALID: dirty=0 user=nooooo, ip=127.0.0.1 Jul 7 21:15:26 blackpearl sshdfilt[16289]: Chanced illegal user name from 127.0.0.1, 1 guesses out of 3 Jul 7 21:15:41 blackpearl sshd[17700]: Invalid user nooooo from 127.0.0.1 Jul 7 21:15:41 blackpearl sshdfilt[16289]: DB:INVALID: dirty=0 user=nooooo, ip=127.0.0.1 Jul 7 21:15:41 blackpearl sshdfilt[16289]: Chanced illegal user name from 127.0.0.1, 2 guesses out of 3 Jul 7 21:15:46 blackpearl sshd[17704]: Invalid user nooooo from 127.0.0.1 Jul 7 21:15:46 blackpearl sshdfilt[16289]: DB:INVALID: dirty=0 user=nooooo, ip=127.0.0.1 Jul 7 21:15:46 blackpearl sshdfilt[16289]: Chanced illegal user name from 127.0.0.1, 3 guesses out of 3 Jul 7 21:15:53 blackpearl sshd[17708]: Invalid user nooooo from 127.0.0.1 Jul 7 21:15:53 blackpearl sshdfilt[16289]: DB:INVALID: dirty=0 user=nooooo, ip=127.0.0.1 Jul 7 21:15:53 blackpearl sshdfilt[16289]: Illegal user name, blocking 127.0.0.1 after 3 chances Jul 7 21:15:53 blackpearl sshdfilt[17710]: DB:pre mail command is $mailcommand="mail -s \"sshdfilter event for $ip, $event\" harry.metske\@gmail.com" Jul 7 21:15:53 blackpearl sshdfilt[17710]: DB:post mail command is mail -s "sshdfilter event for 127.0.0.1, Illegal user name, blocking after 3 chances." harry.metske@gmail.com Jul 7 21:15:53 blackpearl sshdfilt[16289]: DB: pre fw add command is $fwcommand="iptables -A $chain -p tcp -s $ip --dport 22 -j DROP" Jul 7 21:15:53 blackpearl sshdfilt[16289]: DB: post fw add command is iptables -A SSHD -p tcp -s 127.0.0.1 --dport 22 -j DROP
Diversen#
- wijzigen logfile naam in /usr/local/tomcat/webapps/krm/META-INF/context.xml en /usr/local/tomcat/webapps/krm/META-INF/context.xml
- chkconfig alsasound off
- verwijderen size=+4096k uit /etc/logrotate.d/apache2
- toevoegen 2 apache modules: deflate en headers (mbv yast sysconfig editor)
- nieuw certificaat gegenereerd voor www.computerhok.nl' (zie krm.doc voor docu)
- volgende stmts toegevoegd aan /etc/apache2/user.conf :
# # enable compression: <Location /> # Insert filter SetOutputFilter DEFLATE # Don't compress images SetEnvIfNoCase Request_URI \ \.(?:gif|jpe?g|png)$ no-gzip dont-vary # Make sure proxies don't deliver the wrong content Header append Vary User-Agent env=!dont-vary </Location>
- apache config wijziging: toevoege AddDefaultCharset UTF-8 aan /etc/apache2/user.conf (goed weergeven van graden teken: N 52° 17.691 E 006° 30.614
- OpenVZ UBC's weer verhogen (Tomcat gaat regelmatig loopen) :
grafspee:~ # vzctl set 101 --tcpsndbuf 1000000 2000000 --save non-option ARGV-elements: 2000000 grafspee:~ # vzctl set 101 --tcpsndbuf 1000000:2000000 --save UB limits were set successefully Saved parameters for VE 101 grafspee:~ # vzctl set 101 --tcprcvbuf 1000000:2000000 --save UB limits were set successefully Saved parameters for VE 101 grafspee:~ # vzctl set 101 --lockedpages 5000:10000 --save UB limits were set successefully Saved parameters for VE 101 grafspee:~ # vzctl set 101 --kmemsize 8000000:9000000 --save UB limits were set successefully Saved parameters for VE 101 grafspee:~ # vzctl set 101 --numtcpsock 400:500 --save UB limits were set successefully Saved parameters for VE 101 grafspee:~ # vzctl set 101 --numiptent 400:500 --save UB limits were set successefully Saved parameters for VE 101 grafspee:~ # vzctl set 101 --numfile 8000:10000 --save UB limits were set successefully Saved parameters for VE 101Nieuwe UBC's :
blackpearl:/home/metskem # cat /proc/user_beancounters
Version: 2.5
uid resource held maxheld barrier limit failcnt
101: kmemsize 3973652 5038289 8000000 9000000 18
lockedpages 0 0 5000 10000 5
privvmpages 114023 454005 500000 600000 0
shmpages 1289 4617 8192 8192 0
dummy 0 0 0 0 0
numproc 89 116 512 512 0
physpages 37973 81013 0 2147483647 0
vmguarpages 0 0 6144 2147483647 0
oomguarpages 37973 81013 6144 2147483647 0
numtcpsock 34 80 400 500 3
numflock 6 29 100 110 0
numpty 2 3 16 16 0
numsiginfo 5 14 256 256 0
tcpsndbuf 12648 406380 1000000 2000000 66
tcprcvbuf 1204 416012 1000000 2000000 165
othersockbuf 166408 416404 500000 800000 0
dgramrcvbuf 0 16744 500000 600000 0
numothersock 105 134 250 250 0
dcachesize 404040 464360 1048576 1097728 0
numfile 1426 1733 8000 10000 0
dummy 0 0 0 0 0
dummy 0 0 0 0 0
dummy 0 0 0 0 0
numiptent 59 111 400 500 0
smtp mail access#
- Firewall openzetten voor poort 25, check mbv grc.com
- SMTP alias maken (webmin) voor metskem
- Postfix mail voor hele domain (computerhok.nl) laten ontvangen (webmin)
- MX record aanmaken bij transip.nl: @ MX 10 www.computerhok.nl
VPN with openvpn#
- Installed openvpn on grafspee and wimpie's ubuntu with the regular tools (YaST and Synaptic)
- generate static.key (I know this is not very secure, but for this scenario more than enough), see also http://openvpn.net/static.html
- create /etc/openvpn/server.conf:
dev tun ifconfig 10.8.0.1 10.8.0.2 secret static.key comp-lzo # # routes: push "route 10.0.0.0 255.255.255.0" push "route 10.0.0.101 255.255.255.255" daemon verb 4 log-append /var/log/openvpn.log
- create /etc/openvpn/client.conf on wimpie's pc (contents NA)
- add startup cmd to /etc/rc.local: /usr/sbin/openvpn /etc/openvpn/client.conf
- startup server on grafspee: /usr/sbin/openvpn /etc/openvpn/server.conf
- add static route on grafspee : route add 192.168.1.10 gw 10.8.0.2
- add static route on laptop : route add 192.168.1.10 gw 10.0.0.152
- add static host route to modem device, with the intent that packages for 192.168.1.10 are routed to 10.0.0.152, where it should be sent into the vpn tunnel (tun0), however this doesn't seem to work yet.
JMX monitoring for Tomcat#
See also the official Sun docs
Add the following line to /home/tomcat/.bash_profile (scharnhorst) and /home/tomcat/.bashrc (blackpearl):
export JAVA_OPTS="-Dcom.sun.management.jmxremote.port=5001 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false "On your laptop start jconsole, and do a remote connect to port 5001 (scharnhorst or blackpearl)
MessAdmin#
MessAdmin can be used to reveal the webapps HttpSession size. Installation instructions :
- download zip file from sourceforge
- copy MessAdmin-Core-4.1.1.jar to tomcat's lib directory
- add filter defs tomcat's server wide web.xml:
<filter>
<!-- MessAdmin Servlet Filter -->
<filter-name>MessAdminFilter</filter-name>
<filter-class>clime.messadmin.filter.MessAdminFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>MessAdminFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<listener>
<!-- MessAdmin listener -->
<listener-class>clime.messadmin.core.MessAdminListener</listener-class>
</listener>
- mkdir /usr/local/tomcat/MessAdmin
- unjar MessAdmin.war here
- recycle tomcat
CVS#
Install CVS on blackpearl:
- install cvs package with yast
- enable cvs by editing /etc/xinetd.d/cvs :
# CVS pserver (remote acces to your CVS repositories)
# Please read the section on security and passwords in the CVS manual,
# before you enable this.
# default: off
service cvspserver
{
port = 2401
# disable = yes
socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/bin/cvs
server_args = -f --allow-root=/usr/local/cvsroot pserver
}
- /etc/init.d/xinetd reload
Google Analytics#
This enables you to keep track of statistics of your website visitors.
It works by inserting a small piece of javascript in your html pages. This js then sends requests to the google analytics site.
You first have to register with GA. You then get a unique ID that you have to use in your java script.
The java script looks like this:
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-3977725-1");
pageTracker._initData();
pageTracker._trackPageview();
</script>
.
JSPWiki changes for GA#
JSPWiki has a localheader.jsp, so this is easy, just stick in the above js, and you are done.
Gallery 2 changes for GA#
This is explained on the Gallery2 wiki
So I created /usr/local/gallery2/themes/carbon/templates/local and copied theme.tpl from the upper directory in it, and added the js at the end of the file just before the </body> tag. You'r done
PXE Boot server#
root@scharnhorst /etc> apt-get install inetutils-inetd
root@scharnhorst /etc> sudo apt-get install tftpd-hpa dhcp3-server lftp Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: dhcp3-server lftp tftpd-hpa 0 upgraded, 3 newly installed, 0 to remove and 7 not upgraded. Need to get 752kB of archives. After this operation, 2413kB of additional disk space will be used. Get:1 http://archive.ubuntu.com hardy/main dhcp3-server 3.0.6.dfsg-1ubuntu9 [318kB] Get:2 http://archive.ubuntu.com hardy/main lftp 3.6.1-1 [399kB] Get:3 http://archive.ubuntu.com hardy/main tftpd-hpa 0.48-1ubuntu1 [34.7kB] Fetched 752kB in 0s (1422kB/s) Preconfiguring packages ... Selecting previously deselected package dhcp3-server. (Reading database ... 45253 files and directories currently installed.) Unpacking dhcp3-server (from .../dhcp3-server_3.0.6.dfsg-1ubuntu9_i386.deb) ... Selecting previously deselected package lftp. Unpacking lftp (from .../archives/lftp_3.6.1-1_i386.deb) ... Selecting previously deselected package tftpd-hpa. Unpacking tftpd-hpa (from .../tftpd-hpa_0.48-1ubuntu1_i386.deb) ... Setting up dhcp3-server (3.0.6.dfsg-1ubuntu9) ... Generating /etc/default/dhcp3-server... * Starting DHCP server dhcpd3 [fail] invoke-rc.d: initscript dhcp3-server, action "start" failed. Setting up lftp (3.6.1-1) ... Setting up tftpd-hpa (0.48-1ubuntu1) ...
root@scharnhorst /etc> netstat -uap Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name netstat: no support for `AF INET (udp)' on this system.
Dat draait natuurlijk weer niet op een virtuele server, dus er weer af :
root@scharnhorst /e/init.d> sudo apt-get remove inetutils-inetd tftpd-hpa dhcp3-server Reading package lists... Done Building dependency tree Reading state information... Done The following packages will be REMOVED: dhcp3-server inetutils-inetd tftpd-hpa 0 upgraded, 0 newly installed, 3 to remove and 7 not upgraded. After this operation, 1110kB disk space will be freed. Do you want to continue [Y/n]? y (Reading database ... 45301 files and directories currently installed.) Removing dhcp3-server ... * Stopping DHCP server dhcpd3 [fail] Removing tftpd-hpa ... Removing inetutils-inetd ... * Stopping internet superserver inetdEn maar even op een real server proberen:
root@grafspee:~# apt-get install inetutils-inetd tftpd-hpa dhcp3-server lftp Reading package lists... Done Building dependency tree Reading state information... Done The following packages were automatically installed and are no longer required: whois Use 'apt-get autoremove' to remove them. The following NEW packages will be installed: dhcp3-server inetutils-inetd lftp tftpd-hpa 0 upgraded, 4 newly installed, 0 to remove and 9 not upgraded. Need to get 831kB of archives. After this operation, 2593kB of additional disk space will be used. Get:1 http://nl.archive.ubuntu.com hardy/main dhcp3-server 3.0.6.dfsg-1ubuntu9 [318kB] Get:2 http://nl.archive.ubuntu.com hardy/universe inetutils-inetd 2:1.5.dfsg.1-4 [79.4kB] Get:3 http://nl.archive.ubuntu.com hardy/main lftp 3.6.1-1 [399kB] Get:4 http://nl.archive.ubuntu.com hardy/main tftpd-hpa 0.48-1ubuntu1 [34.7kB] Fetched 831kB in 0s (1682kB/s) Preconfiguring packages ... Selecting previously deselected package dhcp3-server. (Reading database ... 53815 files and directories currently installed.) Unpacking dhcp3-server (from .../dhcp3-server_3.0.6.dfsg-1ubuntu9_i386.deb) ... Selecting previously deselected package inetutils-inetd. Unpacking inetutils-inetd (from .../inetutils-inetd_2%3a1.5.dfsg.1-4_i386.deb) ... Selecting previously deselected package lftp. Unpacking lftp (from .../archives/lftp_3.6.1-1_i386.deb) ... Selecting previously deselected package tftpd-hpa. Unpacking tftpd-hpa (from .../tftpd-hpa_0.48-1ubuntu1_i386.deb) ... Setting up dhcp3-server (3.0.6.dfsg-1ubuntu9) ... Generating /etc/default/dhcp3-server... * Starting DHCP server dhcpd3 [fail] invoke-rc.d: initscript dhcp3-server, action "start" failed. Setting up inetutils-inetd (2:1.5.dfsg.1-4) ... * Starting internet superserver inetd [ OK ] Setting up lftp (3.6.1-1) ... Setting up tftpd-hpa (0.48-1ubuntu1) ...
vi /etc/inetd.conf and add :
#:BOOT: Tftp service is provided primarily for booting. Most sites # run this only on machines acting as "boot servers." tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot
and recycle the inetd: invoke-rc.d inetutils-inetd restart
- now netstat -uap shows:
root@grafspee:/etc/dhcp3# netstat -uap Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name udp 0 0 *:10000 *:* 5754/perl udp 0 0 *:openvpn *:* 25176/openvpn udp 0 0 *:bootps *:* 8085/dhcpd3 udp 0 0 localhost:47087 localhost:syslog ESTABLISHED 4169/perl udp 0 0 *:10000 *:* 4169/perl udp 0 0 *:10000 *:* 9183/perl udp 0 0 *:ipp *:* 4753/cupsd udp 0 0 10.8.0.1:ntp *:* 4778/ntpd udp 0 0 grafspee.computerho:ntp *:* 4778/ntpd udp 0 0 localhost:ntp *:* 4778/ntpd udp 0 0 *:ntp *:* 4778/ntpd udp6 0 0 [::]:tftp [::]:* 7696/inetutils-inet udp6 0 0 fe80::200:39ff:febf:ntp [::]:* 4778/ntpd udp6 0 0 ip6-localhost:ntp [::]:* 4778/ntpd udp6 0 0 [::]:ntp [::]:* 4778/ntpd
- configure the dhcp server, save old /etc/dhcp3/dhcpd.conf to .orig and create a new one with:
option domain-name-servers 213.197.30.28,213.197.28.3;
default-lease-time 86400;
max-lease-time 604800;
authoritative;
subnet 10.0.0.0 netmask 255.255.255.0 {
range 10.0.0.170 10.0.0.180;
filename "pxelinux.0";
option subnet-mask 255.255.255.0;
option broadcast-address 10.0.0.255;
option routers 10.0.0.138;
}
download images and save to /var/lib/tftpboot:
root@grafspee:/tmp# lftp -c "open http://archive.ubuntu.com/ubuntu/dists/intrepid/main/installer-i386/current/images/; mirror netboot/" root@grafspee:/tmp# mv netboot/* /var/lib/tftpboot root@grafspee:/tmp# rm -fr netboot
install tftp on bismarck so we can test, then tftp to grafspee, this gives in /var/log/daemon.log :
Feb 7 14:25:42 grafspee in.tftpd[9705]: received address was not AF_INET, please check your inetd config Feb 7 14:25:42 grafspee inetd[7696]: /usr/sbin/in.tftpd: exit status 0x4c00google'ing........
change /etc/inetd.conf : udp => udp4
