티스토리 뷰

도서 관리를 사서나 관리자의 입장에서만 본다면 설치가 어렵게 느껴지는 웹 응용 보다는 간단한 설치로 기능을 사용해 볼 수 있는 데스크 탑 응용이 유용하겠지만 정보를 여러 사람이 함께 공유하고자 한다면 서버 역할을 할 한군데만 약간의 노력으로 시스템을 설치하고 모든 사람이 웹 브라우저로 관리자 및 이용자 기능을 손쉽게 사용할 수 있는 웹 응용이 적절할 것이다.
   
본 포스팅에서는 여러 사용자가 웹 시스템을 통해서 다양한 기능을 편리하게 사용할 수 있는 오픈 소스 도서 관리 프로그램으로 OpenBiblio를 선택하여 윈도우에 기반 시스템과 함께 간단하게 설치 하는 과정을 설명할까 한다. 설치과정은 다음과 같이 크게 3단계로 이루어진다.

  1. 기반 시스템 설치(웹서버 및  DBMS - XAMPP설치로 해결)
  2. 도서 관리 패키지 설치(OpenBiblio 설치 및 주요 설정)
  3. OpenBiblio 사용하기


■ 기반 시스템 설치(웹서버 및  DBMS - XAMPP설치로 해결)


웹서버와 DBMS등의 기반 시스템을 사전 지식 없이 설치 하기란 좀처럼 쉽지 않다, 특히 DBMS와 웹 스크립트가 잘 연동하도록 설정하는 것은 왠만한 지식과 경험이 없이는 너무 힘든 작업 일 수 있는데, 이런 과정을 손쉽게 정리해 주는 도구가 있다. 바로 XAMPP이다.
  
XAMPP는 윈도우, 리눅스, 맥, 솔라리스등 다양한 운영체제에 아파치 웹서버/MySQL DBMS/PHP 이른바 APM 패키지를 손쉽게 설치할 수 있도록 돕고, 간단한 컨트롤러를 통해서 서비스 시작/중단 및 설정을 할 수 있도록 해준다.
  
http://sourceforge.net/projects/xampp/ 에서 최신 안정 버전을 다운로드 받는다.
(본 포스팅에서는 2012-09-29 릴리즈된 xampp-win32-1.8.1-VC9-installer.exe를 다운로드 받아 설치한다)
설치 프로그램 다운로드는 상단 Files탭 선택후 xampp windows 폴더에서 최신 파일을 선택하면 된다.




XAMPP는 몇번의 클릭으로 간단하게 설치할 수 있는데 도서관리 패키지에 필요한 것은 웹서버와 MySQL DBMS, PHP 정도이지만 XAMPP 설치에는 Perl, Tomcat 서버, Filezilla FTP 서버, Mercury 메일 서버 등도 함께 설치하므로 참고한다. 단 다른 서버 들이 설치되어도 자동으로 실행되는 것은 아니므로 안심해도 된다. 컴포넌트 선택 까지는 그냥 Next를 클릭한다.





설치 폴더는 아래의 예와 같이 xampp_book으로 해도 되고, 디폴트 값으로 설정해도 된다. 해당 폴더에 모든 프로그램들이 설치되고 DB나 웹폴더 또한 해당 폴더를 기준으로 위치하므로 관리에 용이하다. 폴더 지정후 Install을 클릭하고, 설치후에 Finish를 누르면 설치는 끝난 것이다.





Finish 버튼을 누르면 아래의 화면과 같이 XAMPP 컨트롤 판넬을 시작할것이냐 묻는데 Yes를 선택해서 XAMPP 컨트롤 판넬을 가동시킨다.

XAMPP 컨트롤 판넬은 XAMPP가 설치한 서버들의 가동 중단과 설정등을 할 때 사용하면 된다.



