Cách cài đặt ownCloud trên Debian 12

theanh

Administrator
Nhân viên
ownCloud là giải pháp phần mềm để 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. Nó cho phép bạn đồng bộ hóa các sự kiện lịch một cách dễ dàng và lưu trữ kho lưu trữ, hình ảnh và tệp. Nó cũng cho phép bạn sắp xếp các tác vụ, sổ địa chỉ, v.v. ownCloud là ứng dụng có thể mở rộng cho phép bạn cài đặt thêm một ứng dụng khác.

Hãy làm theo hướng dẫn này để tìm hiểu cách cài đặt phần mềm ownCloud trên Debian 12 từng bước. Tìm hiểu cách cài đặt ownCloud qua dòng lệnh trên LAMP Stack và bảo mật ownCloud bằng chứng chỉ SSL/TLS từ Letsencrypt.

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

Để bắt đầu quy trình, hãy đảm bảo bạn có những điều sau:
  • Máy chủ Debian 12.
  • Người dùng không phải root có người dùng quản trị viên.
  • Tên miền trỏ đến địa chỉ IP của máy chủ.

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

Trong phần sau, bạn sẽ cài đặt các gói phụ thuộc cần thiết cho ownCloud. Dưới đây là một số gói mà bạn sẽ cài đặt:
  • Máy chủ web Apache2.
  • Máy chủ cơ sở dữ liệu MariaDB.
    PHP 7.4 - Phiên bản PHP hiện tại là 8.x vẫn chưa được ownCloud hỗ trợ, vì vậy bạn sẽ cài đặt PHP 7.4 thông qua kho lưu trữ của bên thứ ba.
  • Máy chủ Redis.
  • Các gói bổ sung như ImageMagick, Certbot, Pear và tiện ích mở rộng PHP.
Trước tiên, hãy chạy lệnh sau để cài đặt một số phụ thuộc vào hệ thống của bạn.
Mã:
sudo apt install lsb-release ca-certificates curl -y

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


Bây giờ hãy chạy lệnh bên dưới để thêm khóa GPG PHP và kho lưu trữ vào hệ thống Debian của bạn. Thật không may, ownCloud vẫn không hỗ trợ PHP 8.x và bạn phải cài đặt PHP 7.4 vào máy Debian của mình thông qua kho lưu trữ của bên thứ ba.
Mã:
sudo curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg
sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
Tiếp theo, hãy chạy lệnh sau để cập nhật và làm mới kho lưu trữ Debian của bạn.
Mã:
sudo apt update

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


Sau đó cài đặt các phần phụ thuộc cho ownCloud bằng cách thực hiện lệnh apt install sau. Với điều này, bạn sẽ cài đặt LAMP Stack (Apache2, MariaDB và PHP 7.4), Certbot, Redis, các tiện ích mở rộng PHP bổ sung và ImageMagick.
Mã:
sudo apt install apache2 mariadb-server imagemagick certbot python3-certbot-apache smbclient redis-server unzip rsync libapache2-mod-php7.4 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
Nhập y để tiếp tục cài đặt.


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


Sau khi các phụ thuộc được đã cài đặt, hãy xác minh từng lệnh đó bằng cách thực hiện lệnh sau.

Chạy lệnh bên dưới để xác minh dịch vụ apache2 để đảm bảo rằng dịch vụ đang chạy.
Mã:
sudo systemctl is-enabled apache2
sudo systemctl status apache2
Đầu ra sau cho bạn thấy rằng apache2 đã được bật và đang chạy.


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


Xác minh dịch vụ mariadb bằng lệnh sau.
Mã:
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
Đầu ra phải tương tự, đầu ra được bật xác nhận rằng mariadb được bật và đầu ra hoạt động (đang chạy) xác nhận rằng mariadb đang chạy.


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


Bây giờ hãy xác minh Redis bằng lệnh sau lệnh.
Mã:
sudo systemctl is-enabled redis
sudo systemctl status redis
Máy chủ Redis phải chạy và được bật như sau:


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


Tiếp theo, chạy lệnh sau để cấu hình phiên bản PHP mặc định trên máy Debian của bạn.
Mã:
sudo update-alternatives --config php
Chọn phiên bản PHP mặc định là PHP 7.2.


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


