설치 가이드 · 5 min read · Oct 13, 2025
Ubuntu 20.04에 Etherpad 설치하는 방법

Etherpad는 작가들이 동시에 텍스트 문서를 편집하고 모든 편집을 실시간으로 모니터링할 수 있는 웹 기반 실시간 온라인 편집기입니다. 오픈 소스이며, 사용자 정의가 가능하고 각 저자의 텍스트를 자신만의 색상으로 표시할 수 있는 기능을 제공합니다. 또한 사용자 및 그룹을 관리하기 위해 애플리케이션과 통합할 수 있는 HTTP API를 제공합니다. Etherpad에 이메일 알림, 파일 업로드, 비디오 통화를 통합하는 데 도움이 되는 여러 플러그인을 제공합니다. 이 튜토리얼에서는 Ubuntu 20.04 서버에 Etherpad 웹 기반 편집기를 설치하는 방법을 보여줍니다.
전제 조건
- Ubuntu 20.04를 실행하는 서버.
- 서버 IP에 포인팅된 유효한 도메인 이름.
- 서버에 구성된 루트 비밀번호.
시작하기
시작하기 전에 시스템 패키지를 최신 버전으로 업데이트해야 합니다. 다음 명령어를 실행하여 업데이트할 수 있습니다:
apt-get update -y모든 패키지가 업데이트되면 시스템에 몇 가지 종속성을 설치해야 합니다. 다음 명령어로 모두 설치할 수 있습니다:
apt-get install gnupg2 git unzip libssl-dev pkg-config gcc g++ make build-essential -y모든 패키지가 설치되면 다음 단계로 진행할 수 있습니다.
MariaDB 데이터베이스 설치 및 구성
Etherpad는 데이터베이스 백엔드로 MariaDB를 사용합니다. 따라서 시스템에 MariaDB 서버를 설치해야 합니다. 다음 명령어로 설치할 수 있습니다:
apt-get install mariadb-server -yMariaDB를 설치한 후 다음 명령어로 MariaDB 셸에 로그인합니다:
mysql로그인 후 다음 명령어로 Etherpad용 데이터베이스와 사용자를 생성합니다:
MariaDB [(none)]> create database etherpad;
MariaDB [(none)]> grant all privileges on etherpad.* to etherpad@localhost identified by 'password';다음으로, 권한을 플러시하고 다음 명령어로 MariaDB에서 종료합니다:
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;이 시점에서 Etherpad에 대한 데이터베이스가 구성되었습니다. 이제 다음 단계로 진행할 수 있습니다.
Node.js 설치
Etherpad는 Node.js를 기반으로 합니다. 따라서 시스템에 Node.js를 설치해야 합니다. 기본적으로 Ubuntu 20.04 표준 저장소에는 최신 버전의 Node.js가 없습니다. 따라서 Node.js 저장소를 시스템에 추가해야 합니다. 다음 명령어로 추가할 수 있습니다:
curl -sL https://deb.nodesource.com/setup_14.x -o nodesource_setup.sh
bash nodesource_setup.sh저장소가 추가되면 다음 명령어로 Node.js를 설치합니다:
apt-get install nodejs -yNode.js를 설치한 후 다음 명령어로 설치된 Node.js 버전을 확인합니다:
node -v다음과 같은 출력을 받아야 합니다:
v14.15.0
작업이 완료되면 다음 단계로 진행할 수 있습니다.
Etherpad 설치 및 구성
Etherpad를 설치하기 전에 Etherpad를 별도의 사용자로 실행하는 것이 좋습니다. 다음 명령어로 Etherpad용 새 사용자를 생성할 수 있습니다:
adduser --home /opt/etherpad --shell /bin/bash etherpad아래와 같이 비밀번호를 설정하라는 메시지가 표시됩니다:
Adding user `etherpad' ...
Adding new group `etherpad' (1000) ...
Adding new user `etherpad' (1000) with group `etherpad' ...
Creating home directory `/opt/etherpad' ...
Copying files from `/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for etherpad
Enter the new value, or press ENTER for the default
Full Name []: Hitesh
Room Number []: 1
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] Y다음으로, 다음 명령어로 Etherpad 홈 디렉토리에 적절한 권한을 부여합니다:
install -d -m 755 -o etherpad -g etherpad /opt/etherpad다음으로, Etherpad 사용자로 전환하고 다음 명령어를 사용하여 Git 저장소에서 Etherpad의 최신 버전을 다운로드합니다:
su - etherpad
git clone --branch master https://github.com/ether/etherpad-lite.git다음으로, 다운로드한 디렉토리로 변경하고 다음 명령어를 사용하여 Etherpad를 실행합니다:
cd etherpad-lite
bin/run.sh이렇게 하면 모든 종속성이 설치되고 Etherpad 서버가 시작됩니다. 서버가 성공적으로 시작되면 다음과 같은 출력을 받아야 합니다:
[2020-11-11 06:46:44.783] [INFO] console - Your Etherpad version is 1.8.6 (2c8769a)
[2020-11-11 06:46:44.958] [INFO] console - You can access your Etherpad instance at http://0.0.0.0:9001/
[2020-11-11 06:46:44.958] [WARN] console - Admin username and password not set in settings.json. To access admin please uncomment and edit 'users' in settings.json
[2020-11-11 06:46:44.958] [WARN] console - Etherpad is running in Development mode. This mode is slower for users and less secure than production mode. You should set the NODE_ENV environment variable to production by using: export NODE_ENV=production다음으로, CTRL + C를 눌러 서버를 중지합니다. 다음으로, settings.json 파일을 편집하고 데이터베이스 및 관리자 설정을 정의해야 합니다:
nano settings.json다음 줄을 제거합니다:
"dbType" : "dirty",
"dbSettings" : {
"filename" : "var/dirty.db"
},MySQL 설정을 아래와 같이 변경합니다:
"dbType" : "mysql",
"dbSettings" : {
"user": "etherpad",
"host": "localhost",
"port": 3306,
"password": "password",
"database": "etherpad",
"charset": "utf8mb4"
},trustProxy 줄을 true로 변경합니다:
"trustProxy": true,관리자 사용자에 대한 비밀번호를 정의합니다:
"users": {
"admin": {
"password": "adminpassword",
"is_admin": true
},파일을 저장하고 닫은 후 다음 명령어로 필요한 종속성을 설치합니다:
./bin/installDeps.sh모든 종속성이 설치되면 다음 명령어로 Etherpad 사용자에서 종료합니다:
exit이 시점에서 Etherpad가 설치되고 구성되었습니다. 이제 다음 단계로 진행할 수 있습니다.
Etherpad용 Systemd 서비스 파일 생성
다음으로, Etherpad 서비스를 관리하기 위해 systemd 서비스 파일을 생성해야 합니다. 다음 명령어로 생성할 수 있습니다:
nano /etc/systemd/system/etherpad.service다음 줄을 추가합니다:
[Unit]
Description=Etherpad-lite, the collaborative editor.
After=syslog.target network.target
[Service]
Type=simple
User=etherpad
Group=etherpad
WorkingDirectory=/opt/etherpad/etherpad-lite
Environment=NODE_ENV=production
ExecStart=/usr/bin/node /opt/etherpad/etherpad-lite/src/node/server.js
Restart=always
[Install]
WantedBy=multi-user.target파일을 저장하고 닫은 후 다음 명령어로 systemd 데몬을 다시 로드합니다:
systemctl daemon-reload다음으로, Etherpad 서비스를 시작하고 시스템 재부팅 시 자동으로 시작되도록 설정합니다:
systemctl start etherpad
systemctl enable etherpad다음 명령어로 Etherpad 서비스의 상태를 확인할 수도 있습니다:
systemctl status etherpad다음과 같은 출력을 받아야 합니다:
? etherpad.service - Etherpad-lite, the collaborative editor.
Loaded: loaded (/etc/systemd/system/etherpad.service; disabled; vendor preset: enabled)
Active: active (running) since Wed 2020-11-11 06:50:49 UTC; 4s ago
Main PID: 12269 (node)
Tasks: 13 (limit: 4691)
Memory: 119.1M
CGroup: /system.slice/etherpad.service
??12269 /usr/bin/node /opt/etherpad/etherpad-lite/src/node/server.jsEtherpad용 Nginx 구성
이 시점에서 Etherpad가 시작되고 포트 9001에서 수신 대기하고 있습니다. 다음으로, Etherpad에 접근하기 위해 Nginx를 리버스 프록시로 설치하고 구성해야 합니다. 먼저, 다음 명령어로 Nginx를 설치합니다:
apt-get install nginx -y다음으로, 다음 명령어로 새로운 Nginx 가상 호스트 구성 파일을 생성합니다:
nano /etc/nginx/sites-available/etherpad.conf다음 줄을 추가합니다:
upstream etherpad {
server localhost:9001;
keepalive 32;
}
server {
listen 80;
server_name etherpad.mydomain.com;
location / {
client_max_body_size 50M;
proxy_set_header X-Real-IP $remote_addr;
proxy_http_version 1.1;
proxy_pass http://etherpad;
}
}파일을 저장하고 닫은 후 다음 명령어로 Nginx 가상 호스트 구성 파일을 활성화합니다:
ln -s /etc/nginx/sites-available/etherpad.conf /etc/nginx/sites-enabled/다음 명령어로 Nginx의 구문 오류를 확인합니다:
ginx -t다음과 같은 출력을 받아야 합니다:
ginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful다음으로, 변경 사항을 적용하기 위해 Nginx 서비스를 재시작합니다:
systemctl restart nginx다음 명령어로 Nginx의 상태를 확인할 수도 있습니다:
systemctl status nginx다음과 같은 출력을 받아야 합니다:
? nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2020-11-11 06:53:44 UTC; 6s ago
Docs: man:nginx(8)
Process: 12984 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Process: 12985 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 13001 (nginx)
Tasks: 3 (limit: 4691)
Memory: 3.5M
CGroup: /system.slice/nginx.service
??13001 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
??13002 nginx: worker process
??13003 nginx: worker process
Nov 11 06:53:44 ubuntu2004 systemd[1]: Starting A high performance web server and a reverse proxy server...
Nov 11 06:53:44 ubuntu2004 systemd[1]: Started A high performance web server and a reverse proxy server.Etherpad 접근
이제 웹 브라우저를 열고 URL http://etherpad.mydomain.com을 입력합니다. 다음 페이지로 리디렉션됩니다:

페이지 이름을 입력하고 OK 버튼을 클릭합니다. 다음 페이지에서 Etherpad 대시보드를 볼 수 있어야 합니다:

결론
축하합니다! Ubuntu 20.04 서버에 Nginx를 리버스 프록시로 사용하여 Etherpad를 성공적으로 설치하고 구성했습니다. 이제 Etherpad를 프로덕션 환경에서 쉽게 사용할 수 있습니다. 질문이 있으면 언제든지 문의해 주세요.
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.