XAMPP 컨트롤 판넬은 아래의 그림과 같으며 손으로 서버를 시작/중단 할 경우에는 맨 좌측의 서비스를 모두 Off(X)상태로 하면 시스템 기동과 관계없이 수동으로 서버를 가동/중단 할 수 있고 컨트롤 판넬 없이도 자동으로 서비스가 동작하도록 할 경우에는 맨 좌측의 서비스 모드를 켜두면 시스템이 기동하면서 자동으로 서비스가 동작하게 된다. 도서관리 패키지에서는 Apache와 MySQL만 동작하고 있으면 된다.




  
◆ 웹서버와 데이터베이스 기본 설정하기 
웹서버는 기본적으로 http(80포트)와 https(443포트)를 모두 지원하도록 설정되어 있는데 이중에서 내부적인 용도로 SSL을 지원하지 않을 예정이라면 환경 설정에서 관련 설정을 주석 처리(해당 라인 맨앞에 #을 붙인다)하면 된다.
웹서버 관련 환경 설정은 아래 그림과 같이 XAMPP 컨트롤 판넬의 Apache옆에 있는 Config버튼>Apache(httpd.conf)를 클릭한다.




환경 설정은 메모장을 통해서 이루어 지는데 수정후 저장하고 메모장을 종료시키면 된다. SSL관련 설정을 주석처리하려면 아래와 같이 메모장 검색창에서 "ssl"로 검색하면서 관련 문장 맨앞에 #를 붙여 주석 처리하면 된다. 설정이 끝나면 반드시 stop/start 시켜주어야 설정 내용이 서비스에 반영된다. SSL 관련 설정은 아래와 같다. SSL 관련 설정을 정상적으로 주석 처리하고 Apache를 재가동시키면 포트에는 443은 없고 80만 나오게 될것이다.

LoadModule ssl_module modules/mod_ssl.so
...
Include "conf/extra/httpd-ssl.conf"
...

<IfModule ssl_module>
    SSLRandomSeed startup builtin
    SSLRandomSeed connect builtin
</IfModule>




PHP 관련한 설정도 반드시 확인해야 할 사항인데, XAMPP는 기본적으로 short_open_tag(PHP 문장을 인식하려면 <? 또는 <?php로 시작해야 하는데 short_open_tag 옵션을 켜두지 않으면 <?로 기술한 PHP문장들은 인식할 수 없다)가 Off인데 이 부분을 켜두지 않아 비정상적으로 동작 할 수 있고, 최대 첨부 파일 크기 등도 조정해둘 필요가 있다.


PHP 관련 설정은 XAMPP 컨트롤 판넬의 Apache옆에 있는 config버튼>php(php.ini)를 클릭한다.
PHP 설정도 Apache 설정과 마찬가지로 메모장에서 검색-수정 이후 저장하는 방식으로 수정하고 아래의 설정값을 참조하여 적절하게 수정한다. PHP 설정을 수정한 경우도 서비스에 적용하려면 Apache를 재기동해야 하는데, 앞선 Apache 설정과 PHP 설정을 모두 수정한 다음 한번만 Apache를 재기동하면 보다 손쉽게 설정 작업을 마무리 할 수 있다.

  short_open_tag = On
  error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED
  post_max_size = 64M
  upload_max_filesize = 32M
  date.timezone = Asia/Seoul


기반 시스템 설치의 마지막은 MySQL 설정으로 XAMPP에 탑재된 MySQL의 관리자 비밀번호를 설정하는 것이 필요하다.
MySQL 관리자의 비밀번호는 웹브라우저를 통해 수행할 수 있는데, 브라우저에서 localhost나 설치 PC의 IP주소를 입력하면 아래와 같은 화면을 통해 시스템을 관리할 수 있다.




위와 같은 화면이 나오면 언어를 English를 선택하고 첫 화면에서 Security를 클릭하여 아래와 같은 XAMPP 보안 상태 검사 창을 띄운다.
기본 설정에서는 비밀번호가 없어 보안 수준이 낮다고 나오는데 하단의 xamppsecurity.php 링크를 클릭하여 비밀번호를 설정하면 된다.




MySQL 관리자(root) 비밀번호를 새로 입력하고 Password changing 버튼을 클릭하면 기본 시스템 설치 작업은 끝난다. 




좌측의 Security 메뉴로 다시 XAMPP 보안 상태를 확인하면 아래와 같이 MySQL과 phpMyAdmin의 상태가 secure로 바뀌어져 있을 것이다.




 

 도서 관리 패키지 설치(OpenBiblio 설치 및 주요 설정)


◁ 우선은 설치 파일을 최신 버전으로 다운로드 받는다 : http://sourceforge.net/projects/obiblio/files/OpenBiblio/ 
    (예제에서는 0.7.1 버전을 zip 파일로 받았다.)
 
◁ 다운로드 받은 파일은 xampp_book폴더(각자 XAMPP 설치시 지정했던 폴더) 아래의 htdocs(웹 루트 폴더)에 복사한 다음 아래의 그림과 같이 해당 위치에서 압축을 해제한다. 압축을 해제하여 htdocs 아래 openbiblio 폴더가 생기면 정상이다.
(C:\xampp_book\htdocs\openbiblio 폴더에 있는 install_instructions.html를 참조해서 설치하면 된다)


 
◁ XAMPP 컨트롤 판넬에서 Apache(웹서버)와 MySQL(DBMS)이 정상 가동중인지 확인한다.
 
 웹브라우저를 열고 localhost를 입력하면 XAMPP Page가 나오는데 좌측 메뉴에서 Tools>phpMyAdmin을 클릭하고 


MySQL Security설정해서 입력했던 root 사용자와 비밀번호로 MySQL DBMS에 로그인한다.




  

  
 phpMyAdmin으로 정상적으로 MySQL DBMS에 로그인했으면 우측 상단의 Database 탭을 눌러 데이터베이스 섹션을 연다.
 
    데이터베이스 섹선 상단의 "Create databasde"에 새로 생성할 데이터베이스 이름 "OpenBiblio"를 입력하고 Collation은 utf8_general_ci를 선택한 다음 Crteate 버튼을 클릭하여 데이터베이스를 생성한다. OpenBiblio 데이터베이스가 정상적으로 생성되었는지 데이터베이스 리스트에 OpenBiblio DB를 확인한다. 좀더 보안을 확보한다면 DB 사용자를 root가 아닌 다른 사용자를 추가하여 권한 설정을 하는 것이 좋지만, 이 과정은 일단 생략한다. 




 
 OpenBiblio DB를 정상적으로 생성하였으면 DB 접속을 위한 OpenBiblio 설정 파일에 관련 내용을 저장한다. 위치는 웹폴더(C:\xampp_book\htdocs\openbiblio) 아래에 있는 database_constants.php 파일로 아래의 그림과 같이 OBIB_USERNAME에는 DB사용자 ID(root)를 입력하고 OBIB_PWD에는 비밀번호를 입력한다. 파일 편집은 jEdit(http://www.dongwun.com/tc/2 참조)나 윈도우 메모장 등을 사용한다.




 
 이제 설치를 위한 준비가 되었고 본격적으로 OpenBiblio를 설치하면 되는데, 웹브라우저를 열고 주소창에 다음과 같은 주소를 입력하여 아래 그림과 같이 별도의 경고 메시지가 없어야 한다. 경고 메시지가 있다면 위의 단계에서 설정 작업에 문제가 있거나 설치가 잘못된 경우이므로 다시 점검하여 설치 시작 화면에 경고가 없어야 한다. 





 설치 화면에서 "Install Test Data"를 체크해서 시스템 설치와 함께 몇가지 데모를 위한 데이터도 입력한다.

설치 과정은 데이터베이스에 필요한 테이블을 생성하고 데모 데이터를 입력하는 것이기 때문에 금방 끝난다. 아래가 설치 종료 화면이다.





 설치가 끝났으면 설치 종료화면에 있는 "start using OpenBiblio"링크를 클릭하거나 주소창에 http://localhost/openbiblio를 입력하면 사용을 시작할 수 있다. OpenBiblio의 초기 관리자 아이디와 비밀번호는 admin/admin이므로 관리자 로그인후 비밀번호를 반드시 수정해 준다. 다음은 admin 관리자로 로그인한 첫 화면이다.




 

 OpenBiblio 사용하기


 도서관 정보 입력 : Admin>Library Settings 에서 수행하며 한글을 입력할 때는 HTML Charset에 "utf-8"로 먼저 변경한 다음  정보를 입력한다. 아래는 도서관명, 운영시간, 연락처 등을 입력한 예제이다.





 분류 관리 : Admin>Collections에서 기존 분류를 수정/삭제/추가 할 수 있다. 아래 그림은 컴퓨터 분류를 추가한 예제이다.





 정보 검색 및 추가 : Cataloging 에서 책에 붙인 바코드를 입력하거나 스캔해서 정보를 검색할 수 있으며 New Bibliography로 새로운 책 정보를 등록할 수 있다. 바코드 번호나 검색어 없이 검색 버튼(Search)을 클릭하면 아래 그림과 같이 전체 소장 정보를 확인할 수 있다. 설치 시점에 있는 정보는 데모를 위해 자동 등록되어 있는 내용들이다.




다음은 청구기호는 임의로 해서 새롭게 책을 등록하는 예제입니다. 책 정보를 등록한 다음에는 New Copy로 책의 코드를 등록해 주면 대출/반납을 위한 준비가 된것입니다.





 책 대출/반납 처리하기 : Circulation 에서 회원을 검색(바코드나 검색어 없이 검색하면 전체 검색)하여 대출/반납을 처리할 수 있다. 새로운 회원을 등록하려면 New Member로 처리하면 된다. 바코드 리더가 있으면 회원 관리와 책 관리 모두 편리하게 처리할 수 있다.





 비회원의 책 검색 및 도서관 공개 : http://localhost/openbiblio/opac/ 주소로 접근하면 스태프가 아니어도 도서관 내 소장 정보를 검색할 수 있다. OPAC(Online Public Access Catalog) 링크는 Cataloging 섹션 중간에도 배치된다.




(주)동운시스템 전화 041-358-3760

동운북스 소개 바로가기
[온라인 문의 및 견적요청]
댓글
  • 프로필사진 김정진 Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; Error has a deprecated constructor in C:\xampp\htdocs\openbiblio\classes\Error.php on line 17

    Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; FieldError has a deprecated constructor in C:\xampp\htdocs\openbiblio\classes\Error.php on line 27

    Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; DbError has a deprecated constructor in C:\xampp\htdocs\openbiblio\classes\Error.php on line 64

    Fatal error: Cannot declare class Error, because the name is already in use in C:\xampp\htdocs\openbiblio\classes\Error.php on line 17

    설치과정에서 계속해서 이것이 나오는 이유는 무엇일까요?
    2019.04.29 00:26
  • 프로필사진 록개발자 사용하시는 PHP 버전에 맞게 코드를 수정하셔야 합니다. 2019.05.16 17:01 신고
댓글쓰기 폼