Chạy lệnh sau để cấu hình các công cụ PHP bổ sung để sử dụng 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
Sau đó, xác minh phiên bản PHP mặc định và một số tiện ích mở rộng được bật bằng cách sử dụng lệnh sau lệnh.
Mã:
php -v
php -m
Đầu ra bên dưới xác nhận rằng PHP 7.2 đã được cài đặt và trở thành phiên bản PHP mặc định trên máy Debian của bạn.


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


Cuối cùng, hãy kiểm tra đường dẫn nhị phân của Certbot và phiên bản của nó bằng cách sử dụng lệnh sau lệnh.
Mã:
which certbot
certbot --version
Bạn sẽ thấy Certbot 2.1.0 được cài đặt vào /usr/bin/certbot.


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

Đang nâng cấp PHP Pear​

Sau khi cài đặt các phụ thuộc, bước tiếp theo là nâng cấp gói Pear lên phiên bản mới nhất, có thể thực hiện thông qua dòng lệnh Pear.

Thực hiện lệnh sau để tạo thư mục tạm thời mới /tmp/pear/cache và nâng cấp phiên bản pear lên 1.10.13.
Mã:
sudo mkdir -p /tmp/pear/cache
sudo pear upgrade --force --alldeps http://pear.php.net/get/PEAR-1.10.13
Trong quá trình cài đặt, bạn sẽ thấy kết quả như sau:


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


Tiếp theo, 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ả các gói.
Mã:
sudo pear clear-cache
sudo pear update-channels
sudo pear upgrade --force
sudo pear upgrade-all
Sau khi hoàn tất, hãy xác minh phiên bản PEAR bằng cách sử dụng lệnh sau lệnh.
Mã:
pear version
Bạn sẽ thấy Pears được cập nhật lên v1.10.13.


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

Cấu hình Máy chủ MariaDB​

Trong phần sau, bạn sẽ tạo và bảo mật cài đặt MariaDB Server của bạn thông qua tiện ích mariadb-secure-installation. Sau đó, bạn sẽ tạo một cơ sở dữ liệu và người dùng mới sẽ được ownCloud sử dụng.

Để bảo mật MariaDB Server, hãy chạy lệnh sau trên thiết bị đầu cuối của bạn.
Mã:
sudo mariadb-secure-installation
Trong quá trình này, bạn sẽ được hỏi về một số cấu hình của MariaDB. Nhập Y để chấp nhận cấu hình hoặc n để từ chối. Dưới đây là một số cấu hình MariaDB mà bạn sẽ được yêu cầu:
  • Chuyển sang xác thực unix_socket?. Nhập n và nhấn ENTER. Người dùng root MariaDB mặc định đã được bảo vệ. Tùy chọn, bạn cũng có thể bật nó bằng cách nhập y cho yes.
  • Thay đổi mật khẩu gốc?. Nhập y để xác nhận và thiết lập mật khẩu gốc MariaDB mới của bạn.
  • Xóa người dùng ẩn danh?. Nhập y để xác nhận.
  • Không cho phép đăng nhập gốc từ xa? Nhập y để xác nhận. Chỉ kết nối cục bộ sẽ được phép nếu bạn đang sử dụng người dùng gốc MariaDB.
  • Xóa cơ sở dữ liệu thử nghiệm và quyền truy cập vào cơ sở dữ liệu đó?. Nhập y để xác nhận và xóa cơ sở dữ liệu mặc định 'test'.
  • 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 trên máy chủ MariaDB của bạn và áp dụng các thay đổi mới.
Sau khi bảo mật MariaDB, bạn sẽ tạo một cơ sở dữ liệu và người dùng mới sẽ được ownCloud sử dụng. Để thực hiện việc đó, bạn phải đăng nhập vào Máy chủ MariaDB thông qua máy khách mariadb.

Thực hiện lệnh sau để đăng nhập vào Máy chủ MariaDB. Nhập mật khẩu gốc MariaDB của bạn khi được nhắc.
Mã:
sudo mariadb -u root -p
Bây giờ hãy thực hiện các truy vấn MariaDB bên dưới để tạo cơ sở dữ liệu và người dùng mới cho ownCloud. Trong ví dụ này, bạn sẽ tạo cơ sở dữ liệu mới owncloud, người dùng owncloud, với mật khẩu password.
Mã:
CREATE DATABASE owncloud;
CREATE USER IF NOT EXISTS 'owncloud'@'localhost' IDENTIFIED BY 'password';
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=%22206%22%3E%3C/svg%3E


