Ինչպես տեղադրել Etherpad համագործակցության խմբագիր Ubuntu 24.04 սերվերի վրա


Այս ձեռնարկը գոյություն ունի ՕՀ-ի այս տարբերակների համար

  • Ubuntu 24.04 (Noble Numbat)
  • Ubuntu 20.04 (Կիզակետային Fossa)
  • Ubuntu 18.04 (Bionic Beaver)

Այս էջում

  1. Նախադրյալներ
  2. Կախվածությունների տեղադրում
  3. MariaDB սերվերի կարգավորում
  4. Etherpad Lite-ի տեղադրում
  5. Etherpad-ի գործարկումը որպես համակարգային ծառայություն
  6. Nginx-ի կարգավորումը որպես հակադարձ վստահված անձ
  7. Etherpad-ի ապահովում HTTPS-ով
  8. Մուտք գործել Etherpad
  9. Եզրակացություն

Etherpad-ը բաց կոդով համագործակցային և իրական ժամանակի տեքստային խմբագրիչ է ձեր թիմի համար, որը հասանելի է ցանկացած վայրից և ցանկացած ժամանակ, քանի որ Etherpad-ը վեբ վրա հիմնված տեքստային խմբագրիչ է: Etherpad-ն աջակցում է տարբերակների և ներկառուցված ֆորմատավորման թիմերի համար և առաջարկում է շատ հարմարեցված խմբագիր՝ տարբեր պլագինների աջակցությամբ: Այն նաև աջակցում է փաստաթղթերի ժամանակակից ձևաչափերին, ինչպիսիք են doc, pdf, odt, markdown և այլն:

Այս ուղեցույցում մենք ձեզ կուղեկցենք Ubuntu 24.04 սերվերի վրա Etherpad-ի համագործակցության խմբագրիչի տեղադրման գործընթացով: Դուք կստեղծեք Etherpad-ը MariaDB տվյալների բազայի սերվերով, Nginx-ը՝ որպես հակադարձ վստահված անձ, այնուհետև կապահովեք Etherpad-ը HTTPS-ով Certbot-ի և Letsencrypt-ի միջոցով:

Նախադրյալներ

Այս ուղեցույցով սկսելու համար համոզվեք, որ ունեք հետևյալը.

Ubuntu 24.04 սերվեր:
Ադմինիստրատորի արտոնություններ ունեցող ոչ արմատային օգտատեր:
Սերվերի IP հասցեին ուղղված տիրույթի անուն:

Կախվածությունների տեղադրում

Etherpad-ը իրական ժամանակի համատեղ խմբագիր է, որը գրված է Node.js-ում: Այն տեղադրելու համար դուք պետք է տեղադրեք փաթեթային կախվածություններ, ինչպիսիք են Node.js-ը, NPM-ը և Git-ը: Etherpad-ը նաև տվյալների բազայի համար պահանջում էր Python3 և MySQL/MariaDB:

Նախ թարմացրեք ձեր Ubuntu պահեստը հետևյալով.

sudo apt update

Այժմ տեղադրեք կախվածություններ Etherpad-ի համար՝ օգտագործելով ստորև նշված հրամանը: Այս հրամանով դուք կտեղադրեք MariaDB սերվերը, Nginx-ը, Node.js-ը, Python3-ը, Git-ը և որոշ կարևոր գործիքներ:

sudo apt install mariadb-server nginx nodejs npm gzip git curl python3 libssl-dev

Տեղադրումը հաստատելու համար մուտքագրեք Y:

Տեղադրումից հետո ստուգեք MariaDB և Nginx ծառայությունները, որպեսզի համոզվեք, որ երկու ծառայություններն էլ աշխատում են:

Ստուգեք MariaDB ծառայությունը հետևյալով.

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

Ինչպես տեսնում եք ստորև, MariaDB ծառայությունն աշխատում է և ավտոմատ կերպով կսկսվի բեռնման ժամանակ:

Այժմ ստուգեք Nginx ծառայությունը՝ օգտագործելով ստորև նշված հրամանը: Դուք պետք է ստանաք նմանատիպ արդյունք, երբ Nginx ծառայությունն աշխատում և միացված է:

sudo systemctl is-enabled nginx
sudo systemctl status nginx

Վերջապես, հրամանով ստուգեք Node.js տարբերակը.

node -v

Համոզվեք, որ ունեք Node.js v18.x կամ ավելին: Etherpad-ն աջակցում է Node.js v18 և ավելի բարձր տարբերակ:

MariaDB սերվերի կարգավորում

