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?
- Instal Dependensi Paket
- Instal Nodejs
- Instal dan Konfigurasi MySQL
- Unduh Etherpad
- Konfigurasi Etherpad
- Siapkan Etherpad sebagai Layanan
- Siapkan Nginx sebagai Proxy Terbalik untuk Etherpad
- Menyiapkan Firewall UFW
- 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.serviceTempelkan 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.targetSimpan dan keluar.
Muat ulang daftar layanan systemd.
sudo systemctl daemon-reloadMulai layanan etherpad dan aktifkan untuk diluncurkan setiap kali sistem boot.
sudo systemctl start etherpad
sudo systemctl aktifkan etherpadDan 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 -plntuLangkah 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 -ySetelah instalasi selesai, buka direktori '/etc/nginx/sites-available' dan buat virtual host baru 'etherpad'.
cd /etc/nginx/sites-available/
vim etherpadTempelkan 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.