서버 설치 · 8 min read · Nov 02, 2025
AlmaLinux 9에 Etherpad 설치하는 방법

Etherpad는 Google Docs 및 Zoho Writer와 같은 서비스에 대한 무료 오픈 소스 대안입니다. Etherpad는 팀을 위한 협업 및 실시간 텍스트 편집기로, 웹 기반 텍스트 편집기이기 때문에 언제 어디서나 접근할 수 있습니다.
Etherpad에서의 모든 변경 사항은 실시간으로 발생하며, 버전 관리 및 팀을 위한 내장 형식을 지원합니다. Etherpad는 다양한 플러그인을 지원하는 매우 사용자 정의 가능한 편집기입니다. 또한 doc, pdf, odt, markdown 등과 같은 현대 문서 형식을 지원합니다.
이 튜토리얼에서는 MariaDB 데이터베이스 서버와 Nginx 웹 서버가 있는 AlmaLinux 9 서버에 Etherpad를 설치하는 방법을 보여줍니다. 또한 SSL 인증서를 통해 Etherpad를 안전하게 액세스할 수 있도록 설정합니다.
전제 조건
이 튜토리얼을 완료하려면 다음을 준비해야 합니다:
- AlmaLinux 9 서버 - 이 데모는 호스트 이름이 almalinux9인 AlmaLinux를 사용합니다.
- sudo 권한이 있는 비루트 사용자.
- 서버 IP 주소를 가리키는 도메인 이름.
- Letsecnrypt 및 Certbot을 통해 생성된 SSL 인증서.
종속성 설치
Etherpad를 설치하기 전에 Etherpad에 필요한 몇 가지 종속성을 설치해야 합니다:
- 개발 도구
- Node.js 및 NPM (Node 패키지 관리자)
- MariaDB 데이터베이스 서버
- Nginx 웹 서버
Etherpad 종속성을 설치하려면 다음 단계를 완료하십시오.
개발 도구 설치
먼저 AlmaLinux 서버에 “ 개발 도구 “를 설치해야 합니다. 다음 dnf 명령을 입력하여 “ 개발 도구 “를 설치하고, y를 입력한 후 ENTER를 눌러 진행합니다.
sudo dnf group install "Development Tools"다음으로, 추가 종속성을 설치하기 위해 다음 명령을 실행합니다. 프롬프트가 표시되면 y를 입력하여 확인하고 ENTER를 누릅니다.
sudo dnf install gzip git curl python3-devel openssl-devel pkg-config
Node.js 및 NPM 설치
Etherpad는 주로 Node.js로 작성된 웹 기반 협업 및 실시간 편집기입니다. 이를 설치하려면 Node.js JavaScript 런타임과 NPM (Node 패키지 관리자)을 설치해야 합니다.
이 글을 작성할 당시 Etherpad는 최소한 Node.js v16을 요구하며, 이는 AlmaLinux 앱 스트림 리포지토리에서 기본적으로 제공되며 DNF를 통해 설치할 수 있습니다.
다음 dnf 명령을 실행하여 Node.js 및 NPM을 설치합니다. 설치를 확인하기 위해 y를 입력하고 ENTER를 누릅니다.
sudo dnf install nodejs npmNode.js가 설치되면, 다음 명령을 실행하여 /usr/local/bin 디렉토리를 PATH 환경 변수에 추가합니다. 이렇게 하면 NPM을 통해 설치된 일부 바이너리 파일을 서버에서 실행할 수 있습니다.
echo "export PATH=$PATH:/usr/local/bin" >> ~/.bashrc
source ~/.bashrc다음으로, Node.js와 NPM의 바이너리 파일을 찾기 위해 다음 명령을 실행합니다.
which node
which npm그런 다음, 아래 명령을 사용하여 Node.js 및 NPM 버전을 확인합니다.
node --version
npm --version표시된 출력은 Node.js v16 및 NPM 8.x가 설치되었으며, 두 바이너리 파일이 /bin 디렉토리에 위치하고 있음을 확인합니다.

