Monthly Archives: February 2012

install memcached 1.4.13 on CentOS 6.2

- Make sure to check PHP-FPM and MYSQL posts.

- One of the dependencies of memcache is libevent, get latest version from libevent.org

mkdir libevent
cd libevent
wget https://github.com/downloads/libevent/libevent/libevent-2.0.17-stable.tar.gz
tar xfz libevent-2.0.17-stable.tar.gz
cd libevent-2.0.17-stable

- get latest version from memcached.org
Continue reading

Install PHP 5.3.10 with PHP-FPM on CentOS 6.2 64-bit

- Make sure to check Nginx, memcached and MYSQL posts.

- remove old version

#find installed packages
rpm -qa | grep php
#remove php packages
yum remove php php-devel php-cli php-pear php-common php-pdophp-xml php-gd

- download package from PHP.net

mkdir php
cd php
wget http://www.php.net/get/php-5.3.10.tar.bz2/from/us.php.net/mirror
tar jxf php-5.3.10.tar.bz2
cd php-5.3.10
 
#install PHP
./configure  \
	--with-zlib --with-curl --with-curlwrappers --enable-ftp --with-mysql --with-jpeg-dir --with-png-dir --with-gd --enable-gd-native-ttf --with-freetype-dir \
	--enable-zip --with-openssl --with-bz2 --enable-mbstring  \
	--enable-inline-optimization --disable-debug \
	--with-config-file-path=/etc \
	--enable-fpm --with-fpm-user=www --with-fpm-group=www --with-libdir=lib64;
make all install;
 
#add php-fpm service
cp  sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
chmod 666 /usr/local/var/run

- Configure php-fpm
Continue reading

Install MySQL 5.5.27 64-bit RPM on CentOS 6.2 x86_64

Check Installing CentOS 6.2 on VMware, Install PHP 5.3.10 with PHP-FPM on CentOS 6.2 64-bit, Install Nginx 1.0.12 for PHP-FPM on CentOS 6.2 and install memcached 1.4.13 on CentOS 6.2 posts.

- Remove old version

yum remove mysql mysql-devel mysql-server mysql-libs

- Download the needed packages from http://dev.mysql.com/downloads/mysql/#downloads
Download URL varies depending on download mirror

mkdir mysql
cd mysql
#MySQL-client-5.5.27-1.el6.x86_64.rpm
wget http://cdn.mysql.com/Downloads/MySQL-5.5/MySQL-client-5.5.27-1.el6.x86_64.rpm
#MySQL-shared-5.5.27-1.el6.x86_64.rpm
wget http://cdn.mysql.com/Downloads/MySQL-5.5/MySQL-shared-5.5.27-1.el6.x86_64.rpm
#MySQL-devel-5.5.27-1.el6.x86_64.rpm
wget http://cdn.mysql.com/Downloads/MySQL-5.5/MySQL-devel-5.5.27-1.el6.x86_64.rpm
#MySQL-server-5.5.27-1.el6.x86_64.rpm
wget http://cdn.mysql.com/Downloads/MySQL-5.5/MySQL-server-5.5.27-1.el6.x86_64.rpm
#MySQL-shared-compat-5.5.27-1.el6.x86_64.rpm
wget http://cdn.mysql.com/Downloads/MySQL-5.5/MySQL-shared-compat-5.5.27-1.el6.x86_64.rpm
 
#install
rpm -Uvh *
#create log dir
mkdir /var/log/mysql
chmod 777 /var/log/mysql
 
#start MySQL
/etc/init.d/mysql start
#add root password
/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h centos6.vmware.local password 'new-password'

- configure mysql more info

vi /etc/my.cnf

Continue reading

Adding new users and admins to Linux server

Check Installing CentOS 6.2 on VMware post.

Using admin user avoids common mistakes done when logging as root, instead use sudo to run root commands.

mkdir /server
 
#adding web-server user www
adduser www -d /server -s /sbin/nologin
 
#adding admins group to use instead of root
groupadd admins
visudo
#add
%admins ALL=(ALL)       NOPASSWD: ALL
 
#add new admin 
adduser admin -g admins
#set password
passwd admin
 
#add email for user admin
vi /etc/aliases
#add
admin: admin@example.com
#rebuild data
newaliases

Disabling unneeded services on CentOS

Check Installing CentOS 6.2 on VMware post.

More information about each service can be found here

chkconfig setroubleshoot --levels 345 off;service setroubleshoot stop
chkconfig portmap --levels 345 off;service portmap stop
chkconfig rpcidmapd --levels 345 off;service rpcidmapd stop
chkconfig restorecond --levels 345 off;service restorecond stop
chkconfig pcscd --levels 345 off;service pcscd stop
chkconfig nfslock --levels 345 off;service nfslock stop
chkconfig nfs --levels 345 off;service nfs stop
chkconfig netfs --levels 345 off;service netfs stop
chkconfig mdmonitor --levels 345 off;service mdmonitor stop
chkconfig hidd --levels 345 off;service hidd stop
chkconfig cpuspeed --levels 345 off;service cpuspeed stop
chkconfig cups --levels 345 off;service cups stop
chkconfig cpuspeed --levels 345 off;service cpuspeed stop
chkconfig apmd --levels 345 off;service apmd stop
chkconfig autofs --levels 345 off;service autofs stop
chkconfig atd --levels 345 off;service atd stop
chkconfig apf --levels 345 off;service apf stop
chkconfig yum-updatesd  --levels 345 off;service yum-updatesd  stop
 
#disable apache if not needed
chkconfig httpd  --levels 345 off;service httpd  stop

increase linux file descriptors

Check Installing CentOS 6.2 on VMware and mounting partitions with noatime posts.

This is very important performance tuning for any web server more information here

#adduser www first http://gadelkareem.com/2012/02/26/adding-new-users-and-admins-to-linux-server/
ulimit -n unlimited - www
#check default number of concurrently open file descriptors 
cat /proc/sys/fs/file-max
#set the number to high value depending on server config
echo '1773914' > /proc/sys/fs/file-max
echo 'fs.file-max=1773914' >> /etc/sysctl.conf
/sbin/sysctl -w fs.file-max=1773914

Continue reading