Կախվածությունները տեղադրելուց հետո դուք կկարգավորեք MariaDB սերվերը և կստեղծեք նոր տվյալների բազա և օգտվող Etherpad-ի համար: Դուք կապահովեք MariaDB-ն՝ օգտագործելով «mariadb-secure-installation» կոմունալ ծրագիրը, այնուհետև կարգավորեք տվյալների բազան և օգտվողը MariaDB հաճախորդի միջոցով:

Ձեր MariaDB սերվերը ապահովելու համար կատարեք հետևյալը.

sudo mariadb-secure-installation

Ձեզ կառաջարկվի MariaDB սերվերի կոնֆիգուրացիաներ.

  1. MariaDB-ի լռելյայն տեղադրումը կատարվում է առանց գաղտնաբառի, սեղմեք ENTER, երբ գաղտնաբառը պահանջվում է:
  2. Այժմ մուտքագրեք Y՝ MariaDB արմատային գաղտնաբառը կարգավորելու համար: Այնուհետև մուտքագրեք MariaDB-ի նոր գաղտնաբառը և կրկնեք գաղտնաբառը:
  3. Մուտքագրեք Y՝ անանուն օգտվողին ձեր MariaDB տեղադրումից հեռացնելու համար:
  4. Կրկին մուտքագրեք Y, երբ ձեզ հուշում են անջատել MariaDB արմատային օգտվողի հեռավոր մուտքը:
  5. Մուտքագրեք Y՝ ձեր MariaDB-ից տվյալների բազայի լռելյայն թեստը հեռացնելու համար:
  6. Վերջապես, մուտքագրեք Y՝ աղյուսակի արտոնությունները վերաբեռնելու և նոր փոփոխություններ կիրառելու համար:

MariaDB սերվերը ապահովելուց և կազմաձևելուց հետո դուք կստեղծեք նոր տվյալների բազա և օգտվող Etherpad-ի համար:

Մուտք գործեք MariaDB սերվեր հետևյալ հրամանով. Մուտքագրեք MariaDB արմատային գաղտնաբառը, երբ ձեզ հուշեն:

sudo mariadb -u root -p

Այնուհետև գործարկեք հետևյալ MariaDB հարցումները՝ «etherpad_db» նոր տվյալների բազա ստեղծելու համար, «etherpad» օգտվող՝ «StrongPasswordEtherpadDB» գաղտնաբառով: Դուք կարող եք հարմարեցնել տվյալների բազայի հետևյալ մանրամասները ձեր տեղեկատվության հետ:

CREATE DATABASE etherpad_db;
CREATE USER etherpad@localhost IDENTIFIED BY 'StrongPasswordEtherpadDB';
GRANT CREATE,ALTER,SELECT,INSERT,UPDATE,DELETE on etherpad_db.* to etherpad@localhost;
FLUSH PRIVILEGES;

Այժմ կատարեք հետևյալ հարցումը՝ համոզվելու, որ «etherpad» օգտվողը կարող է մուտք գործել «etherpad_db» տվյալների բազա:

SHOW GRANTS FOR etherpad@localhost;

Ստորև կարող եք տեսնել «etherpad» օգտվողին՝ «etherpad_db» տվյալների բազայի բազմաթիվ արտոնություններով:

Վերջապես, մուտքագրեք quit՝ MariaDB սերվերից դուրս գալու համար:

Etherpad Lite-ի տեղադրում

Տվյալների բազան և օգտատերը ստեղծելուց հետո դուք կներբեռնեք Etherpad-ի սկզբնական կոդը, կտեղադրեք Etherpad-ի կախվածությունը տեղադրողի սկրիպտով և այնուհետև կարգավորեք Etherpad-ի տեղադրումը MariaDB սերվերի հետ:

Լռելյայնորեն, Etherpad-ն օգտագործում է pnpm փաթեթի կառավարիչը՝ տեղադրումը կառավարելու համար, այնպես որ նախ պետք է «pnpm» գլոբալ տեղադրեք ձեր համակարգում:

Նախ, տեղադրեք pnpm փաթեթը գլոբալ (-g)՝ օգտագործելով հետևյալ npm հրամանը։ Լռելյայնորեն, Etherpad նախագիծն օգտագործում է pnpm որպես Node.js փաթեթի կառավարիչ՝ ստանդարտ npm-ի փոխարեն:

npm install pnpm -g

Այժմ գործարկեք ստորև նշված հրամանը՝ «etherpad» համակարգի նոր օգտվող ստեղծելու համար: Այս օգտվողը կօգտագործվի Etherpad հավելվածը գործարկելու համար:

sudo adduser --system --no-create-home --home=/opt/etherpad-lite --group etherpad

Հաջորդը, անցեք /opt և ներբեռնեք Etherpad-ի աղբյուրի կոդը «etherpad-lite» գրացուցակում git-ով: Այնուհետև փոխեք «/opt/etherpad-lite» գրացուցակի սեփականության իրավունքը «etherpad» օգտագործողի:

