Saturday, December 4, 2010

Fedora Core 1X Mirror Server


Its been quite a while when Fedora Team had release a new OS/platform-version 14.Yet, some of the configuration for "yum" installations issues can not be resolved and the caused is the incorrect path of its mirrors and base url-(servers).And if it's left unconfigured then it seemed that you have not installed OS-useless!

So upon stumbled on this site,I now resolve this problem ever-hopefully.

The recently released Fedora 14 Leonidas has some issues with it’s regular update process. Many users are getting a strange error which complains about the inability of the update system to retrieve the repository metadata, namely repomd.xml. You can see the error as attached in this inlet below:


1)To resolve this errors

Error: Cannot retrieve repository metadata (repomd.xml) for repository: fedora. Please verify its path and try again


When we tried to install Fedora 14 for the first time, we also faced a similar problem. A quick twitter search brought us to a conclusion that we were not alone. But a little tweaking of a few system files brought us back on track. In this article we tell you, how to go about resolving the problem in case you face it too.


  • You need to edit two of your repository files: /etc/yum.repos.d/fedora.repo and /etc/yum.repos.d/fedora-updates.repo. Now un-comment all the lines that start with the term baseurl and place a comment before all lines that start with mirrorlist. This should be done for both the above files.
  • Now edit your /etc/hosts file and append the following to it’s contents:

The other solution if "respomd.xml errror" still occur , try to browse the fedora mirror site then you will be redirected to your nearest countries mirror site and used it as your new " baseurl" in /etc/yum.repos.d/fedora.repo and /etc/yum.repos.d/fedora-updates.repo.



0) Please note that specified port(port :number 80/8080) must be open to at your http_proxy or ftp_proxy , else error pycurl 6/error # 14 will occur again and again.

root@localhost# export http_proxy=http://10.36.129.X:8080

1)Now try updating your system or installing any software via Yum. You will see, the error is now resolved and the error message is not shown anymore.

2) and please try this command if there is a failure and trying to find other mirror/s.

Package does not match intended download. Suggestion: run yum --enablerepo=updates clean metadata
root@localhost# yum --enablerepo=fedora clean metadata

The same procedure is also working with Fedora15


This problem has now been resolved by the Fedora Community. But you may still not be able to download the updates properly from the mirrors due to the busy network and rush.

Thursday, November 4, 2010

WiFIAdmin (Wireless Gateway)


Wireless connections? we got it! WifiAdmin is an open-source software for wireless access monitoring and administrations.It was developed by a group of students from the patrasch university in Greece.This software has gained a wide attentions to the community who are fanatic to the development of radius and captive portal.

WifiAdmin has the following installation script
0.language selection
1.configuration file creation
2.Database Creation
3.Routers Registration

Basically the software was coded in "php" and used some of its graphics libraries.
Now, you may have the chance to evaluate this software -

To set-up a wireless access control server
To authenticate wireless users
To monitor wireless users' identities

Any CPUs : Intel,MAC ,AMD


1)Choose to download WifiAdmin in this site:
2) Follow this configurations & installations- WEB SERVER with PHP ( I used Ubunto here)

for apache
bopher# sudo apt-get install apache2
bopher# sudo /etc/init.d/apache2 restart

for php version 5
bopher# sudo apt-get install php5
bopher# sudo apt-get install libapache2-mod-php5 (optional)

for mysql
bopher# sudo apt-get install mysql-server
bopher# sudo apt-get install php5-mysql

create database in mysql
bopher# mysqladmin -u user -p dbname
bopher# mysql -u user -p dbname < style="color: rgb(153, 102, 51);">
for WifiAdmin
bopher# tar -zxvf WifiAdmin-version.tar.gz (the latest release)

bopher# cd /WifiAdmin-version
bopher# mv /WifiAdmin-version /var/www/wifi (apache web directory)

open your browser to http://localhost/wifi/ and see the detail's photos

3) Follow the specified network diagram
4) Have a simple server to client wireless connections testing
5) Monitor and control the user's access





Simple and direct web installation,try it for yourself bro!

No cost , robust , and easy to configure wifi admin server.

Wednesday, October 13, 2010

OSX Accounts(Add user/s & group)

Recently , my task is to migrate eprints in MAC Xserve and it was running in OSX platform.I thought there would be no painstaking hardwork that I woud be experiencing-I was wrong.Though OSX is inheritance of UNIX , there were additional functions for MAC which UNIX had not or nevertheless unsupported.Some were : the CLI command , installer , and additional file folder exclusively for MAC ony.Yet, everything seemed ported well, except a more funnier thing was the adding of user and group account for eprints.And you know why? It wasn't just as easy as "useradd" or "groupadd" but a more little deeper config just to have a new user /group accont in OSX- I am telling you.
Adding a user is something easily accomplished using the built in GUI tools that ship with OS X, however any power user can appreciate the possible efficiency gained from using the command line. So in the spirit of efficiency here are the steps necessary to add a user to your Mac OS X system all with our good friend, commands need to be run as either the root user or with the “sudo” command. For more information on the sudo command see the sudo man page.

1) To have a procedure in adding accounts in OSX-MAX CLI
2) To have a procedure in adding accounts in OSX-GUI menu.

Any computer with running OSX operating sytem ofcourse -Apple bro...
And please visit this site

Copy and Modiy the MAC main tutorial

CLI Mode (shell command)
Create a new entry in the local (/) domain under the category /users.
dscl / -create /Users/eprints

