Installing FFMPEG & FFMPEG-PHP from source

Installing FFMPEG & FFMPEG-PHP from source

This thing’s quite confusing me when i was trying to install FFMPEG and FFMPEG-PHP extension. You know it was always very easy if you’re install it from yum or rpm, but CentOS even EPEL doesn’t provide FFMPEG in their repository, so it is a bit bothering me if i had to use repository other than CentOS or EPEL, and that’s why i’m trying to install it from source. I was googling and found a lot of ‘how to’ about this, but they didn’t give a complete tutorial, also when there’s an error in dependency, i had to googling again until i found the solution. I had succeeded installing FFMPEG and FFMPEG-PHP extension both on 32bit / 64bit CentOS 5.6 and Ubuntu 10.10 Maverick, here’s the tutorial and the errors with solutions during the process of me installing FFMPEG.

I assume that your box is already installed with PHP, here as the example i’m using preinstalled NginX, MySQL, PHP from NginX Auto Installer without FFMPEG. First we’re going to install codecs and dependencies, after that FFMPEG and FFMPEG-PHP.

note:
Lib directory CentOS 32bit is /usr/lib
Lib directory CentOS 64bit is /usr/lib64
Lib directory Ubuntu 32bit and 64bit is /usr/lib64

YASM

wget http://pkgs.serversreview.net/files/yasm-1.1.0.tar.gz
tar -zxvf yasm-1.1.0.tar.gz
cd yasm-1.1.0
./configure --prefix=/usr --libdir=/usr/lib
make
make install

(more…)

{ 0 comments }

Ubuntu 10.04.2 Lucid With NginX – PHP – MySQL

Ubuntu 10.04.2 Lucid With NginX – PHP – MySQL

My friend told me about my NginX Auto Installer, too bad because it only support CentOS, he really want to use my auto installer if it supports Debian or Ubuntu. As i said before, i’ve never tried OS other than CentOS, so last night i tried to install NginX, PHP, and MySQL under Ubuntu 10.04.2 Lucid, guess what? It was confusing me, why can’t this OS just give a standard name for their modules and packages? For example, on CentOS if we want to install PAM and PAM devel, then we’re just type

yum install pam pam-devel

but on Ubuntu

apt-get install libpam0g-dev libpam-devperm

Why not creating the normal name like ‘pam’ for package name and ‘pam-devel’ for development package name? I had to do googling for almost of those packages which i wanted to install because they have a ‘not normal’ name. :p

Okay, enough with the preamble story, here’s the result of my experiment.

Box: Ubuntu 10.04.2 Lucid 64bit with 256MB RAM OpenVZ

First update Ubuntu repository list and update existing packages

apt-get update
apt-get upgrade

Install dependencies

apt-get install -y build-essential make automake patch bc netcat libgeoip1 libgeoip-dev fontconfig libfontconfig-dev libpam0g-dev libpam-devperm slapd ldap-utils libldap-2.4-2 libdb4.6 libxpm-dev libtool libaio-dev libltdl3-dev libmcrypt-dev libmhash-dev unixodbc unixodbc-dev zip unzip nano perl openssl libssl-dev libdevel-repl-perl libperl-dev libpcre3 libpcre3-dev libjpeg62 libjpeg62-dev libpng-dev libtiff4 libtiff-dev libfreetype6 libfreetype6-dev libgmp3-dev aspell libaspell-dev libpspell-dev libiconv-ruby mlocate libc-client2007e libc-client2007e-dev uw-imapd tidy libtidy-dev libbz2-dev libmysqlclient15-dev

Because i want to build NginX, PHP, and MySQL manually from source, also i will update a few dependencies for PHP, so now remove the following packages and also stop apache and bind processes.

apt-get remove apache2 php5 mysql-server gnupg curl libcurl3 libcurl-dev libidn11 libidn11-dev libxslt-dev
killall -9 apache2
killall -9 named

Install GD Library

wget http://pkgs.serversreview.net/files/gd-2.0.33.tar.gz
tar -zxvf gd-2.0.33.tar.gz
cd gd-2.0.33
./configure --prefix=/usr --libdir=/usr/lib --with-png=/usr/lib --with-freetype=/usr/lib --with-fontconfig=/usr/lib --with-jpeg=/usr/lib --with-xpm=/usr/lib
make
make install

