XAMPP+XOOPS+PubMedPDF+PukiWiki
BioMed Lab Portal Server Package

[v0.80-en: 2005-08-15] [>> To Japanse page]

File Name
Size
PMpdf-XAMPP-Wiki-Mac-E0.80.dmg 56MB Lab Portal Server Package: English Version (PowerPC only)
PMpdf-XAMPP-Wiki-Mac-J0.80.dmg 56MB Lab Portal Server Package: Japanese Version (PowerPC only)
README-en.txt 16kB Installation and usage notes: English Version
README-ja.txt 12kB Installation and usage notes: Japanese Version
PMpdf-Sync.tar.gz 10kB Cron script for synching multiple servers


Purpose (What is this software for?)

This package contains an all-in-one MacOS X Installer for a self-contained BioMed Laboratory Portal Server. It includes Apache web server with all the standard components (PHP, MySQL, Perl etc) from XAMPP, and XOOPS system with PubMedPDF module for managing thousands of PDF reprints from journals. PubMedPDF integrates very nicely with the popular iPapers application, automatically indexing papers collected by iPapers and making them available via the Lab portal site for Mac and Windows alike.

It also includes PHP-based PukiWiki system for managing notes and documentations for lab use. It is suitable for maintaining various lab notes and manuals, FAQs and instructions for daily activities of any lab. Modifying these web contents may be done via a standard browser, and simple changes can literally be done in a matter of seconds.