Create and set the shell property to bash.
dscl / -create /Users/eprints UserShell /bin/bash

Create and set the user’s full name.
dscl / -create /Users/eprints RealName "UP Digital Repository"

Create and set the user’s ID.
dscl / -create /Users/eprints UniqueID 503

Create and set the user’s group ID property.
dscl / -create /Users/eprints PrimaryGroupID 1000

Create and set the user home directory.
dscl / -create /Users/eprints NFSHomeDirectory /Local/Users/eprints

Set the password.
dscl / -passwd /Users/eprints eprints1234
passwd eprints

If you would like UP Digital Repository to be able to perform administrative functions:
dscl / -append /Groups/admin GroupMembership eprints

Another CLI Mode
Create the group

Find out the next gid. If there’s not one higher than 501 use 501, otherwise add one to the greatest number in this list: nidump group . This will also do it and just return the highest currently used number nidump group . cut -d: -f3 sort -n tail -n 1

sudo nicl . -create /groups/mygroup

sudo nicl . -create /groups/mygroup grouppassword \*

sudo nicl . -create /groups/mygroup gid 508
Append users

sudo nicl . -append /groups/mygroup users rod

sudo nicl . -append /groups/mygroup users jane

sudo nicl . -append /groups/mygroup users freddy

repeat to fade
Change owner of a folder and all sub folders, files

sudo chown -vR :mygroup ~/myfolder

sudo chmod -R 775 ~/myfolder

Logout and back in again to get your credentials with the new group in it up-to-date.
Job done.

In GUI Mode (gui command)
You can create individual user accounts for each person who uses your computer. Each new user has a separate home folder and can adjust his or her own preferences without affecting other users.

Choose Apple menu > System Preferences and click Accounts.

If some settings are dimmed, click the lock icon and type an administrator name and password.
Click Add (+) and type the user's name.

If you don't want to use the short name generated automatically, type a new short name. (Once the account is created, you won't be able to change the short name.)

Type the user's password in the Password and Verify boxes.

Type a hint to help the user remember the password if they have trouble remembering it at login.

Click Parental Controls and select options to determine what the user can do with the computer.

If you change your mind while you're creating a new user account, click Delete (-) to cancel.

It is quite cool simple thing but if left unresolved will be an enchant disaster.

It is done

Tuesday, August 3, 2010

Decapod for RoBook Scanner


So far I am having a hardly thoughts on how I could clearly grasped designing stereo camera to capture imagery ;perhaps, via software or driver .Although the allotted span of time would take only just for (one) 1 semester. Apparently ,I have had this topic on the other part of my web blog that deal solely to "RoBook Scanner" and I knew that the topic would be too lengthy if I would not include or separated Decapod discussions here.

Decapod is an Opensource project ,it is a software tools used in a book scanning and was sponsored by Andrew W. Mellon Foundation ; the project is being maintained by volunteers and dedicated people around the globe-kudos to them! Imagine how much is the cost of a commercial book scanning software? oh huge price. Anyway ,never mind because Decapod is free to everybody who aspire the best of its suited applications . Recently,I have included this project in my techno-blog because I considered it as one of the best freeware you can ever have for free .It is a combination of a different software programs which were intended and incorporated for book digitization.; and to mention those share & freewares: gPhoto, OCROpus, Image editing/cropping , kPDF and the server hosting too.

So am beleiving this was really a real open source community project -indeed.

I want to share here the steps in installing Decapod in Fedora version #13(the most recent release?) and Ubunto version 10.04 .I will try to test steps and find out if it would really give me a lucky try.

The last things to say is to get it done(OK here we go!)

2 Cameras (Canon G10 or the latest series)
Tripod or camera handler
Lamp variable lights ( to pre-scale ,shutter or luminance)

Ubunto 10.04
FireFox web browser latest release

To Install Decapod and its modules
To setup decapod server
To stereo capture image using two cameras

Install tools and libraries
Download Decapod release version (0.4)
Run install script
Test decapod server
Test stereo camera capture


1)hg clone decapod-0.4
2) wget

Install the script
cd decapod-0.4/install-scripts/
sudo ./decapod-all
Run the server with cameras
cd decapod-server/
python ./
Run the server with no cameras
cd decapod-server/
python ./ --no-cameras

Here are the details for Book Scanning using Decapod-0.4

Detail(1) Running the Decapod Server successfully

2) Decapod server CLI activity status

Detail(3) The front end GUI of the Decapod server

Detail(4) Testing the Camera (stereo capture)

Detail(5)Calibrations before capturing

Detail(6) Image calibrations L-R pages

Detail(7)python --no-cameras

Detail(8)Decapod exporting files process (PDF)

Decapod on exporting image to PDF

Detail(10) Decapod Generating pdf

Detail(11) A lot more to bind and scans (thanks for a Decapod community!)

