Cách cài đặt ownCloud trên Ubuntu 22.04

theanh

Administrator
Nhân viên
ownCloud là phần mềm phù hợp để tạo dịch vụ lưu trữ tệp như Google Drive và DropBox. Đây là phần mềm lưu trữ tệp miễn phí và mã nguồn mở cho phép bạn thiết lập dịch vụ lưu trữ tệp tự lưu trữ trên máy chủ của riêng bạn. ownCloud cung cấp ứng dụng máy chủ (thành phần chính của bộ phần mềm ownCloud) và các ứng dụng máy khách có thể cài đặt trên nhiều hệ điều hành như Linux, Windows, macOS, Android và iOS.

ownCloud chủ yếu được viết bằng PHP, JavaScript và Go. Và cho phép bạn dễ dàng đồng bộ hóa các sự kiện lịch, lưu trữ kho lưu trữ, hình ảnh và bất kỳ định dạng tệp nào. Và cũng cho phép bạn sắp xếp các tác vụ, sổ địa chỉ và nhiều thứ khác. ownCloud là ứng dụng có thể mở rộng cho phép bạn cài đặt ứng dụng bổ sung trên đó.

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt và cấu hình ownCloud trên máy chủ Ubuntu 22.04. Bài viết này cũng đề cập đến một số cài đặt và cấu hình cơ bản của LAMP Stack (Linux, Apache2, MariaDB và PHP) trên máy chủ Ubuntu.

Điều kiện tiên quyết​

Đối với hướng dẫn này, chúng ta cần các điều kiện tiên quyết sau:
  • Phiên bản Ubuntu Server 22.04.
  • Người dùng không phải root có quyền quản trị viên root.
  • Tên miền được trỏ và phân giải đến địa chỉ IP của máy chủ.

Cài đặt các phụ thuộc​

Trước khi bắt đầu cài đặt ownCloud, bạn phải cài đặt một số phụ thuộc gói cơ bản vào máy chủ của mình, bao gồm một gói như openssl, redis-server, smbclient, v.v.

Đầu tiên, hãy cập nhật kho lưu trữ Ubuntu lên phiên bản mới nhất bằng lệnh apt bên dưới.
Mã:
sudo apt update
Sau đó, hãy cài đặt các gói phụ thuộc bằng lệnh bên dưới lệnh.
Mã:
sudo apt install smbclient redis-server unzip openssl rsync imagemagick
Nhập Y để xác nhận cài đặt và nhấn ENTER để bắt đầu. Sau khi hoàn tất cài đặt tất cả các dependency, hãy chuyển sang bước tiếp theo.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22471%22%3E%3C/svg%3E

Cài đặt PHP 7.4​

Bây giờ bạn sẽ cài đặt các dependency PHP cho cài đặt ownCloud của mình trên máy chủ Ubuntu.

Phiên bản mới nhất của kho lưu trữ Ubuntu 22.04 cung cấp phiên bản mới nhất của các gói PHP 8.1. Nhưng đối với ownCloud, bạn sẽ cần PHP 7.4 thay vì PHP 8.1. Ở trạng thái hiện tại, ownCloud vẫn chưa được hỗ trợ đầy đủ cho PHP 8.1.

Vì vậy, bây giờ bạn sẽ cài đặt PHP 7.4 từ kho lưu trữ của bên thứ ba "ppa:eek:ndrej/php" vào máy chủ Ubuntu 22.04 mới nhất.

Chạy lệnh sau để thêm kho lưu trữ PPA cho các gói PHP. Lệnh sau cũng sẽ tự động cập nhật và làm mới kho lưu trữ Ubuntu của bạn.
Mã:
sudo add-apt-repository ppa:ondrej/php -y
Tiếp theo, chạy lệnh apt bên dưới để cài đặt PHP 7.4 vào hệ thống Ubuntu của bạn. Ngoài ra, lệnh sau cũng sẽ cài đặt một số gói PHP 8.1 nhưng đừng lo vì bạn sẽ có thể thiết lập phiên bản PHP mặc định trên Ubuntu.
Mã:
sudo apt install php7.4 php7.4-intl php7.4-mysql php7.4-mbstring \
 php7.4-imagick php7.4-igbinary php7.4-gmp php7.4-bcmath \
 php7.4-curl php7.4-gd php7.4-zip php7.4-imap php7.4-ldap \
 php7.4-bz2 php7.4-ssh2 php7.4-common php7.4-json \
 php7.4-xml php7.4-dev php7.4-apcu php7.4-redis \
 libsmbclient-dev php-pear php-phpseclib
