Software

MediaWiki에 VisualEditor 구성

MediaWiki의 편집 화면에서 시각화된 도구를 사용하기 위해서는 VisualEditor Extension을 사용 한다.

다운로드 사이트로부터 원하는 버전을 다운로드 한다.

cd  ${HOME_MEDIAWIKI}
cd  extensions
 
# wget https://extdist.wmflabs.org/dist/extensions/VisualEditor-REL1_33-8c9c37e.tar.gz
tar -xzf VisualEditor-REL1_33-8c9c37e.tar.gz

cd  ..
vi  LocalSettings.php
    wfLoadExtension( 'VisualEditor' );
    $wgDefaultUserOptions['visualeditor-enable'] = 1;
    $wgHiddenPrefs[] = 'visualeditor-enable';
 
    $wgVirtualRestConfig['modules']['parsoid'] = array(
        'url' => 'http://127.0.0.1:8000',
        'domain' => 'www.jopenbusiness.com',
        'prefix' => 'www.jopenbusiness.com'
    );

VisualEditor 사용을 위해서 Parsoid를 구성 한다.

#--- Default 서비스 설치 위치 : /opt/parsoid/
git clone --recursive https://gerrit.wikimedia.org/r/mediawiki/services/parsoid/deploygit clone --recursive https://gerrit.wikimedia.org/r/mediawiki/services/parsoid/deploy
git clone https://gerrit.wikimedia.org/r/mediawiki/services/parsoid
cd parsoid
npm install

cp  config.example.yaml  config.yaml
cp  localsettings.example.js  localsettings.js

vi  config.yaml
    mwApis
    - # This is the only required parameter
      uri: 'http://www.jopenbusiness.com/mediawiki/api.php'
      domain: 'www.jopenbusiness.com'

vi  localsettings.js
    exports.setup = function(parsoidConfig) {
        parsoidConfig.setMwApi({
            uri: 'http://www.jopenbusiness.com/mediawiki/api.php',
            prefix : 'www.jopenbusiness.com',
            domain : 'www.jopenbusiness.com',
        });
    };

node bin/server.js
# systemctl restart parsoid

 

 

MariaDB의 ibdata 줄이기

 

도로명 주소를 MariaDB에 저장을 하였습니다. Storage 용량이 적은데 도로명 주소를 업로드하니 6GB가 넘어서 삭제 후 다시 등록하려고 하여도 ibdata1 파일의 크기가 줄어 들지 않습니다. 그래서 InnoDB의 데이터 저장 방식을 table별로 저장하도록 변경하고 ibdata1 파일의 크기를 줄입니다.

 

1.  Service 종료

systemctl stop nginx.service
systemctl stop php72-php-fpm.service

 

2.  Database 백업

mysqldump  –opt  -A  -uroot  -p비밀번호  >  /zzdir/all_databases.sql

 

3.  불필요한 파일 삭제와 설정 변경

#— mysql, information_schema, performance_schema 데이터베이스는 삭제하면 안 됩니다.
mysql  -uroot  -p비밀번호  mysql
show  databases;
drop  database  데이터베이스_이름;
exit

vi  /etc/my.cnf
innodb_file_per_table=1                           #— 테이블별로 저장되도록 이 라인을 추가 합니다.

systemctl  stop  mariadb.service
cd  /var/lib/mysql
rm  ib*
systemctl  start  mariadb.service

4.   백업 복구

mysql  -uroot  -p비밀번호  <  /zzdir/all_databases.sql

 

5.  서비스 기동

systemctl start php72-php-fpm.service
systemctl start nginx.service

 

 

 

오비컨

2018.03.21 ~ 2018.03.21, ver 0.01

 

 

[Web Server] Nginx rewrite

 

Nginx을 사용하면 rewrite, try_files을 많이 사용 합니다. rewrite 기능은 자주 사용하니 알고 사용 합시다.

 

Rewrite 사용법

 

rewrite 문법은 아래와 같이 단순 합니다.