Cuối cùng, hãy xác minh các đặc quyền cho người dùng owncloud bằng cách thực hiện lệnh sau truy vấn.
Mã:
SHOW GRANTS FOR 'owncloud'@'localhost';
Bạn sẽ thấy rằng người dùng owncloud có thể truy cập cơ sở dữ liệu owncloud, cơ sở dữ liệu này sẽ được sử dụng để cài đặt ownCloud của bạn.


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


Bây giờ hãy nhập quit để thoát khỏi MariaDB Máy chủ.

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

Sau khi cấu hình máy chủ MariaDB, bạn sẽ tải xuống mã nguồn ownCloud và cấu hình thư mục DocumentRoot cho cài đặt ownCloud của bạn với quyền và quyền sở hữu phù hợp.

Trước tiên, hãy thay đổi thư mục làm việc của bạn thành /var/www.
Mã:
cd /var/www
Sau đó, chạy các lệnh wget sau để tải xuống mã nguồn ownCloud và tệp tổng kiểm tra tương ứng vào system.
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
Bây giờ hãy chạy lệnh bên dưới để đảm bảo tính toàn vẹn của mã nguồn ownCloud của bạn. Nếu thành công, bạn sẽ nhận được đầu ra "owncloud-complete-latest.tar.bz2: OK".
Mã:
sudo sha256sum -c owncloud-complete-latest.tar.bz2.sha256 < owncloud-complete-latest.tar.bz2
Tiếp theo, hãy chạy lệnh sau để trích xuất mã nguồn ownCloud. Nguồn ownCloud sẽ được giải nén vào thư mục /var/www/owncloud, thư mục này cũng sẽ được sử dụng làm thư mục DocumentRoot.
Mã:
tar -xf owncloud-complete-latest.tar.bz2

14-download-owncloud.png



Cuối cùng, hãy chạy lệnh sau để thay đổi quyền sở hữu thư mục /var/www/owncloud thành người dùng www-data.
Mã:
sudo chown -R www-data:www-data /var/www/owncloud

Cấu hình Máy chủ ảo Apache2​

Trong phần này, bạn sẽ tạo cấu hình máy chủ ảo mới sẽ được sử dụng để chạy ownCloud. Bạn cũng sẽ tạo chứng chỉ SSL/TLS từ Letsencrypt thông qua Certbot. Vì vậy, trước khi bắt đầu, hãy đảm bảo rằng bạn đã trỏ tên miền đến địa chỉ IP máy chủ của mình.

Để bắt đầu, hãy chạy lệnh sau để kích hoạt một số mô-đun Apache2 sẽ được ownCloud sử dụng.
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=%22689%22%20height=%22414%22%3E%3C/svg%3E


Bây giờ hãy tạo một tệp máy chủ ảo mới /etc/apache2/sites-available/owncloud.conf sử dụng lệnh trình chỉnh sửa nano sau.
Mã:
sudo nano /etc/apache2/sites-available/owncloud.conf
Chèn cấu hình sau và đảm bảo thay đổi tên miền trong tham số ServerName.
Mã:
 ServerName howtoforge.local
 ServerAlias www.howtoforge.local

 DocumentRoot /var/www/owncloud
 
 ErrorLog ${APACHE_LOG_DIR}/howtoforge.local-error.log
 CustomLog ${APACHE_LOG_DIR}/howtoforge.local-access.log combined

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

 
 Options +FollowSymlinks
 AllowOverride All

 
 Dav off
 

 SetEnv HOME /var/www/owncloud
 SetEnv HTTP_HOME /var/www/owncloud
Lưu tệp và thoát khỏi trình chỉnh sửa khi bạn hoàn tất.

