
Freitag, 30. Dezember 2011
Donnerstag, 29. Dezember 2011
[GERMAN] ich muss es einfach posten
gerade schlägt diese tolle Nachricht (zum zweitenmal) in meinem Postfach auf. Beim ersten mal wurde noch versucht sich friedlich zu einigen mit
und nun, achja seht selbst
Bitte deutsch schreiben man kann es nicht lesen
und nun, achja seht selbst
![]() |
|
Nicht auf englisch
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-----Ursprüngliche Nachricht-----
Von: Mail Delivery System [mailto:MAILER-DAEMON@SOMEDOMAIN]
Gesendet: Mittwoch, 28. Dezember 2011 15:03
An: USER@SOMEDOMAIN
Betreff: Undelivered Mail Returned to Sender
This is the mail system at host mailSOMEDOMAIN
I'm sorry to have to inform you that your message could not be delivered to
one or more recipients. It's attached below.
For further assistance, please send mail to postmaster.
If you do so, please include this problem report. You can delete your own
text from the attached returned message.
The mail system
<ANOTHERUSER@SOMEOTHERDOMAIN>: connect to
SOMEOTHERDOMAIN[X.X.X.X]:25: Connection timed out
Current usage
Hi again,
its just the week between christmas and the new year. Time to do some clean up on every system and to reinstall my desktop at work, so lets talk about my usage of openSUSE
its just the week between christmas and the new year. Time to do some clean up on every system and to reinstall my desktop at work, so lets talk about my usage of openSUSE
- Home Desktop PC
Running openSUSE 12.1 and Windows 7, each on an own harddisk - Work Notebook
Running openSUSE 11.4 and Windows 7 both on the same disk. I reinstalled 11.3 caused by sveral problems I had and talked about in some other posts, they where still not fixed and because its my work notebook and i had some afterwork attendance to do is just reinstalled 11.3 - Work Desktop PC
On tuesday i installed 12.1 on them, the old Kubuntu is gone, i'am really happy with it but nepomuk did really s*** so i disabled it, it was eating 1.1g of my ram - Private virtual server 1
it is running openSUSE 11.3 in addition to Apache, MariaDB, Wordpress, Mediawiki and it is the xadmin.info host :-) - Private virtual server 2
its running openSUSE 12.1 and was the testserver for the openSUSE 12.1 posts
Mittwoch, 21. Dezember 2011
Mein Lenovo Versuch #1
Nachdem openSUSE auf meinem Lenovo Thinkpad T410i nicht mehr läuft habe ich es mal mit OpenIndiana versucht.
Release Version war development 151a, das booten ging soweit ganz gut, ich musste einmal rebooten da sich die Grafik wohl etwas zerlegt hatte. Beim zweiten Versuch (bei dem ich dann auch anwesend war :-) sah es ganz gut aus, die Treiperunterstützung ging soweit.
Einziges Problem, der WiFi 1000 Intel Chipsatz wird nicht unterstützt. Dies war auch leider der O-Ton des OpenIndiana Wikis.
Schade, der Versuch stoppt an dieser Stelle, da es für ein Notebook schon schön wäre WiFi zu haben.
Release Version war development 151a, das booten ging soweit ganz gut, ich musste einmal rebooten da sich die Grafik wohl etwas zerlegt hatte. Beim zweiten Versuch (bei dem ich dann auch anwesend war :-) sah es ganz gut aus, die Treiperunterstützung ging soweit.
Einziges Problem, der WiFi 1000 Intel Chipsatz wird nicht unterstützt. Dies war auch leider der O-Ton des OpenIndiana Wikis.
Schade, der Versuch stoppt an dieser Stelle, da es für ein Notebook schon schön wäre WiFi zu haben.
Mittwoch, 7. Dezember 2011
[UPDATE] Strange, someone has an idea?
Thanks a lot to forums.opensuse.org
As we now found out the boot/shutdown problems where just caused by systemd so, while booting (on the grub menu) you can switch to systemV via F5 and that just worked.
So now we must talk about making systemV default again, so just look what SUSEhelp post us via IRC
<SUSEhelp> By default, openSUSE now boots using systemd. In case of trouble, you can switch back to the old way using sysvinit by pressing the F5 key on the boot. If you want to switch to sysvinit permanently, install the sysvinit-init package. To switch back to systemd, reinstall the systemd-sysvinit package.
So as easy as it is told:
Now take solution 1, it will replace systemd
As we now found out the boot/shutdown problems where just caused by systemd so, while booting (on the grub menu) you can switch to systemV via F5 and that just worked.
So now we must talk about making systemV default again, so just look what SUSEhelp post us via IRC
<SUSEhelp> By default, openSUSE now boots using systemd. In case of trouble, you can switch back to the old way using sysvinit by pressing the F5 key on the boot. If you want to switch to sysvinit permanently, install the sysvinit-init package. To switch back to systemd, reinstall the systemd-sysvinit package.
So as easy as it is told:
zypper in sysvinit-init
Problem: sysvinit-init-2.88+-66.58.2.x86_64 conflicts with namespace:otherproviders(sbin_init) provided by systemd-sysvinit-37-3.4.1.x86_64
Solution 1: deinstallation of systemd-sysvinit-37-3.4.1.x86_64
Solution 2: do not install sysvinit-init-2.88+-66.58.2.x86_64
Choose from above solutions by number or cancel [1/2/c] (c):
Now take solution 1, it will replace systemd
Freitag, 2. Dezember 2011
Strange, someone has an idea?
So, i told you about the minor Problems. The behaviour of my Thinkpad is still strange.
So, maybe someone has an idea or an hint on this points?!?
- Boot takes about a minuite
- Shutdown leads to kernel panic
- Parts of the system just freeze
A bit more details
- When booting it comes to an harddisk related issues. Directly after mounting the / partition i hangs for about 40sec before it really starts up.
- It was strange, the green screen of openSUSE just stood there and after some minuits i just switched them off. Yesterday i pressed the ESC button early enough to see it is running to an kernel panic. But, it is not written to disc and i only could see some last lines of the stack output
- When i open some software windows, for example Firefox , Kate and an java app. Sometimes i can browse the web but i cant switch to any other running app. Even the KDE Menue button does not work.
Dmesg or syslog does not show anything.
So, maybe someone has an idea or an hint on this points?!?
Sonntag, 27. November 2011
Upgrading my systems, Minor Problems ahead
Hey, has everybody upgraded to 12.1? Experienced some problems? For me there has been some minor problems with the switch from 11.4 to 12.1. Of course i upgraded via dvd.
First on my Thinkpad: The upgrade was just fine. No Problems. The reboot takes quite long cause it hangs on some harddisk related issues when booting, i need to take a closer look. When it has started the network connection button is just lost, but thats a real minor problem, cause you can simply add it in KDE, a bit weird is that i had to type in my root key about 6 times to add this button. Also strange is that it does not show my home network, just when disable/enable of the wifi it shows up.
On my desktop: Also the upgrade via dvd worked just fine. Only Problem that it just changed the order of my two harddisks. So i had to edit (hd0,0) to (hd1,0) at the grub menu and change it via yast. The network connection has the same problem as on the Thinkpad. What is remarkable is that firefox is slow as hell. First i thought on my internet connectivity, but konqueror works fine.
On my dev-server: Here i upgraded via zypper and yast, as shown in my blog http://suseserver.de/?p=41 everything was just fine. No problems since the upgrade. Yesterday the machine runs into some kernel panic which i need to take a closer look to.
But as said these are only minor Problems. I already did a reinstall of my dev-server and made some nice screenshots on the textinstall. I told you about. I had no problems with this system yet.
So have a lot of fun
First on my Thinkpad: The upgrade was just fine. No Problems. The reboot takes quite long cause it hangs on some harddisk related issues when booting, i need to take a closer look. When it has started the network connection button is just lost, but thats a real minor problem, cause you can simply add it in KDE, a bit weird is that i had to type in my root key about 6 times to add this button. Also strange is that it does not show my home network, just when disable/enable of the wifi it shows up.
On my desktop: Also the upgrade via dvd worked just fine. Only Problem that it just changed the order of my two harddisks. So i had to edit (hd0,0) to (hd1,0) at the grub menu and change it via yast. The network connection has the same problem as on the Thinkpad. What is remarkable is that firefox is slow as hell. First i thought on my internet connectivity, but konqueror works fine.
On my dev-server: Here i upgraded via zypper and yast, as shown in my blog http://suseserver.de/?p=41 everything was just fine. No problems since the upgrade. Yesterday the machine runs into some kernel panic which i need to take a closer look to.
But as said these are only minor Problems. I already did a reinstall of my dev-server and made some nice screenshots on the textinstall. I told you about. I had no problems with this system yet.
So have a lot of fun
Mittwoch, 23. November 2011
[Quick view:] btrfs & snapper
The real great feature in openSUSE 12.1 for me (as I am a server administrator) is btrfs & snapper. After installing the new server environment i guess its time to talk about this feature a bit in detail.
Lets take a closer look
openSUSE handles snapshots in two very cute ways. First of all we have timeline snapshots to take a look on the timeline config /etc/snapper/configs/root contains the information you are looking for.
But lets take a look on what happens
shows you the list of snapshots
these are the snapshots my system has done since i installed it for the former post. Here you can find the timeline snapshots which seems to run hourly.
The nicest feature is that openSUSE does snapshots before and after you do changes to the system via yast or via zypper. These snapshots like
consists of two snapshots. One is taken before the change and one after these snapshot above should be the changes i made to the firewall to open the ports for ssh. but we can find out
So, yes, i opened the firewall :-)
Now we could do a
to just revert the change of the file. To gain a bit more overview on snapper you should take a look on snapper help which provides all the information you could need.
Have a lot of fun
- btrfs - Its just a new filesystem. Often spoken as Butter FS or Better FS. The development started in 2007. Now a days i guess its a good decision if you like ZFS cause it provides mostly the same features but it is GPL and it runs on Linux :-)
Some information- Max file size 16 EiB
- Max number of files 264
- Max filename length 255 bytes
- pooling, snapshots, checksums
- Online defragmentation
- Online volume growth and shrinking
- Online block device addition and removal
- Online balancing (movement of objects between block devices to balance load)
- Filesystem-level (RAID1-like) mirroring, (RAID0-like) striping
- Subvolumes (one or more separately-mountable filesystem roots within each physical partition)
- Transparent compression (currently zlib and LZO)
- Snapshots (writeable, copy-on-write copies of subvolumes)
- File cloning (copy-on-write on individual files, or byte ranges thereof)
- Checksums on data and metadata (currently CRC-32C[8])
- In-place conversion (with rollback) from ext3/4 to Btrfs[9]
- File system seeding[10] (Btrfs on read-only storage used as a copy-on-write backing for a writeable Btrfs)
- User-defined transactions
- Block discard support (reclaims space on some virtualized setups and improves wear leveling on SSDs by notifying the underlying device that storage is no longer in use)
(Wikipedia) - snapper - snapper is a tool written by the SUSE guys to make btrfs snapshots and of course handle them
Lets take a closer look
openSUSE handles snapshots in two very cute ways. First of all we have timeline snapshots to take a look on the timeline config /etc/snapper/configs/root contains the information you are looking for.
But lets take a look on what happens
snapper list
shows you the list of snapshots
Type | # | Pre # | Date | Cleanup | Description | Userdata
-------+----+-------+--------------------------+----------+---------------+---------
single | 0 | | | | current |
pre | 1 | | Sun Nov 20 18:09:05 2011 | number | yast firewall |
post | 2 | 1 | Sun Nov 20 18:09:21 2011 | number | |
single | 3 | | Sun Nov 20 18:15:02 2011 | timeline | timeline |
pre | 4 | | Sun Nov 20 18:17:15 2011 | number | zypp(zypper) |
post | 5 | 4 | Sun Nov 20 18:17:16 2011 | number | |
pre | 8 | | Sun Nov 20 18:17:54 2011 | number | zypp(zypper) |
post | 9 | 8 | Sun Nov 20 18:17:55 2011 | number | |
pre | 10 | | Sun Nov 20 18:18:05 2011 | number | yast runlevel |
post | 11 | 10 | Sun Nov 20 18:18:22 2011 | number | |
pre | 12 | | Sun Nov 20 18:18:43 2011 | number | zypp(zypper) |
post | 13 | 12 | Sun Nov 20 18:19:07 2011 | number | |
single | 19 | | Mon Nov 21 00:15:01 2011 | timeline | timeline |
single | 28 | | Mon Nov 21 09:15:02 2011 | timeline | timeline |
single | 29 | | Mon Nov 21 10:15:01 2011 | timeline | timeline |
single | 30 | | Mon Nov 21 11:15:01 2011 | timeline | timeline |
single | 31 | | Mon Nov 21 12:15:01 2011 | timeline | timeline |
single | 32 | | Mon Nov 21 13:15:01 2011 | timeline | timeline |
single | 33 | | Mon Nov 21 14:15:02 2011 | timeline | timeline |
single | 34 | | Mon Nov 21 15:15:01 2011 | timeline | timeline |
single | 35 | | Mon Nov 21 16:15:01 2011 | timeline | timeline |
single | 36 | | Mon Nov 21 17:15:01 2011 | timeline | timeline |
single | 37 | | Mon Nov 21 18:15:02 2011 | timeline | timeline |
single | 38 | | Mon Nov 21 19:15:01 2011 | timeline | timeline |
single | 39 | | Mon Nov 21 20:15:02 2011 | timeline | timeline |
single | 40 | | Mon Nov 21 21:15:01 2011 | timeline | timeline |
single | 41 | | Mon Nov 21 22:15:01 2011 | timeline | timeline |
single | 42 | | Mon Nov 21 23:15:01 2011 | timeline | timeline |
single | 43 | | Tue Nov 22 00:15:01 2011 | timeline | timeline |
single | 44 | | Tue Nov 22 01:15:01 2011 | timeline | timeline |
single | 45 | | Tue Nov 22 02:15:01 2011 | timeline | timeline |
single | 46 | | Tue Nov 22 03:15:01 2011 | timeline | timeline |
single | 47 | | Tue Nov 22 04:15:02 2011 | timeline | timeline |
single | 48 | | Tue Nov 22 05:15:01 2011 | timeline | timeline |
single | 49 | | Tue Nov 22 06:15:01 2011 | timeline | timeline |
pre | 50 | | Tue Nov 22 07:12:35 2011 | number | zypp(zypper) |
post | 51 | 50 | Tue Nov 22 07:12:41 2011 | number | |
single | 52 | | Tue Nov 22 07:15:02 2011 | timeline | timeline |
these are the snapshots my system has done since i installed it for the former post. Here you can find the timeline snapshots which seems to run hourly.
The nicest feature is that openSUSE does snapshots before and after you do changes to the system via yast or via zypper. These snapshots like
pre | 1 | | Sun Nov 20 18:09:05 2011 | number | yast firewall |
post | 2 | 1 | Sun Nov 20 18:09:21 2011 | number | |
consists of two snapshots. One is taken before the change and one after these snapshot above should be the changes i made to the firewall to open the ports for ssh. but we can find out
snapper diff 1..2
--- /.snapshots/1/snapshot/etc/sysconfig/SuSEfirewall2 2011-11-20 18:05:29.957000000 +0100
+++ /.snapshots/2/snapshot/etc/sysconfig/SuSEfirewall2 2011-11-20 18:09:20.133078475 +0100
@@ -318,7 +318,7 @@
# FW_SERVICES_ACCEPT_*
#
# Example: "samba-server nfs-kernel-server"
-FW_CONFIGURATIONS_EXT=""
+FW_CONFIGURATIONS_EXT="sshd"
## Type: string
#
So, yes, i opened the firewall :-)
Now we could do a
snapper undochange 1..2 /etc/sysconfig/SuSEfirewall2
to just revert the change of the file. To gain a bit more overview on snapper you should take a look on snapper help which provides all the information you could need.
Have a lot of fun
Montag, 21. November 2011
openSUSE 12.1 - installation and features
openSUSE 12.1 is just released, to have some of the very nice features i need to setup a complete new system. So what features are the one you want to have
So lets get started. To Install my new serversystem i use the netinstall cd. On the boot screen i do some changes.
The first interesting point during the installation is choosing what to install
there you should go for the minimal serversystem. This includes the minimal features like openssh server and the base system.
We do this new install just for the btrfs system so the second screen which is important will be the partitions.
This partition scheme is mostly the default. I am installing on an virtual server, thats why you find an qemu image there.
So, finally what will happen
Now we will do the installation. On my side thats just it. There should be no further problem. The installation did just work whithout any problems. After some minuits (depending on your network connection) the machoine should perform an reboot and you should be welcome by
Thats it. Now you should do the normal stuff like starting ssh and open the firewall for the openssh server via yast.
I f you are interested on what btrfs has done to your system
Have a lot of fun
- Btrfs - Btrfs is a new filesystem which make usage of B-trees so take a look at http://en.wikipedia.org/wiki/Btrfs with this FS we can have a very great feature
- snapper - snapper is a new system which comes around with openSUSE 12.1 it can handle Btrfs snapshots and gives new features to openSUSE such as restoring config files after a failure or restore failed upgrades.
So lets get started. To Install my new serversystem i use the netinstall cd. On the boot screen i do some changes.
- use VESA textinsstall
- use german (sorry, the screenshots will be german in most parts)
- set network options
The first interesting point during the installation is choosing what to install

We do this new install just for the btrfs system so the second screen which is important will be the partitions.

- sda1 the /boot partition still needs to be ext4 because openSUSE does not actually support booting the kernel out of btrfs. This is also caused by grub.
- sda2 is the swap partition
- sda3 the / system will be btrfs
So, finally what will happen


Thats it. Now you should do the normal stuff like starting ssh and open the firewall for the openssh server via yast.
I f you are interested on what btrfs has done to your system

Have a lot of fun
Mittwoch, 16. November 2011
OpenSuse 12.1 PREvisited [UPDATE]
The 12.1 release of OpenSuse is very close . Close enough to upgrade one of my development systems i guess and take a closer look on what comes around, here it goes
[Less than 17 hours away, so its time for the final PREvisit]
The general:
Linux johe 3.1.0-1.2-desktop #1 SMP PREEMPT Thu Nov 3 14:45:45 UTC 2011 (187dde0) x86_64 x86_64 x86_64 GNU/Linux
First one of my favourits, the
- PostgreSQL database will be available in Version: 9.1.1-3.1.4
- Apache will be in Version:2.2.21-3.2.2
- php in Version: 5.3.8-4.2.1
- perl in Version: 5.14.2-1.9
- python in Version: 2.7.2-7.1.3
- gcc has Version: 4.6-15.1.3
- mariaDB in Version: 5.2.9-2.2.1
- postfix comes around in Version: 2.8.5-3.2.1
So, a short tour guide for your flight
if you wanne upgrade to the factory, its just an easy step
- open yast on the console
you will find "Software Repositories" in the menu "Software" - Just disable all 11.4 repos
and add a two new URLs
http://download.opensuse.org/distribution/121/repo/oss
and
http://download.opensuse.org/update/12.1/ - Save all
zypper up and zypper dup via console
Dienstag, 15. November 2011
MySQL migrate to MariaDB
I just thought it is the right time to do a switch. So i will switch from MySQL Community Server to MariaDB.
So first whats the difference
As you can see there is just a little difference in the version number. What does this means to us? If you need some overview on the main differences there are several knowledgebases provided by Monty
So with a bit of reading we have found out that both SQL servers should be replaceble with each other cause they are full comaptible.
so, lets get it started
first of all i saved my MySQL data
than, the afterall easiest step
it was just easy. There will show up two questions. Which will tell you that you need to deinstall MySQL in that casem so something like that
So solution 1 just will work. After that you can simply restart mysql via
and it just worked.
So first whats the difference
mysql-community-server-5.1.53-4.7.1.x86_64
mariadb-5.1.55-0.5.1.x86_64
As you can see there is just a little difference in the version number. What does this means to us? If you need some overview on the main differences there are several knowledgebases provided by Monty
- http://kb.askmonty.org/en/ which gives you a general overview on MariaDB
- http://kb.askmonty.org/en/mariadb-versus-mysql-features which tells you some difference in the features
- http://kb.askmonty.org/en/mariadb-versus-mysql-compatibility which gives overview on compatibility
So with a bit of reading we have found out that both SQL servers should be replaceble with each other cause they are full comaptible.
so, lets get it started
first of all i saved my MySQL data
cp /var/lib/mysql/mysql/* mysql_bak/
than, the afterall easiest step
zypper in mariadb mariadb-client
it was just easy. There will show up two questions. Which will tell you that you need to deinstall MySQL in that casem so something like that
Problem: mysql-community-server-5.1.53-4.7.1.x86_64 conflicts
with namespace:otherproviders(mysql) provided by
mariadb-5.1.55-0.5.1.x86_64
Solution 1: deinstallation of
mysql-community-server-5.1.53-4.7.1.x86_64
Solution 2: do not install mariadb-5.1.55-0.5.1.x86_64
So solution 1 just will work. After that you can simply restart mysql via
service mysql restart
and it just worked.
Montag, 14. November 2011
Hello to planet.opensuse.org
My blog is now listed on planet.opensuse.org, so for all new readers
Hello openSUSE world!
and here a short description on what you can find in this blog.
First maybe some sort of introduction to mysql. My name is Jörg Stephan and i work as a system and server administrator. My employee is a TOP 10 domain registrar with round about 3.500.000 domains in service.
I am adminsitrating the 299 debian servers and i currently setup a new service system running SUSE Enterprise Server.
In my privat server infrastruktur i am running openSUSE. And that are the topics of my blog entries. So here you can find posts about apache, webserver, databases and so on.
Have a lot of fun
Hello openSUSE world!
and here a short description on what you can find in this blog.
First maybe some sort of introduction to mysql. My name is Jörg Stephan and i work as a system and server administrator. My employee is a TOP 10 domain registrar with round about 3.500.000 domains in service.
I am adminsitrating the 299 debian servers and i currently setup a new service system running SUSE Enterprise Server.
In my privat server infrastruktur i am running openSUSE. And that are the topics of my blog entries. So here you can find posts about apache, webserver, databases and so on.
Have a lot of fun
Sonntag, 13. November 2011
The Packman Repo (cause of sox)
This post does not target any server specific issue. But aims on showing you another repo wich is not already placed in the official OpenSuse repository.
This is called Packman http://packman.links2linux.de/
In this repo you can find many software pakets which you maybe need. I found the repo while trying to convert some of my .ogg files to .mp3. A forum just told me that i could do it just with
maybe it is really that easy but not with the sox from the OpenSuse repo, so i found the packman repo
In case of 11.4 just do a
and you will be able to install pakets fom this repo
told me to do a
and now it works.
For all who have a directory full of ogg files just do
and Have a lot of fun :-)
This is called Packman http://packman.links2linux.de/
In this repo you can find many software pakets which you maybe need. I found the repo while trying to convert some of my .ogg files to .mp3. A forum just told me that i could do it just with
sox file.ogg file.mp3
maybe it is really that easy but not with the sox from the OpenSuse repo, so i found the packman repo
In case of 11.4 just do a
sudo zypper addrepo 'http://packman.mirrors.skynet.be/pub/packman/suse/11.4/packman.repo'
and you will be able to install pakets fom this repo
zypper refresh
and
zypper in sox
told me to do a
zypper install sox-14.3.2-26.5.x86_64
and now it works.
For all who have a directory full of ogg files just do
for x in *.ogg ; do sox $x `echo $x|awk -F . '{print $1 ".mp3"}'`; done
and Have a lot of fun :-)
Donnerstag, 27. Oktober 2011
WebYaST

1. What is it
I guess we all knew YaST (or YaST2) for a while now. Currently I am planning to switch some business servers to SUSE Linux Enterprise, so i searched for some nice features which could make it easier to administrate the 40 virtual and hardware servers.
The answer couldn't be easier: WebYaST
WebYaST, the idea couldn't be easier, we can access our YaST via every webbrowser. Even a Android App exists.
2. Install it
Well, there is quite a long list witch packages you need to install on every single server, and it takes about 28 MB to do but okay, thats fine
zypper in webyast-software-ui webyast-status-ui webyast-status-ws
webyast-time-ui webyast-time-ws webyast-users-ui webyast-users-ws
webyast-kerberos-ui webyast-licenses-ui webyast-licenses-ws
webyast-ldap-ui webyast-reboot-ui webyast-reboot-ws webyast-roles-ui
webyast-roles-ws webyast-network-ui webyast-services-ui
webyast-services-ws webyast-firewall-ws webyast-kerberos-ws
webyast-language-ws webyast-base-ws webyast-ldap-ws webyast-mail-ws
webyast-network-ws webyast-software-ws webyast-base-ui_ws
136 new packages to install, 1 to remove.
Overall download size: 36.6 MiB. After the operation, additional 136.5 MiB will be used.
The 1 package which gets removed is caused by patterns-openSUSE-minimal_base which must be removed.
right after that we should open the firewall for this services:
- WebYaST
- WebYaST UI
now its time to start our services
rcyastws start
rcyastwc start
thats it, our service should no be running. There is only a short step left. If you want to use the service from an external computer you should open the firewall ports via yast.
3. Use it
The next step is maybe the easiest one. just point any browser you like to
https://<your.server.address>:54984
login and use it. Be sure to use the ssl connection, it will not work with a normal http request. Login must be performed with root and the root_password.
So, Have a lot of fun
Donnerstag, 28. Juli 2011
Mittwoch, 13. Juli 2011
(My OpenSUSE Project) vsftpd user managment
nachdem der FTP Server nun läuft müssen wir natürlich noch die user konfigurieren, wie das geht? Ab auf die Projektseite
http://suseserver.de/?p=11
http://suseserver.de/?p=11
User managment for FTP
After succesfully setting up an vsftp server, we should think about the usermanagment. So we want to add a user which just has specific rights which allows ftp connection. So first, an overview on what we want to do with such an user
and nothing more i guess.
So what to do. The first step is to use YAST :-) So we can find out the settings and maybe if we have all parameters we need, we can automate this procedure later.
Yast offers us an Security and Users with option User and group Management. we just add a normal users and change the behaviour in the details tab.
Some explain about this,
the home directory should just be the subdomain, so we just set this option the the fullpath /srv/www/vhosts/subdomain.suseserver.de, with the Login Shell option we choose to not allow the login via ssh, the default group is just set to www because of the directory will be owned by www.
- accesss webspace via ftp
and nothing more i guess.
So what to do. The first step is to use YAST :-) So we can find out the settings and maybe if we have all parameters we need, we can automate this procedure later.
Yast offers us an Security and Users with option User and group Management. we just add a normal users and change the behaviour in the details tab.
- Home Directory => /srv/www/vhosts/<subdomain>.suseserver.de
- Login Shell => /bin/false
- Default Group => www
Some explain about this,
the home directory should just be the subdomain, so we just set this option the the fullpath /srv/www/vhosts/subdomain.suseserver.de, with the Login Shell option we choose to not allow the login via ssh, the default group is just set to www because of the directory will be owned by www.
Montag, 11. Juli 2011
(My OpenSUSE Project) vsftpd server
Der nächste Schritt im Projekt
http://suseserver.de/
Einen vsftp Server aufsetzen. Mit Yast ist es ganz einfach.
http://suseserver.de/
Einen vsftp Server aufsetzen. Mit Yast ist es ganz einfach.
FTP Server
So, whats next.
Many features of Wordpress or Typo3 for example need access to the filesystem, via an FTP Server. So lets set up one . Regarding YAST there are two truely supported by yast, so the best way is to choose one of this. So we Install
Now, we can find
and we can customize our FTP server
There is not much to configure to get it working. One of the important things you need to do is to open the firewall as shown in Apache webserver. You should click around and set:
Many features of Wordpress or Typo3 for example need access to the filesystem, via an FTP Server. So lets set up one . Regarding YAST there are two truely supported by yast, so the best way is to choose one of this. So we Install
zypper in yast2-ftp-server vsftpd
Now, we can find
- shell> yast
- Network Services
- FTP Server
and we can customize our FTP server
There is not much to configure to get it working. One of the important things you need to do is to open the firewall as shown in Apache webserver. You should click around and set:
- Start-Up -> When Booting
- Selected Service -> vsftpd
- Authentication-> Authenticated User Only
- Uploading -> Enable Upload
Freitag, 8. Juli 2011
T-Mobile Geschwindigkeit
Ich bin ja im Besitz eines Nokia N97 mini. Nun habe ich mir JoikuSpot zugelegt damit ich auch bequem von überall auf der Welt online gehen kann und Dinge tun die ein Admin halt tun muss.
In diesem Zusammenhang habe ich natürlich mal die Geschwindigkeit testen müssen, die obige Statistik ist also das Zusammenspiel von
In diesem Zusammenhang habe ich natürlich mal die Geschwindigkeit testen müssen, die obige Statistik ist also das Zusammenspiel von
Donnerstag, 7. Juli 2011
(My OpenSUSE Project) Apache Webserver
Die erste Hürde ist genommen!
OpenSUSE und Apache arbeiten nun zusammen, vhosts funktionieren und an der automatisierung habe ich auch gearbeitet.
Die Anleitung unter:
http://suseserver.de/?p=1
OpenSUSE und Apache arbeiten nun zusammen, vhosts funktionieren und an der automatisierung habe ich auch gearbeitet.
Die Anleitung unter:
http://suseserver.de/?p=1
Apache Server
So, finally it works,
I just setup the Apachewebserver on this server. There was a little difficulty in getting the vhosts to work. So here is the HowTo in 4 Steps
Step1(Installing)
We need to install the software first
Step2 (Open firewall)
OpenSUSE has an firewall, it is enabled by default an d blocks all incoming connections. So we need to open the http/https ports to get an working apache
Step3 (Changes in /etc/apache2/httpd.conf)
Here you should add a line
this will enable the vhost feature, so you can have many apache vhosts listen on the same server.
Step4 (Changes to autogenerate vhosts)
So, now just before i setup my first vhost i worked on a little script which will make it easier to generate vhost, first of all i generated an vhost_cur_template file in /etc/apache2/vhosts.d/
Then i wrote a little shell script to produce new vhosts
so, now you can gerate a new vhost just by sh myvhost.sh newsub.suseserver.de for example
I just setup the Apachewebserver on this server. There was a little difficulty in getting the vhosts to work. So here is the HowTo in 4 Steps
Step1(Installing)
We need to install the software first
zypper in apache2 php5 apache2-mod_php5
Step2 (Open firewall)
OpenSUSE has an firewall, it is enabled by default an d blocks all incoming connections. So we need to open the http/https ports to get an working apache
- shell> yast
- goto Security and Users and open Firewall
- goto Allowed Services
- add HTTP Server and HTTPS Server
- Next and Finish
Step3 (Changes in /etc/apache2/httpd.conf)
Here you should add a line
NameVirtualHost *:80
this will enable the vhost feature, so you can have many apache vhosts listen on the same server.
Step4 (Changes to autogenerate vhosts)
So, now just before i setup my first vhost i worked on a little script which will make it easier to generate vhost, first of all i generated an vhost_cur_template file in /etc/apache2/vhosts.d/
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
ServerName __SERVERNAME__
DocumentRoot /srv/www/vhosts/__SERVERNAME__
ErrorLog /var/log/apache2/__SERVERNAME__-error_log
CustomLog /var/log/apache2/__SERVERNAME__-access_log combined
HostnameLookups Off
UseCanonicalName Off
ServerSignature On
ScriptAlias /cgi-bin/ "/srv/www/vhosts/__SERVERNAME__/cgi-bin/"
<Directory "/srv/www/vhosts/__SERVERNAME__/cgi-bin">
AllowOverride None
Options +ExecCGI -Includes
Order allow,deny
Allow from all
</Directory>
<Directory "/srv/www/vhosts/__SERVERNAME__">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Then i wrote a little shell script to produce new vhosts
#!/bin/bash
# exec: sh myvhost.sh
mkdir -p /srv/www/vhosts/$1/cgi-bin/
sed "s/__SERVERNAME__/$1/g" /etc/apache2/vhosts.d/vhost_curr.template > /etc/apache2/vhosts.d/$1.conf
service apache2 reload
so, now you can gerate a new vhost just by sh myvhost.sh newsub.suseserver.de for example
Mittwoch, 6. Juli 2011
(OpenSUSE) Discountinued Versions
Einer der vielen Gründe warum ich Hosteurope so mag ist das sie einen FTP Server haben mit alten SUSE versionen
So findet man SuSE 7.3 bis 10.0 zum Beispiel unter
ftp://ftp.hosteurope.de/mirror/ftp.suse.com/pub/suse/discontinued/i386/
So findet man SuSE 7.3 bis 10.0 zum Beispiel unter
ftp://ftp.hosteurope.de/mirror/ftp.suse.com/pub/suse/discontinued/i386/
Dienstag, 5. Juli 2011
(IPv6) mal beachten
Der World IPv6 Tag ist ja vorbei. Das haben viele schon gemerkt. Schade ist nur das ein paar Seiten noch immer einen AAAA Record, antworten aber auf diesem nicht.
Das führt natürlich dazu das die IPv6 Anfrage erstmal ins timeout muss bevor es mit IPv4 weitergeht.
Also mal jeder bei sich kucken :-)
Das führt natürlich dazu das die IPv6 Anfrage erstmal ins timeout muss bevor es mit IPv4 weitergeht.
Also mal jeder bei sich kucken :-)
Montag, 4. Juli 2011
(OpenSUSE) neues Projekt
Ich starte dann mal ein neues Projekt.
Nachdem ja nun NOVELL komplett an Attachmete gegagngen ist und die nun SUSE wieder aufleben bzw,. wieder eigenständig machen wollen Vergleiche.
Hoffe ich ja das es dann auch wieder eine schöne freie OpenSUSE Server geben wird. Aus diesem Grund und da ich SUSE auf Servern mal wieder testen muss
one.suseserver.de
Nachdem ja nun NOVELL komplett an Attachmete gegagngen ist und die nun SUSE wieder aufleben bzw,. wieder eigenständig machen wollen Vergleiche.
Hoffe ich ja das es dann auch wieder eine schöne freie OpenSUSE Server geben wird. Aus diesem Grund und da ich SUSE auf Servern mal wieder testen muss
one.suseserver.de
Dienstag, 28. Juni 2011
(OpenEMM) Init Script
Ich beschäftige mich ja relativ viel mit OpenEMM mittlerweile habe ich die Installation sogar im Griff :-)
Das einzige was mir zu meinem Glück fehlt ist ein Initscript so wie das hier
Das einzige was mir zu meinem Glück fehlt ist ein Initscript so wie das hier
#!/bin/bash
# Openemm INIT Startup
# Author: Jörg Stephan <j@xadmin.info>
# Stand: 06. Sep 2010 DEBIAN
#
### BEGIN INIT INFO
# Provides: openemm.sh
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time
# Description: Enable service provided by daemon.
### END INIT INFO
test -f /home/openemm/bin/OpenEMM.sh || exit 0
. /lib/lsb/init-functions
case "$1" in
start) echo "Starting Openemm"
su - openemm -c "/home/openemm/bin/OpenEMM.sh start"
chmod 0644 /var/log/maillog
log_end_msg $?
;;
stop) echo "Stopping Openemm"
su - openemm -c "/home/openemm/bin/OpenEMM.sh stop"
log_end_msg $?
;;
restart) log_daemon_msg "Restarting Openemm"
su - openemm -c "/home/openemm/bin/OpenEMM.sh stop"
su - openemm -c "/home/openemm/bin/OpenEMM.sh start"
chmod 0644 /var/log/maillog
log_end_msg $?
;;
*) log_action_msg "Usage: /etc/init.d/openemm.sh {start|stop|restart}"
exit 2
;;
esac
exit 0
Montag, 27. Juni 2011
(Ubuntu) von Ubuntu -> Kubuntu
Ich denke ich habe ja schon gesagt wie sehr mir das neue Ubuntu grafisch so gefällt, also gar nicht.
Daher habe ich beschlossen das ich auf Kubuntu wechsele, da dieser Wechsel nach ein paar kleinen Problemen gerade geklappt hat will ich euch den Weg ja nicht vorenthalten.
Daher habe ich beschlossen das ich auf Kubuntu wechsele, da dieser Wechsel nach ein paar kleinen Problemen gerade geklappt hat will ich euch den Weg ja nicht vorenthalten.
- synaptic starten: mittels Synaptic (ein grafisches Frontend zu apt) kann man Pakete im System installieren
- suchen nach kubuntu-full
- vormerken zur Installation und Anwenden
- Reboot
Freitag, 10. Juni 2011
(OpenIndiana) [Apache/PHP/MySQL] Mit OpenIndiana was tun (aka man bin ich blöd)
Also, ja ich bin blöd.
Gebe ich an dieser Stelle gerne zu. Ich wollte mich etwas mit OpenIndiana beschäftigen und stand da wie der Ochse vor dem Berg, aber da es schließlich ganz einfach war....
Apache + PHP + MySQL
1. Die Software zusammen suchen die wir nun brauchen werden:
2. Nun müssen wir das ganze auch installieren, dies ist nach dem Wissen von oben genau so einfach.
nun müssen wir die Services natürlich noch enablen und durch starten
Gebe ich an dieser Stelle gerne zu. Ich wollte mich etwas mit OpenIndiana beschäftigen und stand da wie der Ochse vor dem Berg, aber da es schließlich ganz einfach war....
Apache + PHP + MySQL
1. Die Software zusammen suchen die wir nun brauchen werden:
pkg search apachehiermit stellen wir fest das unser gesuchtes Paket ungefähr so aussehen sollte: pkg:/web/server/apache-22
pkg search apache | grep phpzeigt uns das PHP Modul das wir brauchen: pkg:/web/server/apache-22/module/apache-php5
pkg search mysqlauch hier finden wir das gewünschte Paket als: pkg:/database/mysql-51
2. Nun müssen wir das ganze auch installieren, dies ist nach dem Wissen von oben genau so einfach.
- pkg install pkg:/web/server/apache-22
- pkg install pkg:/web/server/apache-22/module/apache-php5
- pkg install pkg:/database/mysql-51
nun müssen wir die Services natürlich noch enablen und durch starten
- svcadm enable apache22
- svcadm enable mysql
- svcadm restart apache22
- svcadm restart mysql
Donnerstag, 9. Juni 2011
(OpenIndiana) Netzwerk starten (und ssh)
Ich habe heute ein neues Testsystem mit Openindiana eingerichtet. Direkt stieß ich auf die ersten Probleme, das Netzwerk. Also was tun?
Als nächstes schalten wir nwam aus
und default ein
aktiviert die Netzwerkkarte im Kernel dann auch wieder
schließlich noch ein paar Anpassungen
APROPOS:
wenn man dann jetzt noch ein SSH haben möchte sollte man
- dladm show-link
LINK CLASS MTU STATE BRIDGE OVERnun kennen wir zumindest den Namen der Netzwerkkarte, hier eine rtls0
rtls0 phys 1500 unknown -- --
Als nächstes schalten wir nwam aus
- svcadm disable network/physical:nwam
und default ein
- svcadm enable network/physical:default
- ifconfig e1000g0 plumb
aktiviert die Netzwerkkarte im Kernel dann auch wieder
schließlich noch ein paar Anpassungen
- echo 10.0.0.2/24 > /etc/hostname.rtls0
- svcadm restart network/physical:default
- route add default 10.0.0.1
- mv /etc/nsswitch.dns /etc/nsswitch.conf
- echo 'nameserver 8.8.8.8' > etc/resolv.conf
APROPOS:
wenn man dann jetzt noch ein SSH haben möchte sollte man
- svcadm enable ssh
- svcadm restart ssh
Welches OS?
Die Frage stellt sich ja ab und an mal. Man überlegt sich was man wie und wo einsetzen will und kann. Dann treffen zumeist Ideen, die Frage der Bedienbarkeit und natürlich schon fast religiöse Gründe aufeinander.
Wie ich mir diese Frage, heute, beantworte? Tja...
Desktop System
Also teilen sich ein Linux und ein Windows 7 (Lizensiert!) meinen Rechner zu hause.
Dank EMC teilen sie sich auch eine Festplatte in meinem Notebook. Den wer hat ein Verwaltungstool das nur unter Windows so richtig funzt? genau, EMC.
Die eher schwierige Frage ist, welches Linux benutzt man den. Hier kommt die Religion ins Spiel glaube ich (Kommt auf die Wortwitzliste :-) Man kann ja verschiedenen Götter huldigen, ja soll man nicht, aber manchmal verkacken es die alten Götter ja auch mal. (ich bin Christlich erzogen!)
Der Hut-Gott zB und sein Hut-Sohn. Ich war echt begeistert, bis ein Kernelupdate kam und sie es schafften zwar den Kernel neu zu machen, aber den Nvidia Treiber erst ne Woche später zu bringen. Und das taten sie oft.
Der Gott der alt afrikanischen Gemeinschaft. Eigentlich schon nett. Aber echt. Das neue Gewand in das es sich kleidet ist Müll.
Vielleicht der lokale Christkindl-Markt Gott. Er schafft es immer wieder mich zu begeistern. Bzw, ich schaue es mir immer wieder mal gerne an :-)
Server Systeme
Aber was benutzt man den nun?
Wie ich mir diese Frage, heute, beantworte? Tja...
Desktop System
- Linux/Unix oder Windows oder Beides?
Also teilen sich ein Linux und ein Windows 7 (Lizensiert!) meinen Rechner zu hause.
Dank EMC teilen sie sich auch eine Festplatte in meinem Notebook. Den wer hat ein Verwaltungstool das nur unter Windows so richtig funzt? genau, EMC.
Die eher schwierige Frage ist, welches Linux benutzt man den. Hier kommt die Religion ins Spiel glaube ich (Kommt auf die Wortwitzliste :-) Man kann ja verschiedenen Götter huldigen, ja soll man nicht, aber manchmal verkacken es die alten Götter ja auch mal. (ich bin Christlich erzogen!)
Der Hut-Gott zB und sein Hut-Sohn. Ich war echt begeistert, bis ein Kernelupdate kam und sie es schafften zwar den Kernel neu zu machen, aber den Nvidia Treiber erst ne Woche später zu bringen. Und das taten sie oft.
Der Gott der alt afrikanischen Gemeinschaft. Eigentlich schon nett. Aber echt. Das neue Gewand in das es sich kleidet ist Müll.
Vielleicht der lokale Christkindl-Markt Gott. Er schafft es immer wieder mich zu begeistern. Bzw, ich schaue es mir immer wieder mal gerne an :-)
Server Systeme
- Linux/Unix oder Windows?
Aber was benutzt man den nun?
- OpenSolaris/OpenIndiana: Finde ich echt super Toll. Ich muss mich leider mehr damit beschäftigen um es nutzen zu können. Die Syntax Unterschiede sindin meinen Augen doch extrem
- Die RedHat-Clone vor allem Centos: Kommt wohl am nächsten an ein Enterprise Linux heran. Leider ist das Original zu teuer. Und Centos wird nur von ein paar Entwicklern getragen, bei denen es all zu oft auf die Tagesform ankommt. Dafür haben sie aber auch verdammt helle Köpfe in ihren Reihen.
- Debian/Ubuntu: Läuft beides Erfahrungsgemäß sehr stabil. Leider muss ich zugeben erst nach einer Weile. Manchmal wäre ich froh ich hätte alles auf Lenny gelassen da man sich mit dem Upgrade aus Squeeze alle Probleme gefangen hat die man bei anderen Distris auch findet.
- Opensuse: Zur Zeit spiele ich damit (mal wieder) herum und setze es auf zwei Servern ein. Ich mag die Vorzüge von Yast auf der Konsole. Auch sehe ich zypper weit vor yum oder aptitude, was aber schon an den Kürzeln liegen kann :-) also zypper se paket VS. apt-cache search paket
- FreeBSD: Mag ich sehr, vorallem weil es klein und schnell ist. Es kommt zur Zeit auf meinem Router zum Einsatz. Dieser ist ein altes PIII Notebook und wäre Ram technisch zu klein für ein neues Linux.
Mittwoch, 8. Juni 2011
(OpenIndiana) Upgrade 148 to 151
Okay, ich gebe es zu, ich poste das hier nur weil ich mir heute Morgen den Wolf gesucht habe
pkg image-update --be-name OI151 --require-new-be
Dienstag, 7. Juni 2011
(Keepalived) Loadbalancer für Nameserver
Es soll ja vorkommen das komische Menschen wie ich einer bin, einmal ausprobieren möchten wie man einen Nameserver per keepalived ansprechen kann.
Gründe hierfür sind dann zB die Lastverteilung auf zwei Nameserver, oder natürlich die hochverfügbarkeit eines Nameservers.
hier die Übersicht
keepalived Eintrag
misc_check
Der zugehörige misc_check könnte dann so aussehen
Known issues
Gründe hierfür sind dann zB die Lastverteilung auf zwei Nameserver, oder natürlich die hochverfügbarkeit eines Nameservers.
hier die Übersicht
keepalived Eintrag
# DNS
virtual_server 10.0.0.10 53 {
delay_loop 10
lb_algo wlc
lb_kind DR
protocol TCP
ha_suspend
# ns1
real_server 10.0.1.11 53 {
weight 100
MISC_CHECK {
"/usr/local/misc_check/dns.sh 10.0.1.11"
}
}
# ns2
real_server 10.0.1.12 53 {
weight 100
MISC_CHECK {
"/usr/local/misc_check/dns.sh 10.0.1.12"
}
misc_check
Der zugehörige misc_check könnte dann so aussehen
#!/bin/bash
if [ `dig +time=1 www.example.com @$1 | grep -c 1.2.3.5` -eq 1 ]; then
exit 0
else
exit 1
fi
Known issues
- Auf dem Zielserver hinter dem Loadbalancer muss ein dummy0 Interface vorhanden sein welches die IP vom Virtualserver hat 10.0.0.10/32
- Da wir ein Problem bei UDP haben, müssen wir noch eine Zeile bein powerdns setzen, der pdns darf nur auf die beiden IP Adressen des Realservers und des Virtualservers hören, Andernfalls "verfliegen" sich die Pakete, also
local-address=10.0.0.10,10.0.1.11
Mittwoch, 25. Mai 2011
(Nagios) SMS senden via sms4.de
Ich hätte da mal wieder eine Howto von gestern
Auf dieser Seite:
es kann ja mal vorkommen das es wichtige Ereignisse in der Infrastruktur gibt welche uns zwar von Nagios gemeldet werden aber wir sind im Wochenende oder ähnliches. Handelt es sich hierbei Aber zb um das Mailgate oder die Klimaanlange interessiert es uns ja bestimmt doch.
Einfache Lösung!?! Einfach per sms benachrichtigen.
Mit einem Anbieter wie http://sms4.de geht es hierbei wohl am einfachsten. Aber der Reihe nach.
Schritt 1
Einen Kontakt anlegen.Hierzu legt man eine datei contacts.cfg an und in dieser einen Kontakt. Der Einfachheit halber und damit man Kontakte unterscheiden kann lege ich zu jedem User der eine SMS bekommen will in der Datei contacts-sms.cfg einen sms Kontakt an.
define contact{
contact_name Testuser-sms
alias Ein test user
service_notification_period 24x7
host_notification_period 24x7
service_notification_options u,c,r
host_notification_options d,u,r
service_notification_commands notify-by-sms
host_notification_commands host-notify-by-sms
pager 49123456789
}
Für üns interessant ist hierbei die Angabe Pager, hier lässt sich nun eine Handynummer eintragen.
Wichtig! ist auch das der Eintrag der notification richtig gesetzt ist.
Schritt 2
Ein Befehlsskript findet man unter sendsms4.py welches ich in python geschrieben habe. Nun muss man diesen Befehl noch in Nagios anlegen.Eine Datei misccommands.cfg enthält das script
define command{
command_name notify-by-sms
command_line /usr/local/bin/sendsms4.py $CONTACTPAGER$ "$NOTIFICATIONTYPE$: $HOSTNAME$: $SERVICEDESC$ is $SERVICESTATE$ ($SERVICEOUTPUT$)"
}
Somit ist nun möglich das ganze Abzuschicken.
Schritt 3
Nun müssen wir noch einmal alles verheiraten. Hierzu habe ich in der Datei contactgroups.cfg Eine Gruppe für die neuen sms Kontakte angelegt. Nun wird bei jedem Service, die notification auf unserer sms gruppe gesetzt. Hier die linux-admins-smsdefine service{
host_name linux-server
service_description check-disk-sda1
check_command check-disk!/dev/sda1
max_check_attempts 5
normal_check_interval 5
retry_check_interval 3
check_period 24x7
notification_interval 30
notification_period 24x7
notification_options w,c,r
contact_groups linux-admins-sms
}
Und das War es auch schon!
Skript Nachtrag
damit mein Python Skript auch richtig funktioniert gibt es ein paar Sachen zu beachten.
- 1 Die Konfiguration bzgl der Zugangsdaten findet im Skript statt, also einfach Ihre Accountemail nehmen und dann die Daten einfügen.
- 2 Es gibt eine log Datei. Diese muss aber von Hand angelegt und frei gegeben werden. Natürlich ist der Pfad der Datei auch im Quelltext editierbar. Per default sollten sie so vorgehen
echo '' > /var/log/sendsms4.log
chmod 777 /var/log/sendsms4.log
Mittwoch, 18. Mai 2011
Ubuntu 11.04 TEIL 2
11.04, alles ist anders!
Verwirrt, Verwirrt, Verwirrt. Ist wohl die eigentliche Aussage die ich treffen muss. Nichts ist beim alten. Ich vermisse gerade die einfachsten Features und kann sie irgendwie nicht finden, vielleicht muss ich auch weiter suchen.
Also, es gefällt mir nicht. Ich denke für ein Netbook oder eine "TippStation" ist es ein richtig schönes und buntes System das Freude macht, aber...
ICH VERSUCHE HIER ZU ARBEITEN!!!!
Verwirrt, Verwirrt, Verwirrt. Ist wohl die eigentliche Aussage die ich treffen muss. Nichts ist beim alten. Ich vermisse gerade die einfachsten Features und kann sie irgendwie nicht finden, vielleicht muss ich auch weiter suchen.
Also, es gefällt mir nicht. Ich denke für ein Netbook oder eine "TippStation" ist es ein richtig schönes und buntes System das Freude macht, aber...
ICH VERSUCHE HIER ZU ARBEITEN!!!!
- ich habe keinen sinvollen Umschater zwischen Anwendungen, ich muss alles über dieses Bunte etwas an der Seite tun, wobei ich das "Welches Fenster zeige ich an"-System noch nicht verstanden habe
- Ich muss wenn ich ein Programm starten will mich entweder lange durch PopUp Menüs klicken, oder gleich den Namen tippen
- Der Arbeitsflächenumschalter ist mir zu langsam. Vielleicht macht es mit einer riesigen Grafikkarte Sinn das man animiert zuerst zu einer Gesamtenübersicht wechselt, mir bringt es nix.
- Kann man keinen Schnellstartbutton in die Taskleiste machen? Oder kann das nur ich nicht?
- mein Nagstamon geht nicht mehr!
Dienstag, 17. Mai 2011
(vmware) Was man nicht tun sollte / Was man dann danach machen sollte
ich habe da mal noch einen alten blog Eintrag gefunden, den man vielelicht mal brauchen kann :-)
Ich hatte kürzlich das Problem das eine virtuelle Festplatte unter VMWare voll war. Dies ist auch unter VMWare Server eigentlich keine grosse Sache. Also auf die console eingeloggt und los ging es:
vmware-vdiskmanager -x 64GB /var/opt/vm/vm1/vm1-001-0.vmdk
Ohne meckern oder murren vergrösserte der vdiskmanager dann auch die gewünschte Festplatte. Beim neustart des Systems gab es dann aber eine böse überraschung. Sie lief nämlich nicht mehr.
Der Grund? ganz einfach ich hatte übersehen das es mal einen Snapshot auf dieser Platte gab und habe diesen schlicht weg ignoriert. Also im selben Ordner war auch noch ein vm1-001-0-00000001.vmdk Auf diese Zeigte auch auf diesen Snapshot. Dumm gelaufen
The parent virtual disk has been modified since the child was created (18).
Ich beschreibe nun kurz was man tun sollte, muss leider auch dazu sagen das es bei mir nicht so recht wollte, aber leider habe ich aus dem schon schweren Fehler durch leichtes zutun einen SuperGau gemacht.
Also erstens: KEINE Panic
Da sich jemand die Mühe gemacht eine Art worst-case Liste zu machen schauen wir einfach ob unser Problem in dieser Liste ist wir schauen also auf http://sanbarrow.com/vmdk/vmdk-when-its-too-late.html nach ob wir unsers Fehler finden. Und ja da ist er auch schon. ALso müssen wir nicht viel tun.
vmware-vdiskmanager -r <snapshot>.vmdk -t 0 new_vmware.vmdk
Somit kopieren wir den Snapshot, im idealfall sollte es nun auch wieder eine Disk ohne Snap sein, den man dann weiter benutzen kann.
In meinem Fall kann ich nur abschliessend sagen: Gut wenn man ein Backup hat
Ich hatte kürzlich das Problem das eine virtuelle Festplatte unter VMWare voll war. Dies ist auch unter VMWare Server eigentlich keine grosse Sache. Also auf die console eingeloggt und los ging es:
vmware-vdiskmanager -x 64GB /var/opt/vm/vm1/vm1-001-0.vmdk
Ohne meckern oder murren vergrösserte der vdiskmanager dann auch die gewünschte Festplatte. Beim neustart des Systems gab es dann aber eine böse überraschung. Sie lief nämlich nicht mehr.
Der Grund? ganz einfach ich hatte übersehen das es mal einen Snapshot auf dieser Platte gab und habe diesen schlicht weg ignoriert. Also im selben Ordner war auch noch ein vm1-001-0-00000001.vmdk Auf diese Zeigte auch auf diesen Snapshot. Dumm gelaufen
The parent virtual disk has been modified since the child was created (18).
Ich beschreibe nun kurz was man tun sollte, muss leider auch dazu sagen das es bei mir nicht so recht wollte, aber leider habe ich aus dem schon schweren Fehler durch leichtes zutun einen SuperGau gemacht.
Also erstens: KEINE Panic
Da sich jemand die Mühe gemacht eine Art worst-case Liste zu machen schauen wir einfach ob unser Problem in dieser Liste ist wir schauen also auf http://sanbarrow.com/vmdk/vmdk-when-its-too-late.html nach ob wir unsers Fehler finden. Und ja da ist er auch schon. ALso müssen wir nicht viel tun.
- Wir betrachten uns die disc und den Snapshot und finden einen Unterschied in der CID des Parent und im CIDParent eintrag. Diesen müssen wir ausgleichen,also schreiben wir in den CIDParent eintrag logisch den CID des Parent
- Desweiteren sehen wir das die RW der Einträge nicht mehr stimmt, auch hier übertragen wir die RW vom Parent auf das Child
- Natürlich hat der Parent nun auch mehr Einträge. Da vmware ja (normalerweise) 2GB Files anlegt, wir haben bei einer vergrösserung von 10GB also 5 Files mehr. Diese löschen wir aus der Datei und die -fxxx.vmdk files von der Festplatte
vmware-vdiskmanager -r <snapshot>.vmdk -t 0 new_vmware.vmdk
Somit kopieren wir den Snapshot, im idealfall sollte es nun auch wieder eine Disk ohne Snap sein, den man dann weiter benutzen kann.
In meinem Fall kann ich nur abschliessend sagen: Gut wenn man ein Backup hat
Donnerstag, 28. April 2011
Ubuntu 11.04 TEIL 1
Heute bin ich doch tatsächlich auf die Idee gekommen mein Ubuntu auf dem Arbeitsrechner zu upgraden. Was auch immer mich da geritten hat, so geht es:
... und dann hat man den Salat, dazu jedoch mehr wenn ich es ein paar Stunden getestet habe.
- sudo -i
- aptitude install do-release-upgrade
- do-release-upgrade
... und dann hat man den Salat, dazu jedoch mehr wenn ich es ein paar Stunden getestet habe.
Freitag, 8. April 2011
FreeBSD: Fehler bei autoconf
Hm, als ich gerade etwas mit Horde rumspielen wollte wurde ich von einem Fehler bezüglich der php abhängigkeiten überrascht
autoconf: required version 2.68 not found
eigentlich recht Merkwürdig, wenn die Lösung auch relativ einfach ist. Autoconf hat eine Art "Shellskript" den autoconf-wrapper, dieser befindet sich unter
autoconf: required version 2.68 not found
eigentlich recht Merkwürdig, wenn die Lösung auch relativ einfach ist. Autoconf hat eine Art "Shellskript" den autoconf-wrapper, dieser befindet sich unter
- /usr/ports/devel/autoconf-wrapper
- make deinstall && make install
Donnerstag, 7. April 2011
FreeBSD: Ports frisch halten
Letztens wollte ich über die ports eine neue Software installieren. Dies hatte leider nicht funktioniert, da meine ports doch schon stark veraltet waren, an dieser Stelle hilft dann nur diese zu Updaten.
Ich bevorzuge hier die Portsnap Method (Vergleiche:FreeBSD ports )
Also
Wenn es noch keinen ports Ordner gibt dann müssen wir als nächstes
Ich bevorzuge hier die Portsnap Method (Vergleiche:FreeBSD ports )
Also
- portsnap fetch
Wenn es noch keinen ports Ordner gibt dann müssen wir als nächstes
- portsnap extract
- portsnap update
Dienstag, 22. März 2011
Nagios Services neu checken
So, meine 2 Wochen Urlaub sind rum. Also vielleicht auch mal wieder Zeit was zu schreiben. Heute morgen bin ich über ein altes Skript gestolpert welches für einen kleinen Post genau das Richtige zu sein scheint.
Wir checken zB den Debian Paketstatus einmal am Tag. Kommen jetzt über Nacht ganz viele dieser Updates, so haben wir für 24 Stunden ein schönes rotes Nagios. Also macht man Updates und rechecked den Service, alleine schon wegen der Übersicht. Aber muss man das von Hand machen? Nö!
Geht natürlich auch mit anderen :-)
nagiosserver ~ # locate status.dat
/var/cache/nagios3/status.dat
nagiosserver ~ # locate nagios.cmd
/var/lib/nagios3/rw/nagios.cmd
Also
Wir checken zB den Debian Paketstatus einmal am Tag. Kommen jetzt über Nacht ganz viele dieser Updates, so haben wir für 24 Stunden ein schönes rotes Nagios. Also macht man Updates und rechecked den Service, alleine schon wegen der Übersicht. Aber muss man das von Hand machen? Nö!
#!/bin/bashDer einfache Aufruf sh kickrecheck.sh apt sorgt nun dafür das alle apt services auf jedem Server neu gechecked werden.
# kickrecheck.sh
# by j AT xadmin DOT info
if [ -z "$1" ];
then
echo "Please tell me which check to kick by usage: sh kickrecheck.sh <service>"
else
for host in `grep 'host_name=' /var/nagios/rw/status.dat | cut -f 2 -d "=" | sort | uniq`
do
/usr/bin/printf "[%lu] SCHEDULE_SVC_CHECK;${host};$1;1110741500\n" `date +%s` > /var/nagios/rw/nagios.cmd
done
fi
Geht natürlich auch mit anderen :-)
UPDATE!:
Was Squeeze da anscheinend ein wenig anders machtnagiosserver ~ # locate status.dat
/var/cache/nagios3/status.dat
nagiosserver ~ # locate nagios.cmd
/var/lib/nagios3/rw/nagios.cmd
Also
#!/bin/bash
# by j AT xadmin DOT info
if [ -z "$1" ];
then
echo "Please tell me which check to kick by usage: sh kickrecheck.sh <service>"
else
for host in `grep 'host_name=' /var/cache/nagios3/status.dat | cut -f 2 -d "=" | sort | uniq`
do
/usr/bin/printf "[%lu] SCHEDULE_SVC_CHECK;${host};$1;1110741500\n" `date +%s` > /var/lib/nagios3/rw/nagios.cmd
done
fi
Freitag, 4. März 2011
Zend Optimizer
Noch ein Paket gibt es in der PHP Toolbox. Den Zend_Optimizer dieser findet mittlerweile auch in Webshops Verwendung, da er verspricht das Anwendungen nun bis zu 40% schneller laufen. Also genug gründe auch seine Installation mal unter die Lupe zu nehmen.
Nachdem man sich auf der Internetseite das Paket heruntergeladen hat
http://www.zend.com/de/download/141
findet man nach dem entpacken findet man unter ./data/5_2_x_comp/
die Datei
Apache neu starten und geht!
Nachdem man sich auf der Internetseite das Paket heruntergeladen hat
http://www.zend.com/de/download/141
findet man nach dem entpacken findet man unter ./data/5_2_x_comp/
die Datei
- ZendOptimizer.so
- /usr/local/
- zend_extension=/usr/local/ZendOptimizer.so
Apache neu starten und geht!
with the ionCube PHP Loader v3.3.20, Copyright (c) 2002-2010, by ionCube Ltd., and
with Zend Optimizer v3.3.9, Copyright (c) 1998-2009, by Zend Technologies
Mittwoch, 2. März 2011
FreeBSD: Nginx installieren
Manchmal muss man ein wenig über den Tellerrand schauen wenn man auf der Suche nach einem Webserver ist, es muss ja nicht immer Apache oder Lighttpd sein, Nginx kann dies auch...
Nginx - Wiki - http://wiki.nginx.org/Main
Die Reise beginnt wie so oft in /usr/ports/ wir finden nginx in
Die Konfigdateien finden wir in /usr/local/etc/nginx
die dortige nginx.conf enthält Grundlegende Konfigurationen, hier ein Beispiel
Nginx - Wiki - http://wiki.nginx.org/Main
Die Reise beginnt wie so oft in /usr/ports/ wir finden nginx in
- /usr/ports/www/nginx/
- make && make install && make clean
- echo 'nginx_enable="YES"' >> /etc/rc.conf
- /usr/local/etc/rc.d nginx start
Die Konfigdateien finden wir in /usr/local/etc/nginx
die dortige nginx.conf enthält Grundlegende Konfigurationen, hier ein Beispiel
worker_processes 1;Das wars auch schon... demnächst mehr zu Nginx
error_log logs/error.log;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name <SERVERNAME>;
access_log /var/log/nginx/<SERVERNAME>/access.log;
location / {
root /usr/local/www/nginx/;
index index.html index.htm;
}
error_page 404 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/local/www/nginx;
}
location ~ /\.ht {
deny all;
}
}}
Mittwoch, 23. Februar 2011
FreeBSD: 8.2-RELEASE jetzt upgraden
So, ich weiss ja nicht ob es schon jedem aufgefallen ist, aber das FreeBSD 8.2-RELEASE ist zum Upgrade verfügbar, ich habe es auch auf meinem ersten Server zuhause für Testzwecke versucht, während ich dem Reboot zukucke beginne ich dies hier zu schreiben... und es hat geklappt... also
Ein Upgrade ist mittlerweile auch keine Hexerei mehr wir beginnen als root mit einem
Danach fehlt uns nun ein
Ein Upgrade ist mittlerweile auch keine Hexerei mehr wir beginnen als root mit einem
-
freebsd-update -r 8.2-RELEASE upgrade
diese können nach bestem Wissen beantwortet werden, ein y sollte immer gehen.
The following components of FreeBSD do not seem to be installed: kernel/generic world/catpages world/dict world/doc world/games world/proflibs Does this look reasonable (y/n)? y
Danach fehlt uns nun ein
- freebsd-update install
nextboot -k GENERIC
Montag, 21. Februar 2011
Iptables (Schnelle Hilfe)
Eines in meinen Augen beste und schnellste Tool wenn es um einen Schuz des eigenen Systems geht ist Iptables, die seit Kernel 2.4.x integrierte Firewall. http://de.wikipedia.org/wiki/Iptables. Natürlich gibt es hierzu mehr Howtos als man alleine lesen kann. Trotzdem möchte ich die IPtables noch einmal kurz beleuchten, da ich sie im täglichen Geschäft immer mal wieder brauche.
So habe ich in meinem Dokumenten Ordner eine Datei die nennt sich "iptables_fastuse.txt" hier befindet sich eigentlich nur eine kleine Übersicht über verschiedene Regeln die ich schonmal gebraucht habe, mit einer kleinen erläuterung was diese einegtlich tun (ich vergesse das nämlich dauernd).
Der Erste aufruf in meiner liste
iptables -A INPUT -s xxx.xxx.xxx.xxx -j DROP wie sich ebstimmt vermuten lässt, erstellt diese eine Regel welche jeden reinkommenden Traffic (INPUT) von einer gewissen Adresse (-s xxx.xxx.xxx.xxx) nicht an (DROP). Hierbei steht das -A für Append, also die Regel wird am Ende der "regelnliste" angestellt.
Wie sich also zeigt ist der Aufbau der iptables sehr einfach gehalten. Wir unterscheiden also eigentlich auf der einen Seite
INPUT
OUTPUT
hierbei gilt natürlich auch die Unterschiede zwischen -A -I -D zu beachten.
-A fügt die regel hinten an die Liste an
-I fügt die regel vorne in die Liste ein
-D löscht die passende Regel wieder aus der Liste
und auf der -j Seite (Also der "Was tun wir damit")
ACCEPT
REJECT
RETURN
DROP
Zunächst noch ein/zwei ganz wichtigen Hinweisen. Die Regeln der iptables werden von oben nach unten durchgegangen, also die erste Regel vor der Zweiten und so weiter. Somit muss man etwas aufpassen, wenn das System eine Default auf ACCEPT hat, dann muss man Verbindungen verbieten, ist die default ein DROP so kann man dies natürlich mit ACCEPT steueren.
In den folgenden Regeln gehen wir von einem default auf ACCEPT aus.
Löschen der ganzen Regeln geht einfach mit iptables -F, dan ansehen der Regeln via iptables -L.
Kommen wir nun also zu ein paar anderen Regeln, die man etwas besser benutzen kann, und ich denke das sie ein paar Feinheiten von iptables aufzeigen die man täglich benutzen kann.
iptables -A INPUT -p tcp --syn --dport <<PORT>> -m connlimit --connlimit-above <<ANZAHL>> -j REJECT --reject-with tcp-reset
Dies ist ein sehr schöner Befehl, mit Hilfe von connlimit sperren wir den gleichzeitigen Zugriff von einer IP auf unseren PORT sobald diese über ANZAHL hinaus gehen, sehr schön um zB Kundenzugriffe auf Datenbanken einzuschränken
Dann erwähnen wir im gleichen Atemzug natürlich auch noch
iptables -A INPUT -p tcp -m limit --limit 1/s --limit-burst 3 -j RETURN
Der Limit Funktion, anders als der connlimit, ist es egal von welcher IP die Zugriffe kommen sie sorgt eibfach dafür das in diesem Fall nur 1 Zugriff pro sekunde über tcp möglich ist. Diese Kommando lässt sich auch mit --dport PORT erweitern, um also einen Zugriff auf diesen Port zu beschränken
Es hat sich auch bewährt das ganze als Log zu schreiben, da man ja nachvollziehen möchte wen man so rausgeschmissen hat, folgender Eintrag vor dem eigentlichen Eintrag (z.B. einer der Erste) sorgt dafür das dies als zeile in /var/log/kern.log gespeichert wird
iptables -A INPUT -p tcp --syn --dport <<PORT>> -m connlimit --connlimit-above <<ANZAHL>> -j LOG man beachte also das für das REJECT ein LOG benutzt wird, also wird es in diesem Falle nur gelogt, die eigentliche Verbindung funktioniert aber trotzdem. Deshalb muss auch dieser Eintrag _vor_ dem Reject stehen, da ansonsten die Verbindung unterbrochen wird und kein LOG gschrieben wird.
So habe ich in meinem Dokumenten Ordner eine Datei die nennt sich "iptables_fastuse.txt" hier befindet sich eigentlich nur eine kleine Übersicht über verschiedene Regeln die ich schonmal gebraucht habe, mit einer kleinen erläuterung was diese einegtlich tun (ich vergesse das nämlich dauernd).
Der Erste aufruf in meiner liste
iptables -A INPUT -s xxx.xxx.xxx.xxx -j DROP wie sich ebstimmt vermuten lässt, erstellt diese eine Regel welche jeden reinkommenden Traffic (INPUT) von einer gewissen Adresse (-s xxx.xxx.xxx.xxx) nicht an (DROP). Hierbei steht das -A für Append, also die Regel wird am Ende der "regelnliste" angestellt.
Wie sich also zeigt ist der Aufbau der iptables sehr einfach gehalten. Wir unterscheiden also eigentlich auf der einen Seite
INPUT
OUTPUT
hierbei gilt natürlich auch die Unterschiede zwischen -A -I -D zu beachten.
-A fügt die regel hinten an die Liste an
-I fügt die regel vorne in die Liste ein
-D löscht die passende Regel wieder aus der Liste
und auf der -j Seite (Also der "Was tun wir damit")
ACCEPT
REJECT
RETURN
DROP
Zunächst noch ein/zwei ganz wichtigen Hinweisen. Die Regeln der iptables werden von oben nach unten durchgegangen, also die erste Regel vor der Zweiten und so weiter. Somit muss man etwas aufpassen, wenn das System eine Default auf ACCEPT hat, dann muss man Verbindungen verbieten, ist die default ein DROP so kann man dies natürlich mit ACCEPT steueren.
In den folgenden Regeln gehen wir von einem default auf ACCEPT aus.
Löschen der ganzen Regeln geht einfach mit iptables -F, dan ansehen der Regeln via iptables -L.
Kommen wir nun also zu ein paar anderen Regeln, die man etwas besser benutzen kann, und ich denke das sie ein paar Feinheiten von iptables aufzeigen die man täglich benutzen kann.
iptables -A INPUT -p tcp --syn --dport <<PORT>> -m connlimit --connlimit-above <<ANZAHL>> -j REJECT --reject-with tcp-reset
Dies ist ein sehr schöner Befehl, mit Hilfe von connlimit sperren wir den gleichzeitigen Zugriff von einer IP auf unseren PORT sobald diese über ANZAHL hinaus gehen, sehr schön um zB Kundenzugriffe auf Datenbanken einzuschränken
Dann erwähnen wir im gleichen Atemzug natürlich auch noch
iptables -A INPUT -p tcp -m limit --limit 1/s --limit-burst 3 -j RETURN
Der Limit Funktion, anders als der connlimit, ist es egal von welcher IP die Zugriffe kommen sie sorgt eibfach dafür das in diesem Fall nur 1 Zugriff pro sekunde über tcp möglich ist. Diese Kommando lässt sich auch mit --dport PORT erweitern, um also einen Zugriff auf diesen Port zu beschränken
Es hat sich auch bewährt das ganze als Log zu schreiben, da man ja nachvollziehen möchte wen man so rausgeschmissen hat, folgender Eintrag vor dem eigentlichen Eintrag (z.B. einer der Erste) sorgt dafür das dies als zeile in /var/log/kern.log gespeichert wird
iptables -A INPUT -p tcp --syn --dport <<PORT>> -m connlimit --connlimit-above <<ANZAHL>> -j LOG man beachte also das für das REJECT ein LOG benutzt wird, also wird es in diesem Falle nur gelogt, die eigentliche Verbindung funktioniert aber trotzdem. Deshalb muss auch dieser Eintrag _vor_ dem Reject stehen, da ansonsten die Verbindung unterbrochen wird und kein LOG gschrieben wird.
Donnerstag, 17. Februar 2011
Neuer (Web-)VServer
FreeBSD vs2.in.********** 8.1-RELEASE FreeBSD 8.1-RELEASE
server:nginx/0.8.54
date:Thu, 17 Feb 2011 13:47:29 GMT
content-type:text/html transfer-encoding:chunked
connection:close
x-powered-by:PHP/5.2.17
expires:Thu, 19 Nov 1981 08:52:00 GMT (29 years and 3 months ago)
cache-control:no-store, no-cache, must-revalidate, post-check=0, pre-check=0 pragma:no-cache
Also relativ klassisch :-)
server:nginx/0.8.54
date:Thu, 17 Feb 2011 13:47:29 GMT
content-type:text/html transfer-encoding:chunked
connection:close
x-powered-by:PHP/5.2.17
expires:Thu, 19 Nov 1981 08:52:00 GMT (29 years and 3 months ago)
cache-control:no-store, no-cache, must-revalidate, post-check=0, pre-check=0 pragma:no-cache
Also relativ klassisch :-)
- FreeBSD 8.1 amd64
- Nginx Webserver
- PHP 5.2.17 als fcgi
- MariaDB
Bacula und Nagios
Wenn man eine Monitoring Lösung wie Nagios am Start hat, dann möchte man Zwangsläufig das die Backuplösung sich hier integriert. Wenn man dann sich umschaut, findet man einiges an HowTo Lösungen, die irgendwie alle nicht so recht wollten.
Ich habe mich jetzt mal einen Tag mit der Problematik befasst und fasse mal zusammen was man tun muss...
Schritt 1: PASSIV CHECK
Bacula soll nach beendetem Job uns eine Information geben was mit dem Job passiert ist, hierzu erstellen wir einen Passivcheck innerhalb von Nagios, dieser könnte so aussehen
Schritt 2: Bacula2Nagios
Wir brauchen für Nagios ein Script, dieses soll dafür sorgen das die Information von Bacula an nagios übermittelt wird. Hierbei müssen wir beachten, dass dieses Script nur auf dem Director liegen muss!
Denn, wir werden später die Funktion RUN AFTER JOB benutzen, ich musste auch lange recherchieren bis mir auffiel das der Director diesen Aufruf macht und nicht der Client :-)
Unser Script sieht dann so aus:
Schritt 3: RUN AFTER JOB
Nun fügen wir in jede JobDefs folgende beiden Zeilen ein
Ich habe mich jetzt mal einen Tag mit der Problematik befasst und fasse mal zusammen was man tun muss...
Schritt 1: PASSIV CHECK
Bacula soll nach beendetem Job uns eine Information geben was mit dem Job passiert ist, hierzu erstellen wir einen Passivcheck innerhalb von Nagios, dieser könnte so aussehen
define service {check_dummy_crit ist hierbei das check_dummy script, welches immer critical ist, es sei denn es wird, in unserem Fall von Bacula, auf critical gesetzt.
hostgroup_name bacula
service_description bacula-fd
use generic-service
check_command check_dummy_crit
max_check_attempts 1
check_interval 1440
retry_interval 1440
check_period workhours
notifications_enabled 0
register 1
}
Schritt 2: Bacula2Nagios
Wir brauchen für Nagios ein Script, dieses soll dafür sorgen das die Information von Bacula an nagios übermittelt wird. Hierbei müssen wir beachten, dass dieses Script nur auf dem Director liegen muss!
Denn, wir werden später die Funktion RUN AFTER JOB benutzen, ich musste auch lange recherchieren bis mir auffiel das der Director diesen Aufruf macht und nicht der Client :-)
Unser Script sieht dann so aus:
#!/bin/bashMAN BEACHTE!: Es ist hierfür wichtig das der "Job name" auich gleich dem Hostname in Nagios ist.
# Bacula2Nagios V1#
/usrbacula2nagios.sh
# args:
# $1: Job name
# $2: Status (0:OK)
# $3: Plugin Output
if [ $2 -eq 0 ]
then status=0
else status=2
fi
/bin/echo "$1;bacula-fd;$status;$3" | /usr/sbin/send_nsca -d ';' -c /etc/nagios/send_nsca.cfg -H <NAGIOSHOST>
Schritt 3: RUN AFTER JOB
Nun fügen wir in jede JobDefs folgende beiden Zeilen ein
Run After Job = "sh /usr/lib/nagios/plugins/bacula2nagios.sh \"%n\" 0 \"%e %l %v\""
Run After Failed Job = "sh /usr/lib/nagios/plugins/bacula2nagios.sh \"%n\" 1 \"%e %l %v\""Hierbei ist
- %n : der Jobname
- 0/1: der Nagios Wert 0: OK 1: CRIT
- %e der Job exit status
- %l der job level
- %v das Zielvolume
- Nagios
- Bacula
- NSCA
- bash und vi:-)
Dienstag, 15. Februar 2011
Montag, 14. Februar 2011
MySQL Replizieren
Heute beschäftigen wir uns kurz mal mit dem Thema "MySQL Replikation".
Kurz?
Ja! Lange dauert das ja nicht :-)
Nehmen wir mal die Ausgangssituation
Somit konfigurieren wir uns auf beiden Servern ein Netz, zB
Als erstes editieren wir die /etc/mysql/my.cnf, hier suchen wir die Zeile
ACHTUNG! Debian hat einen eigenen Systemnutzer, mit dieser Methode wird auch sein Passwort überschrieben, was dazu führt das MySQL auf dem Slave gleich nicht mehr gestartet werden kann. Workaround ist relativ simple, man kopiere sich die Passwörter aus /etc/mysql/debian.cnf und ersetze diese auch auf dem Slave.
Nun machen wir auf dem Slave weiter
Auch hier suchen wir den server-id Eintrag, setzen ihn aber auf 2
Nun entpacken wir unser Archiv, wenn Sie unsicher sind können Sie hier auch im my.cnf File nachsehen welches das data dir ist
So, eigentlich sollte unsere Arbeit hiermit erledigt sein, wir testen unser tun natürlich noch, ich kopiere mit Absicht nicht die ganze Zeile der Ausgabe, aber so ungefähr sollte sie aussehen
Auf dem Master
Auf dem Slave, so etwas wie
Danke das wars :-)
Kurz?
Ja! Lange dauert das ja nicht :-)
Nehmen wir mal die Ausgangssituation
Einen Debian Server MASTER mit MySQLAuf die Installation von Debian bzw MySQL muss man wohl nicht mehr im Detail eingehen, diese ist bei Debian ja so schön automatisiert das nichts schief gehen sollte, und
Einen Debian Server SLAVE mit MySQLWenn man die beiden Server zufällig in einem Rack haben sollte, so bevorzuge ich es an eth1 einfach ein Crosskabel anzuschliessen (Anmerkung!: Ein Crosskabel braucht man eigentlich nicht mehr, neue Neztwerkkarten sind so toll das sie dies alleine tun können).
Somit konfigurieren wir uns auf beiden Servern ein Netz, zB
auto eth1
iface eth1 inet static
address 10.0.1.X
netmask 255.255.255.0
network 10.0.1.0
broadcast 10.0.1.25510.0.1.X sollte hierbei das X als 1 auf dem Master und 2 auf dem Slave gesetzt sein. Nach einem /etc/init.d/networking restart sollte eine ping Probe möglich sein
Nun beginnen wir mit der Arbeit auf dem Masterroot@mysql-master:~# ping 10.0.1.2PING 10.0.1.2 (10.0.1.2) 56(84) bytes of data.64 bytes from 10.0.1.2: icmp_req=1 ttl=64 time=3.95 ms
Als erstes editieren wir die /etc/mysql/my.cnf, hier suchen wir die Zeile
- #server-id = 1
- #log_bin = /var/log/mysql/mysql-bin.log
- mysql -p
- GRANT SUPER, RELOAD, REPLICATION SLAVE ON *.* TO 'repl'@'10.0.1.2' IDENTIFIED by '<ANYPASSWORD>';
- flush privileges;
- cd /var/lib/mysql
- tar cfz /tmp/mysnap.tar.gz .
- scp mysnap.tar.gz 10.0.1.2:
mysql> SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 | 106 | | |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
Nun machen wir auf dem Slave weiter
Auch hier suchen wir den server-id Eintrag, setzen ihn aber auf 2
- server-id = 2
Nun entpacken wir unser Archiv, wenn Sie unsicher sind können Sie hier auch im my.cnf File nachsehen welches das data dir ist
- tar xfz mysnap.tar.gz -C /var/lib/mysql/
- mysql -p
- CHANGE MASTER TO
MASTER_HOST="10.0.1.1",
MASTER_USER="repl",
MASTER_PASSWORD="<ANYPASSWORD>",
MASTER_LOG_FILE="mysql-bin.000001"; - START SLAVE;
So, eigentlich sollte unsere Arbeit hiermit erledigt sein, wir testen unser tun natürlich noch, ich kopiere mit Absicht nicht die ganze Zeile der Ausgabe, aber so ungefähr sollte sie aussehen
Auf dem Master
- show processlist;
- 35 | repl | 10.0.1.2:36874 | NULL | Binlog Dump | 914 | Has sent all binlog to slave; waiting for binlog to be updated | NULL
Auf dem Slave, so etwas wie
- show processlist;
- Waiting for master to send event | 10.0.1.1 | repl | 3306 | 60 | mysql-bin.000001 | 106 | mysqld-relay-bin.000002 | 251 | mysql-bin.000001
- bind-address = 0.0.0.0
Danke das wars :-)
Donnerstag, 10. Februar 2011
Debian Backports (Squeeze)
Vielleicht mal ein guter Zeitpunkt um ein wenig über mein Lieblingsrepo zu reden.
Wer kennt das nicht, man sucht ein Softwarepaket und muss leider feststellen das die Version die wir in unsere Liste finden (okay, ich rede von 24 Monaten Lenny :-) ) eigentlich schon ziemlich alt ist. Nun haben wir hierbei ein wirkliches gutes Repository zur Hand welches genau aus diesem Grund geschaffen wurde
http://backports.debian.org/
Um es mit den Worten der Maintainer zu sagen:
Der Weg zu diesem Repo ist auch sehr einfach gestaltet, und geht prinzipiell in 3 Schritten
Zu allererst brauchen wir einen neuen Eintrag in /etc/apt/source.list
Nun sollte man noch einen Eintrag in /etc/apt/preferences machen, dieser soll dafür sorgen, das auch automatisch Upgrades aus den Backports genommen werden
Wer kennt das nicht, man sucht ein Softwarepaket und muss leider feststellen das die Version die wir in unsere Liste finden (okay, ich rede von 24 Monaten Lenny :-) ) eigentlich schon ziemlich alt ist. Nun haben wir hierbei ein wirkliches gutes Repository zur Hand welches genau aus diesem Grund geschaffen wurde
http://backports.debian.org/
Um es mit den Worten der Maintainer zu sagen:
You are running Debian stable, because you prefer the Debian stable tree. It runs great, there is just one problem: the software is a little bit outdated compared to other distributions. This is where backports come in.
Backports are recompiled packages from testing (mostly) and unstable (in a few cases only, e.g. security updates) in a stable environment so that they will run without new libraries (whenever it is possible) on a Debian stable distribution. It is recommended to select single backports which fit your needs, and not to use all available backports.
Der Weg zu diesem Repo ist auch sehr einfach gestaltet, und geht prinzipiell in 3 Schritten
Zu allererst brauchen wir einen neuen Eintrag in /etc/apt/source.list
deb http://backports.debian.org/debian-backports squeeze-backports mainwenn wir diesen Eintrag angelegt haben brauchen wir nur noch die Liste zu updaten
aptitude updatehier wird dann die Liste der Pakete auf den neusten Stand gebracht. Nun können wir einzelne Pakete aus diesem Repo installieren mit
aptitude install -t squeeze-backports <paketname>das gleiche gilt natürlich auch für search/update
Nun sollte man noch einen Eintrag in /etc/apt/preferences machen, dieser soll dafür sorgen, das auch automatisch Upgrades aus den Backports genommen werden
Package: *Und das war es auch schon...
Pin: release a=squeeze-backports
Pin-Priority: 200
Dienstag, 8. Februar 2011
Ioncube Loader
Der Ioncube Loader. Wird immer beliebter. Er ermöglicht es zwar php Anwendungen an einen Kunden herauszugeben, verhindert aber das dieser Kunde den Quelltext sehen kann.
Somit ist er Ioncube Loader natürlich für Unternehmen interessant die primär mit ihren Webentwicklungen Geld verdienen wollen.
Nun haben wir auch vorgesehen dieses beim nächsten Update unserer Web_Skeletons diesen endlich mal fest einzubauen, bis dahin ist aber immernoch ein wenig Handarbeit von Adminseite nötig.
Aus diesem Grund beschreibe ich doch nun mal kurz das allgemeine Vorgehen um einen Ioncube Loader in Betrieb zu nehmen.
Also erstmal zum Abgleich die Grundlagen
Somit ist er Ioncube Loader natürlich für Unternehmen interessant die primär mit ihren Webentwicklungen Geld verdienen wollen.
Nun haben wir auch vorgesehen dieses beim nächsten Update unserer Web_Skeletons diesen endlich mal fest einzubauen, bis dahin ist aber immernoch ein wenig Handarbeit von Adminseite nötig.
Aus diesem Grund beschreibe ich doch nun mal kurz das allgemeine Vorgehen um einen Ioncube Loader in Betrieb zu nehmen.
Also erstmal zum Abgleich die Grundlagen
- Debian Lenny 5.0.8
- Apache/2.2.16 (Debian)
- PHP 5.2.6-1+lenny9 with Suhosin-Patch 0.9.6.2
- http://downloads2.ioncube.com/loader_downloads/ioncube_loaders_lin_x86.tar.gz
- http://downloads2.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
nach dem entpacken haben wir folgende Verzeichnisstruktur
natürlich kann man an dieser Stelle den loader-wizard in den Webspace verschieben, die seite aufrufen und der Anleitung folgen, da es aber nun schon ein paar mal getan wurde, geht es so weiter:home01:~/ioncube# lsioncube_loader_lin_4.1.so ioncube_loader_lin_5.1_ts.soioncube_loader_lin_4.2.so ioncube_loader_lin_5.2.soioncube_loader_lin_4.3.so ioncube_loader_lin_5.2_ts.soioncube_loader_lin_4.3_ts.so ioncube_loader_lin_5.3.soioncube_loader_lin_4.4.so ioncube_loader_lin_5.3_ts.soioncube_loader_lin_4.4_ts.so LICENSE.txtioncube_loader_lin_5.0.so loader-wizard.phpioncube_loader_lin_5.0_ts.so README.txtioncube_loader_lin_5.1.so
- Wir verschieben alle Dateien nach /usr/local/ioncube (wahlweise auch nur die die wir wirklich brauchen in unserem Falle also die ioncube_loader_lin_5.2.so)
- Wir erstellen folgenden Eintrag in der /etc/php5/apache2/php.ini am besten direkt ganz am Anfang der Datei, da es sonst (zumindest bei mir) öfter zu Problemen kommt
zend_extension = /usr/local/ioncube/ioncube_loader_lin_5.2.soApache neustarten und Thats it!
Montag, 7. Februar 2011
Debian Lenny to Squeeze (Just another howto)
Endlich ist es soweit, am Wochenende des 05./06. Februar hat jemand beschlossen das Debian Squeeze stable ist. Was bedeutet das für uns Admins, natürlich werden Images ausgetauscht und die ersten Testsysteme auf Squeeze hochgezogen.
Als allererstes sollte man sich natürlich ein Backup der wichtigen Daten machen. In meinen Augen zählt hierzu auch eine Liste der Pakete
Danach eigentlich nur noch
Viel Spass mit Squeeze!
Als allererstes sollte man sich natürlich ein Backup der wichtigen Daten machen. In meinen Augen zählt hierzu auch eine Liste der Pakete
- dpkg --get-selections
sowie auch das (nahezu) komplette /etc/ Verzeichnis. Dieses sichern meiner Ansicht nach die wenigstens obwohl natürlich nichts nerviger ist als die ganzen configs neu zu schreiben wenn ein Rechner den Geist aufgibt.
Mit Hilfe von /etc und den Paketen lässt sich Debian Server eigentlich sehr schnell wieder herstellen.
Nun also zum Upgrade.
Wir editieren also die /etc/apt/source.list
So könnte diese dann ungefähr aussehen.deb http://ftp.de.debian.org/debian/ squeeze main contrib non-freedeb-src http://ftp.de.debian.org/debian/ squeeze main contrib#deb http://backports.debian.org/debian-backports lenny-backports maindeb-src http://security.debian.org/ squeeze/updates maindeb http://security.debian.org/ squeeze/updates main
Danach eigentlich nur noch
- aptitude update
- aptitude full-upgrade
Viel Spass mit Squeeze!
Sonntag, 6. Februar 2011
Pfui! Böses Böses Windows!
Manchmal ist es schon toll was man so neues in Sachen Windows lernen kann.
Vor knapp einer Woche habe ich einen Arbeitsplatzrechner mit einem Windows XP Pro ausgestattet (Ja, wir benutzen das immernoch). Die Installation lief soweit Problemlos, auch das Aktivieren klappte auf Anhieb.
Nun, habe ich mich getraut eine Woche diesen PC alleine zu lassen und etwas Urlaub zu machen, als ich dann heute aus dem Urlaub kam, war ich doch sehr überrascht. Das Windows wollte doch wirklich wieder aktivieren lassen. Dies war für mich noch nicht so schlimm, jedoch das aktivieren viel in folgenden Schritten aus:
Vor knapp einer Woche habe ich einen Arbeitsplatzrechner mit einem Windows XP Pro ausgestattet (Ja, wir benutzen das immernoch). Die Installation lief soweit Problemlos, auch das Aktivieren klappte auf Anhieb.
Nun, habe ich mich getraut eine Woche diesen PC alleine zu lassen und etwas Urlaub zu machen, als ich dann heute aus dem Urlaub kam, war ich doch sehr überrascht. Das Windows wollte doch wirklich wieder aktivieren lassen. Dies war für mich noch nicht so schlimm, jedoch das aktivieren viel in folgenden Schritten aus:
- Anmelden
- Sie müssen Windows Aktivieren
- Ja klicken
- Sie haben Windows bereits aktiviert
- Abmelden
- .... (Endlosschleife)
Natürlich begann an dieser Stelle meine Google Suche nach diesem Problem auch wenn ich zugeben muss noch keine Lösung gefunden zu haben, will ich trotzdem mir die Zeit nehmen und einen echt tollen Ansatz weiter zugeben, den ich so noch nicht kannte.
Windows XP Deaktivieren
Wir booten das Windows in den "Abgesicherten Modus", hierzu drücken wir F8 während der Startphase des Rechner, sollte der Windows Boot Bildschirm erscheinen waren wir leider zu spät.
(Schritt 1) Als erstes löschen wir die Datei, die für das Aktivieren zuständig ist, hierzu starten wir den Windows-Explorer und gehen zum Ordner C:\windows\system32\ hier befindet sich eine wpa.dbl Datei die wir löschen.
Nun benutzen wir die "Original Windows XP CD" und spielen diese Datei neu ein, sollte Ihr CD-Laufwerk D: sein so sieht der Befehl ungefähr so aus:
- expand D:\i386\wpa.db_ C:\windows\system32\
Nun haben wir diese Datei in Ihrer Originalversion, weiter...
(Schritt 2) Nun müssen wir etwas an der Registry rumbasteln, hierzu nutzen wir START -> Ausführen und führen regedit aus, wir gehen zu
- HKEY_LOCAL_MACHINE
- SOFTWARE
- WINDOWS NT
Unter dem Punkt NOTIFY sollte es einen Eintrag RESETS geben, welchen wir mittels Rechts-Klick und Löschen entfernen.
Da wir in der Registry schonmal sind bearbeiten wir noch einen Punkt
- HKEY_LOCAL_MACHINE
- SOFTWARE
- WINDOWS NT
- CURRENT VERSION
- WPA EVENTS
Nun ist Ihr Windows wieder Deaktiviert und der Aktivierungprozess kann von neuem Beginnen.
Freitag, 4. Februar 2011
Die Altlasten
Wie vorher erwähnt habe ich ja Altlasten entsorgt
Die habe ich aus dem alten Zimmer im Haus meiner Eltern erstmal ins EG getragen und gestapelt
Die habe ich aus dem alten Zimmer im Haus meiner Eltern erstmal ins EG getragen und gestapelt
- Apple Monitor
- Ein Umax Apus (Apple Clon)
- 4 PC Gehäuse teileweise leer
- ca. 10 CD / DVD Laufwerke
- Sun 19" Monitor
- Sun Sparcstation 1, 2, 3, 4, 5
- Sun Ultra 5 und 10
- Sun Sparcstation IPX und IPC
- ca 3 externe Platten und CD Gehäuse
- Allerlei Kabel
- Dockingstation für ein Compaq Notebook
- Dazu Allerhand uralt SCSI Festplatten
Wenn man den Anschaffungspreis nimmt (was teilweise Stand 1993 war :-) ) habe ich also ein schönes neues Auto weggeschafft. Vom Gewicht her wohl fast auch :-)
Stanford University Network aka SUN
So, das Bild fliegt nun schon ne Weile auf meinem Desktop rum und ich denke ich sollte es mal posten bevor es bei Aufräumarbeiten verloren geht.
Ja ich mochte SUN. Eine klasse Firma. Auch wenn ich mich am Montag von meiner SUN Sammlung nahezu vollständig getrennt habe, so kann ich doch immernoch zwei Maschinen mein Eigen nennen
Ja ich mochte SUN. Eine klasse Firma. Auch wenn ich mich am Montag von meiner SUN Sammlung nahezu vollständig getrennt habe, so kann ich doch immernoch zwei Maschinen mein Eigen nennen
- SUN Ultra 10
- SUN Ultra 60
Von diesen beiden werde ich mich so schnell nicht trennen :-)
Dienstag, 1. Februar 2011
Roundcube am limit
Letztens ist es passiert das Roundcube auf einem unserer Rechner am Limit war.
Soll heissen das die Ausgabe von top eine Wait von 85% zeigte, und damit einhergehend natürlich auch Loginzeiten (bzw auch Seitenaufbauzeiten) jenseits der 1 Minute Grenze.
Soll heissen das die Ausgabe von top eine Wait von 85% zeigte, und damit einhergehend natürlich auch Loginzeiten (bzw auch Seitenaufbauzeiten) jenseits der 1 Minute Grenze.
Der erste Lösungsansatz schlug leider fehl. Dieser bestand darin den Apache Server und den MySQL Server neuzustarten. Doch wie gesagt, dies führte zu einer Verbesserung für gerade mal 3 Minuten. Bevor die Wait auch hier wieder über einen Wert von 60% ging.
Allgemein sollte man vielleicht wissen das Wait zumeist mit Festplatten zugriffen zusammenhängt, also ein Prozess würde zwar gerne etwas tun, muss jedoch auf die I/O warten.
Allgemein sollte man vielleicht wissen das Wait zumeist mit Festplatten zugriffen zusammenhängt, also ein Prozess würde zwar gerne etwas tun, muss jedoch auf die I/O warten.
Also, da Roundcube primär auf MySQL basiert, bzw diese Datenbank als Backend nutzt, fand sich hier auch ein besserer Lösungsansatz und zwar über das löschen/leeren einer Roundcube Tabelle in Mysql.
Hierzu betrachtet ich mir die Zugriffe in MySQL selbst und fand schnell heraus das Roundcube mittels einer Tabelle eine Art Cache simuliert.
Die Lösung und Vorgehensweise:
Hierzu betrachtet ich mir die Zugriffe in MySQL selbst und fand schnell heraus das Roundcube mittels einer Tabelle eine Art Cache simuliert.
Die Lösung und Vorgehensweise:
- mysql -p
Dann natürlich das login in die Datenbank als root mit Passwort.
- use roundcube;
- select count(*) from cache;
Dies brachte einen Wert jenseits von 160.000 zurück.
- truncate cache;
- quit;
Die führte dazu das es ziemlich genau 3 Monate sehr gut lief, bis der Speicher auch hier wieder voll war.
Abonnieren
Posts (Atom)