Jan 23

How to update Mplayer From SVN on OpenSuse

Opensuse Comments Off on How to update Mplayer From SVN on OpenSuse

How to update Mplayer From SVN

What is Mplayer ?

A movie and animation player that supports a wide range or codecs and file formats, including MPEG 1/2/4, DivX 3/4/5, Windows Media 7/8/9, RealAudio/Video up to 9, Quicktime 5/6, and Vivo 1/2

I assume you have installed Mplayer on your Linux before, if not you may go to here http://weijoewang.blogspot.com/2009/01/how-to-install-mplayer-and-browser-plug.html

– Check mplayer version
# /usr/local/bin/mplayer –help

MPlayer SVN-r29387-4.3 (C) 2000-2009 MPlayer Team

– Trying to update mplayer from svn
# locate mplayer
#cd /home/install/mplayer/

– Uninstall the previous Mplayer
#  make uninstall

– Update the SVN
#svn update

– Rename the old MPlayer installation folder and download the new Mplayer
# mv /home/install/mplayer/ /home/install/mplayer_old
# cd /home/install/
# svn checkout svn://svn.mplayerhq.hu/mplayer/trunk mplayer
# cd /home/install/mplayer/

– Configure and install MPlayer
# ./configure
# make
# make install

– Checked the new MPlayer version
#/usr/local/bin/mplayer –help
MPlayer SVN-r30404-4.3 (C) 2000-2009 MPlayer Team

And it’s updated 🙂

Aug 17

How to install PHP-fpm + Nginx on openSUSE 11.0

nginx, Opensuse Comments Off on How to install PHP-fpm + Nginx on openSUSE 11.0

What is Nginx ?

nginx (pronounced as “engine X”) is a lightweight, high performance web server/reverse proxy and e-mail (IMAP/POP3) proxy, licensed under a BSD-like license.

What is PHP-FPM ?

PHP-FPM is a patch for PHP4/5 to greatly improve PHP’s FastCGI SAPI capabilities and administration. This means that you don’t install php through your distribution’s package manager, but rather download the package from the PHP-website, and the patch from another site. You patch up the sourcecode, compile things, and get it started.

The following is a comparison chart of problems and how php-fpm handles them, when enabled with the FastCGI SAPI:

Description php “out of the box” spawn-fcgi + spawn-php.sh + daemontools php-fpm
php daemonization: pid file, log file, setsid(), setuid(), setgid(), chroot() (-) (+) (+)
Process Management. Ability to “graceful” stop and start php workers without losing any queries. The possibility of gradually update the configuration and binary without losing any queries. php4 (-), php5 (only graceful completion) (-) (+)
Restricting ip addresses from which requests can come from a web server php4 (-), php5 (+) (from 5.2.2) (-) (+)
Dynamic number of processes, depending on the load (-) (-) TODO
Starting the workers with different uid/gid/chroot/environment and different php.ini option. You do not need a safe mode! (-) (-) (+)
Logging stdout & stderr business processes (-) (-) (+)
Emergency restart all the processes in the event of accidental destruction of shared memory opcode cache, if used accelerator (-) (-) (+)
Forcing the completion of process if set_time_limit() fails (-) (-) (+)


1. Install some dependecies first
# yast2 –install gcc libjpeg-devel libpng-devel libmcrypt libmcrypt-devel pcre pcre-devel libcurl-devel  libmysqlclient-devel mysql make wget vim

2. We need to get PHP-sourcecode and php-fpm patch, in this tutorial i use php-5.2.10 and php-5.2.10-fpm-0.5.13
# wget http://id.php.net/get/php-5.2.10.tar.bz2/from/us.php.net/mirror
# wget http://php-fpm.org/downloads/php-5.2.10-fpm-0.5.13.diff.gz

3. Extract and run the patch
# tar xvf php-5.2.10.tar.bz2
# gzip -cd php-5.2.10-fpm-0.5.13.diff.gz | patch -d php-5.2.10 -p1

4. Configure and compile  php-5.2.10 and php-5.2.10-fpm-0.5.13 patch

