GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal Etherpad Editor Kolaboratif Real-time di Ubuntu 18.04

Etherpad adalah editor kolaboratif real-time berdasarkan Node.js. Ini adalah editor kolaboratif berbasis web open source untuk akses multi-pengguna dengan kemampuan untuk mengimpor/mengekspor ke berbagai format file office dan editor online yang sangat dapat disesuaikan.

Dalam tutorial ini, saya akan memandu Anda langkah demi langkah untuk menginstal dan mengkonfigurasi Etherpad-lite di Server Ubuntu 18.04. Kami akan menginstal Etherpad-lite dengan MySQL sebagai database, server web Nginx sebagai proxy terbalik, dan mengaktifkan koneksi aman HTTPS di dalamnya.

Prasyarat

  • Server Ubuntu 18.04
  • Hak istimewa root

Apa yang akan kita lakukan?

  1. Instal Dependensi Paket
  2. Instal Nodejs
  3. Instal dan Konfigurasi MySQL
  4. Unduh Etherpad
  5. Konfigurasi Etherpad
  6. Siapkan Etherpad sebagai Layanan
  7. Siapkan Nginx sebagai Proxy Terbalik untuk Etherpad
  8. Menyiapkan Firewall UFW
  9. Pengujian

Langkah 1 - Instal Ketergantungan Paket

Langkah pertama yang akan kita lakukan dalam panduan ini adalah menginstal semua dependensi paket untuk instalasi Nodejs.

Jalankan perintah apt di bawah ini.

sudo apt install gzip git curl python libssl-dev pkg-config gcc g++ make build-essential -y

Tunggu semua instalasi.

Langkah 2 - Instal Nodejs

Etherpad membutuhkan Node.js>=6.9, dan pada langkah ini kita akan menginstal Nodejs 9.11 yang dapat diinstal dari repositori nodesource.

Tambahkan repositori nodesource Nodejs dan instal paket Node.js menggunakan perintah di bawah ini.

curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
sudo apt install -y nodejs

Setelah ini, periksa perintah nodejs dan npm.

nodejs --version
npm --version

Node.js v9.11 telah diinstal pada server Ubuntu 18.04.

Langkah 3 - Instal dan Konfigurasi MySQL

Dalam tutorial ini, kita akan menggunakan MySQL sebagai database untuk Etherpad.

Instal server database MySQL menggunakan perintah apt di bawah ini.

sudo apt install mysql-server mysql-client

Setelah instalasi selesai, jalankan layanan mysql dan aktifkan untuk diluncurkan setiap kali sistem boot.

sudo systemctl start mysql
sudo systemctl aktifkan mysql

Server MySQL telah diinstal.

Selanjutnya, kita akan mengkonfigurasi kata sandi root mysql dan membuat database dan pengguna baru untuk instalasi etherpad kita.

Untuk mengkonfigurasi kata sandi root MySQL, jalankan perintah di bawah ini.

mysql_secure_installation

Ketik kata sandi root mysql Anda yang kuat.

Sekarang login ke shell mysql menggunakan user root.

mysql -u root -p

Buat database baru bernama 'etherpad_db' dan pengguna 'hakase', dan jalankan kueri mysql di bawah ini.

buat database etherpad_db;
berikan semua hak istimewa di etherpad_db.* kepada [email protected] yang diidentifikasi dengan '[email protected]#';
hak flush;

Database MySQL untuk instalasi etherpad telah dibuat.

Langkah 4 - Unduh Etherpad

Pada langkah ini, kita akan membuat user baru dan mendownload source code etherpad.

Buat pengguna baru bernama 'etherpad' dan login ke pengguna tersebut.

useradd -m -s /bin/bash etherpad
su - etherpad

Sekarang kloning repositori etherpad.

git clone git://github.com/ether/etherpad-lite.git

Buka direktori 'etherpad-lite/' dan jalankan skrip bash untuk memulai etherpad.

cd etherpad-lite/
bin/run.sh

Anda akan mendapatkan hasil seperti di bawah ini.

Buka browser web Anda dan ketik alamat IP server dengan port '9001'.

http://192.168.33.10:9001/

Dan Anda akan melihat halaman utama etherpad.