[This package consists of freeware components that are available elsewhere (see below). This is the same system as the one we are using internally in our lab, except that copyrighted contents not redistributable have been removed and then packaged. Similar all-in-one packages are possible for Windows, but we do not have one. This distribution is for PowerPC only. The Intel processor version would be possible, since the original XAMPP installer is finally avaialble for Intel processors at http://www.apachefriends.org/en/xampp-macosx.html. I don't have time for this now. If we move our system to an Intel-based Mac, we will update it.]



Screen shot of PubMedPDF/XOOPS (from the Japanese Version. Menus will be in English in the English version.)



Searching Lab PDF article library

Directly opening a PDF reprint by clicking on the
[PDF] link at the bottom left of each list item.


Installation

This MacOS X Installer package allows installation and start up of the servers without using the command line and Terminal.app.

[0] SystemPreferences > Sharing, and turn off "Personal Web Sharing" (Turn off the check mark.) This package will install and use a completely different Apache web server, which will conflict with the factory-installed Apache used for "Personal Web Sharing".

[1] Download the Installer

Go to http://platform.visiome.org/
and search with "PubMedPDF"
Download the file: PMpdf-XAMPP-Wiki-Mac-E#.##.dmg

[2] Install the package

Double-click on PMpdf-XAMPP-Wiki-Mac-E#.##.pkg

and follow the instructions.

[3] Start upp XAMPP


Place
/Applications/xampp/StartXAMPP.scpt

on the Dock or double click on it directly. Script Editor will start up. Press the "Run" button.

You will be asked for administrator password via a panel, because it is necessary to start the severs as root. Wait briefly for successful startup message to be displayed in the lower part of the window. Then, you can quit Script Editor.



If you feel comfortable with command line, you may alternatively start XAMPP up by:

sudo /Applications/xampp/xamppfiles/mampp start

If you got the startup messages, verify the operation by accessing:
http://localhost/
http://localhost/xoops/
http://localhost/pukiwiki/

After the XAMPP servers (Apache and MySQL has been started as above, the user may log out. The server processes will continue to run in the background. A new user may login and use the Mac normally without even being aware that these servers are running. Remember to disable Sleep timeouts via SystemPreferences > Energy Saver, since the server machine should be awake.

One more note: If your LAN is connected to the global Internet via a HTTP Proxy, you need to set up PubMedPDF XOOPS module to use the proxy. Login as XOOPS administrator and open the configuration for PubMedPDF from Administrative menu. If your LAN is using NAT/DHCP which is typical these days, then don't worry about this.


Items below should not necessarily be done in numerical order.  This is just an itemized list.

[4] Stopping XAMPP

Place
/Applications/xampp/StopXAMPP.scpt

on the Dock or double click on it directly. Script Editor will start up. Press the "Run" button. You will be asked for administrator password via a pannel, because you need to be root to terminate the servers. Wait briefly for successful stop message to be displayed in the lower part of the window. Then, you can quit Script Editor.

If you feel confortable with command line, you may alternatively terminate XAMPP by:
sudo /Applications/xampp/xamppfiles/mampp stop

[5] Accessing from other computers on a LAN

XAMPP/XOOPS/PukiWiki package allows you to run the servers immediately. There is no need to change configurations, if you just need to use the system on the machine itself. After verifications that servers are running on the local machine, you will need to make the following change to the XOOPS component, if you wish to access the server from other computers on the LAN.

Open the file:

/Applications/xampp/htdocs/xoops/mainfile.php

using a text editor such as TextEdit.app and change the setting for "XOOPS Virtual Path (URL)" as follows:

define('XOOPS_URL', 'http://localhost/xoops');
 ->
define('XOOPS_URL', 'http://192.168.0.69/xoops');

In the above line, IP address "192.168.0.69" is just an example. Actual numbers are different for each installation. The IP address may be obtained by opening SystemPreferences > Network and make a note of the IP address assigned to the "Built-in Ethernet". Use that IP address for the modification of file, mainfile.php.

To access the Lab Portal server from other computers on the LAN, you should use the URL of the form below, with the IP number for your own server from the Network SystemPreferences panel as shown above. If there is a DNS (Domain Name Service) server for the LAN, of course, it is possible to use that hostname instead of the numeric URL.

http://192.168.0.69/


Note in addition, that you should use a static IP address for the server machine. This may be done either by specifying the IP address "Manually" in the Network setting of SystemPreferences, or by asking your LAN administrator to fix the IP address assigned by the DHCP server. Using an arbitrary IP address "manually" may cause problems on a LAN that runs DHCP. Therefore, ask your LAN administrator anyway about the IP address you can use. (You will be asked about the "MAC address" or "Ethernet ID" of the server machine by the LAN administrator. Ethernet ID may be read off of the "Ethernet" TAB of the built-in Ethernet setting.)

Caution: If you have enabled the built-in Firewall (available in SystemPreferences > Sharing > Firewall), you have to put a NEW entry for passing TCP port 80. This is because we are not using the Apache web server that is built into MacOS X, and the default Apache firewall setting (uneditable anyway) will not be active. If you do not do this, none of the ohter machines, local LAN or WAN, will not be able to reache the server.

[6] Security

Security-wise, the default installation is just full of holes. Do not put the machine out to the global Internet without first tightening up the security. I do not know how to do this properly myself. So, I can't write about it here. Unless you are sure, I recommend that you use the server for LAN use only behind a router or a firewall.

Consult the following URL first for improving security of the XAMPP installation. XOOPS and PukiWiki may need additional security tightening.
http://localhost/xampp/index.php

[7] XOOPS (eXtensible Object Oriented Portal System)
XOOPS Admimistrator Account
  User: admin
  Password: vision
XOOPS regular user for testing
  User: user1
  Password: vision

XOOPS is configured such that a new user account may be created immediately without administrator review or mail confirmation. Of course, these settings may be changed by logging into XOOPS as administrator.

[8] PukiWiki

Password for locking/unlocking pages: vision

[9] MySQL related account and passwords (You will need these if you want to tighten security or change MySQL configuration.)
User: root
Password: (not set)
Database name for use with XOOPS?F xoops
User name for accessing "xoops" database: xoops
Password: 3xoops3




Synching iPapers and PubMedPDF/XOOPS


iPapers works like iTunes for managing journal paper reprints. It is able to search the PDF reprint collection by keyword or authors, year range, etc. "Favarites" folders may be created and used just like "Playlists" in iTunes. It is also similar to iTunes in that you do not use a web browser at all for searching articles and downloading the PDF files. iPapers searches the PubMed site, and via links to specific articles, it will download the desired PDF reprint, names the file with its PubMedID automatically, and add it to the library. The end result for us is that we can forget about nameing downloaded PDF files. Download the latest version of iPapers from:
http://homepage.mac.com/toshihiro_aoyama/iPapers/download.html


By following steps explained here, PubMedPDF/XOOPS database also benefit from the above features of iPapers: we don't have to worry about PubMedID-based file names for PDF reprints.

iPapers Setup

(a) iPapers: SystemPreferences > General

   Set the "iPapers Article Folder Location" as follows:

/Applications/xampp/htdocs/xoops/modules/PubMedPDF/pdf

(b)For importing new papers registered on PubMedPDF/XOOPS, do from iPapers menu:
File > Import > New in Article Directory


PubMedPDF/XOOPS Setup

(c) Login on XOOPS as an administrator. Click on the menu item "PubMedPDF". This will open submenus for PubMedPDF. Click on "Reg. with PMID". The third item on the page that appears is "Automatic registraion" Press the "submit" button there. That's it. Since the PDF folder for PubMedPDF and iPapers' article folder are shared, papers downloaded by iPapers are registered without copying any PDF files.

(d)Further automating "Automatic registraion"

Wrap the following one line (folded for this documention) in a shell script, and run the script via "cron" or the new "launchd" periodically (e.g., twice a day).

/Applications/xampp/xamppfiles/bin/php 
/Applications/xampp/htdocs/xoops/modules/PubMedPDF/auto_run_bat.php
>> (log file somewhere)

This is Unix stuff. Ask your local Unix expert for setting this up for you.

man crontab  (for all versions of MacOS X)
man launchctl (for MacOS X 10.4.x Tiger or later)

In this way, if you use iPapers on the same machine, all papers downloaded by iPapers will automagically appear in PubMedPDF without anyone touching anything.

 



The following is a memo. Normally, you do not need to read further.

Procedures and notes about installing XAMPP/XOOPS/PubMedPDF/PukiWiki from individual distributions.

[1] XAMPP for MacOS X

Go to:

http://www.apachefriends.org/en/xampp-macosx.html

and download file: xampp-macosx-0.4.sitx or newer.

Unpack the above file by double-clicking on it. Then, xampp-macosx-0.4.pkg will be created. Double-clicking on the .pkg file will open it in Installer. Proceed as directed, and you will be asked to authenticate. Apache, PHP, Perl, MySQL etc. will be installed into /Application/xampp

# Part of the following information is from Dr. Ikeno.

(a)Edit /Application/xampp/etc/httpd.conf and modify the following 3 items:
  # DefaultLanguage nl
 ->
  DefaultLanguage ja

  LanguagePriority en de nl et fr de el it ja ko ...
 ->
  LanguagePriority ja en de nl ...

  AddDefaultCharset ISO-8859-1
 ->
  # AddDefaultCharset ISO-8859-1
  


(b) Make XAMPP use PHP4

# cd /Application/xampp/xamppfiles
# ./mampp php4

(c) Start XAMPP

# ./mampp start


Continue onto [2] below for XOOPS download/setup

 

[2] XOOPS (eXtensible Object Oriented Portal System)

Download the latest XOOPS pacakge from
http://jp.xoops.org/
(Official Japan site)

Expand the package, and you will find 3 directories one of which is "html"

Copy the "html" folder as "xoops" into
/Application/xampp/htdocs


Change the owner to nobody for newly copied files:

chown -R nobody:admin /Application/xampp/htdocs/xoops

While consulting http://pcweb.mycom.co.jp/column/yetanother/006/
create a MySQL database for use with XOOPS. (The default XAMPPS setup uses MySQL with the root user without password. If it has a password, insert "-ppassword" after "-uroot", where password should be replaced with the actual password (if you know what I mean.).)

% cd /Applications/xampp/xamppfiles/bin
% ./mysqladmin -uroot create xoops
% ./mysql -uroot xoops
Welcome to the MySQL monitor.  Commands end with ; or ¥g.
Your MySQL connection id is 2 to server version: 4.1.13

No entry for terminal type "xterm-color";
using dumb terminal settings.
Type 'help;' or '¥h' for help. Type '¥c' to clear the buffer.

mysql> grant all on xoops.* to xoops@localhost identified by '3xoops3';
Query OK, 0 rows affected (0.01 sec)

mysql> exit
Bye
% 

Using a web browser, access: http://localhost/xoops/

The first time around you do this, you will get the XOOPS setup wizard.  Follow directions and

set up XOOPS.

If necessary, edit

/Applications/xampp/htdocs/xoops/mainfile.php

manually using a text editor.

[3] Installation of PubMedPDF

Go to either of these sites and download the latest version:

http://ppdf.sourceforge.jp/

https://sourceforge.jp/projects/ppdf/

Copy PubMedPDF folder into
 /Applications/xampp/htdocs/xoops/modules

Change the owner to nobody for newly copied files:

cd /Application/xampp/htdocs/xoops/modules
chown -R nobody:admin PubMedPDF
cd PubMedPDF
mkdir pdf
chmod 777 pdf

[4] PukiWiki

Go to the following site and download the latest PukiWiki package: http://sourceforge.jp/projects/pukiwiki/
http://pukiwiki.org/ ( http://221.245.246.245/ )

Install the folder as:
 /Application/xampp/htdocs/pukiwiki


Edit using a text editor:

 /Application/xampp/htdocs/pukiwiki/pukiwiki.ini.php

and change the top page title etc.

Change the lock/unlock password to: vision

Change the owner to nobody for newly copied files:

cd /Applications/xampp
chown -R nobody:admin htdocs

 


Acknowledgement: The main unique content of this package, PubMedPDF module for XOOPS, has been developed by the group led by Prof. Hidetoshi Ikeno at University of Hyogo, inspired by features and scripts developed for Visiome Platform. Please see the PubMedPDF module developer site indicated above for details. We are also very much thankful for the dedicated developers of XAMPP (Apache, Perl, PHP, MySQL), XOOPS, PukiWiki and other components contained in this package.

No Warranty: There is absolutely no warranty for this software package. All the components come from other sources, and we are merely providing the package with a belief that it may be useful. However, we do not warrant that it will do anything useful or it will function at all in any desired manner. Any responsibility for damages or liabilities resulting from the use of this package is entirely upon the user. Use it at your own risk.

 

 

 

 

 
© Copyright 2004-2005 Ohzawa Lab. All Rights Reserved.