안녕하세요 씨앤텍 시스템즈 김준형 입니다.
이번 포스트는 DKAN 설치 과정에 대해서 정리해 보았습니다.
우분투는 18.04 버전을 기준으로 설치했습니다.
설치 매뉴얼은 https://docs.getdkan.com/en/latest/installation/basic.html를 참고했습니다.
먼저 DKAN 설치 과정은 4가지로 나눌 수 있습니다.
1. Apache2 설치 및 구성
2. PHP 설치
3. MySQL 설치 및 구성
4. DKAN 패키지 설치
1. Apache2 설치 및 구성입니다.
- 다음과 같은 명령어를 실행하여 Apache2 설치합니다.
> apt-get install apache2
- Apache2 설치 후 관련 환경설정입니다.
> cd /etc/apache2/
- Apache2 시작페이지 및 포트 설정 ( * 포트는 임의로 설정합니다. )
> vi /etc/apache2/ports.conf
> vi /etc/apache2/sites-available/000-default.conf
> vi /etc/apache2/apache2.conf
2. PHP 설치입니다.
- 다음과 같은 명령어를 실행하여 PHP관련 패키지를 설치합니다.
> apt-get install php7.2 --- DKAN은 php기반( jsp, java 기반 가능)
> apt-get install php7.2-gd --- php를 확장하기 위한 패키지
> apt-get install libapache2-mod-php7.2 --- php와 apache2를 연동하기 위한 패키지
> apt-get install php-xml --- php에서 xml을 사용하기 위한 패키지
> apt-get install php-curl --- php에서 curl을 사용하기 위한 패키지
- PHP 관련 패키지들은 따로 환경설정을 하지 않고 단순 연동하기 위한 패키지입니다.
3. MySQL 설치 및 구성입니다.
- 다음과 같은 명령어를 실행하여 Mysql을 설치합니다.
> apt-get install mysql-server --- database를 mysql로 사용하기 위한 db설치
* 설치 도중 root 계정과 passwd 입력 필요
> apt-get install php-mysql --- php환경에서 mysql을 연동하여 쓰기 위한 패키지
- MySQL 접속 및 Database를 생성합니다.
- User 생성 및 권한을 부여합니다.
4. DKAN 패키지 설치
- 다음과 같은 명령어를 실행하여 git을 이용한 오픈 소스를 설치합니다.
> apt-get install git -- git을 사용하기 위한 패키지
> git clone --branch master https://github.com/GetDKAN/dkan-drops-7.git drupal
-- git에 올려진 파일을 현재 내 폴더에 다운
- Apache2에 설정한 경로로 다운받은 git파일을 이동합니다.
> mv drupal /var/www/
- Apache2에 설정한 경로로 이동 후 Apache2 서버를 재시작합니다.
> /etc/init.d/apache2 restart
- Web을 통한 DKAN 설치
① 초기화면
② 설치 전 권한 부족으로 인해 생기는 오류
오류 : FS-001
웹에서 DKAN 설치 폴더를 생성할 권한이 없어서 발생
/var/www/drupal/sites/default 폴더 생성 권한이 없이 때문에 발생
아래 해당 명령어를 통해 파일을 생성하고 권한을 부여
> mkdir /var/www/drupal/sites/default/files -- files 폴더를 생성
> chmod 777 /var/www/drupal/sites/default/files -- files 폴더를 접근권한 설정
오류 : SF-001
DKAN 설치 시 초기 설정 파일이 설치 위치에 존재 하지 않기 때문에 오류 발생
아래 해당 명령어를 통해 설정 파일을 복사 및 접근권한 설정으로 해결 가능
> cp /var/www/drupal/sites/default/default.settings.php /var/www/drupal/sites/default/settings.php
-- default.settings.php 파일을 복사하여 settings.php로 생성
> chmod a+w /var/www/drupal/sites/default/settings.php
-- settings.php 파일의 접근권한을 누구든 접속 가능하게 부여
③ 정상적인 설치 화면
④ DKAN에 사용할 데이터베이스 정보 입력
⑤ DKAN install
⑥ DKAN에서 사용할 관리자 정보 입력 및 사이트 정의
⑦ 웹 페이지 구성 및 접속
설치중에 AJAX관련 오류가 발생할 수 있습니다.
An AJAX HTTP request terminated abnormally. Debugging information follows.
Path: http://192.168.1.51/install.php?profile=dkan&locale=en&continue=1&id=1&op=do StatusText:
ResponseText: ReadyState: 4
> cd /var/www/drupal
> wget http://drupal.org/files/issues/autocomplete-1232416-17-7x.patch
> patch -p1 < autocomplete-1232416-17-7x.patch
명령어로 해결이 가능 합니다.
설치가 완료되고 메인화면에서 create_function 관련 에러가 발생할 수 있습니다.
PHP7.2에선 더 이상 create_function을 사용하지 않기 때문인데요.
DKAN에서 딱 한문장만 사용하기때문에 수정가능합니다.
해당 오류가 나는 파일을 들어가서 수정합니다.
- 기존 오류 문장
$this->utf8_strlen = create_function('$text','return preg_match_all(
"/[\\\\x00-\\\\xBF]|[\\\\xC0-\\\\xFF][\\\\x80-\\\\xBF]*/",
$text, $m);');
- 수정 후 문장
$this->utf8_strlen = function($text){return preg_match_all(
"/[\\\\x00-\\\\xBF]|[\\\\xC0-\\\\xFF][\\\\x80-\\\\xBF]*/",
$text, $m);};
감사합니다.