First you need to install all the libraries and tools.You will have the options to have an automatic install script ;or download it and have a manual installations.
There is an active cli while running a Decapod server(opening it using Firefox -http://localhost:8080

Cool as ice book scanning

Friday, July 9, 2010

Simple NAT Server


Hello folks, nice jotting again; I don't know if I would include this article until I needed it applications.How can I put external IP address with in my LAN so I must also have a local address.Simple NAT configurations will solve my problem with a little ease. It is because I am going to setup a live Asterisk VoIP Server one public and another one internal/private address.Public IP for WAN and Private address for my clients to get connected in the server.

A simple Network Address Translation will be doing the tweaking after I prepared a twon NIC (Ehternet) machine ofcourse running in CentOS -(common OS for Asterisk Telephony). I have encountered some issues with SIP to NAT but it can be done easy in SIP trunking configurations, and besides that IAX are much better in avoiding this NAT traversal configuration .

SO , I hope that there will be another applications yuo can use with NAT servering.


To use NAT in Asterisk WAN to LAN IP addressing
To be able to configure NAT traversal in some VoIP protocols (IAX,SIP,H323)
To learn NAT howto (NAT servering)

In doing this VoIP over NAT, we need to have Unix/Linux like OS that has a nat package in its kernel .We may also try to intall its software update if there is none in the OS software package-there are plenty files/program available for free download on the net.

Anyway,here is how to setup NAT with Linux and iptables; and I'll be mentioning a step-by-step tutorial to configure Network Address Translation (NAT) with Open Source Linux operating system and iptables. This will allow your system to act as gateway and to provide Internet access to multiple hosts in Local Area Network (LAN) using a single public IP address.


1. Hardware server with 2 (two) network interface cards (NICs).
2. Any Linux distribution (get more information at
3. Linux kernel with networking and iptables support.
4. iptables package (you can find latest release at NetFilter's Download page).

Basic definitions

aa.aa.aa.aa is Wide Area Network (WAN) IP address ( is WAN netmask). is LAN IP address (e.g. or, dd.dd.dd.dd is LAN netmask (e.g. is default gateway for Internet connection.

eth0 is hardware name of the NIC connected to WAN base.
eth1 is name of LAN connected NIC.

Step-by-step set up

1. Apply two NICs to hardware server.
2. Verify that both NICs are recognized by Linux well and are fully workable:
# dmesg | grep eth0
# dmesg | grep eth1

the output may vary but in most cases it would be like following one:
eth1: RealTek RTL8139 at 0xe0830000, 00:30:4f:3b:af:45, IRQ 19
eth1: Identified 8139 chip type 'RTL-8100B/8139D'
eth0: link up, 100Mbps, full-duplex, lpa 0x41E1

Similar output should be for eth0 NIC.

To verify that NICs are recognized by Linux as networking devices use the following commands:
# ifconfig eth0
# ifconfig eth1

In case of success the output will be as follows:

# eth0 Link encap:Ethernet HWaddr 00:50:56:C0:00:08
inet6 addr: fe80::250:56ff:fec0:8/64 Scope:Link
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:41 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

You can find full manual page for ifconfig command here.

3. Configure WAN interface (eth0) to get Internet connection:
ifconfig eth0 aa.aa.aa.aa netmask

# ifconfig eth0 netmask

WAN IP address and netmask should be provided by your ISP.

4. Set up WAN NIC settings to apply after server start up.
Configuration files containing NIC settings may have different syntax and location in various distributions. For such distributions as RedHat, Fedora, Centos and similar ones eth0 configuration file is at /etc/sysconfig/network-scripts/ifcfg-eth0. In Debian, Ubuntu NIC settings are located at single file /etc/network/interfaces.

To edit configuration files use any preferred text editor like vim, GNU nano or any other.

After editing /etc/sysconfig/network-scripts/ifcfg-eth0 should look as follows:

IPADDR=aa.aa.aa.aa # e.g. # e.g. # e.g.
HWADDR=00:30:4f:3b:af:45 # MAC address (optional entry)

After making changes to /etc/network/interfaces section regarding eth0 NIC should looks like:

auto eth0
iface eth0 inet static
address aa.aa.aa.aa

Related links: detailed syntax description of /etc/sysconfig/network-scripts/ifcfg-ethN, manual page of /etc/network/interfaces.

5. Set up LAN NIC settings to apply after server start up. This step requires operations similar to previous step.

Edit /etc/sysconfig/network-scripts/ifcfg-eth1 and make sure that it looks like:

BOOTPROTO=static # e.g.
NETMASK=dd.dd.dd.dd # e.g.
HWADDR=00:50:8d:d1:24:db # MAC address of LAN NIC (optional entry)

If you are using Debian or related Linux distribution, edit /etc/network/interfaces (see previous step):

auto eth1
iface eth1 inet static
netmask dd.dd.dd.dd

6. Set up Domain Name System servers IP addresses by editing /etc/resolv.conf:


7. Enable IP Forwarding:

# echo 1 > /proc/sys/net/ipv4/ip_forward

8. Set up NAT with iptables:

To delete existing rules from every iptables table, execute the following commands:

#iptables -F
#iptables -t nat -F
#iptables -t mangle -F

Related links: official iptables documentation.

Enable NAT by commands:

# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
# iptables -A FORWARD -i eth1 -j ACCEPT

8. Configure LAN clients to access Internet via described gateway:

Use clients' operating system tools to set up the following TCP/IP settings:

IP address: from the same network as (you can use IP/Subnet calculator to get it)
Netmask: dd.dd.dd.dd
DNS: ff.ff.ff.ff

IP address:



MRTG (Multi Router Traffic Grapher) Server


Our discussion here is all about an Opensource network monitoring software, no other than MRTG (Multi Router Traffic Grapher) which is an application that allows us to observe the traffic of a network. It generates html pages with graphs which are refreshed according to our network’s current state. Its source is written in Perl and C which means that it can be installed in every Operating System we like. We will also need SNMP daemon (Simple Network Management Protocol) which gives us information for a network. The following installation was accomplished under Linux and specifically CentOS . With some little changes it can be used and under other distros.We will present also some simple trick on how to monitor multi services (domain,IP,host,etc) in a single output page.It is not different with polling all the packets either from udp or tcp tunnel and let the sequence or arrangemeng followed to simple network management protocol-SNMP

I hope that this doc is easy for every reader to follow the howtos of deploying the MRTG server.

Good Luck to all Parekoy!

1)Basically we need to setup a network monitoring software
2)To use an Opensource MRTG which is durable and tested
3) To be able to configure and setup MRTG
4)To Monitor multiple traffic activities of different servers running in the productions


Some of the nescessary files need to create a graphical multi router traffic analysis are the following
LibPNG -libraries to *.png format
Zlib- some addons to graphics
Wget- uploading/downloading programs


Installation of SNMP server

Initially we install the packets needed for SNMP. Yum makes this job a lot easier.Next we make snmpd service to start automatically for the runlevels we want.
# yum install net-snmp-utils net-snmp

And we start the server.

# chkconfig --level 345 snmp

We can see that it is running in port 199.

# service snmpd start

# netstat -natv | grep ':199'

tcp 0 0* LISTEN

SNMP Configuration
We run ‘snmpwalk’ which creates a “tree” of information for our network.
If you see an output like this one you may proceed with the MRTG installation. Else you should make some configuration first.

# snmpwalk -v 1 -c public localhost IP-MIB::ipAdEntIfIndex

ip.ipAddrTable.ipAddrEntry.ipAdEntIfIndex. = 1

ip.ipAddrTable.ipAddrEntry.ipAdEntIfIndex. = 2

We keep a backup of snmpd.conf just in case anything goes wrong

# cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.origina

We open it

# nano /etc/snmp/snmpd.conf

find and change this line

com2sec notConfigUser default public

replace by

com2sec local localhost public

com2sec mynetwork public

where we put what our network is
find and change those lines
group notConfigGroup v1 notConfigUser

group notConfigGroup v2c notConfigUser

and replace by

group MyRWGroup v1 local

group MyRWGroup v2c local

group MyRWGroup usm local

group MyROGroup v1 mynetwork

group MyROGroup v2c mynetwork

group MyROGroup usm mynetwor

find and change this lines
view systemview included .

view systemview included .

and replace with this one

view all included .1 8

find and change this line

access notConfigGroup "" any noauth exact systemview none none

with those lines below

access MyROGroup "" any noauth exact all none none

access MyRWGroup "" any noauth exact all all none

Finally,find and change those lines
syslocation Unknown (edit /etc/snmp/snmpd.conf)

syscontact Root (configure /etc/snmp/snmp.local.conf)

with this one (but you can change those with your own settings)

syslocation Linux, CentOS

syscontact Your_name root@localhost

Running SNMP service

We restart the server to take affect of the notices

# service snmpd restart

And we run again

# snmpwalk -v 1 -c public localhost IP-MIB::ipAdEntIfIndex

Now we should see something like that

IP-MIB::ipAdEntIfIndex.10.X.Y.Z = INTEGER: 2

IP-MIB::ipAdEntIfIndex. = INTEGER: 1

Where 10.X.Y.Z is your ip address.

Installing MRTG application

Using yum...

# yum install mrtg

Configuration of our MRTG

We create the folder in which our graphs and html pages will be kept

# mkdir /var/www/html/mrtg/

And we run ‘cfgmaker’ for the configuration file to be created.

# cfgmaker --global "workdir: /var/www/html/mrtg" -ifref=ip --output /etc/mrtg/mrtg.cfg --global 'options[_]: growright,bits' public@localhost

Here you should pay notice to --output /etc/mrtg/mrtg.cfg as long as to public@localhost. With this command we tell MRTG to create a configuration file with the name ‘mrtg.cfg’ for the traffic of our computer (localhost). Instead of localhost you may put the address of any computer you may monitor as long as it runs SNMP.

Next we create our default index page

# indexmaker --output=/var/www/html/mrtg/index.html /etc/mrtg/mrtg.cfg

Configuring Apache To Work With MRTG

MRTG is useful because it can provide a graphical representation of your server's performance statistics via a Web browser.With newer versions of Fedora, Apache automatically reads the add-on files in the /etc/httpd/conf.d/ directory. With Fedora Core 1, you have to specifically configure the Apache configuration file /etc/httpd/conf/httpd.conf to find it. You can do this yourself by inserting this line at the very bottom of the main Apache configuration file before restarting Apache for the change to take effect. With Fedora Core, MRTG creates an add-on configuration file named /etc/httpd/conf.d/mrtg.conf that includes all the necessary Apache commands for MRTG to work.

[root@localhost]# include " /etc/httpd/conf.d/mrtg.cfg

Some configuration may need to be done, because by default MRTG accepts Web requests from the Linux console only. You can add your home network to the file by inserting the network on the Allow from line, or you can allow universal access by commenting out that line along with the Deny from line. This example adds access from the network.

#Alias /mrtg /var/www/mrtg

Order deny,allow
Deny from all
Allow from localhost

If you want to access MRTG from the Internet, then you'll have to comment out the Deny statement and allow from all IP addresses:

#Alias /mrtg /var/www/mrtg

Order deny,allow
Deny from all

Remember to restart Apache once you have made these modifications in order for these changes to take effect.

Compling MRTG configurations

We run the following command

# mrtg /etc/mrtg/mrtg.cfg

ERROR: Mrtg will most likely not work properly when the environmentvariable LANG is set to UTF-8. Please run mrtg in an environmentwhere this is not the case. Try the following command to start:

env LANG=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg

In case you get an error like this;you have to run the above command more than once till it runs without any error. This is normal.
# env LANG=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg

23-02-2007 17:28:53, Rateup WARNING: /usr/bin/rateup Can't remove localhost_2.old updating log file

# env LANG=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg

Finally we open our browser and type


Multiple MRTG clients

The Fedora Core MRTG installation process creates a cron file named /etc/cron.d/mrtg. This file tells the cron daemon to run MRTG using the /etc/mrtg/mrtg.cfg file every five minutes to poll your network devices. You can configure MRTG to poll multiple devices, each with a separate configuration file. Here's how:

1) Create a new configuration file using the steps from the previous section; choose a filename that is not mrtg.cfg.