cd /opt && git clone --branch master https://github.com/ether/etherpad-lite.git 
sudo chown -R etherpad:etherpad /opt/etherpad-lite

Այնուհետև անցեք «opt/etherpad-lite» գրացուցակ և տեղադրեք Node.js-ի կախվածությունները Etherpad-ի համար հետևյալով.

cd /opt/etherpad-lite
sudo su -s /bin/bash -c "./bin/run.sh" etherpad

Ստորև ներկայացված է Etherpad-ի կախվածությունների ներբեռնման գործընթացը՝ օգտագործելով pnpm փաթեթի կառավարիչը:

Կախվածությունները տեղադրելուց հետո Etherpad-ը պետք է ինքնաբերաբար աշխատի: Ստորև կարող եք տեսնել, որ Etherpad 2.0.3-ն աշխատում է:

Սեղմեք Ctrl+c՝ Etherpad-ի ընթացիկ գործընթացը դադարեցնելու համար: Դուք կկարգավորեք Etherpad-ը MariaDB տվյալների բազայի հետ:

Այժմ բացեք «settings.json» ֆայլը հետևյալ նանո խմբագրիչով:

nano settings.json

Փոխեք ձեր Etherpad-ի տեղադրման վերնագիրը:

 "title": "Etherpad Ubuntu 24",

Փոխեք լռելյայն IP հասցեն 12.0.0.1 կամ localhost: Սա կսկսի Etherpad-ի գործընթացը միայն localhost-ում:

```
 "ip": "127.0.0.1",
 "port": 9001, 
```

Մեկնաբանեք «կեղտոտ» տվյալների բազայի լռելյայն կազմաձևը հետևյալ կերպ.

 /*
 *"dbType": "dirty",
 *"dbSettings": {
 * "filename": "var/dirty.db"
 *},
 */

Տեղադրեք ստորև նշված կոնֆիգուրացիան՝ MariaDB սերվերի հետ տվյալների բազա ստեղծելու համար: Համոզվեք, որ փոխել եք տվյալների բազայի տեղեկատվության մանրամասները ձերով:

 "dbType" : "mysql",
 "dbSettings" : {
 "user": "etherpad",
 "host": "127.0.0.1",
 "port": 3306,
 "password": "StrongPasswordEtherpadDB",
 "database": "etherpad_db",
 "charset": "utf8mb4"
 },

Ավարտելուց հետո պահեք ֆայլը և դուրս եկեք խմբագրիչից:

Etherpad-ի գործարկումը որպես համակարգային ծառայություն

Այժմ, երբ դուք տեղադրել և կազմաձևել եք Etherpad-ը, դուք կստեղծեք նոր systemd ծառայության ֆայլ Etherpad-ի համար: Դրանով դուք կգործարկեք Etherpad-ը հետին պլանում և կարող եք կառավարել Etherpad-ը «systemctl» հրամանի միջոցով:

Ստեղծեք նոր systemd ծառայության ֆայլ Etherpad-ի համար '/etc/systemd/system/etherpad.service' նանո խմբագրիչով:

sudo nano /etc/systemd/system/etherpad.service

Ֆայլին ավելացրեք հետևյալ կոնֆիգուրացիան. Դրանով դուք կգործարկեք Etherpad-ը հետին պլանում՝ որպես համակարգային ծառայություն «pnpm» հրամանի միջոցով:

[Unit]
Description=Etherpad-lite, the collaborative editor.
After=syslog.target network.target mariadb.service
[Service]
Type=simple
User=etherpad
Group=etherpad
WorkingDirectory=/opt/etherpad-lite
ExecStart=/usr/local/bin/pnpm run prod
# 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

Systemd-ի վերաբեռնումից հետո գործարկեք և միացրեք «etherpad» ծառայությունը հետևյալ systemctl հրամանով։

sudo systemctl start etherpad
sudo systemctl enable etherpad

Հաջորդը, գործարկեք ստորև նշված հրամանը՝ ստուգելու Etherpad ծառայության կարգավիճակը և համոզվելու, որ ծառայությունն աշխատում է:

sudo systemctl status etherpad

Ստորև կարող եք տեսնել, որ Etherpad ծառայությունն աշխատում է որպես ծառայություն:

Վերջապես, ստորև բերված «ss» հրամանով ստուգեք կանխադրված Etherpad պորտը 9001: Դուք պետք է տեսնեք, որ 9001 նավահանգիստն օգտագործվում է Etherpad գործընթացի միջոցով:

ss -tulpn | grep 9001

Nginx-ը որպես հակադարձ վստահված անձի կարգավորում

