News

October 2009 : a new release (bibus 1.5.0)

  • OOo3.1 compatibility
  • Infinite number of file/http links
  • Clever capitalization (lord of war => Lord of War ...)
  • Better handling of journal abbreviations
  • Import/Export filters can be added easily (plugin)
  • journal abbreviations and shortcuts can be easily edited (simple csv file that can be edited in OOo/excel or a text editor)
  • Lot of bug fixes
  • Requires python2.5 (not a problem anymore under Windows since OOo3.1 includes 2.6)
  • Requires wxpython-2.8

How to setup a bibliography to be shared by many users on a remote computer

From Bibus

Jump to: navigation, search

Page under construction.


Contents

Introduction

Imagine the most common situation in academic world; a research group with three people (say Albert, Bessie and Charles) needing to share their bibliography.

Bibus is told to satisfy such needs, but unfortunately there are no specific guides on the net on how to setup such a system.

Below you'll find some (I hope useful) hints on how to do it. They were collected here and there on the net.

They require some knowledge in MySQL, but nevertheless the person who wrote this notes is VERY FAR from being an expert.

Therefore he cannot guarantee that the following instructions do not impair the security of your system.

There are many steps in this procedure: let's assume that Albert has tried Bibus on his computer, and then he decided to share his bibliography with Bessie and Charles. It is also possible to setup a common computer in which install MySQL.

Albert is running Ubuntu 8.10 on his machine while Bessie and Charles are running some flavour of Windows

Before starting it is necessary to know the following things: The IP numbers of the three machines (ask your administrator, if exists, or run ifconfig on Ubuntu machine and ipconfig on Windows ones).

For explanantion purposes we assume the following IP numbers

  • Albert 192.168.8.10
  • Bessie 192.168.8.11
  • Charles 192.168.8.12


Moving the existing database from SQLlite to MySQL on the main computer (Albert's one)

This procedure has been successfully attempted on Ubuntu 8.04 and bibus 1.4.3-2. It is a resume of this thread.

Before attempting the procedure, install the necessary libraries

 
sudo apt-get install mysql-server mysql-common mysql-client python-mysqldb 

Remember the password that the install is asking you for the MySQL manager (usually root). After the installation, MySQL do not require a password, but it is better to provide one with the following command

mysqladmin -u root password NEWPASSWORD

To change the password, the command is

mysqladmin -u root -p oldpassword newpass

Try not to forget the password. Should you do it, you may want to take a look here

Then choose First Connection Wizard under Help menu and press next until the "Database Engine" is shown then:

  • Choose MySQL then hit NEXT
  • Click "MySQL database setup" and on the "Bibus MySQL Setup" dialog box
  • Click "Connect" with root as "user" with his password and then Click "Connect"
  • Back on the dialog box "Bibus MySQL Setup" click on "Database" button
  • Press the "New Database" button and a new dialog box appear. Do not change anything, check that Database Name is already filled with "biblioDB", check that the radio button is on MySQL v4.1 and v5 and press OK.
  • Back again on the dialog box "Bibus MySQL Setup", just press "Quit"

You will notice that all your references are gone (Did you saved a backup copy ?)

Now open another copy of bibus, which will be with SQLite, and Copy/paste or Drag/Drop references between them. Close the SQLite copy of bibus.

Allowing Albert's computer to accept requests from Bessie' and Charles' ones

The following directions were found here:

On a terminal on Albert's Ubuntu machine send the following commands: Depending on Linux distribution you have to find out my.cnf file to be edited. You can find it by the following command:

find / -iname my.cnf

Once you've found it, you should edit it by

nano /etc/mysql/my.cnf 

Locate the section

[mysqld]
#
# * Basic Settings
#
user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
language        = /usr/share/mysql/english
skip-external-locking
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address            = 127.0.0.1

and modify two lines as follows: comment (i.e. add the "#" sign) at the beginning of the line

# skip-external-locking

substitute the 127.0.0.1 with the IP number of the Albert's computer

The section now should look as follows

..............
language        = /usr/share/mysql/english
# skip-external-locking
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address            = 192.168.8.10

Press Ctrl-X to exit and save the modifications

Restart your mysql service to take change in effect:

/etc/init.d/mysql restart

Grant access to remote IP addresses

mysql -u root -p mysql

The above command will start the MySQL engine on Albert's computer.

After giving the password, the prompt will change to

mysql>

Grant access to the Bibus database If you want the users "Bessie" and "Charles" to access to the database, give these commands

mysql> GRANT ALL ON biblioDB.* TO Bessie@'192.168.8.11' IDENTIFIED BY 'PASSWORD';
mysql> GRANT ALL ON biblioDB.* TO Charles@'192.168.8.12' IDENTIFIED BY 'PASSWORD';

For security reasons, you may want to give just the necessary rights (not ALL); instead of granting all privileges as above, the following should be enough if the table structure already exists (as of 1st April 2010: yet to be tested):

mysql> GRANT SELECT, DELETE, INSERT, UPDATE,CREATE TEMPORARY TABLES  ON biblioDB.* TO Bessie@'192.168.8.11' IDENTIFIED BY 'PASSWORD';

Type exit command to logout mysql:

mysql> exit

You now need to open port 3306 using iptables or BSD pf firewall. Look here: This section on enabling access to be improved

You can also use telnet to connect to port 3306 for testing purpose:$ telnet 65.55.55.2 3306

Some commands to keep up to date the users on mySQL server

After a while it may happen that Bessie do no longer work with the team, or that some IP numbers has changed.

The following command (from mysql prompt) lists IP numbers and users.

select host, user from mysql.user;

while the following one delete the user Bessie who was accessing the server from 192.168.8.11

DROP USER Bessie@192.168.8.11;

Configuring Bibus on Bessie's and Charles' computers, in order to access the remote database on Albert's computer

To be completed

Open Bibus on Bessie's or Charles computer and pull down the File-Connect menu.

You will get the MySQL connection parameters

Chances are that you will find root as "UserName", localhost as "Host", 3306 as "Port" and /var/run/mysqld/mysqld.sock as "Socket"

Change "Host" from localhost to 192.168.8.10, and Username from root to Bessie or Charles

Insert the proper password and click next

Choose the "biblioDB" database and click finish

Backing up references in MySQL by graphical tool

This procedure has been tested under ubuntu 8.04.

Check if MySQL administrator is installed. If positive go under Applications/Programming and start MySQL administrator.

You will get this dialog box:

MySQL 1st dialogbox.jpg

Insert the password, press "Connect", and you will get a window, where you should locate the backup window

MySQL 2nd image.jpg

Add the database you want to backup to the list, by pressing the right orange arrow in the middle of the window.

The name of the bibus Database is usually biblioDB.

Press the "Start Backup" button.

You will be prompted where you want to save the file.

Personal tools