2) Add a new MRTG line in /etc/cron.d/mrtg for each new configuration file you create.

[root@localhost]# vi /etc/cron.d /mrtg

0-59/5 **** root env LANG=C /usr/bin/mrtg/  etc/mrtg/server1.cfg
0-59/5 **** root env LANG=C /usr/bin/mrtg/ etc/mrtg/server2.cfg
0-59/5 **** root env LANG=C /usr/bin/mrtg/ etc/mrtg/server3.cfg

3) Run the indexmaker command, and include all of your /etc/mrtg configuration files, to regenerate your Web index page.

[root@localhost]# indexmaker --output=/var/www/mrtg/index.html
/etc/mrtg/server1.cfg /etc/mrtg/server2.cfg /etc/mrtg/server3.cfg

4) Other versions of Linux keep their MRTG cron entries inside the /etc/crontab file. Edit this file using the same syntax as the Fedora /etc/cron.d/mrtg file, and then restart the cron daemon to re-read the configuration:

[root@localhost]# service crond restart

You could also create a script with the /usr/bin/mrtg /etc/mrtg/device.cfg entries in it and make cron run it every five minutes. This way you can just edit the script each time you add a device without having to restart cron.

After the modification in our config, let's start snmp and apache

[root@localhost]# service snmpd restart

