RadarURL
Skip to content
조회 수 2070 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

install_mediawiki_1.jpg


install_mediawiki_2.jpg





미디어위키에 CKEditor(위지윅 에디터) 익스텐션 + LDAP 익스텐션 연동시키려면 버전 조합에 신경써야 한다.

왜냐하면 CKEditor의 경우 아래 링크에서 확인할 수 있듯이 연동을 지원하는 미디어위키 버전이 제한적이며(CKEditor는 브라우저 호환성 썩 좋지 않다)...
http://www.mediawiki.org/wiki/Extension:WYSIWYG

브라우저별 CKEditor 테스트 결과(스마트폰, 태블릿 류는 안 되는 듯)
Desktop
IE 10 - O
Firefox 26 - O
Chrome - O

Mobile
iPhone 5 Safari - X
iPad 4 Safari - X
Galaxy 2 - X

LDAP 모듈의 경우 2014년 1월 현재 최신버전인 1.22.0(2013-12-06)을 지원하는 LDAP extension이 없다. ㅋ
http://www.mediawiki.org/wiki/Extension:LDAP_Authentication

MediaWiki 1.14 [2]
MediaWiki 1.15 [2]
MediaWiki 1.16 [2]
MediaWiki 1.17.3
MediaWiki 1.18.6
MediaWiki 1.19.1
MediaWiki 1.20.3
MediaWiki 1.21.1



그래서 아래 조합으로 설치

OS : RHEL 6.5 x86_64
Apache : 2.2.20
PHP : 5.4.8
MySQL : 5.5.13
Mediawiki : 1.21.1
Extension:WYSIWYG (ckeditor) : WYSIWYG_MW_v1.20.2.zip
Extension:LDAP : 2.0c-31-g300d43f


http://test.asenjo.nl/index.php/Mediawiki_ipa



1. PHP 5.4.8 컴파일 설치

① 64bit RHEL의 경우(RHEL 6.4 x86_64)의 경우 openldap-devel 패키지의 /usr/lib64/libldap.so 를 /usr/lib에 심볼릭링크한다. 안 해주면 php 컴파일 시 ldap 헤더를 못 찾는다고 나오기 때문
[root@wiki php-5.2.11]# ln -s /usr/lib64/libldap.so /usr/lib/

② PHP 컴파일 ("--with-ldap", "--with-ldap-sasl" 옵션 포함)
[root@wiki php-5.2.11]# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --enable-mod-charset --with-config-file-path=/usr/local/apache/conf --enable-sigchild --with-libxml-dir --with-openssl --with-zlib --with-zlib-dir --with-bz2 --enable-calendar --with-curl --enable-dba --with-gdbm --enable-exif --enable-ftp --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --enable-gd-native-ttf --with-gettext --with-imap --with-imap-ssl --with-kerberos --enable-mbstring --with-mhash --with-mcrypt --with-mysql=/usr/local/mysql --enable-sockets --with-regex=php --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-wddx --with-ldap --with-ldap-sasl



Generating files
updating cache ./config.cache
creating ./config.status
creating php5.spec
creating main/build-defs.h
creating scripts/phpize
creating scripts/man1/phpize.1
creating scripts/php-config
creating scripts/man1/php-config.1
creating sapi/cli/php.1
creating main/php_config.h
creating main/internal_functions.c
creating main/internal_functions_cli.c
+--------------------------------------------------------------------+
| License:                                                           |
| This software is subject to the PHP License, available in this     |
| distribution in the file LICENSE.  By continuing this installation |
| process, you are bound by the terms of this license agreement.     |
| If you do not agree with the terms of this license, you must abort |
| the installation process at this point.                            |
+--------------------------------------------------------------------+

Thank you for using PHP.

[root@wiki php-5.2.11]# make && make install


2. PHP 가속기 설치

※ 참고링크
http://jmnote.com/wiki/Cannot_find_config.m4.
http://blog.keypointer.co.kr/?p=137


[root@wiki www]# /usr/local/php/bin/pecl version
PEAR Version: 1.9.4
PHP Version: 5.4.8
Zend Engine Version: 2.4.0
Running on: Linux wiki.idc-lds.co.kr 2.6.32-431.1.2.el6.x86_64 #1 SMP Sun Nov 24 09:37:37 EST 2013 x86_64
[root@wiki www]#