MariaDB 서버 설치
기본적으로 설치된 Etherpad는 SQLite를 데이터베이스로 사용합니다. 대규모 배포를 위해 Etherpad 설치에 MariaDB/MySQL을 데이터베이스로 사용할 수 있습니다.
다음 dnf 명령을 실행하여 MariaDB 서버를 설치합니다. 프롬프트가 표시되면 y를 입력하여 확인하고 ENTER를 누릅니다.
sudo dnf install mariadb-server
MariaDB가 설치되면, 다음 명령을 실행하여 MariaDB 서비스를 시작하고 활성화합니다.
sudo systemctl start mariadb
sudo systemctl enable mariadb그런 다음, 아래 명령을 사용하여 MariaDB 서비스 상태를 확인합니다.
sudo systemctl status mariadbMariaDB 서버가 실행 중이면 출력은 다음과 같이 표시되어야 합니다:

Nginx 웹 서버 설치
MariaDB 서버를 설치한 후, Etherpad의 리버스 프록시로 사용될 Nginx 웹 서버를 설치합니다. 따라서 진행하기 전에 서버 IP 주소를 가리키는 도메인 이름과 Letsencrypt 및 Certbot을 통해 생성된 SSL 인증서가 있는지 확인하십시오.
다음 dnf 명령을 실행하여 Nginx 웹 서버를 설치합니다. 프롬프트가 표시되면 확인을 위해 y를 입력하고 ENTER를 누릅니다.
sudo dnf install nginx
이제 다음 명령을 실행하여 Nginx 서비스를 시작하고 활성화합니다.
sudo systemctl start nginx
sudo systemctl enable nginx그 후, 다음 명령을 입력하여 Nginx 서비스가 실행 중인지 확인합니다.
sudo systemctl status nginxNginx 서비스가 실행 중이면 다음과 같은 출력이 표시됩니다:

다음으로, 서버에서 HTTP 및 HTTPS 포트를 열기 위해 다음 명령을 실행합니다.
sudo firewall-cmd --add-service={http,https} --permanent
sudo firewall-cmd --reload다음 명령을 사용하여 열린 포트 및 서비스 목록을 확인합니다. firewalld에서 HTTP 및 HTTPS가 모두 활성화되어 있는지 확인해야 합니다.
sudo firewall-cmd --list-all
MariaDB 서버 구성
이 섹션에서는 mariadb-secure-installation 유틸리티를 사용하여 MariaDB 서버를 보호한 다음, Etherpad에 사용할 새 데이터베이스와 사용자를 생성합니다.
다음 명령을 실행하여 MariaDB 서버 보안을 시작합니다.
sudo mariadb-secure-installation명령이 실행된 후, 다음 구성에 대해 질문을 받게 됩니다:
- MariaDB 루트 사용자의 인증 방법을 unix_socket으로 변경합니다. n을 입력하여 아니오로 설정합니다.
MariaDB 루트 비밀번호를 설정합니다. y를 입력하여 확인하고 새 MariaDB 루트 비밀번호를 입력한 후 반복합니다.
MariaDB 루트 사용자의 원격 로그인을 비활성화합니다. y를 입력하여 확인합니다.
MariaDB의 기본 데이터베이스 테스트를 제거합니다. y를 입력하여 확인합니다.
MariaDB에서 익명 사용자를 제거합니다. y를 입력하여 확인합니다.
마지막으로, 변경 사항을 적용하기 위해 테이블 권한을 다시 로드하기 위해 y를 입력합니다.
MariaDB 서버가 보호되면, 다음으로 새 MariaDB 데이터베이스와 사용자를 생성합니다.
다음 mariadb 명령을 사용하여 MariaDB 서버에 로그인합니다.
sudo mariadb -u root -p다음 쿼리를 실행하여 Etherpad용 새 MariaDB 데이터베이스와 사용자를 생성합니다. 이 예에서는 새 데이터베이스 etherpad_lite_db와 사용자 etherpaduser를 비밀번호 StrongPasswordEtherpadDB로 생성합니다.
CREATE DATABASE etherpad_lite_db CHARACTER SET utf8mb4;
CREATE USER etherpaduser@localhost IDENTIFIED BY 'StrongPasswordEtherpadDB';
GRANT CREATE,ALTER,SELECT,INSERT,UPDATE,DELETE on etherpad_lite_db.* to etherpaduser@localhost;
FLUSH PRIVILEGES;
이제 다음 쿼리를 실행하여 MariaDB 사용자 etherpaduser의 권한을 확인합니다.
SHOW GRANTS FOR etherpaduser@localhost;
quitMariaDB 사용자 etherpaduser가 데이터베이스 etherpad_lite_db에 접근할 수 있는 권한이 있음을 알 수 있습니다.