[root@localhost]# service httpd restart

Again, to see the multiple clients of our MRTG, we open our browser and type


Detail(1) MRTG download site

Detail(2)MRTG Main page

Detail(3)MRTG Weekly Traffic Analysis

Detail(4)MRTG Annual Traffic Analysis



Tuesday, June 8, 2010

Friday, June 4, 2010

Network Captive Portal Deployment






Thursday, May 20, 2010

Koha Linux Installation -Fedora XX


We have now a software depositories ;what we want more are to tandem it with 'OPAC's and that our prospects -VuFind and Koha. Since Koha was very a prominent OPAC software I don't have a second options but to include it as a candidate for testing and evaluations .Another is the VuFind, as of now we have the impression that it has a more simplified version and is very promising software than its counterparts-well, let's see.

Let us first introduce Koha,this OPAC was originally developed for the Horowhenua Library Trust by Katipo Communications,New Zealand in 1999 (kiwi people). The first version of Koha went live at HLT in January 2005.And there are a lot of support being shared all around open source community with a dedicated team that enhance its bug , features and add-ons from time to time.

So now we proceed to actions ;debugging an OPAC powered by Koha-mwha!

Koha features:

-A full featured modern integrated library system (ILS).
-Award winning and open source no license fee, ever.
-Linux, Unix, Windows and Mac OS platform.
-Web Based.
-We can full integrate it into your website.
-Copy cataloging and z39.50.
-MARC21 and UNIMARC for professional catalogers.
-Tailored catalog module for special libraries.
-Use as a document manager or digital library.
-Manage online and off line resources with the same tool.
-RSS feed of new acquisitions.
-E-mail and/or text patron's overdues and other notices.
-Print your own barcodes.
-Serials management module.
-Full catalog, circulation and acquisitions system for library stock management.
-Web based OPAC system (allows the public to search the catalog in the library and at home).
-Simple, clear search interface for all users.
- Simple and comprehensive acquisition options.
- Koha is multi-tasking and enables updates of circulation, cataloging and issues to occur simultaneously.

To use Koha software package for online OPAC
To test Koha features
To compare Koha with VuFind
To evaluate Koha in production

Recommendations to install Koha:

  • Pentium II or a higher specs
  • Debian Linux package
  • Apache
  • MySQL
  • Perl
  • KOHA (;O=D)
  • Software extras

Here are some straight forward method to succeed in installing,configuring and deploying KOHA.

1) Installing Perl compiler
root@localhost# yum install perl
root@localhost# perl-CPAN*

2) Install Perl libraries 
root@localhost# yum install perl-
(Please use Yum to download and install package)
libxml2-devel, quagga
libxslt-devel, tcl, bzip2-devel, gcc, ncftp,
wget, gdbm-devel, expat-devel, tcp_wrappers ,
libicu , libicu-devel