(more…)

{ 0 comments }

Bash: Create Simple Server System Information

Bash: Create Simple Server System Information

A few days ago, at the time when i’m free and i have completed all of my jobs, i was walking around a few of web hosting provider’s websites to get reading. I found that most of them have the uptime statuses of their servers, and it is kind of exclaimed if we have something like that too, we can display our box status and we will always know our box system information without typing command one by one in ssh. So the idea is creating a simple bash script that will show some information like uptime, memory usage, disk usage, port status, etc., and export the statuses to txt or html file so we can we can see our box statuses with browser. It is good when we are not in home so we can check the statuses from phone, laptop, or computer somewhere. Okay, let’s get it on!

First we will check the box uptime status by using uptime command, and you will get the following result:

05:35:16 up 21:40,  1 user,  load average: 0.00, 0.00, 0.00

The informations shown above are server time, uptime, current user, and load average, but we only need uptime to be displayed right? So we’re going cut off another statuses and grab uptime only.

uptime | awk {'print $3'}

and we got:

21:40,

You can use that for displaying uptime status which means 21 hours and 40 minutes, but it’s not so good because there’s a comma character in the end of status right? If you wanna throw that comma character then we should display 5 characters before comma. (more…)

{ 0 comments }

Setting Nameserver Based For Domain

Setting Nameserver Based For Domain

Yesterday, i was looking for the way to configure nameserver in my vps, because ip based for domain name is not cool, especially if someone check my domain and it appears that my domain only using ip address or public dns, lol. Then i found out that if i want to use nameserver, i have to install and configure bind dns in my vps, so i installed bind dns and ji-o-gling about the configuration, configure this-that-here-there, and the result was failed!!! It doesn’t work hahaha… I really don’t know how to configure it, i’ve never installed and configure bind directly from source because usually i used control panel like cPanel or Direct Admin or Kloxo which has included nameserver setting. Amid confusion, i do forum-walking and found a topic about create nameserver, but they didn’t write about the tutorial, they only told that bind dns can be configured from webmin. Aha!!! I remember that there is nameserver configuration in webmin bind dns, let’s rock n roll!

Box: CentOS 5.5, 256MB memory, OpenVZ

First thing you have to do is registering your nameserver(s) in your domain registrar, usually one domain or website has two nameservers, create ns1.yourdomain.com and ns2.yourdomain.com and point both nameservers to your ip address(es)

Install Webmin using rpm

wget https://serversreview.net/pkgs/files/webmin-1.530-1.noarch.rpm
rpm -U webmin-1.530-1.noarch.rpm

Install Webmin using yum
create webmin repo for yum

nano /etc/yum.repos.d/webmin.repo

add the following lines

[Webmin]
name=Webmin Distribution Neutral
#baseurl=http://download.webmin.com/download/yum
mirrorlist=http://download.webmin.com/download/yum/mirrorlist
enabled=1

add Webmin GPG key and install Webmin

rpm --import http://www.webmin.com/jcameron-key.asc
yum install webmin

(more…)

{ 0 comments }

Managed or Unmanaged?

Managed or Unmanaged?

For people who are playing around in the virtual private or dedicated server world, the words “managed” and “unmanaged” must be very familiar. Yes it is the add-on service from web hosting provider especially for virtual and dedicated. In my opinion which i learned from purchasing a few virtual private server both managed and unmanaged recently, i can explain that managed service is the provider will take care all of your server management such as basic server related installation, modules, and security hardening. Managed service also includes updates, patches, and monitoring. Those are basic service that has to be provided from managed service. Furthermore, besides basic services, some provider also include 3rd party software installation and consultation for customer’s own software issue.

Now we are going to talk about the price. Managed service’s price ranged from $15 to infinite (i don’t know how much is the highest cost for managed service). There are providers which include managed service within their packages and also separated or add-on service if we purchase their virtual private or dedicated server. Here is the funny part, there are providers who have two kinds of package, for example: the smallest unmanaged package which costs $10 and managed plus free WHM/cPanel for $25. One day i asked one of them whether i can purchase the WHM/cPanel managed package without managed service to reduce the cost, and they said they cannot do that. I wonder why do they not allowed me to purchase with option like that, so i asked another provider who has two kind of packages alike, and the provider said that yes i can, but it will costs $22. Wow, if we calculate that, managed service only costs $3, that is very cheap. I don’t know whether it was very cheap or just a marketing strategy to pull in more customer with the words “Free WHM/cPanel”, because so far i know WHM/cPanel retail price for virtual private server is $15 and $25 for dedicated server, lol. So the conclusion is they don’t include WHM/cPanel for free in the package, but yes managed service is free, because they have to pay for WHM/cPanel license while on the other side managed service can be done by their own human resouce without responsibility to pay for self resource license – i don’t even know whether if it is exist or not -.