Kembali ke terminal Anda dan tekan 'Ctrl+c' untuk keluar dari aplikasi.

Langkah 5 - Konfigurasi Etherpad

Pada langkah ini, kita akan melakukan konfigurasi dasar editor kolaboratif etherpad.

Login ke pengguna etherpad dan masuk ke direktori 'etherpad-lite'.

su - etherpad
cd etherpad-lite/

Edit konfigurasi 'settings.json' menggunakan editor vim.

pengaturan vim.json

Ubah ip address menjadi '127.0.0.1' atau localhost, karena kita akan menjalankan etherpad pada reverse proxy Nginx.

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

Sekarang nonaktifkan database kotor default dengan menambahkan komentar '/* .... */', dan tempel konfigurasi database MySQL.

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

Konfigurasi database MySQL.

  "dbType" :"mysql",
  "dbSettings" :{
                "user"    :"hakase",
                "host"    :"local      "port      /> "    :3306,
                 "password":"[email protected]#",
                "database":"etherpad_db",
                 "      " /pra>

Selanjutnya, kita akan mengaktifkan pengguna admin dengan menghapus komentar dari baris tersebut dan mengubah nilai kata sandi dengan kata sandi baru.

  "users":{
    "admin":{
      // "password" dapat diganti dengan "hash" jika Anda menginstal ep_hash_auth
      "password":"[email protected] #",
      "is_admin":true
    },
    "user":{
      // "password" dapat diganti dengan "hash" jika Anda menginstal ep_hash_auth
      "password":"[email protected]#",
      "is_admin":false
    }
  },

Simpan dan keluar.

Konfigurasi dasar etherpad telah selesai.

Langkah 6 - Siapkan Etherpad sebagai layanan

Sekarang kita akan menjalankan etherpad sebagai layanan systemd di sistem ubuntu kita.

Buka direktori '/etc/systemd/system' dan buat file layanan baru bernama 'etherpad.service'.

cd /etc/systemd/system/
vim etherpad.service

Tempelkan konfigurasi di bawah.

[Unit]
Description=Etherpad-lite, editor kolaboratif.
After=syslog.target network.target

[Layanan]
Type=simple
User=etherpad
Group=etherpad
WorkingDirectory=/home/etherpad/etherpad-lite
Environment=NODE_ENV=production
ExecStart=/usr/bin/nodejs / home/etherpad/etherpad-lite/node_modules/ep_etherpad-lite/node/server.js
Restart=always # gunakan mysql plus settings.json yang lengkap untuk menghindari Service hold-off time over, penjadwalan restart.

[Instal]
WantedBy=multi-user.target

Simpan dan keluar.

Muat ulang daftar layanan systemd.

sudo systemctl daemon-reload

Mulai layanan etherpad dan aktifkan untuk diluncurkan setiap kali sistem boot.

sudo systemctl start etherpad
sudo systemctl aktifkan etherpad

Dan eter aktif dan berjalan sebagai layanan di ip localhost dengan port default 9001.

Periksa layanan menggunakan perintah di bawah ini.

sudo systemctl status etherpad
netstat -plntu

Langkah 7 - Instal dan Konfigurasi Nginx sebagai proxy Terbalik

Pada langkah ini, kita akan menginstal dan mengkonfigurasi server web Nginx sebagai proxy terbalik untuk layanan etherpad.

Instal server web nginx menggunakan perintah apt di bawah ini.

sudo apt install nginx -y

Setelah instalasi selesai, buka direktori '/etc/nginx/sites-available' dan buat virtual host baru 'etherpad'.

cd /etc/nginx/sites-available/
vim etherpad

Tempelkan konfigurasi di bawah.

server {
    listen      80;
    server_name pad.hakase.io;
    rewrite    ^(.*)   https://$server_name$1 permanent;
}

# kita berada dalam konteks http di sini
map $http_upgrade $connection_upgrade {
  peningkatan default;
  ''      close;
}

server {
        listen       443;
       server_name  pad.hakase.io;

       access_log  /var/log/nginx/eplite.access.log;
       error_log   / var/log/nginx/eplite.error.log;

        ssl               aktif;
       ssl_certificate      /etc/nginx/ssl/fullchain.pem;
/privkey.pem;

        ssl_session_timeout  5m;

       ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
       ssl_prefer_server<__> on; 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 !RENDAH !3DES !MD5 !EXP !PSK !SRP !DSS";

       location / {
           proxy_pass           http://localhost:9001/;
       ;
           proxy_pass_header Server;
           # hati-hati, baris ini tidak menimpa proxy_buffering apa pun pada set di conf.d/file.conf
          proxy_buffering mati;
Real-head proxy_buffering off;
   IP $remote_addr; # http://wiki.nginx.org/HttpProxyModule
           proxy_set_header X-Forwarded-For $remote_addr; # EP log untuk menampilkan IP jarak jauh sebenarnya
           proxy_set_header X-Forwarded-Proto $scheme; # agar EP menyetel tanda cookie aman saat https digunakan
           proxy_set_header Host $host; # meneruskan header host                                          
           proxy_http_version 1.1; # Direkomendasikan dengan Koneksi KeepAlive
# Websocket Proxying - dari http://nginx.org/en/docs/http/websocket.html
proxy_set_header upgrade $ http_upgrade;
proxy_set_header connection $ http_upgrade;
proxy_set_headerer $ http_upgrade;
proxy_set_meader connection $ http_upgrade;
proxy_set_meader $ connection $ br />
        }
}

Simpan dan keluar.

Catatan:

  • Pastikan Anda mengubah jalur SSL dengan sertifikat ssl Anda sendiri.
  • Ubah domain etherpad 'pad.hakase.io' dengan nama domain Anda sendiri.

Sekarang aktifkan etherpad virtual host dan uji konfigurasinya.

ln -s /etc/nginx/sites-available/etherpad /etc/nginx/sites-enabled/
nginx -t

Pastikan tidak ada kesalahan, lalu mulai layanan nginx dan aktifkan untuk diluncurkan setiap kali sistem boot.

sudo systemctl restart nginx
sudo systemctl aktifkan nginx

Instalasi dan konfigurasi Nginx sebagai etherpad reverse proxy telah berhasil diselesaikan.

Langkah 8 - Siapkan Firewall UFW

Untuk pengaturan firewall, kita hanya ingin membuka layanan port SSH, HTTP, dan HTTPS.

Jalankan perintah ufw di bawah ini.

sudo fuw izinkan ssh
sudo ufw izinkan http
sudo ufw izinkan https

Kemudian aktifkan firewall ufw.

sudo ufw aktifkan

Dan konfigurasi firewall ufw telah selesai.

Langkah 9 - Pengujian

Buka browser web Anda dan ketik nama domain etherpad, milik saya adalah: http://pad.hakase.io/

Sekarang Anda akan diarahkan ke koneksi aman HTTP.

Buat pad baru dengan mengetikkan nama pad pada kotak dan klik tombol 'OK'.

Dan Anda akan mendapatkan editor Etherpad seperti di bawah ini.

Selanjutnya, buka URL admin etherpad. Milik saya adalah https://pad.hakase.io/admin/

Anda akan ditanya username dan password admin. Ketik pengguna dan kata sandi Anda sendiri, lalu klik tombol Masuk.

Dan Anda akan mendapatkan halaman admin Etherpad default di bawah ini.

- Konfigurasi Etherpad settings.json

- Pengelola Plugin Etherpad

Instalasi Etherpad dengan proxy terbalik MySQL dan Nginx di Ubuntu 18.04 telah berhasil diselesaikan.


Ubuntu
  1. Cara Menginstal MySQL 8.0 di Ubuntu 18.04

  2. Cara Menginstal MySQL di Ubuntu 20.04

  3. Instal editor kolaboratif real-time berbasis web Etherpad di Ubuntu 16.04 Linux

  1. Cara Menginstal MySQL di Ubuntu 18.04

  2. Cara menginstal Etherpad di Ubuntu 20.04

  3. Cara Menginstal MySQL 8.0 di Ubuntu 18.04

  1. Cara Menginstal Editor Atom Di Ubuntu 22.04

  2. Cara Menginstal Editor Emacs di Ubuntu 20.04

  3. Cara Menginstal Editor Bluefish di Ubuntu 20.04