Ở bài này, tôi sẽ hướng dẫn các bạn cài đặt và cấu hình Nextcloud kết hợp collabora trên cùng 1 server chạy hệ điều hành Ubuntu 20.04 LTS
Trong bài viết này, tôi sẽ sử dụng một IP public và một tên miền để demo.
Bước 1: Cài Nextcloud
Đầu tiên trỏ tên miền với 2 bản ghi dùng cho nextcloud và collabora. Tên record đặt tùy ý. Ở đây tôi sẽ đặt là:
Bản ghi dùng cho dịch vụ nextcloud:
- Tên record: demonc
- Loại record: A
- IP: Nhập IP public cần trỏ
Bản ghi dùng cho dịch vụ collabora:
- Tên record: democlbr
- Loại record: A
- IP: Nhập IP public cần trỏ
Cài đặt:
Update OS:
apt-get update -y
apt-get upgrade -y
apt-get dist-upgrade -y
Bổ xung thông tin vào file hosts với 2 tên miền demonc.domain và democlbr.domain (thay bằng subdomain dùng cho nextcloud và collabora)
Cài đặt dịch vụ web
apt install apache2 -y
systemctl start apache2
systemctl enable apache2
Mở port dịch vụ web trên firewall
sudo ufw allow 80
sudo ufw allow 443
Cài đặt Mariadb
apt-get install -y software-properties-common
apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
add-apt-repository "deb [arch=amd64,arm64,ppc64el] http://mariadb.mirror.liquidtelecom.com/repo/10.3/ubuntu $(lsb_release -cs) main"
apt update -y
apt install mariadb-server -y
Đặt password cho user root quản lý mysql
Khởi động dịch vụ mysql:
service mysql start
service mysql enable
Tạo user và mật khẩu sử dụng cho nextcloud
mysql -u root -p
CREATE DATABASE nextcloud;
CREATE USER 'nc_user'@'localhost' IDENTIFIED BY 'password_cua_ban';
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nc_user'@'localhost';
FLUSH PRIVILEGES;
Exit
Cài đặt PHP (Lưu ý cần cài đặt php version 7.3 trở lên). Ở đây tôi cài PHP 7.4
apt install -y php libapache2-mod-php php-ldap php-mysql php-cli php-bz2 php-curl php-gd php-imagick php-intl php-mbstring php-xml php-zip
Cài đặt nextcloud: Ở tài liệu này cài đặt phiên bản 21.0.0
wget https://download.nextcloud.com/server/releases/nextcloud-21.0.0.zip -O /mnt/nextcloud.zip
apt-get install unzip -y
unzip /mnt/nextcloud.zip -d /var/www/
rm -f /mnt/nextcloud-21.0.0.zip
chmod 755 -R /var/www/nextcloud/
chown www-data. -R /var/www/nextcloud/
Cấu hình vhost cho nextcloud
cat << EOF >> /etc/apache2/sites-available/nextcloud.conf
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/nextcloud/
ServerName demonc.ten_mien_cua_ban
Alias /nextcloud "/var/www/nextcloud/"
<Directory /var/www/nextcloud/>
Options +FollowSymlinks
AllowOverride All
Require all granted
<IfModule mod_dav.c>
Dav off
</IfModule>
SetEnv HOME /var/www/nextcloud
SetEnv HTTP_HOME /var/www/nextcloud
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
EOF
Enable các mode hỗ trợ
mv /etc/apache2/sites-available/000-default.{conf,conf.bk}
sudo a2enmod rewrite
sudo a2enmod headers
sudo a2enmod env
sudo a2enmod dir
sudo a2enmod mime
Enable config của nextcloud
sudo a2ensite nextcloud.conf
sudo systemctl start apache2
Cấu hình nextcloud trên giao diện web
Truy cập link: http://demonc.ten_mien_cua_ban với user và password và các thông tin cần thiết như bên dưới
- User: nc_admin
- Password: nextcloudpassword
- nc_user : Tên user quản lý database nextcloud
- password: Password của user quản lý databse
- nextcloud : Tên database nextcloud
- localhost
Chờ quá trình cài đặt các ứng dụng hoàn thành.
Bước 2: Cài đặt Collabora
Thiết lập package repository
echo 'deb https://www.collaboraoffice.com/repos/CollaboraOnline/CODE-ubuntu2004 ./' | sudo tee /etc/apt/sources.list.d/collabora.list
Chạy lệnh bên dưới để download and import Collabora public key và các packe bổ trợ
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0C54D189F4BA284D
sudo apt install apt-transport-https ca-certificates -y
Cài đặt Loolwsd (LibreOffice Online WebSocket Daemon)
sudo apt update -y
sudo apt install loolwsd code-brand -y
Cấu hình Loolwsd
sudo loolconfig set ssl.enable false
sudo loolconfig set storage.wopi.host demonc.ten_mien_cua_ban
Tạo account admin quản lý cho loolwsd
sudo loolconfig set-admin-password
Khởi động lại service loolwsd
sudo systemctl restart loolwsd
Cấu hình vhost cho collabora: Tạo file /etc/apache2/sites-available/collabora.conf
với nội dung bên dưới
<VirtualHost *:80>
ServerName democlbr.ten_mien_cua_ban
Options -Indexes
ErrorLog "/var/log/apache2/collabora_error"
# Encoded slashes need to be allowed
AllowEncodedSlashes NoDecode
# keep the host
ProxyPreserveHost On
# static html, js, images, etc. served from loolwsd
# loleaflet is the client part of Collabora Online
ProxyPass /loleaflet http://127.0.0.1:9980/loleaflet retry=0
ProxyPassReverse /loleaflet http://127.0.0.1:9980/loleaflet
# WOPI discovery URL
ProxyPass /hosting/discovery http://127.0.0.1:9980/hosting/discovery retry=0
ProxyPassReverse /hosting/discovery http://127.0.0.1:9980/hosting/discovery
# Capabilities
ProxyPass /hosting/capabilities http://127.0.0.1:9980/hosting/capabilities retry=0
ProxyPassReverse /hosting/capabilities http://127.0.0.1:9980/hosting/capabilities
# Main websocket
ProxyPassMatch "/lool/(.*)/ws$" ws://127.0.0.1:9980/lool/$1/ws nocanon
# Admin Console websocket
ProxyPass /lool/adminws ws://127.0.0.1:9980/lool/adminws
# Download as, Fullscreen presentation and Image upload operations
ProxyPass /lool http://127.0.0.1:9980/lool
ProxyPassReverse /lool http://127.0.0.1:9980/lool
</VirtualHost>
Bật các mode cần thiết
sudo a2enmod proxy proxy_wstunnel proxy_http
Enable virtual host của collabora
sudo a2ensite collabora.conf
sudo systemctl restart apache2
Bước 3: Cài đặt SSL Let’s Encrypt
Thao tác cài đặt Let’s Encrypt cho 2 domain demonc.ten_mien_cua_ban và democlbr.ten_mien_cua_ban
sudo apt install certbot -y
sudo apt install python3-certbot-apache -y
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email email_cua_ban -d demonc.ten_mien_cua_ban
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email email_cua_ban -d democlbr.ten_mien_cua_ban
sudo loolconfig set ssl.termination true
sudo systemctl restart loolwsd
Kết quả:
Bước 4: Kết nối Collabora với Nextcloud
Truy cập giao diện Nextcloud với tài khoản admin
- Click vào
Settings
- Tìm ở cột bên trái, click vào
Collabora Online
- Click vào ô
Use your own server
- Nhập https://democlbr.ten_mien_cua_ban và click
Save
- Ở phần
Advanced setting
s tick chọ ở ôUse Ofice Open XML
Sau đó tạo hoặc upload file word, excel để kiểm tra.
Kết quả:
Kết luận
Như vậy tôi đã hướng dẫn xong cách cài đặt và cấu hình kết hợp Nextcloud và Collabora trên Ubuntu 20.
Cám ơn các bạn đã theo dõi series này.
Chúc các bạn thành công!!!
Bài viết rất hay