Please use Cpan to install and download Pearl libraries and add-ons-(the mt. Everest of installations )
install XML::SAX
install XML::LibXMLinstall XML::LibXSLT
install XML::LibXML::SAX::Parserinstall XML::RSSinstall XML::SAX::Writer
install Algorithm::CheckDigits
install Test::Pod
install Test::Pod::Coverage
install Biblio::EndnoteStyle
force install DBD::mysql
force install DBD::SQLite2install GD
install DBIinstall FreezeThaw
install CGI::Session::Serialize::yamli
install CGI::Simple
install Class::Accessorinstall Class::Factory::Util
install Date::Calc
install Sub::Name
install ExtUtils::CBuilder
install Data::ICal
install Email::Date
install HTML::Template::Proinstall HTML::Scrubber
install HTML::Template::Proinstall MARC::Recordinstall MARC::Crosswalk::DublinCore
install MARC::File::XMLinstall MARC::Charsetinstall PDF::API2
install PDF::Reuse
install PDF::Reuse::Barcode
install Lingua::Stem
install Test::Distribution
install List::MoreUtils
install MIME::Lite
install Mail::Sendmail
install POE
install Tk
install Term::ReadKey
install Event
install Curses
install Schedule::At
install Text::CSV
install Text::CSV_XS
install Text::Iconv
install Test::Differences
install JSON
install YAML::Syck
install HTTP::OAI
install Net::Z3950
Install Net::Z3950::ZOOM
install Unix::Syslog
Note: here are some of the updates during my installations
install Biblio::EndnoteStyle 0.05
install Date::ICal 1.72
install Digest::SHA 5.43
install GD 2.39
install IPC::Cmd 0.46
install Net::Z3950::ZOOM 1.16
install SMS::Send 0.05
install Text::CSV::Encoded 0.09
install e XML::LibXSLT 1.59
install XML::RSS 1.31

3) Instal Mysql and libraries

root@localhost# yum install mysql*

3-1) Configure  mysql database
Set a new password 
root@localhost# service mysqld stop
root@localhost# mysqld_safe --skip-grant-tables &

3-2) Connect to mysql server using mysql client
root@localhost mysql -u root  password (just press enter)mysql> use mysql;
mysql> update user set password=PASSWORD("password1234") where User='root';
 mysql> flush privileges;
mysql> quit;

3-3) Create Database
mysql> create database koha;
mysql> grant all privileges on koha.* to 'kohaadmin'@'localhost' identified by 'password1234';

4) Install web container (Apache)
root@localhost# yum install httpd*

5) Download and Install koha
root@localhost# wget www.koha

5-1)Install Koha(latest version)
root@localhost#  cd PATH_Koha/
root@localhost# perl Makefile.Pl
root@localhost# make
root@localhost# make test
root@localhost# make install

5-2) Configure Koha:
5-2-1)Create a symlink in apache
root@localhost# ln -s /etc/koha/koha-httpd.conf /etc/httpd/conf.d/

5-2-2) To access koha on all IP(LAN/WAN)
root@localhost# vim /etc/httpd/conf.d/koha-httpd.conf
Check  this in koha-httpd.conf #Opac < VirtualHost *:80 >  #Intranet  < VirtualHost *:8080 > 

5-3) Test and browse Koha system
Client side

Administrator Side

Detail(1) Successful installation of KOHA

Detail(2) Login

Detail(3) Installer -Step 1

Detail(4) Installer -Step 2

Detail(5) Installer  -Step 2

Detail(6) Installer -Step3

Detail(7)-Installer -MARC

Detail(8)- Optional Added


Detail(10)- No Zebra

Detail(11) Successful/complete installations

Detail(12) Admin control panel

Detail(13) OPAC client window


Well, one thing to note if the guide you are following does not continue as it was expected perhaps you should read now how the "config","make","make install" created an error display.
I would enumerate those possible problems:
1) Please identify each equivalent/appropriate version,what I mean is the contemporary dates when all of the the required packages were compiled and had worked out.

2)Please not some --prefixes (the correct path file installations)

3) You need to check if it needs you to setup environment variable or rather use "export"

4)Never ever forget to activate "MySQL" they must be running for such an applications to create its own database: field,name,tables ,user name, password -sometimes that was an inevitable case.

5)But in KOHA particularly, the tweak will much occur in the CPAN installations ; you can just cut and paste all the commands for eache package s to be installed by CPAN- and these were posted above. Try to force the installation if it does not continue on the first time of command of installing it. Otherwise it has other package dependencies needed to be compiled yet .Oh! this group of YAZ :applications(Yaz.x.y.z.tar.gz,libyaz.x.y.z and libyaz-devel.x.y.z) ,was a little bit confusing to mine so much so of its progress or development to CentOS ;painstakingly how can we find file just as where and how to fix its right version. I would rather suggest , why not KOHA used other package instead of YAZ ?I think there are alot of alternatives application in replacement to YAZ-the community should be serious about it though.

6) Here is another important tips for installing Net::Z3950::ZOOM is to try all available encryptor / decryptor in YUM. As different OS may vary names for these(so better try yum install *crypt*) instead. Perhaps also wrappers, I was enchanted resolving Z3950 files and turn it out installing this way -yum install *wrap* (oh thanks for a wild characters -KoHA is getting wild).

7)Please take note that if your web browser displayed errors "403" or "404" which mean to say that your apache web server (or common httpd) does not allow your koha url to be accessible ( try to add this line and I had my directory located here-> /usr/local/koha) and all the compiled packages.Please put and enclosing the statement below.
AllowOverride All
Options MultiViews -Indexes Includes FollowSymLinks
Order allow,deny
Allow from all
or this one
AllowOverride All
Options ExecCGI
8) Don't forget to create a "koha " database usually this is the primary cause of an error .It could be avoided this way-create a database first before installing koha.

Database = "koha"
Administrator account ="kohaadmin"
Hostname =" localhost"
Password ="password"

#mysql -u root -p
password (just press enter)

mysql>create database koha;
mysql>grant all privileges on koha.* to 'kohaadmin'@'localhost' identified by 'password';

9) Well , better install all the files required by CPAN