Moreover about managed service, it is very different from premium service, there are lots of provider misguided in the implementation.

“You are just paying five bucks for this vps, what can you expect? Fast speed? Good uptime? Great performance? Quick support response?”

That statement are totally not smart. We are paying five bucks for the service you advertised. Blahblahblah space, blahblah data transfer, and blahblahblah port speed, so we deserve to get those blahblahblah. If you advertised blahblahblah without the features like “We don’t guarantee the performance, we don’t guarantee for the uptime, we don’t guarantee for the support”, so please do not saying something like the quote above. The package should be only divided by server spec like space, data transfer, port speed, or another technical specification, not bad quality server or thousand years support response. Customer support for managed and unmanaged service only distinguished by the question level. Basic questions or requests like billing, service issues, add-on services, or general questions like that has to be answered with good response time, unless if the questions or requests are about install or update the server, that is managed service and the provider has the right not to answer or offering the customer to upgrade to the managed package. But if the illustration above is really happened, that should be exist between ordinary package and premium package with faster support response privilege. Remember, managed and premium is two different word with two different meaning.

So which one will you choose? Managed is good for someone who doesn’t really experienced with server but have an important purpose of the server, so it will be comparable with the extra money for managed service. Anyway how do we know how to choose the good managed service provider? I only have one answer, keep trying until you got the best one for you, don’t believe anyone until you experienced yourself.

{ 0 comments }

This is what happened between Apache, Nginx, and LiteSpeed Free Edition

This is what happened between Apache, Nginx, and LiteSpeed Free Edition

Few weeks ago i rent one box VPS to test resource usage from three different webservers without any tweaks, it is just basic installation with PHP and MySQL. This three webservers are Apache, Nginx, and LiteSpeed Free Edition. I’m using wordpress basic installation (without any plugins) plus one 404KB image and load it with 50 visitors maximum simultaneously. This VPS has 256MB memory (512MB burst) and using CentOS 5.5 32bit with OpenVZ virtualization. Allright here are the results.

Apache

Apache Load Time

Apache Resouce Usage (more…)

{ 0 comments }

Latest Stable Version Nginx 0.8.54 with PHP 5.3.5

Latest Stable Version Nginx 0.8.54 with PHP 5.3.5

This is the improvement of my previous Nginx version 0.8.53 with PHP 5.3.5 installation, and also this time i’m not using php-fpm to run fastcgi, i’m using php-cli command to run fastcgi, and the result is memory usage decreased about 50MB. So let’s get it on!

VPS: CentOS 5.5 32bit with 256MB RAM XEN

Add EPEL and REMI repository, also update YUM (we will use REMI reposity for PHP 5.3.5)
EPEL 32bit

rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm

EPEL 64bit

rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm

REMI

rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
yum -y update

Install Nginx

yum -y install GeoIP GeoIP-devel GeoIP-data perl libperl

32bit

rpm -Uvh http://centos.alt.ru/repository/centos/5/i386/nginx-stable-0.8.54-1.el5.i386.rpm

64bit

rpm -Uvh http://centos.alt.ru/repository/centos/5/x86_64/nginx-stable-0.8.54-1.el5.x86_64.rpm

start Nginx and add to init

/etc/init.d/nginx start
chkconfig --add nginx
chkconfig nginx on

Configure Nginx virtual host
As usual i prefer separate Nginx vhost for each domain so it will be easier to manage, and “/home” directory for domain root so it will ease you to synchronize domain root with ftp user root

create your domain root

mkdir -p /home/domain/public_html
mkdir -p /home/domain/logs

create two directory for domain vhost

mkdir /etc/nginx/sites-available
mkdir /etc/nginx/sites-enabled

edit Nginx configuration (more…)

{ 0 comments }