August22
If you want to block a range of IP addresses from accessing your CentOS server you can issue the following IPTables firewall command:
/sbin/iptables -I INPUT -m iprange --src-range 192.168.1.1-192.168.1.2.100 -j DROP
Replace “192.168.1.1-192.168.1.2.100″ with the IP range you want to block. This command only works with the IPTables firewall so if your operating system is using a different firewall then this command will not work.
Here is another example which uses CIDR notation to specify the IP range:
/sbin/iptables -I INPUT -s 192.168.1.1/25 -j DROP
If you restart your server, the drop command will be removed. If you want this command to persist through reboots, then you’ll need to add it to a startup script.

May2
After setting up a new Linux server I kept getting the following error whenever I tried to upload something with the VSFTPD ftp service:
500 OOPS: reading non-root config file
It turns out that I had the following setting in the /etc/vsftpd/vsftpd.conf file:
user_config_dir=/etc/vsftpd/virtual_users
I commented out that setting and restarted the vsftpd service and the problem went away. I then checked to make sure I had spelled the “user_config_dir” directory name correctly and it turns out that I had created the directory with the name “virtual_user” without the “s” at the end. So that error appears to be caused by the “user_config_dir” not being present or accessible to the VSFTPD service. If you get this error make sure the directory you specify for the “user_config_dir” exists and is accessible.

April3
Sometimes when I install CentOS it does not start up in “graphical mode” - that is it starts up directly at the command prompt rather than automatically starting up X Windows. You can configure CentOS to start up in whatever mode you want including graphical mode by editing the file /etc/inittab. To change the startup mode of CentOS open that file with a text editor.
# nano /etc/inittab
The file should look like the following:
# Default runlevel. The runlevels used by RHS are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
id:3:initdefault:
As you can see, the file gives you the number-to-mode mapping at the top. All you need you do is change the number in the last line listed above. So for me I needed to change the 3 to a 5:
id:5:initdefault:
So my final /etc/inittab file looked like the following:
# Default runlevel. The runlevels used by RHS are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
id:3:initdefault:
Reboot your computer and it should now start up in whatever mode you specified.

March17
Library files in CentOS 64 bit are stored in the directory /usr/lib64. But in normal 32 bit CentOS, library files are stored in /usr/lib so this causes a problem when trying to compile source code that looks for library files in /usr/lib. When using the default configure options for compiling PHP, the directory /usr/lib is searched for library files so if you have any 64 bit applications installed, their associated library files will not be found. For example, trying to compile PHP with the configure option:
--with-mysql=/usr
will result in the error:
/usr/bin/ld: cannot find -lmysqlclient
You can fix this MySQL error and other configure errors relating to library files not being found by adding the following option to the configure line:
--with-libdir=lib64
