무들네트웍

MoodleDocs
(admin/mnet에서 넘어옴)

이 곳은 영문 무들의 한글화 작업 중인 곳입니다. 여러분들의 많은 도움 부탁드리겠습니다. 감사합니다.

개요

무들네트웍은 무들 1.8판 이후 선보이는 새로운 기능입니다. 네트웍 기능은 무를 관리자로 하여금 다른 무들과의 망을 구축하고 타 무들 서비스의 사용자들과 자원을 공유할 수 있게 합니다.

무들네트웍의 초기판에서는 새로운 인증 플러그인을 제공함으로서 무들 시스템간의 즉시접속(single-sign-on; SSO)를 가능하게 했습니다. 예를들어 사용자명 jody가 자신이 속한 무들 서버에 정상적으로 접속을 했을 경우, 클릭 한 번으로 다른 무들 서버에 개설된 화면에 연결될 수 있다는 것입니다. 일반적으로 원래 원격 서버에는 손님 계정으로만 접속할 수 있지만, 무들네트웍을 설정해 놓음으로서 즉시접속을 통해 원격 서버에서도 jody가 완전한 인증을 득하게 되는 것입니다.

보안

무들네트웍 기능은 서버에 Curl 및 OpenSSL 확장 기능을 필요로 합니다. 무들 1.8판 이상 설치, 갱신할 때에는 타 무들서버와 암호화된 통신을 위해 새로운 OpenSSL 인증키를 자체적으로 생성하며, 이후 대략 한달 주기로 인증키를 바꾸게 됩니다.

통신은 XML-RPC 트랜스포트를 경유하여 이루어지게 되며, XML-RPC 문서는 일차적으로 XMLDSIG(XML 디지탈 서명)으로 압축되며, 다음으로 XMLENC(XML암호화) 과정을 거치게 된다. 암호화는 PHP를 통해 모두 이루어지므로, https(Apache SSL)서버 기능을 요구하지는 않는다.

참고 문헌:

XML-RPC 계층을 호출하여 암호화 또는 서명없이 특정 IP주소를 가진 서버의 접속을 허용할 수 있는 특별한 모드를 활성화시킬 수 있다. 이러한 모드를 통해 무들은 서로 다른 운영체계를 갖는 컴퓨터와 교신을 할 수 있게 된다. This mode is provided to enable Moodle to communicate with other software systems in which the integration of signatures and encryption might be prohibitively difficult. It is not envisioned that unencrypted inter-Moodle networking will ever be enabled.

P2P 네트웍

시스템의 기본 틀이다. 이는 교수자 혹은 학과 단위가 개별 관리자로서 무들을 구동시킬 때 매우 유용하며, 설치시 사용자들이 각 서버를 공유(roam)할 수 있도록 권한을 주어야 한다. 당연히 강좌의 권한도 이에 준한다.

설정

여기에서는 2개의 무들 시스템(MoodleA 및 MoodleB)을 가정한다. 각각은 모두 제대로 설치되어 있고 이전에 무들네트웍이 설정된 적이 없다고 가정한다.

  1. 서로 교신을 할 수 있게 만든다.
    1. 사이트 관리 > 서버 > 환경 에 가서 curl 이 설치되어 있는지를 확인한다
    2. 만일 MoodleA와 MoodleB가 동일 도메인의 호스트라면, 이들이 서로 다른 쿠키 접두어를 가지고 있는지 확인한다. 쿠키 접두어를 바꾸면 즉각 로그아웃이 된다는 점을 명심하라! 쿠키 접두어는 사이트 관리 > 서버 > 세션 처리 에서 바꿀 수 있다.
    3. 양쪽 모두 사이트 관리 > 네트웍 > 공개키 설정에서 네트웍을 켬에 클릭한다.
    4. MoodleA의 사이트 관리 > 네트웍 > 무들네트웍 환경에서 "새 호스트 추가 하단 빈칸에 MoodleB의 URL을 적고 호스트 추가 버튼을 누른다.
    5. MoodleB에서도 동일한 방법으로 MoodleA를 추가한다.
  2. 이용자가 양쪽을 드나들게 만든다.
    1. 양쪽 모두 사이트 관리 > 사용자 > 인증 > 인증 관리에서 무들네트웍 인증을 활성화 시킨다. '설정들'을 클릭하고 원격 사용자 자동 추가를 활성화 시킨다.
    2. MoodleA의 사이트 관리 > 네트웍 > 무들네트웍 환경에서 'MoodleB'를 클릭하고, 상단의 '서비스'를 클릭한다. SSO의 신분 제공자 및 서비스 제공자 영역의 공개 및 등록을 활성화 시킨다.
    3. MoodleB에서도 동일한 방법으로 설정한다.
    4. 양쪽 모두 사이트 관리 > 사용자 > 승인사항 > 역할 규정 에서, "Roam to a remote Moodle moodle/site:mnetlogintoremote"를 가진 역할에게만 탐방이 허용될 것이다. 그에 맞는 권한을 허용하라.
    5. 양쪽 모두 홈페이지에 가서 '무들네트웍 서버' 블럭을 추가하라.
    6. 점검을 하기 위해서는 어느 곳에도 접속해 본 일이 없는 다른 부라우저를 (아니면 다른 컴퓨터로) 사용하길 권한다. 탐방 허가권이 있는 관리자 아닌 계정으로 MoodleA에 로그인하라. 이때 무들네트웍 서버블록이 보여야 하며, 이를 클릭하여 MoodleB에 자동적으로 새 계정을 생성하며 진입할 수 있어야 한다.
  3. 원격 등록 처리 -- 선택 사항. 이것은 MoodleB의 관리자가 원래 MoodleB에 있는 MoodleA의 원격 강좌 등록생을 관리할 수 있게 허용하는 것이며, 그 반대도 마찬가지다.
    1. 양쪽 모두 사이트 관리 > 강좌 > 등록 설정 에서 무들네트웍 플러그인 체크박스를 클릭하고 저장하여 활성화 시킨다. 설정난의 '고치기'를 클릭하여 'allow_allcourses'를 활성화시키거나 원격에 제공하고 싶은 강좌나 범주를 선택한다.
    2. MoodleA에서 사이트 관리 > 네트웍 > 무들네트웍 환경으로 가, 'MoodleB'를 클릭한 후, 상단의 '서비스'를 클릭하고 공개 및 등록을 하여 출석플러그인을 활성화시킨다.
    3. MoodleB에서도 동일하게 설정한다.
    4. 사용 시에는, MoodleA의 사이트 관리 > 네트웍 > MNET 출결로 가 보면, MoodleB가 목록에 나타날 것이다. 여기에서 MoodleB를 클릭하면 원격으로 제공되는 MoodleB의 강좌목록을 볼 수 있다. 원하는 강좌를 선택하고 그 강좌에 배정할 자신의 학생들을 등록하면 된다.