문법 : rewrite  정규표현식  대체문자열 [flag]

flag

  • last : Rewrite 실행을 종료하고 변경된 URI로 다시 처리를 시작 합니다.
  • break : Rewrite 처리를 종료 합니다. rewrite가 무한 반복 실행되는 것을 방지 합니다.
  • redirect : 302 temporary redirect 처리를 합니다.
  • permanent : 301 permanent redirect 처리를 합니다.

요청된 parameter는 rewrite 처리후에 변경된 URI 뒤에 자동으로 붙습니다.

 

 

 

오비컨

2018.02.21 ~ 2018.02.21, ver 0.01

 

 

 

Eclipse Workspace 변경 방법

 

프로그램을 개발할 때 Eclipse를 많이 사용 합니다. 업무적으로는 주로 Java 프로그램을 작성할 때 많이 사용 하였습니다. 개인적으로는 영업관리 솔루션인 SuiteCRM과 홈페이지 제작도구인 WordPress 그리고 CRM 서비스인 Salesforce의 Force.com 개발 환경을 구성할 때에도 많이 사용 합니다.

Visual Studio Code는 Markdown 문서를 작성할 때 한번씩 사용하고 Eclipse는 각 용도에 맞게 여러개를 설치하여 사용하고 있습니다.  지금 보니 7개가 설치되어 있습니다.

 

이클립스 workspace 설정

 

“Window > Preferences > General” 메뉴를 선택 합니다.

  • “Workspace” 메뉴에서 현재 설정된 workspace를 확인 합니다.
  • “Startup and Shutdown > Workspaces” 메뉴에서 “Prompt for workspace on startup”을 선택하면 Eclipse를 재기동할 때

 

“File > Switch Workspace > Other” 메뉴에서 바로 workspace를 변경할 수도 있습니다.

 

 

오비컨

2018.02.14 ~ 2018.02.14, ver 0.01

 

 

Nginx URL rewrite for Mediawiki

 

Mediawiki를 사용할 때 URL rewrite 기능을 사용하면 편리한 점이 많습니다. 우선 긴 URL을 의미 있는 간단한 URL로 변경할 수 있고 폴더의 위치와 URL을 동일하게 유지할 필요도 없습니다.

 

서버 환경과 요구 사항

 

서버 환경

  • Nginx 사용 중
  • DOCUMENT_ROOT : /cloudnas/www/jopenbusiness/public_html/
  • Mediawiki가 설치된 폴더 : /cloudnas/www/jopenbusiness/public_html/mediawiki/

 

요구 사항

  • URL Rewrite 전 : http://www.jopenbusiness.com/mediawiki/index.php?title=SuiteCRM
  • URL Rewrite 후 : http://www.jopenbusiness.com/mediawiki/SuiteCRM

 

URL Rewrite 설정

 

vi  /etc/nginx/sites-available/jopenbusiness.conf

location / {
    rewrite    ^/mediawiki([^?]*)(?:\?(.*))?    /mediawiki/index.php?title=$1&$2 last;
index index.html index.htm index.php;
}

location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
try_files $uri /mediawiki/index.php?title=$1&$args;
expires max;
log_not_found off;
}

 

vi  /cloudnas/www/jopenbusiness/public_html/mediawiki/LocalSettings.php

$wgScriptPath = “/mediawiki”;                                   #— Mediawiki가 설치된 폴더
$wgScript = “$wgScriptPath/index.php”;
$wgArticlePath = “/mediawiki/$1”;                           #— URL 호출 방법
$wgUsePathInfo = true;

 

참고 사이트

  • https://code.i-harness.com/ko/q/10ea968
  • https://www.mediawiki.org/wiki/Manual:Short_URL/wiki/Page_title_–_nginx_rewrite–root_access
  • https://www.mediawiki.org/wiki/Manual:Short_URL/Apache

 

 

 

오비컨
2018.02.07 ~ 2018.02.12, ver 0.02