Friday, October 19, 2012

[SOLVED] Getting PostgreSQL 9.1.4 module for PHP-5.4.7 on Slackware 14

Slackware 14 by default carrying PHP-5.4.7 and running smooth well, BUT unfortunately it doesn't come with PostgreSQL, after searching for a while, i decided to install PostgreSQl from scratch.

PostgreSQL 9.1.4 :
SlackBuild : postgresql.tar.gz

Follow this step to compile and install PostgreSQL 9.1.4 on Slackware 14.0 :
1. cd /tmp
2. wget ftp://ftp.postgresql.org/pub/source/v9.1.4/postgresql-9.1.4.tar.bz2
3. Extract SlackBuild script tar -zxvf postgresql-9.1.4.tar.gz
4. Go to Extracted directory cd postgresql-9.1.4
5. Run this command sh postgresql.SlackBuild /tmp/postgresql-9.1.4.tar.bz2
6. After all finish, it will create /tmp/postgresql-9.1.4-i486-1_SBo.tgz
7. Install it using installpkg postgresql-9.1.4-i486-1_SBo.tgz
8. Run this command su postgres -c "initdb -D /var/lib/pgsql/data"
9. Then run this /etc/rc.d/rc.postgresql start
10. Done

Now, the hard part ^^, actually after you find solution, you will said...Hhhmmm just like that hah :D, because PHP-5.4.7 inside Slackware 14 is not compiled using --with=pgsql option, and because i don't want to touch anything about PHP that i'm already set all option and some configuration running smothly on PHP-5.4.7, and also because my server is used for production. the point is, i just want to add pgsql.so into php.ini. That's it, nothing more.

And here is the solution.

PHP-5.4.7 :
SlackBuild : php-pgsql.tar.gz ( I Know this script for PHP-5.4.6, just relax okay ^^ )

Follow my step please :
1. cd /tmp
2. wget http://www.php.net/distributions/php-5.4.7.tar.bz2
3. wget http://slackbuilds.org/slackbuilds/14.0/libraries/php-pgsql.tar.gz
4. Extract SlackBuild script tar -zxvf php-pgsql.tar.gz
5. Go to extracted directory cd php-pgsql
6. Then mcedit php-pgsql.SlackBuild, and change version to correct one (5.4.7)
7. mcedit php-pgsql.info and change, change version and MD5SUM too.
8. Then run php-pgsql.SlackBuild /tmp/php-pgsql.tar.gz
9. After finish, you should get /tmp/php-pgsql-5.4.7-i486-1_SBo.tgz
10. Installpkg /tmp/php-pgsql-5.4.7-i486-1_SBo.tgz
11. Enable pgsql module by editing mcedit /etc/php/pgsql.ini and enable extension=pgsql.so by removing ;
12. Done

Proved :
root@slackware:~/Desktop# php -m | grep pgsql
If everything okay, you will get pgsql as result.

My info.php


Saturday, October 06, 2012

Connect to Rsync Server on Windows 7 (64 Bit)

I have combined some simple tool for running Rsync server on Windows 7, i took them from various poppular project like Cygwin, CwRsync, and Instant WIndows Rsync Server from Winsupport, and to make my life simple i created some simple script and config file to running Rsync server.

Here my simple script to runnig Rsync server on Windows 7 :

@echo off
rem
rem Ask which drive is to be shared and create the rsyncd.conf file.
rem
cls
echo.
echo INSTANT RSYNC SERVER
echo.
echo.
echo * * * W A R N I N G * * *
echo.
echo No security is used on this rsync server. Anyone will be able to
echo connect to rsync share and copy files. Be sure to cancel the rsync
echo server when you are finished.
echo.
echo.
echo.Close this windows to stop Rsync Server !!!
echo.
rsync.exe --config rsyncd.conf --daemon --no-detach

And here is my rsyncd.conf

use chroot = false
strict modes = false
hosts allow = *
log file = rsyncd.log
# Module definitions
# Remember cygwin naming conventions : c:\work becomes /cygwin/c/work
#
[test]
path = /cygdrive/D/server
read only = false
transfer logging = yes

And save it as rsync.bat  and double click it to run rsync server. soon after double click it you will see the Dos Prompt window show up. Close that windows to stop rsync server.


Now it is time to check our new rsync server.

From windows command promt (Windows to Windows) :
rsync.exe 192.168.110.131::
The output should test


Now, i will try to transfer file to rsync server via rsync client on my windows :
rsync -avz /cygdrive/d/client 192.168.110.131::test/ 
Cygdrive/D mean Drive D, cygdrive/d/client mean D:\client 

And yes, my files transferred ^^.

From Linux Console (Linux to Windows) :

Testing connection to Rsync server on Windows and the result is test, it mean oke
Transfering file from linux to windows :
rsync -avz crontab-script/ 192.168.110.131::test/

As you can see, it worked too ^^

In Linux world you don't need type /cygdrive/x because cygwin want emulate linux environment on windows, that why it created some layer to accesses windows drive using /cygdrive/windows_drive.