Tiếp theo, chạy Lệnh a2ensite bên dưới để kích hoạt tệp máy chủ ảo owncloud.conf và xác minh cú pháp Apache2 của bạn thông qua lệnh apachectl. Nếu bạn có cú pháp đúng, bạn sẽ nhận được kết quả đầu ra là "Cú pháp OK".
Mã:
sudo a2ensite owncloud.conf
sudo apachectl configtest
Bây giờ hãy chạy lệnh systemctl bên dưới để khởi động lại dịch vụ apache2 và áp dụng các thay đổi mà bạn đã thực hiện.
Mã:
sudo systemctl restart apache2




Cuối cùng, hãy chạy lệnh certbot bên dưới để tạo chứng chỉ SSL/TLS cho tên miền ownCloud của bạn. Hãy đảm bảo thay đổi tên miền và địa chỉ email trong lệnh sau bằng thông tin của bạn.
Mã:
sudo certbot --apache --agree-tos --no-eff-email --redirect --hsts --staple-ocsp --email [emailprotected] -d howtoforge.local
Sau khi quá trình hoàn tất, chứng chỉ SSL/TLS của bạn sẽ có trong thư mục /etc/letsencrypt/live/howtoforge.local. Ngoài ra, tệp máy chủ ảo owncloud.conf của bạn sẽ tự động được định cấu hình bằng HTTPS.

Cài đặt ownCloud qua Dòng lệnh​

Tại thời điểm này, bạn đã cài đặt và định cấu hình tất cả các phụ thuộc cần thiết cho ownCloud. Bạn có thể bắt đầu bước cài đặt thông qua trình duyệt web hoặc dòng lệnh. Trong ví dụ này, bạn sẽ cài đặt ownCloud thông qua dòng lệnh.

Di chuyển thư mục làm việc của bạn đến /var/www/owncloud.
Mã:
cd /var/www/owncloud
Thực hiện lệnh sau để cài đặt ownCloud thông qua dòng lệnh. Hãy chắc chắn thay đổi thông tin chi tiết của cơ sở dữ liệu MariaDB và người dùng quản trị mới cùng mật khẩu cho ownCloud.
Mã:
sudo -u www-data /var/www/owncloud/occ maintenance:install \
 --database "mysql" \
 --database-name "owncloud" \
 --database-user "owncloud"\
 --database-pass "password" \
 --admin-user "admin" \
 --admin-pass "adminpassowncloud"
Sau khi cài đặt hoàn tất, bạn sẽ nhận được kết quả sau.


17-install-owncloud-command-line.png



Tiếp theo, mở tập lệnh ownCloud config.php bằng trình chỉnh sửa nano sau lệnh.
Mã:
sudo nano /var/www/owncloud/config/config.php
Thêm tên miền ownCloud của bạn vào trusted_domains như sau.
Mã:
'trusted_domains' =>
 array (
 0 => 'localhost',
 1 => 'howtoforge.local',
 ),
Lưu và đóng tệp khi hoàn tất.

Bây giờ hãy mở trình duyệt web của bạn và truy cập tên miền ownCloud của bạn, chẳng hạn như http://hwdoamin.io/. Bạn sẽ được chuyển hướng đến kết nối HTTPS an toàn và sẽ nhận được trang đăng nhập ownCloud.

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


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


Nếu mọi thứ diễn ra tốt đẹp, bạn sẽ thấy bảng điều khiển ownCloud của mình như sau.


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

Hiệu suất điều chỉnh cho ownCloud​

Bây giờ bạn đã cài đặt ownCloud, trong phần cuối cùng, bạn sẽ thêm cấu hình mới để nâng cao cài đặt ownCloud của mình. Bạn sẽ tạo một crontab mới cho ownCloud và tích hợp Redis vào cài đặt ownCloud của bạn.

Tạo một cron mới cho ownCloud bằng cách thực hiện lệnh sau.
Mã:
sudo crontab -u www-data -e
Chọn trình soạn thảo văn bản ưa thích của bạn và nhập cấu hình sau. Với lệnh này, bạn sẽ thực thi lệnh "/usr/bin/php -f /var/www/owncloud/occ system:cron" cứ sau 15 phút.
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, mở lại tệp config.php ownCloud bằng trình chỉnh sửa nano lệnh.
Mã:
sudo nano /var/www/owncloud/config/config.php
Thêm máy chủ Redis của bạn làm memcache.locking như sau:
Mã:
 
Back
Bên trên