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.db 의 items 테이블을 확인하시면 되고
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 해야 됩니다ㅠ
질문있으시면 댓글로 남겨주세요.