Tiếp theo, chạy lệnh sau để thiết lập phiên bản PHP mặc định trên hệ thống của bạn.
Mã:
sudo update-alternatives --config php
Nhập số phiên bản PHP 7.4 và nhấn ENTER để xác nhận. Trong ví dụ này, PHP 7.4 có sẵn ở số "2".

Bây giờ hãy kiểm tra phiên bản PHP bằng lệnh sau. Và bạn sẽ thấy phiên bản mặc định của PHP được thay đổi thành PHP 7.4, theo yêu cầu để cài đặt ownCloud.
Mã:
php --version

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22360%22%3E%3C/svg%3E


Bây giờ hãy chạy lệnh sau để thiết lập phiên bản công cụ PHP khác cho PHP 7.4.
Mã:
sudo update-alternatives --set phar /usr/bin/phar7.4
sudo update-alternatives --set phar.phar /usr/bin/phar.phar7.4
sudo update-alternatives --set phpize /usr/bin/phpize7.4
sudo update-alternatives --set php-config /usr/bin/php-config7.4
Tiếp theo, bạn cũng sẽ cần cập nhật PEAR lên phiên bản ổn định mới nhất cho ownCloud. Phiên bản ổn định mới nhất của PEAR hiện tại là v1.10.13., có thể nâng cấp thủ công.

Tạo một thư mục tạm thời mới /tmp/pear/cache bằng lệnh sau.
Mã:
sudo mkdir -p /tmp/pear/cache
Nâng cấp phiên bản PEAR lên 1.10.13 bằng lệnh pear bên dưới.
Mã:
sudo pear upgrade --force \
 --alldeps http://pear.php.net/get/PEAR-1.10.13
Bây giờ hãy chạy các lệnh pear bên dưới để xóa bộ nhớ đệm, cập nhật kênh và nâng cấp tất cả.
Mã:
sudo pear clear-cache
sudo pear update-channels
sudo pear upgrade --force
sudo pear upgrade-all
Sau khi quá trình nâng cấp hoàn tất, hãy kiểm tra phiên bản pear bằng lệnh sau. Và bạn sẽ thấy phiên bản PEAR được nâng cấp lên v1.10.13.
Mã:
pear version

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22608%22%20height=%22162%22%3E%3C/svg%3E

Cài đặt máy chủ web Apache2​

Bây giờ là lúc cài đặt máy chủ web Apache2 máy chủ cho ownCloud, cũng kích hoạt các mô-đun cần thiết cho ownCloud.

Cài đặt máy chủ web Apache2 bằng lệnh apt bên dưới.
Mã:
sudo apt install libapache2-mod-php7.4 apache2
Nhập Y để xác nhận cài đặt và nhấn ENTER để bắt đầu cài đặt.

Bây giờ sau khi hoàn tất quá trình cài đặt, hãy chạy lệnh a2enmod bên dưới để kích hoạt một số mô-đun Apache2 cần thiết cho ownCloud.
Mã:
sudo a2enmod rewrite env dir mime unique_id headers ssl

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22364%22%3E%3C/svg%3E


Khởi động lại dịch vụ Apache2 để áp dụng dịch vụ mới thay đổi.
Mã:
sudo systemctl restart apache2

Cài đặt MariaDB Server​

Sau khi bạn đã cài đặt PHP 7.4 và máy chủ web Apache2, bây giờ là lúc cài đặt máy chủ MariaDB. Theo mặc định, ownCloud hỗ trợ nhiều RDBMS như MySQL/MariaDB, SQLite, PostgreSQL và Oracle. Cách dễ nhất, miễn phí và được khuyến nghị cho việc triển khai ownCloud là sử dụng cơ sở dữ liệu MySQL/MariaDB.