MariaDB에서 나가려면 quit를 입력합니다.
Etherpad 다운로드 및 설치
이 섹션에서는 시스템 사용자를 생성하고, Etherpad 소스 코드를 다운로드하고, Etherpad의 종속성을 설치하고, MariaDB 데이터베이스와 Etherpad를 통합한 다음, 명령줄을 통해 설치를 확인하여 Etherpad 설치를 시작합니다.
먼저, 다음 명령을 실행하여 새 시스템 사용자 및 그룹 ‘ etherpad ‘를 생성합니다. 이 사용자는 Etherpad 서비스를 실행하는 데 사용됩니다.
sudo groupadd etherpad
sudo adduser -r -M -d /opt/etherpad-lite -g etherpad etherpadgit을 통해 Etherpad 소스 코드를 대상 디렉토리 /opt/etherpad-lite에 다운로드합니다.
git clone --branch master https://github.com/ether/etherpad-lite.git /opt/etherpad-liteEtherpad 소스 코드가 다운로드되면, 다음 명령을 실행하여 디렉토리 /opt/etherpad-lite의 소유권을 사용자 및 그룹 ‘ etherpad ‘로 변경합니다.
sudo chown -R etherpad:etherpad /opt/etherpad-lite
다음으로, 작업 디렉토리를 /opt/etherpad-lite 디렉토리로 이동하고 아래 명령을 사용하여 Etherpad 종속성을 설치합니다.
cd /opt/etherpad-lite
sudo su -s /bin/bash -c "./bin/installDeps.sh" etherpad명령을 실행한 후, 다음과 같은 설치 프로세스를 확인할 수 있습니다:

설치가 완료되면, 다음 nano 편집기 명령을 사용하여 Etherpad 구성 settings.json을 엽니다.
nano settings.jsonEtherpad 설치의 제목을 변경합니다.
"title": "Etherpad AlmaLinux 9",Etherpad가 실행될 기본 IP 주소를 localhost 또는 127.0.0.1로 변경합니다.
"ip": "127.0.0.1",
"port": 9001,기본 데이터베이스 구성을 아래에서 제거합니다.
/*
*"dbType": "dirty",
*"dbSettings": {
* "filename": "var/dirty.db"
*},
*/MySQL/MariaDB 서버를 사용하도록 데이터베이스 세부 정보를 변경합니다. 데이터베이스 이름, 사용자 및 비밀번호를 변경하는 것을 잊지 마십시오.
"dbType" : "mysql",
"dbSettings" : {
"user": "etherpaduser",
"host": "localhost",
"port": 3306,
"password": "StrongPasswordEtherpadDB",
"database": "etherpad_lite_db",
"charset": "utf8mb4"
},파일을 저장하고 편집기를 종료합니다.
다음으로, Etherpad를 확인하고 실행하기 위해 다음 명령을 실행합니다.
/bin/node --experimental-worker /opt/etherpad-lite/node_modules/ep_etherpad-lite/node/server.js데이터베이스 구성 및 Etherpad 설치가 성공하면 다음과 같은 출력이 표시됩니다:

Ctrl+c를 눌러 프로세스를 종료합니다.
Etherpad를 Systemd 서비스로 실행하기
Etherpad가 설치되었으므로 이제 Etherpad를 systemd 서비스로 설정합니다. 이렇게 하면 Etherpad를 백그라운드에서 실행하고 systemctl 명령줄을 통해 Etherpad를 쉽게 관리할 수 있습니다.
먼저, 다음 nano 편집기 명령을 사용하여 새 systemd 서비스 파일 /lib/systemd/system/etherpad.service를 생성합니다.
sudo nano /lib/systemd/system/etherpad.service다음 구성을 파일에 삽입합니다.
[Unit]
Description=Etherpad-lite, the collaborative editor.
After=syslog.target network.target mariadb.service nginx.service
[Service]
Type=simple
User=etherpad
Group=etherpad
WorkingDirectory=/opt/etherpad-lite
Environment=NODE_ENV=production
ExecStart=/bin/node --experimental-worker /opt/etherpad-lite/node_modules/ep_etherpad-lite/node/server.js
# use mysql plus a complete settings.json to avoid Service hold-off time over, scheduling restart.
Restart=always
[Install]
WantedBy=multi-user.target작업이 끝나면 파일을 저장하고 닫습니다.
이제 다음 명령을 실행하여 systemd 관리자를 다시 로드하고 Etherpad 서비스 파일을 시스템에 적용합니다.
sudo systemctl daemon-reload그런 다음, 아래 명령을 사용하여 Etherpad 서비스를 시작하고 활성화합니다.
sudo systemctl start etherpad
sudo systemctl enable etherpad다음 명령을 사용하여 Etherpad 서비스를 확인합니다. Etherpad 서비스가 실행 중이면 ‘ active (running) ‘와 같은 출력을 얻어야 합니다.
sudo systemctl status etherpad
다음 명령을 사용하여 시스템에서 열린 포트 목록을 확인할 수도 있습니다. Etherpad가 포트 9001을 사용하고 있는 것을 확인해야 합니다.
ss -tulpn | grep 9001Nginx를 리버스 프록시로 구성하기
현재 Etherpad가 포트 9001에서 실행되고 있습니다. 최종 사용자가 접근할 수 있도록 Nginx를 리버스 프록시로 사용할 수 있습니다. 시작하기 전에 Etherpad에 사용할 도메인 이름이 있는지 확인하고, Letsencrypt 및 Certbot을 통해 SSL 인증서를 생성했는지 확인하십시오.
다음 nano 편집기 명령을 사용하여 새 Nginx 서버 블록 구성 /etc/nginx/conf.d/etherpad.conf를 생성합니다.
sudo nano /etc/nginx/conf.d/etherpad.conf다음 구성을 삽입하고 도메인 이름 및 SSL 인증서 경로의 세부 정보를 변경해야 합니다.
# enforce HTTPS
server {
listen 80;
server_name etherpad.howtoforge.local;
return 301 https://$host$request_uri;
}
# we're in the http context here
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
listen 443 ssl http2;
server_name etherpad.howtoforge.local;
access_log /var/log/nginx/eplite.access.log;
error_log /var/log/nginx/eplite.error.log;
ssl_certificate /etc/letsencrypt/live/etherpad.howtoforge.local/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/etherpad.howtoforge.local/privkey.pem;
ssl_session_timeout 5m;
ssl_protocols TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS";
location / {
proxy_pass http://127.0.0.1:9001;
proxy_buffering off; # be careful, this line doesn't override any proxy_buffering on set in a conf.d/file.conf
proxy_set_header Host $host;
proxy_pass_header Server;
# Note you might want to pass these headers etc too.
proxy_set_header X-Real-IP $remote_addr; # https://nginx.org/en/docs/http/ngx_http_proxy_module.html
proxy_set_header X-Forwarded-For $remote_addr; # EP logs to show the actual remote IP
proxy_set_header X-Forwarded-Proto $scheme; # for EP to set secure cookie flag when https is used
proxy_http_version 1.1; # recommended with keepalive connections
# WebSocket proxying - from https://nginx.org/en/docs/http/websocket.html
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
}작업이 끝나면 파일을 저장하고 편집기를 닫습니다.
이제 다음 명령을 실행하여 올바르고 적절한 구성이 있는지 확인합니다. 성공하면 “ Syntax is ok - test is successful “와 같은 메시지를 받게 됩니다.
sudo nginx -t다음으로, 다음 명령을 입력하여 Nginx 서비스를 재시작하고 변경 사항을 적용합니다.
sudo systemctl restart nginx
그 후, 웹 브라우저를 열고 Etherpad 설치 도메인 이름(예: https://etherpad.howtoforge.local/)을 방문합니다. Etherpad 협업 편집기의 기본 홈페이지가 표시되어야 합니다.
이제 패드 이름을 입력하고 OK를 클릭하여 새 패드를 생성합니다.

이제 Etherpad를 협업 편집기로 사용하기 시작할 수 있습니다.

결론
축하합니다. AlmaLinux 9 서버에 MariaDB 데이터베이스 및 Nginx 웹 서버와 함께 Etherpad 설치를 완료했습니다. 또한 SSL 인증서를 통해 Etherpad를 안전하게 보호했습니다. 이제 친구/그룹/팀과 함께 Etherpad를 주요 협업 편집기로 사용하기 시작할 수 있습니다.
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.