[root@wiki oci8]# pwd
/usr/local/src/APM/php-5.4.8/ext/oci8
[root@wiki oci8]#
[root@wiki oci8]# /usr/local/php/bin/pecl install apc
downloading APC-3.1.13.tgz ...
Starting to download APC-3.1.13.tgz (171,591 bytes)
.....................................done: 171,591 bytes
55 source files, building
WARNING: php_bin /usr/local/php/bin/php appears to have a suffix /bin/php, but config variable php_suffix does not match
running: phpize
Configuring for:
PHP Api Version:         20100412
Zend Module Api No:      20100525
Zend Extension Api No:   220100525
ERROR: `phpize' failed
[root@wiki oci8]#
[root@wiki oci8]# vi /tmp/patch-pear-builder.txt

--- Builder.php 2009-05-05 09:41:01.000000000 -0700
+++ Builder.php 2009-05-05 08:43:28.000000000 -0700
@@ -457,7 +457,16 @@
             $callback[0]->debug = $olddbg;
         }

-        $exitcode = is_resource($pp) ? pclose($pp) : -1;
+        if (is_resource($pp)) {
+            $exitcode = pclose($pp);
+            // If PHP was compiled with --enable-sigchild, pclose() return
+            // values cannot be trusted. (See http://bugs.php.net/bug.php?id=29123)
+            if ($this->_hasConfigureSetting('enable-sigchild') && $exitcode == -1) {
+                $exitcode = 0;
+            }
+        } else {
+            $exitcode = -1;
+        }
         return ($exitcode == 0);
     }

@@ -471,4 +480,35 @@
         }
         return PEAR_Common::log($level, $msg);
     }
+    
+    /**
+     * See if PHP was built with the particular configuration setting.
+     * Useful for checking whether --enable-sigchild is active; if it
+     * is, pclose() return values can't be trusted.
+     *
+     * @param string $setting the setting to check for. Will automatically
+     * have any leading dashes stripped.
+     *
+     * @return bool whether the setting is present
+     */
+    
+    function _hasConfigureSetting($setting) {
+        $setting = preg_replace("/^-+/", '', $setting);
+
+        ob_start();
+        phpinfo(1);
+        $cc = ob_get_clean();
+        foreach (explode("\n", $cc) as $line) {
+            if (array_shift(explode(' => ', $line)) == "Configure Command") {
+                $config = explode('___', preg_replace("/'\s+'/", "'___'", array_pop(explode(' => ', $line, 2))));
+                break;
+            }
+        }
+        foreach ($config as $opt) {
+            if (false !== strpos($opt, $setting)) {
+                return true;
+            }
+        }
+        return false;
+    }
}
\ No newline at end of file





[root@wiki oci8]# cd /usr/local/php/lib/php/PEAR
[root@wiki PEAR]# cp Builder.php Builder.php.bak
[root@wiki PEAR]# patch -p0 < /tmp/patch-pear-builder.txt
patching file Builder.php
Hunk #1 succeeded at 472 (offset 15 lines).
Hunk #2 succeeded at 495 (offset 15 lines).
[root@wiki PEAR]# cd /usr/local/src/APM/php-5.4.8/ext/oci8
[root@wiki oci8]# /usr/local/php/bin/pecl install apc
(중략)
Build process completed successfully
Installing '/usr/local/php/include/php/ext/apc/apc_serializer.h'
Installing '/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/apc.so'
install ok: channel://pecl.php.net/APC-3.1.13
configuration option "php_ini" is not set to php.ini location
You should add "extension=apc.so" to php.ini
[root@wiki oci8]#

▼ php.ini에 아래 내용 추가
[apc]
extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/apc.so"

여기까지 했으면 아파치 재시작하여 APC 적용


3. Mediawiki 설치 후 Mediawiki용 LDAP extension 설치

① extensions 디렉토리에 아래 tar.gz 파일 압축 풀고 디렉토리명을 LdapAuthentication 로 변경
wikimedia-mediawiki-extensions-LdapAuthentication-2.0c-31-g300d43f.tar.gz

② extension 설치하면 아래 명령어로 데이터베이스 업데이트
[root@wiki www]# /usr/local/php/bin/php ./maintenance/update.php


③ Mediawiki의 LocalSettings.php 파일에 아래 내용 추가

require_once( "$IP/extensions/LdapAuthentication/LdapAuthentication.php" );

$wgAuth = new LdapAuthenticationPlugin();

# Domain name
$wgLDAPDomainNames = array(
    "idc-lds.co.kr",
);

$wgLDAPServerNames = array( "idc-lds.co.kr" => "ns.idc-lds.co.kr" );

$wgLDAPSearchStrings = array(
    "idc-lds.co.kr" => "uid=USER-NAME,cn=users,cn=accounts,dc=idc-lds,dc=co,dc=kr"
);

$wgLDAPEncryptionType = array(
    "idc-lds.co.kr" => "ssl"
);

# user and password for proxy agent. Use unprivileged user!!!
$wgLDAPProxyAgent = array(
  "idc-lds.co.kr"=>"uid=mediawikiuser,cn=users,cn=accounts,dc=idc-lds,dc=co,dc=kr"
);
$wgLDAPProxyAgentPassword = array(
  "idc-lds.co.kr"=>"mediawikiuserpassword"
);


출처 : http://mydoc.digimoon.net/board/zboard.php?id=board&page=1&sn1=&divpage=1&category=7&sn=on&ss=off&sc=off&select_arrange=hit&desc=asc&no=991

?

List of Articles
번호 제목 글쓴이 날짜 조회 수
162 페도라12 yum(rpm)으로 APM 설치 (수호신패치 포함) JaeSoo 2011.06.08 12310
161 특별한 퍼미션 setuid setgid sticky bit JAESOO 2015.05.27 554
160 톰캣(Tomcat) 실시간 로그보기 JAESOO 2015.04.13 1069
159 좀비 프로세스 찾기, 죽이기 JAESOO 2015.05.27 898
158 유닉스 상에서 ls 출력물을 MB 단위로 출력해주는 옵션 JAESOO 2016.05.04 446
157 웹서버 CentOS 6.5 MRTG 설치 JAESOO 2014.12.26 1006
156 올바른 자바 프레임워크 선택하기 JAESOO 2014.05.09 1044
155 안전한 CentOS를 위한 방화벽, 보안 설정 JAESOO 2014.05.26 2093
154 아파치서버 동시접속자수에 따른 메모리 산정 (대략) JAESOO 2015.01.13 1613
153 시스템 관리자가 알아야 할 리눅스 모니터링 툴 20선 (20 Linux System Monitoring Tools Every SysAdmin Should Know) JAESOO 2014.05.29 2301
152 스프링 프레임워크(Spring Framework) 버전(version) 확인하기 JAESOO 2014.05.09 1368
151 스트러츠와 스프링의 비교 JAESOO 2014.05.09 1414
150 쉘 프로그래밍을 이용한 시스템 관리 기법 JAESOO 2016.05.12 540
149 성능 엔지니어링 대한 접근 방법 (Performance tuning) JAESOO 2016.05.05 489
148 리눅스에서 일반 계정으로 httpd 80포트 실행하기 JAESOO 2014.05.26 1106
147 리눅스에서 MYSQL 데이터 디렉토리 변경 JAESOO 2014.06.04 2015
146 리눅스에서 i386,i586,i686, x86의 차이점 JAESOO 2014.05.30 2176
145 리눅스로 MRTG 트래픽분석서버 구축 JAESOO 2014.12.26 730
144 리눅스(Linux)에서 하위 디렉토리까지 파일 찾기, 찾아서 지우기 JAESOO 2015.02.24 1232
143 리눅스(Linux) 디렉토리 구조 JAESOO 2016.10.20 602
Board Pagination Prev 1 2 3 4 5 6 7 8 9 Next
/ 9

PageViews   Today : 9089 Yesterday : 5037 Total : 21965141  /  Counter Status   Today : 8787 Yesterday : 4602 Total : 1191510

Edited by JAESOO

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소