활용 방안

공용 중계기로 연결

A Community hub is a Moodle server that is configured to accept connections from other Moodle servers, and to provide a set of services to users of these other servers. This guideline will direct you to connect to a Community hub, assess the services it has to offer, and enable those services for your users.

설정

  1. 중계기 간 교신 허용
    1. 사이트 관리 > 서버 > 환경 에 가서 curl 및 openssl이 설치되어 있는지를 확인한다.
    2. 사이트 관리 > 네트웍 > 공개키 설정에서 네트웍을 켬에 클릭한다.
    3. 사이트 관리 > 네트웍 > 무들네트웍 환경에서 하단의 '새 호스트 추가'난에 공용 중계기의 URL을 입력하고 호스트 추가를 클릭한다.
    4. The host details for the Community Hub should appear with the Site Name field already populated. Click Save changes
    5. The details will be written to your database and two new tabs will appear in this window: 'Services' and 'Logs'. Click Services
    6. A list of services will appear, each with a checkbox for 'publish' and 'subscribe'. Check the checkboxes for any services you want to publish or subscribe to

활용 방안

If the Community Hub has already enabled a service for you, there will be a tick alongside the appropriate checkbox, for example: if the Hub is publishing Moodle Networked Enrolment, then a tick will appear alongside the subscribe checkbox for this service. Note that in order to enable some functionality, prominently single-sign-on, you may have to publish a service, e.g. the Identity Provider service. The Community Hub will access this service on your Moodle, asking it to authenticate your users.

  1. Enable Roaming
    1. Subscribe to SSO (Service Provider) by checking the box
    2. Publish SSO (Identity Provider) by checking the box
    3. Click Save changes
    4. Go to 사이트 관리 > 사용자 > Permissions > Define Roles, and grant the capability Roam to a remote Moodle moodle/site:mnetlogintoremote to an appropriate role
    5. Go to 사이트 관리 > 사용자 > 인증 and enable the Moodle Network authentication plugin
    6. Go to your homepage, turn on editing, and add the 'Network Servers' block
    7. Using a different web-browser, log on as a non-admin user who inhabits the role you granted the roaming capability to
    8. Note that the Community Hub is listed in the Network Servers block on the homepage. Click on the link to that server
    9. Some of your user details will be transferred to the Community Hub server, and a browsing session will be started for you as if you had logged on there directly
  2. Enable Networked Enrolment
    1. Return to the web browser you've been using as the site administrator
    2. Go to 사이트 관리 > 네트웍 > 무들네트웍 환경 and click on the entry for the Community Hub.
    3. Click on the Services tab
    4. Subscribe to Moodle Networked Enrolment
    5. Go to 사이트 관리 > 강좌 > Enrolment and enable the Moodle Network enrolment plugin. Click Save changes
    6. Click on edit to view the details for networked enrolments.
    7. Go to 사이트 관리 > Networking > Enrolments to see a list of Moodle servers that offer this service to you
    8. Click on a server name to view a list of courses that the server offers to your users
    9. Click on a course name, to view a list users that you can enrol in this course
    10. Enrol users
    11. Profit!

공통 중계기의 운영

A Community hub is a regular Moodle site that runs in a special mode. As a Moodle Administrator, when you add another Moodle site to your list of network peers, your Moodle will contact that site to find out what it is called, and to request its public key for encrypted communication. Normally, the remote server will simply provide this information without making any record of the transaction.

A Community hub is different. As soon as you add an entry for a Community hub to your system, the Community hub will create an entry for your server in its list of hosts, and may immediately begin to offer services to the users of your site.

This section will guide you to set up a Community hub, and select services to offer to all comers.

설정

  1. 무들네트웍을 활성화한다.
    1. 사이트 관리 > 서버 > 환경 에서 curl 및 openssl이 설치되어 있는지를 확인
    2. 사이트 관리 > 네트웍 > 공개키 설정에서 네트웍을 켬에 클릭
    3. 사이트 관리 > 네트웍 > 무들네트웍 환경에서 모든 호스트 등록에 체크하고 변경사항 저장을 누른다.
    4. 같은 화면의 호스트 목록의 첫번째가 All hosts로 되어 있으면, 이를 클릭한다.
    5. 바뀐 화면의 상단 서비스를 클릭한 후 모든 탐방객에게 제공할 서비스를 활성화 한다.

참조