# cd php-5.2.10
#  ./configure –enable-fastcgi –enable-fpm –with-mcrypt –enable-mbstring –enable-mysql –with-mysql=/usr/include/mysql –with-mysql-sock=/var/lib/mysql/mysql.sock –with-curl –with-sockets –with-gd –with-zlib –with-iconv –with-dom –with-jpeg-dir=/usr/lib
#  make
#  make install

5. Installing Init Script for PHP-FPM
# cd /etc/init.d/
# ln -s /usr/local/sbin/php-fpm php-fpm

now make the nginx start on boot

# chkconfig –add php-fpm
# chkconfig –level 345 php-fpm on

6. Installing and configure nginx, when i write this tutorial the latest stable versions are nginx-0.7.61 you can go to http://nginx.net/ for latest nginx sourcode
#  wget http://sysoev.ru/nginx/nginx-0.7.61.tar.gz
#  tar xvf http://sysoev.ru/nginx/nginx-0.7.61.tar.gz
#  cd nginx-0.7.61
#  ./configure –pid-path=/usr/local/nginx/logs/nginx.pid –sbin-path=/usr/local/sbin/nginx –with-md5=/usr/lib –with-sha1=/usr/lib –with-http_ssl_module –with-http_dav_module –without-mail_pop3_module –without-mail_imap_module –without-mail_smtp_module

you should see this on the end of configuration

nginx path prefix: “/usr/local/nginx”
nginx binary file: “/usr/local/sbin/nginx”
nginx configuration prefix: “/usr/local/nginx/conf”
nginx configuration file: “/usr/local/nginx/conf/nginx.conf”
nginx pid file: “/usr/local/nginx/logs/nginx.pid”
nginx error log file: “/usr/local/nginx/logs/error.log”
nginx http access log file: “/usr/local/nginx/logs/access.log”
nginx http client request body temporary files: “client_body_temp”
nginx http proxy temporary files: “proxy_temp”
nginx http fastcgi temporary files: “fastcgi_temp”

# make
# make install

now make the nginx start on boot

# chkconfig –add nginx
# chkconfig –level 345 nginx on

7. Installing Nginx Daemon for openSUSE 11.0, you can copy paste this script to your /etc/init.d/nginx

# vim /etc/init.d/nginx

#! /bin/sh


test -x $DAEMON || exit 0

set -e

case “$1” in
echo -n “Starting $DESC: ”
start-stop-daemon –start –quiet –pidfile $PIDFILE \
–exec $DAEMON
echo ” started”
echo -n “Stopping $DESC: ”
if [ -f $PIDFILE ]; then
kill -15 `cat $PIDFILE 2>/dev/null`
echo ” stopped”
echo -n “Restarting $DESC: ”
if [ -f $PIDFILE ]; then
kill -15 `cat $PIDFILE 2>/dev/null`
sleep 1
start-stop-daemon –start –quiet –pidfile $PIDFILE \
–exec $DAEMON
echo ” restarted”
echo “Status $DESC: ”
ps aux | grep -v grep | grep -v /bin/sh | grep $NAME
echo “Usage: $N {start|stop|status|restart}” >&2
exit 1

exit 0

8.  Nginx  configuration

– Go to nginx.conf on /usr/local/nginx/conf/nginx.conf and  remove the #

user  nobody;

– Go to/usr/local/etc/php-fpm.conf

# vi /usr/local/etc/php-fpm.conf

Find these two lines. Remove the Comments (arrows)

<!–  <value name=”user”>nobody</value>         –>
<!–  <value name=”group”>nobody</value>      –>

If you don’t do this, starting php-fpm will show this error.

fpm_unix_conf_wp(), line 124: please specify user and group othe

– Go to nginx configuration file: “/usr/local/nginx/conf/nginx.conf” , and add the php configuration

location ~ \.php$ {
root /usr/share/nginx/html; # itmena the root of the coument are located on /usr/share/nginx/html
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;
include fastcgi_params;

to make index.php to be your web default page add index.php on

location / {
root /usr/share/nginx/html;
index index.php index.html index.htm;

– Go to /usr/share/nginx/html and create php files

# mkdir -p /usr/share/nginx/html
# vi index.php
<?php  phpinfo();  ?>

9. Start the nginx and php-fpm
# /etc/init.d/php-fpm start

# /etc/init.d/nginx start

10. You should go to your domain http://localhost/index.php or server address and see the phpinfo