Այս ուղեցույցում դուք կգործարկեք Etherpad-ը Nginx-ով որպես հակադարձ պրոքսի: Այսպիսով, այժմ դուք կստեղծեք Nginx սերվերի բլոկի կոնֆիգուրացիան Etherpa-ի համար և համոզվեք, որ պատրաստել եք ձեր տիրույթի անունը Etherpad-ի համար:

Օգտագործեք հետևյալ նանո խմբագրիչի հրամանը՝ «/etc/nginx/sites-available/etherpad.conf» նոր Nginx սերվերի բլոկ ստեղծելու համար:

sudo nano /etc/nginx/sites-available/etherpad.conf

Ավելացրեք հետևյալ կոնֆիգուրացիան և փոխեք server_name տարբերակը ձեր տիրույթի անունով: Այս կոնֆիգուրացիայի դեպքում դուք կօգտագործեք Nginx-ը որպես Etherpad-ի հակադարձ պրոքսի, որն աշխատում է 9001 նավահանգստում:

```
server {
 listen 80;
 server_name etherpad.howtoforge.local;
 access_log /var/log/nginx/eplite.access.log;
 error_log /var/log/nginx/eplite.error.log;
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 "upgrade";
 }
}

Ավարտելուց հետո պահեք և փակեք ֆայլը:

Այժմ գործարկեք ստորև նշված հրամանը՝ ակտիվացնելու սերվերի բլոկի «etherpad.conf» ֆայլը և ստուգելու ձեր Nginx շարահյուսությունը:

sudo ln -s /etc/nginx/sites-available/etherpad.conf /etc/nginx/sites-enabled/
sudo nginx -t

Դուք պետք է ստանաք «nginx-ը լավ է...փորձարկումը հաջողված է», համապատասխան Nginx շարահյուսությամբ:

Ի վերջո, գործարկեք ստորև նշված հրամանը՝ Nginx ծառայությունը վերագործարկելու և ձեր նոր սերվերի բլոկը կիրառելու համար: Հրամանը կատարելուց հետո ձեր Etherpad-ը հասանելի է Nginx վեբ սերվերի միջոցով:

sudo systemctl restart nginx

Etherpad-ի ապահովում HTTPS-ով

Nginx հակադարձ պրոքսի կարգավորելուց հետո դուք կապահովեք Etherpad-ը HTTPS-ով: Եթե դուք օգտագործում եք հանրային տիրույթը, կարող եք օգտագործել հետևյալ քայլերը՝ Certbot-ի և Letsencrypt-ի միջոցով HTTPS-ը կարգավորելու համար: Տեղական տիրույթի օգտատերերը կարող են օգտագործել ինքնուրույն ստորագրված վկայագրեր:

Տեղադրեք Certbot-ը և Certbot Nginx հավելվածը՝ օգտագործելով հետևյալ հրամանը. Երբ հուշում է, մուտքագրեք Y՝ տեղադրումը հաստատելու համար:

sudo apt install certbot python3-certbot-nginx

Այժմ գործարկեք հետևյալ certbot հրամանը՝ Letsencrypt-ից SSL/TLS վկայագրեր ստեղծելու համար: Համոզվեք, որ փոխեք տիրույթի անունը և էլփոստի հասցեն ձեր մանրամասներով:

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email  -d etherpad.howtoforge.local

Գործընթացն ավարտելուց հետո ձեր վկայականները հասանելի կլինեն «/etc/letsencrypt/live/domain.com» գրացուցակում: Բացի այդ, ձեր Etherpad-ի տեղադրումը պետք է ավտոմատ կերպով գործարկվի HTTPS-ով Certbot Nginx հավելվածի միջոցով:

Մուտք գործել Etherpad

Այցելեք ձեր Etherpad տիրույթի անունը https://etherpad.howtoforge.local՝ ձեր Etherpad-ի տեղադրումը մուտք գործելու համար: Հաջողության դեպքում դուք կստանաք հետևյալ էջը.

Մուտքագրեք ձեր առաջին վահանակի նոր անունը և սեղմեք OK՝ հաստատելու համար:

Այժմ դուք կտեսնեք Etherpad-ի փաստաթղթերի խմբագրիչը: Այժմ դուք կարող եք խմբագրել փաստաթուղթը ձեր ընկերների կամ գործընկերների հետ միաժամանակ:

Եզրակացություն

Շնորհավորում եմ: Դուք տեղադրել եք Etherpad-ի համագործակցության խմբագրիչը Ubuntu 24.04 սերվերի վրա: Դուք Etherpad եք աշխատում MariaDB տվյալների բազայի սերվերի և Nginx վեբ սերվերի հետ: Բացի այդ, դուք ապահովել եք Etherpad-ը HTTPS-ով Certbot-ի և Letsencrypt-ի միջոցով: