ZEND Certified Engineer

I’m pleased to tell, that today I passed the ZEND PHP Certification test and from now on I am a ZEND Certified Engineer.
Technorati Tags: ZEND, PHP Certification, ZEND Certified Engineer

I’m pleased to tell, that today I passed the ZEND PHP Certification test and from now on I am a ZEND Certified Engineer.
Technorati Tags: ZEND, PHP Certification, ZEND Certified Engineer
I have just lost second laptop hard drive in last month. Both had about 4 years, both in Compaq laptops. Coincidence?
Funny thing – we did backups yesterday…
Standard way how Debian is logging things always made me crazy. Why the hell this daemon is logging everything 5 times? Why do I have to see mail logs in syslog file? Anyway, I started to look for some better solution and at one point I came on article describing installation and configuration if the standard syslogd replacement: syslog-ng. I decided to give it a try.
As the whole process is almost trivial I’ll put here only couple info
The file is under /etc/syslog-ng/syslog-ng.conf
#
# Configuration file for syslog-ng under Debian
## the standard syslog levels are (in descending order of priority):
# emerg alert crit err warning notice info debug
# the aliases “error”, “panic”, and “warn” are deprecated
# the “none” priority found in the original syslogd configuration is
# only used in internal messages created by syslogd######
# optionsoptions {
chain_hostnames(0);
time_reopen(10);
time_reap(360);
sync(5);
log_fifo_size(2048);
create_dirs(yes);
owner(root);
group(root);
perm(0640);
#dir_owner(root);
#dir_group(root);
dir_perm(0755);
use_dns(no);
#log_msg_size(2048);
stats_freq(0);
};######
# sourcessource int { internal(); };
source main { unix-stream(“/dev/log”); };
source kernel { file(“/proc/kmsg” log_prefix(“kernel: “)); };######
# destinationsdestination mail { file(“/var/log/mail.log”); };
destination kernel { file(“/var/log/kernel.log”); };
destination messages { file(“/var/log/messages”); };
destination sshd { file(“/var/log/ssh.log”); };######
# filters
filter mail { facility(mail); };
filter sshd { program(“ssh”); };######
# logs
# order matters if you use “flags(final);” to mark the end of processing in a
# “log” statement# these rules provide the same behavior as the commented original syslogd rules
log { source(kernel); destination(kernel); };
log { source(main); filter(sshd); destination(sshd); flags(final); };
log { source(main); filter(mail); destination(mail); flags(final); };
log { source(main); source(int); destination(messages); };
Little explanation:
As you may noticed as an output we have 4 files. I personally preferr to save them for a little longer. So my logrotate file for syslog looks like:
/var/log/ssh.log {
rotate 52
weekly
missingok
notifempty
compress
}/var/log/kernel.log {
rotate 52
weekly
missingok
notifempty
compress
}/var/log/mail.log {
rotate 52
weekly
missingok
notifempty
compress
}/var/log/messages {
rotate 52
weekly
missingok
notifempty
compress
postrotate
/etc/init.d/syslog-ng reload >/dev/null
endscript
}
Please notice the postrotate part at the end of the file. It forces syslog-ng to writo to the new files.
Why would we need to have nicely divided logs without automated monitoring – here comes the logcheck. Here the only worth to mention change is a list of monitored files:
comp# cat /etc/logcheck/logcheck.logfiles
# these files will be checked by logcheck
# This has been tuned towards a default syslog install
/var/log/mesages
/var/log/kernel.log
/var/log/ssh.log
/var/log/mail.log
/var/log/auth.log
Don’t forget to teach your antispam filter to accept logcheck’s reports!
I’m writing this post after recently having some problems with Indian programmers hired by my client to be my coworkers. My filings were so bad that I started to ask my Indian friends what do they think about their countrymen. Things I have heard made my hair gray instantly. Here are two examples what you can expect.
Sandhya (one of my Indian friends) said that about 70% of Indian programmers put a lot of fake experience in their resumes. So when you came to the point of reviewing ones:
So you think you are smart, because you called him and from what he told he it looks like he is a good programmer? Are you sure that you were talking with the person you want to hire?
And finally remember the golden rule:
Technorati Tags: Indian programmers, bad, Fake
As I said before – I can’t imagine working without Zend Studio now. So I decided to install server part of the package on one of my Debian powered servers.
So here we go. First we have to download correct package. As you can see on Zend’s site you have wide choice of versions:
-r– 1 25335043 Jan 15 17:20 ZendStudioServer-5.1.0a-Windows-i386.exe
-r– 1 23302044 Jan 15 17:21 ZendStudioServer-5.1.0a-darwin7.8-ppc.tar.gz
-r– 1 21371695 Jan 15 17:23 ZendStudioServer-5.1.0a-freebsd5.4-i386.tar.gz
-r– 1 22451335 Jan 15 17:21 ZendStudioServer-5.1.0a-linux-glibc21-i386.tar.gz
-r– 1 24682987 Jan 15 17:21 ZendStudioServer-5.1.0a-linux-glibc23-x86_64.tar.gz
-r– 1 23703327 Jan 15 17:21 ZendStudioServer-5.1.0a-sunos5.8-sparc.tar.gz
So I downloaded one
comp# wget -c http://downloads…..-glibc21-i386.tar.gz
and then as the README file says
comp# cd ZendStudioServer-5.1.0a-linux-glibc21-i386
comp# ./install-tty
All ther rest of the process was quick and easy with one note: when the instalator was looking for a php.ini fond one in /usr/lib directory.
Trying to determine the version of PHP.
Please wait… (this may take a few seconds)Detecting … \ [100%]
Confirm the location of your php.ini file [/usr/local/lib]: /etc/php5/apache
So remember to make sure which php.ini is your Apache using and ajust that path accordingly. If you are not sure – call the phpinfo() function on any of your sites and check. It can save your day :-)
Technorati Tags: Zend Studio, Debian, linux