10) If you are using Fedora X.X version, make sure that selinux is disabled.

That is all folks!

Its free but not the painstakingly hardship debugging its installations- make you stressed after a success

Tuesday, May 4, 2010

Commecial Grade Repository(Eprints)

So, we 've finally finished exploring EPrints ,and found out that it really fitted to the applications of a Digital Repository.

But we're not through yet or have done it almost if we would refer on a commercialize or high-end web data repository.There are a needs to dig out some configurations files: in its web-url, database format,scripts and etc.One thing more, the best way to customize eprints is not so much on GUI published management "Admin:Config tools" but rather on the files that can be found in its subdirectories.There are more shell commands found in the /usr/local/eprints3/bin that are used to change eprints file systems (GUI,DB,etc)

In this follow up blog-article will show us an interest much on branding ,deploying and configuring the system on our preferred setup and lastly we would be able to appreciate the digital repository sytem and so much so is the legacy of EPrints.

1) To use e-Prints in building digital repository
2) To fully costumize eprints in the organizational data structure repository design
3) To design library depository scheme/methods other than "Library of Congress Index"
4) To deploy hi-end fully costumized commercial digital repository

Login to Admin->Home then click edit image , the html source page can be edited.

2)Adding Views


Create your simple policy html files in a notepad , then copy it as "guide.html" in the directory/path below.
root@localhost # /usr/local/eprints3/archives/Archive_ID/cfg/en/guide.html

4) Work Flow(Type:Division:Subjects)

5)Crontab for active maintainance(script scheduler)

The system administrator is usually logged in as "root", but making changes to another user's crontab file or simply looking at another user's crontab file is often necessary. For situations like this, you can append the "-u" flag followed by the desired username.For example, if logged in as root but you want to edit the crontab for the user "admin", you would do the following:
crontab -e -u admin
Note** Now,I expect that you know how to access the crontab,let's take a look at the syntax of the crontab entry itself.
A typical crontab entry might look like this: 30 0,12 * * * /usr/local/eprints3/bin/
OK, so what does that mean? Well, there are 2 parts to the entry you see above. In fact, any crontab entry has 2 parts:
Part 1 - The setting the scheduler
The schedule, which governs when the task will run, consists of a string of numbers, possible commas and asterisks (*).So, in the above example, the schedule is:
30 0,12 * * *
What you are seeing is actually split up into 5 sections. The following chart illustrates what each section of the schedule is for:
1. Minute - Minutes after the hour (0-59).
2. Hour - 24-hour format (0-23).
3. Day - Day of the month (1-31).
4. Month - Month of the year (1-12).
5. Weekday - Day of the week. (0-6, where 0 indicates Sunday).
* = An asterisk in a schedule field indicates "every". It means that the task will occur on "every" instance of the given field. So a "*" on the Month field indicates the the task will run "every" month of the year. A * in the Minutes field would indicate that the task would run "every" minute. , = A comma is used to input multiple values for a field. For example, if you wanted a task to run at hours 12, 15 and 18, you would enter that as "12,15,18".
Let's take a look at how this format fits into the syntax of a crontab entry:
_________________________ 1.Minutes after the hour (0-59)
| ______________________ 2. 24-hour format (0-23).
| |
| | ___________________ 3.Day of the month (1-31)
| | |
| | | ________________ 4. Month of the year (1-12)
| | | |
| | | | ______________5. Day of the week. (0-6, where 0 indicates Sunday)
| | | | |
30 0,12 * * * /some/script/or/command

So, when we combine all the schedule elements, we know when and how often this task will run. Going on the above example, this task would run: At 30 minutes past the hours of 0 (midnight) and 12 (noon), EVERY day of the month, EVERY month of the year and EVERY day of the week. In other words, the above task would run every single day at 12:30AM and 12:30PM.
Let's play around with the schedule a little bit and try something different. What if we had something like this:
15,45 0,12,6 20 1,2,3 0 ./ /usr/local/eprints3/bin/generate_views mainlib

Let's decipher it...
15,45 - This means that the task will run at 15 and 45 minutes past the hour. But what hours and what days? Well, that's coming up.
0.12.6 - The task will run during the hours of 0 (midnight), 12 (noon) and 6AM.
20 - The task will run on the 20th day of the month. But during what months?
1,2,3 - The task will run only during the months of January, February and March.
0 - The task will only run on a Sunday.

So, when we put all of this information together,the task is going to run at 0:15, 0:45, 6:15, 6:45, 12:15 and 12:45 on the 20th of January, February and March IF that day falls on a Sunday.
Part 2: The task needs to be executed
In the above example, the "task" to run would be: ./ /usr/local/eprints3/bin/generate_views mainlib .
actually, we have a lot of scripts to run , and that can be found in the directory of /usr/local/eprints3/bin/
6)Back Up

New Server:
Let may give you some clear procedures to back up your eprints.In your old server to your new eprints server. Here is the link of my previous post with regards eprints installations.

user name 'mainlib'
data base name 'mainlib_DB'
data base password 'xxxxyyy'

Old Server:
1)Please back up the following files: /usr/local/eprints3 ; /var/lib/mysql/mainlib_DB
root@localhost# tar zxf eprints_backup.tar /usr/local/eprints3/
root@localhost# mysqladmin -u root password "XXXYYY"
root@localhost# mysqladmin -u root -p create mainlib_DB
root@localhost# mysqldump --opt mainlib_DB > eprints_db.sql -u mainlib -p
root@localhost# scp eprints_backup.tar root@IP_NEW_SERVER:/usr/local/eprints3/
root@localhost# scp eprints_db.sql root@IP_NEW_SERVER:/var/lib/mysql/

