본문 바로가기

WEB etc

ITDB 설치/운영 step by step

ITDB?

IT Items Database, IT 자산을 관리하는 웹앱입니다. 

오래전 패치는 멈춰있지만 세팅도 쉽고 쓰기 괜찮은 것 같아 소개합니다. 무엇보다 무료입니다.

php와 sqlite 기반입니다. 

설치환경

Ubuntu Server 20.04.2 LTS

설치

아래 명령어들 고대로~~~~ 치시면 문제없이 설치됩니다. 

apache2+ 설치

sudo apt-get update 
sudo apt-get install apache2

php 와 관련 모듈 설치

sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt 
sudo apt-get install php5-gd php5-json php5-sqlite 
sudo apt-get install sqlite3 libsqlite3-dev

혹시 Package 'php5' has no installation candidate 라는 에러가 뜨면 위 명령어들 대신 아래와 같이 입력합니다.

ubuntu 버전이 16.04 이상이면 나는 에러입니다. 

sudo add-apt-repository ppa:ondrej/php
sudo apt-get install php5.6 libapache2-mod-php5.6 php5.6-mcrypt 
sudo apt-get install php5.6-gd php5.6-json php5.6-sqlite 
sudo apt-get install sqlite3 libsqlite3-dev

itdb package 다운 후 itdb 디렉토리에 넣기 

wget https://github.com/sivann/itdb/archive/1.23.zip 
sudo apt install unzip
unzip 1.23.zip 
sudo mv itdb-1.23 /var/www

itdb-1.23 의 권한변경

cd /var/www/itdb-1.23/data
sudo cp pure.db itdb.db
sudo chown www-data itdb.db 
sudo chmod u+w itdb.db 
sudo chown www-data /var/www/itdb-1.23/data 
sudo chmod u+w /var/www/itdb-1.23/data/ 
sudo chown www-data /var/www/itdb-1.23/data/files/ 
sudo chmod u+w /var/www/itdb-1.23/data/files/ 
sudo chown -R www-data /var/www/itdb-1.23/translations 
sudo chmod u+w /var/www/itdb-1.23/translations

apache 설정 변경 후 재시작

# /etc/apache2/sites-available/000-default.conf DocumentRoot /var/www/itdb-1.23 
sudo service apache2 restart

접속/로그인

기본설정이 80포트니까 그냥 아이피 치시면 접속되고, 초기아이디/비밀번호는 admin/admin 입니다.

 

운영

아마 제일 많이 활용하는 페이지는 아무래도 items 와 item 입력 페이지입니다. 

모든 운영환경이 똑같을 수 없기에 db를 고치면 아무래도 좋겠지만,

그건 공수가 많이 들어가니 컬럼명은 그대로 두고 DB 컬럼타입만 Integer인지 아닌지만 확인 후, HTML만 수정해서 쓰시면 됩니다. 

 

컬럼은 sqlite 로 /www/var/itdb-1.23/data/itdb.dbitems 테이블을 확인하시면 되고

PHP 파일들은 /www/var/itdb-1.23/data/php 경로 안에 존재합니다. 

 

item 입력 페이지 수정

item 입력 페이지의 S/N2 컬럼을 '담당자'로 바꾸시려면 

itemform.php 에서 

<tr> <td class='tdt'><?php te("S/N 2");?>:</td><td><input type=text value='<?php echo $sn2?>' name='sn2'></td> </tr> 
------------변경----------
<tr> <td class='tdt'><?php te("담당자");?>:</td><td><input type=text value='<?php echo $sn2?>' name='sn2'></td> </tr>

이렇게만 변경하시면 되겠죠

 

items 리스트 테이블 수정

items 리스트 페이지는 datatables 라는 grid 라이브러리를 쓰고 있습니다. 

저도 포스팅한적 있는 라이브러리인데, 제 포스팅은 최신버전이고 itdb 에서 쓰는 버전은 옛날 버전이라서 구글링과의 괴리가 조금 있습니다. 

다만 공식 레거시 페이지가 있고 잘 나와 있어서 기능 추가시 참고하시면 좋을 것 같습니다. 

 

datatables_listitems_ajax.php 에서 12 line 에 있는 $aColumns 배열을 원하는 컬럼으로 수정합니다. 

이 순서로 테이블에 그대로 나오니 순서도 고려하세요. 

물론 위에서 커스텀한 입력 폼을 고려해서 해야겠죠 

 

동일 파일의 125 line, 161 line에 있는 두 쿼리를 수정합니다.

select 할때 $aColumns 배열에 해당 컬럼이 존재만 한다면 순서는 상관없습니다.  

listitems.php 파일을 열어 143번째 줄부터 존재하는 <th> 태그들을 재배치합니다. 

여기서 커스터마이징 한대로 한글을 맞춰주면 됩니다. 

데이터 밀어넣기

사실 처음 새로운 시스템을 구축할 때 가장 번거로운 부분이 이것인데 

물론 CSV Import 기능을 제공하고 잘 되어 있긴 합니다.

join이 필요한 부분인데도 인덱스넘버가 아니라 텍스트로 넣어도 알아서 카테고리도 생성해주고, 한글도 잘 됩니다. 

 

근데 모든 컬럼 지원이 안 됩니다. 따라서 모든 컬럼을 사용하시려면 해당 기능을 php 로 직접 수정하시거나 itdb.db 를 열어서 insert 해야 됩니다ㅠ

 

질문있으시면 댓글로 남겨주세요.