Chạy lệnh apt bên dưới để cài đặt gói máy chủ MariaDB.
Mã:
sudo apt install mariadb-server
Nhập Y để xác nhận cài đặt và nhấn ENTER để bắt đầu. Bây giờ quá trình cài đặt sẽ bắt đầu.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22348%22%3E%3C/svg%3E


Sau khi quá trình cài đặt MariaDB hoàn tất, hãy chạy lệnh sau để thiết lập và bảo mật việc triển khai MariaDB.
Mã:
sudo mysql_secure_installation
Và bạn sẽ được yêu cầu cung cấp một số cấu hình MariaDB cơ bản bên dưới:
  • Nhập MariaDB mới mật khẩu gốc và lặp lại.
  • Tùy chọn, nhập Y để chuyển xác thực sang xác thực unix_socket.
  • Nhập Y để xóa người dùng ẩn danh mặc định khỏi triển khai máy chủ MariaDB.
  • Nhập Y để tắt đăng nhập từ xa cho người dùng gốc MariaDB.
  • Nhập Y một lần nữa để xóa "test" cơ sở dữ liệu mặc định khỏi hệ thống MariaDB của bạn.
  • Cuối cùng, nhập Y một lần nữa để tải lại tất cả các đặc quyền bảng và áp dụng các thay đổi mới cho máy chủ MariaDB.
Sau khi bạn hoàn tất triển khai máy chủ MariaDB, hãy chạy lệnh mysql bên dưới để đăng nhập vào MariaDB shell.
Mã:
mysql -u root -p
Chạy các truy vấn sau để tạo cơ sở dữ liệu MariaDB và người dùng mới cho ownCloud. Trong ví dụ này, người dùng và cơ sở dữ liệu sẽ được đặt tên là "owncloud" với mật khẩu là "owncloudpass".
Mã:
CREATE DATABASE owncloud;
CREATE USER IF NOT EXISTS 'owncloud'@'localhost' IDENTIFIED BY 'owncloudpass';
GRANT ALL PRIVILEGES ON owncloud.* TO 'owncloud'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22215%22%3E%3C/svg%3E


Bây giờ hãy xác minh các đặc quyền cho người dùng MariaDB "owncloud" bằng truy vấn sau. Hãy đảm bảo rằng người dùng "owncloud" có quyền truy cập và đặc quyền đối với cơ sở dữ liệu "owncloud".
Mã:
SHOW GRANTS FOR 'owncloud'@'localhost';

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22153%22%3E%3C/svg%3E

Tải xuống mã nguồn OwnCloud​

Tại thời điểm này, bạn đã hoàn tất cấu hình cơ bản của LAMP Stack (Linux, Apache2, MariaDB và PHP) cho cài đặt ownCloud. Bây giờ bạn sẽ tải mã nguồn ownCloud về hệ thống của mình.

Đầu tiên, hãy vào thư mục /var/www/ bằng lệnh sau.
Mã:
cd /var/www/
Bây giờ hãy tải xuống phiên bản mới nhất của mã nguồn ownCloud và tệp tổng kiểm tra để xác minh bằng lệnh wget bên dưới. Và bạn sẽ thấy một tệp mới "owncloud-complete-latest.tar.bz2" cho mã nguồn ownCloud và "owncloud-complete-latest.tar.bz2.sha256" cho tệp tổng kiểm tra.
Mã:
wget https://download.owncloud.com/server/stable/owncloud-complete-latest.tar.bz2
wget https://download.owncloud.com/server/stable/owncloud-complete-latest.tar.bz2.sha256
Sau đó chạy xác minh bằng lệnh sha256sum bên dưới. Nếu xác minh thành công, bạn sẽ thấy thông báo đầu ra như "OK".
Mã:
sudo sha256sum -c owncloud-complete-latest.tar.bz2.sha256 < owncloud-complete-latest.tar.bz2

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22174%22%3E%3C/svg%3E


