Etherpad adalah editor online real-time berbasis web yang memungkinkan penulis mengedit dokumen teks secara bersamaan dan memantau semua pengeditan secara realtime. Ini adalah sumber terbuka, dapat disesuaikan dan kemampuan untuk menampilkan teks setiap penulis dalam warna mereka sendiri. Ini juga menyediakan API HTTP yang dapat Anda integrasikan dengan aplikasi Anda untuk mengelola pengguna dan grup. Ini menawarkan beberapa plugin yang membantu Anda mengintegrasikan pemberitahuan email, mengunggah file, panggilan video di Etherpad. Dalam tutorial ini, kami akan menunjukkan cara menginstal editor berbasis web Etherpad di server Ubuntu 20.04.
Prasyarat
- Server yang menjalankan Ubuntu 20.04.
- Nama domain valid yang ditunjukkan dengan IP server Anda.
- Sandi root dikonfigurasi untuk server.
Memulai
Sebelum memulai, Anda perlu memperbarui paket sistem Anda ke versi terbaru. Anda dapat memperbaruinya dengan menjalankan perintah berikut:
apt-get update -y
Setelah semua paket diperbarui, Anda perlu menginstal beberapa dependensi di sistem Anda. Anda dapat menginstal semuanya dengan perintah berikut:
apt-get install gnupg2 git unzip libssl-dev pkg-config gcc g++ make build-essential -y
Setelah semua paket terinstal, Anda dapat melanjutkan ke langkah berikutnya.
Instal dan Konfigurasikan Database MariaDB
Etherpad menggunakan MariaDB sebagai backend database. Jadi, Anda perlu menginstal server MariaDB di sistem Anda. Anda dapat menginstalnya dengan perintah berikut:
apt-get install mariadb-server -y
Setelah menginstal MariaDB, masuk ke shell MariaDB dengan perintah berikut:
mysql
Setelah login, buat database dan user untuk Etherpad dengan perintah berikut:
MariaDB [(none)]> create database etherpad;
MariaDB [(none)]> grant all privileges on etherpad.* to [email protected] identified by 'password';
Selanjutnya, flush hak istimewa dan keluar dari MariaDB dengan perintah berikut:
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;
Pada titik ini, database Anda dikonfigurasi untuk Etherpad. Sekarang Anda dapat melanjutkan ke langkah berikutnya.
Instal Node.js
Etherpad didasarkan pada Node.js. Jadi, Anda perlu menginstal Node.js di sistem Anda. Secara default, versi terbaru Node.js tidak tersedia di repositori standar Ubuntu 20.04. Jadi, Anda perlu menambahkan repositori Node.js ke sistem Anda. Anda dapat menambahkannya dengan perintah berikut:
curl -sL https://deb.nodesource.com/setup_14.x -o nodesource_setup.sh
bash nodesource_setup.sh
Setelah repositori ditambahkan, instal Node.js dengan perintah berikut:
apt-get install nodejs -y
Setelah menginstal Node.js, verifikasi versi Node.js yang diinstal dengan perintah berikut:
node -v
Anda akan mendapatkan output berikut:
v14.15.0
Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Instal dan Konfigurasi Etherpad
Sebelum menginstal Etherpad. Disarankan untuk menjalankan Etherpad sebagai pengguna terpisah. Anda dapat membuat pengguna baru untuk Etherpad dengan perintah berikut:
adduser --home /opt/etherpad --shell /bin/bash etherpad
Anda akan diminta untuk mengatur kata sandi seperti yang ditunjukkan di bawah ini:
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
Selanjutnya, berikan izin yang tepat ke direktori home Etherpad dengan perintah berikut:
install -d -m 755 -o etherpad -g etherpad /opt/etherpad
Selanjutnya, alihkan pengguna ke Etherpad dan unduh Etherpad versi terbaru dari repositori Git menggunakan perintah berikut:
su - etherpad
git clone --branch master https://github.com/ether/etherpad-lite.git
Selanjutnya, ubah direktori ke direktori yang diunduh dan jalankan Etherpad menggunakan perintah berikut:
cd etherpad-lite
bin/run.sh
Ini akan menginstal semua dependensi dan memulai server Etherpad. Setelah server berhasil dimulai, Anda akan mendapatkan output berikut:
[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
Selanjutnya, tekan CTRL + C untuk menghentikan server. Selanjutnya, Anda perlu mengedit file settings.json dan menentukan database dan pengaturan admin Anda:
nano settings.json
Hapus baris berikut:
"dbType" : "dirty", "dbSettings" : { "filename" : "var/dirty.db" },
Ubah pengaturan MySQL seperti yang ditunjukkan di bawah ini:
"dbType" : "mysql", "dbSettings" : { "user": "etherpad", "host": "localhost", "port": 3306, "password": "password", "database": "etherpad", "charset": "utf8mb4" },
Ubah baris trustProxy menjadi true:
"trustProxy": true,
Tentukan kata sandi untuk pengguna admin:
"users": { "admin": { "password": "adminpassword", "is_admin": true },
Simpan dan tutup file kemudian instal dependensi yang diperlukan dengan perintah berikut:
./bin/installDeps.sh
Setelah semua dependensi terinstal, keluar dari pengguna Etherpad dengan perintah berikut:
exit
Pada titik ini, Etherpad diinstal dan dikonfigurasi. Sekarang Anda dapat melanjutkan ke langkah berikutnya.
Buat File Layanan Systemd untuk Etherpad
Selanjutnya, Anda perlu membuat file layanan systemd untuk mengelola layanan Etherpad. Anda dapat membuatnya dengan perintah berikut:
nano /etc/systemd/system/etherpad.service
Tambahkan baris berikut:
[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
Simpan dan tutup file kemudian muat ulang daemon systemd dengan menjalankan perintah berikut:
systemctl daemon-reload
Selanjutnya, jalankan layanan Etherpad dan aktifkan untuk memulai saat reboot sistem dengan perintah berikut:
systemctl start etherpad
systemctl enable etherpad
Anda juga dapat memverifikasi status layanan Etherpad dengan perintah berikut:
systemctl status etherpad
Anda akan melihat output berikut:
? 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.js
Konfigurasi Nginx untuk Etherpad
Pada titik ini, Etherpad dimulai dan mendengarkan pada port 9001. Selanjutnya, Anda perlu menginstal dan mengkonfigurasi Nginx sebagai proxy terbalik untuk mengakses Etherpad. Pertama, instal Nginx dengan perintah berikut:
apt-get install nginx -y
Selanjutnya, buat file konfigurasi virtual host Nginx baru dengan perintah berikut:
nano /etc/nginx/sites-available/etherpad.conf
Tambahkan baris berikut:
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; } }
Simpan dan tutup file kemudian aktifkan file konfigurasi virtual host Nginx dengan perintah berikut:
ln -s /etc/nginx/sites-available/etherpad.conf /etc/nginx/sites-enabled/
Selanjutnya, periksa Nginx untuk kesalahan sintaks dengan perintah berikut:
nginx -t
Anda akan mendapatkan output berikut:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Selanjutnya, restart layanan Nginx untuk menerapkan perubahan:
systemctl restart nginx
Anda juga dapat memverifikasi status Nginx dengan perintah berikut:
systemctl status nginx
Anda akan mendapatkan output berikut:
? 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.
Akses Etherpad
Sekarang, buka browser web Anda dan ketik URL http://etherpad.mydomain.com . Anda akan diarahkan ke halaman berikut:
Berikan nama laman Anda dan klik Oke tombol. Anda akan melihat dasbor Etherpad Anda di halaman berikut:
Kesimpulan
Selamat! Anda telah berhasil menginstal dan mengkonfigurasi Etherpad dengan Nginx sebagai proxy terbalik di server Ubuntu 20.04. Anda dapat menggunakan Etherpad di lingkungan produksi dengan mudah. Jangan ragu untuk bertanya kepada saya jika Anda memiliki pertanyaan.