New server:

1)Install the same version of eprints.ver.3.x in the new server ,see to it that you can point the name to the local browser after the installations: http://name.eprints (example only)

2)Copy those : eprints_db.sql eprints_backup.tar

root@localhost# tar zxvf eprints_backup.tar
root@localhost# mysqladmin -u root password "XXXYYY"
root@localhost# mysqladmin -u root -p create mainlib_DB
root@localhost# mysql-u root -p mainlib_DB < style="font-style: italic;">root@localhost# "mysql mainlib_DB "
root@localhost# mysql> grant all privileges on mainlib_DB.* to mainlib@localhost identified by 'eprints1234';


1)Changing captions
Log in to Admin -> Admin ->config tools-> Edit page phrases

2) Adding Eprint Type (Browse by Type)
root@localhost# /usr/local/eprints3/archives/Archive_ID/cfg/cdg.d/

3)Adding editing Eprint Material type
root@localhost# /usr/local/eprints3/archives/Archive_ID/cfg/namedsets/
root@localhost# vim eprint

ex: reports
root@localhost# vim /usr/local/eprints3/lib/lang/en/phrases/system.xml
root@localhost# vim /usr/local/eprints3/lib/lang/en/phrases/zz_wconfig.xml

4) Adding subject (Browse by Subject)
root@localhost# /usr/local/eprints3/archives/Archive_ID/
root@localhost# vim subject

5) Adding details (Publisher details) in a customized material type
root@localhost# vim /usr/local/eprints3/archives/mainlib/cfg/workflows/eprint/default.xml
Copy an old field of existing material type and change its type name by a new material type name; ie, "other" to "added_name". other'">

6) Upgrading repositories from an old to a new eprints version
root@localhost # cd /usr/local/eprints3/bin
root@localhost# sudo -u eprints ./ epadmin upgrade repository_id
7) Update eprints database structure to its latest meta-fields
root@localhost # cd /usr/local/eprints3/bin
root@localhost# sudo -u eprints ./epadmin update_database_structure repository_id
Importing and Exporting MARC protocolInstall the followiing perl modules for MARC
cpan > instal XML::SAX
cpan> install MARC::Record
cpan > install MARC::Charset
cpan > install MARC::XML
cpan > install MARC::File::XML

We can also you "yum" instead of "cpan" installation
root@localhost # yum install perl-MARC-XML
Then download the following files "EPrints-MARC_0.1.tar.gz" and extract it in the
root@localhost# cd /usr/local/eprints3/
copy the "" file in the
root@locahost# cd /usr/local/eprints3/archives/Archived_ID/cfg/cfg.d/
Then goto eprints browser " manage depository" , [Import] and choose
"marc" then Bingoooo!

o)Please follow the steps "CREATING AN ARCHIVE"
1) Create more than one archive
2) Give a DNS name for each archive

a) roots.localhost # /usr/local/eprints3/bin/ create epadmin engineering
a.1) hostname?

b) roots.localhost# /usr/local/eprints3/bin/ create epadmin mainlib
b.1) hostname?


If you had lost your "mysql" database root password elsewhere and your memories can't retrieve it any-more best thing is to these.

root@localhost # service mysqld stop
root@localhost@ mysqld_safe
open another tab for cli command,then...
root@localhost# mysql -u root mysql
Enter Password:

update user set Password=PASSWORD('new-password-here!') WHERE User='root';
Query OK, 2 rows affected (0.04 sec)

Rows matched: 2 Changed: 2 Warnings: 0

mysql> flush privileges;

Query OK, 0 rows affected (0.02 sec)
mysql> exit

and you wouldn't be worrying any more.....alligator!

If Eprints is running yet some features are not available you may try to add some module or addons to supplement your requirements, and it is important to know if some software were installed already such as:

root@localhost# vim /usr/local/eprints3/perl_lib/EPrints/
'executables' => {
'convert' => '/usr/bin/convert',
'tar' => '/bin/tar',
'rm' => '/bin/rm',
'dvips' => '/usr/bin/dvips',
'gunzip' => '/bin/gunzip',
'sendmail' => '/usr/sbin/sendmail',
'unzip' => '/usr/bin/unzip',
'elinks' => '/usr/bin/elinks',
'cp' => '/bin/cp',
'latex' => '/usr/bin/latex',
'perl' => '/usr/bin/perl',
'pdftotext' => '/usr/bin/pdftotext',
'wget' => '/usr/bin/wget',
'antiword' => '/usr/bin/antiword'
for example:Antiword for viewing pdf; to know if antiword is installed , pls type
root@localhost # which antiword
then must appear where the exectables is loaded
root@localhost# /usr/bin/antiword
After eprints migrations not all previous service are active ;therefore there is a need to familiarise the script in just to make it working again:root@localhost # /usr/local/eprints3/bin
To change to a new apache configurations
0) root@localhost # ./generate_apacheconf archive_ID

To change new browsing
1)root@localhost # ./generate_views archive_ID

To change new text record
2) root@localhost # ./generate_abstract archive_ID

To restore a archives
3)root@localhost # ./generate_static archive_ID

For restoring thumbnail preview
4)root@localhost # ./epadmin redothumbnails archive_ID
To generate video preview
5)root@localhost # ./generate_video_preview

For some advance tricks about eprints....check this out!