Sau đó, trích xuất mã nguồn ownCloud bằng lệnh bên dưới. Và bạn sẽ thấy một thư mục mới có tên "owncloud", sẽ được sử dụng làm thư mục DocumentRoot/WebRoot cho cài đặt ownCloud của bạn "/var/www/owncloud".
Mã:
tar -xf owncloud-complete-latest.tar.bz2
Cuối cùng, hãy thay đổi quyền sở hữu của thư mục "owncloud" thành "www-data" bằng cách sử dụng lệnh sau lệnh.
Mã:
sudo chown -R www-data:www-data owncloud

Thiết lập máy chủ ảo Apache2 cho ownCloud​

Bây giờ bạn sẽ thiết lập máy chủ ảo Apache2 cho ownCloud. Trong ví dụ này, chúng tôi sẽ sử dụng tên miền "howtoforge.local" cho cài đặt ownCloud với HTTPS/SSL an toàn được bật trên máy chủ web Apache2.

Tạo tệp máy chủ ảo mới "/etc/apache2/sites-available/owncloud.conf" bằng trình chỉnh sửa nano.
Mã:
sudo nano /etc/apache2/sites-available/owncloud.conf
Thêm cấu hình Apache2 sau vào tệp. Ngoài ra, hãy đảm bảo thay đổi tên miền và đường dẫn của chứng chỉ SSL với thông tin chi tiết về cấu hình của bạn. Với cấu hình này, cài đặt ownCloud của bạn sẽ khả dụng tại đường dẫn URL "/owncloud" (tức là https://howtoforge.local/owncloud)
Mã:
 ServerName howtoforge.local
 ServerAlias www.howtoforge.local
 Redirect permanent / https://howtoforge.local/



 ServerName howtoforge.local
 DocumentRoot /var/www
 ServerAlias www.howtoforge.local

 Protocols h2 http:/1.1

 
 Redirect permanent / https://howtoforge.local/
 
 
 ErrorLog ${APACHE_LOG_DIR}/howtoforge.local-error.log
 CustomLog ${APACHE_LOG_DIR}/howtoforge.local-access.log combined

 SSLEngine On
 SSLCertificateFile /etc/letsencrypt/live/howtoforge.local/fullchain.pem
 SSLCertificateKeyFile /etc/letsencrypt/live/howtoforge.local/privkey.pem
 
 SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384

 SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
 SSLCompression off

 Header always set Strict-Transport-Security "max-age=63072000"

 Alias /owncloud "/var/www/owncloud/"

 
 Options +FollowSymlinks
 AllowOverride All

 
 Dav off
 

 SetEnv HOME /var/www/owncloud
 SetEnv HTTP_HOME /var/www/owncloud
Bây giờ hãy lưu và đóng tệp khi bạn hoàn tất.

Tiếp theo, kích hoạt cấu hình máy chủ ảo "owncloud.conf" bằng cách sử dụng bên dưới lệnh.
Mã:
sudo a2ensite owncloud.conf
Kiểm tra và xác minh cấu hình Apache2 bằng lệnh bên dưới. Nếu cấu hình của bạn đúng, bạn sẽ thấy thông báo đầu ra như "Cú pháp: OK".
Mã:
sudo apachectl configtest
Cuối cùng, hãy chạy lệnh bên dưới để khởi động lại máy chủ web Apache2 và áp dụng cấu hình máy chủ ảo mới "owncloud.conf". Bây giờ bạn đã sẵn sàng để bắt đầu trình hướng dẫn cài đặt ownCloud từ trình duyệt web, nhưng tùy chọn bạn cũng có thể bắt đầu trình hướng dẫn cài đặt ownCloud từ dòng lệnh.
Mã:
sudo systemctl restart apache2

Bắt đầu trình hướng dẫn cài đặt ownCloud​

Để hoàn tất quá trình cài đặt ownCloud, bạn cần truy cập trình hướng dẫn cài đặt ownCloud và thiết lập cơ sở dữ liệu chi tiết và người dùng quản trị cho ownCloud. Có thể thực hiện theo hai cách khác nhau, bằng cách sử dụng trình duyệt web hoặc bằng cách sử dụng dòng lệnh từ máy chủ đầu cuối.

Trong ví dụ này, bạn sẽ truy cập trình hướng dẫn cài đặt ownCloud thông qua dòng lệnh từ máy chủ đầu cuối.

Thay đổi thư mục làm việc của bạn thành thư mục ownCloud DocumentRoot "/var/www/owncloud".
Mã:
cd /var/www/owncloud
Bây giờ hãy chạy lệnh sau để hoàn tất quá trình cài đặt ownCloud. Hãy đảm bảo thay đổi thông tin chi tiết về cơ sở dữ liệu và người dùng quản trị mới cùng mật khẩu. Khi mọi thứ hoàn tất, bạn sẽ thấy thông báo đầu ra như "ownCloud đã được cài đặt thành công" trên màn hình thiết bị đầu cuối của bạn.
Mã:
sudo -u www-data /var/www/owncloud/occ maintenance:install \
 --database "mysql" \
 --database-name "owncloud" \
 --database-user "owncloud"\
 --database-pass "owncloudpass" \
 --admin-user "admin" \
 --admin-pass "adminpassowncloud"

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22204%22%3E%3C/svg%3E


Tiếp theo, bạn cũng sẽ cần chỉnh sửa cấu hình ownCloud "/var/www/owncloud/config/config.php" bằng trình soạn thảo nano.
Mã:
sudo nano /var/www/owncloud/config/config.php
Thêm miền cài đặt ownCloud của bạn vào cấu hình "trusted_domains" như bên dưới. Trong ví dụ này, tên miền cài đặt ownCloud là "howtoforge.local".
Mã:
'trusted_domains' =>
 array (
 0 => 'localhost',
 1 => 'howtoforge.local',
 ),
Lưu và đóng tệp khi bạn hoàn tất.

Tiếp theo, hãy mở trình duyệt web và nhập tên miền cài đặt ownCloud của bạn (tức là https://howtoforge.local/owncloud/) vào thanh địa chỉ. Và bây giờ bạn sẽ thấy trang đăng nhập ownCloud.

Nhập tên người dùng và mật khẩu quản trị viên cho cài đặt ownCloud của bạn và nhấp vào "Đăng nhập".


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22458%22%3E%3C/svg%3E


Nếu tên người dùng và mật khẩu của bạn đúng, bây giờ bạn sẽ thấy bảng điều khiển người dùng ownCloud. Điều này có nghĩa là bạn đã cài đặt thành công ownCloud trên máy chủ Ubuntu của mình.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22750%22%20height=%22597%22%3E%3C/svg%3E

Điều chỉnh hiệu suất cho ownCloud​

Lúc này, ownCloud đã hoạt động. Tuy nhiên, bạn vẫn cần thêm một số cấu hình bổ sung để có hiệu suất cao hơn. Và bây giờ bạn sẽ thiết lập các tác vụ nền cho ownCloud bằng cron và thiết lập hệ thống lưu trữ đệm bằng Redis.

Chạy lệnh sau để thay đổi tác vụ nền ownCloud thành "cron".
Mã:
sudo -u www-data /var/www/owncloud/occ background:cron
Tiếp theo, tạo cấu hình cron mới cho ownCloud bằng lệnh bên dưới. Nếu bạn không có trình soạn thảo mặc định trên hệ thống của mình, bạn sẽ được yêu cầu chọn trình soạn thảo mà bạn muốn sử dụng.
Mã:
sudo crontab -u www-data -e
Chọn trình soạn thảo mà bạn muốn sử dụng và thêm cấu hình cron như bên dưới.
Mã:
*/15 * * * * /usr/bin/php -f /var/www/owncloud/occ system:cron
Lưu và đóng tệp khi bạn hoàn tất.

Tiếp theo, để thiết lập hệ thống lưu trữ đệm cho ownCloud, bạn sẽ cần sửa đổi cấu hình ownCloud config.php.

Chỉnh sửa tệp "/var/www/owncloud/config/config.php" bằng trình chỉnh sửa nano.
Mã:
sudo nano /var/www/owncloud/config/config.php
Bây giờ hãy thêm cấu hình sau vào tệp.
Mã:
 
Back
Bên trên