Tìm kiếm trang web

Cài đặt OwnCloud để lưu trữ tệp tự quản lý an toàn trên Ubuntu


Giới thiệu

OwnCloud là một nền tảng đồng bộ và chia sẻ tệp mã nguồn mở, cho phép bạn kiểm soát hoàn toàn dữ liệu của mình. Không giống như các dịch vụ lưu trữ đám mây như Dropbox hay Google Drive, OwnCloud chạy trên hạ tầng của riêng bạn, mang lại quyền riêng tư, bảo mật và khả năng tùy chỉnh mọi khía cạnh của giải pháp lưu trữ tệp của bạn.

Hướng dẫn này cung cấp các bước chi tiết để cài đặt và cấu hình OwnCloud trên Ubuntu sử dụng Apache, MySQL và PHP. Bạn sẽ học cách thiết lập một phiên bản OwnCloud an toàn, sẵn sàng cho môi trường sản xuất với mã hóa HTTPS, quản lý người dùng và quyền truy cập tệp hợp lý. Chúng tôi cũng sẽ đề cập đến tăng cường bảo mật, khắc phục các sự cố phổ biến và khi nào nên chọn OwnCloud thay vì các lựa chọn khác như Nextcloud.

Điểm chính

  • Tự lưu trữ OwnCloud trên Ubuntu giúp bạn hoàn toàn kiểm soát dữ liệu và quyền truy cập. Bạn có thể chọn nơi lưu trữ tệp, cách quản lý chia sẻ và những ai có thể đăng nhập. Cấu hình này rất phù hợp cho các nhóm cần xác định rõ vị trí lưu trữ dữ liệu, quản lý giữ lại dữ liệu theo yêu cầu riêng, hoặc tích hợp chặt chẽ hơn với hạ tầng nội bộ.

  • Một bộ Apache + PHP (mod_php) + MySQL cổ điển rất dễ chạy và gỡ lỗi. Apache phục vụ giao diện người dùng, libapache2-mod-php7.4 thực thi PHP, và MySQL hoặc MariaDB lưu trữ dữ liệu meta. Kiểm tra các mô-đun đã được nạp, bao gồm mpm_prefork, giúp xác nhận môi trường chạy phù hợp với những gì OwnCloud mong đợi.

  • HTTPS và quyền truy cập theo nguyên tắc tối thiểu là các yêu cầu cơ bản đối với một máy chủ tệp trực tuyến. TLS bảo vệ việc đăng nhập và truyền tệp, UFW hạn chế lộ diện mạng, và quyền sở hữu đúng ngăn chặn truy cập ghi nơi không cần thiết. Những bước này giảm thiểu rủi ro từ các nỗ lực tấn công brute-force, chia sẻ không an toàn và rò rỉ dữ liệu vô ý.

  • Sử dụng MySQL hoặc MariaDB sớm để đảm bảo độ tin cậy và dễ bảo trì khi đưa vào sản xuất. SQLite có thể dùng để thử nghiệm nhanh, nhưng MySQL hoặc MariaDB xử lý đồng thời tốt hơn và đơn giản hóa các thao tác thường nhật như sao lưu, khôi phục và kiểm tra tính toàn vẹn. Một người dùng cơ sở dữ liệu riêng với quyền hạn giới hạn sẽ giúp quản lý cài đặt dễ dàng hơn.

  • Công cụ dòng lệnh occ là cách an toàn nhất để kiểm tra trạng thái và thực hiện các tác vụ bảo trì. Sử dụng nó để kiểm tra tình trạng với occ status, kích hoạt chế độ bảo trì trước khi sao lưu và khắc phục các vấn đề phổ biến như chế độ bảo trì bị kẹt. Việc kiểm tra qua dòng lệnh giúp việc khắc phục sự cố trở nên lặp lại và dễ dự đoán.

  • Việc lập kế hoạch lưu trữ quan trọng hơn những gì hầu hết người cài đặt lần đầu tiên mong đợi. Dữ liệu tệp tăng nhanh, và việc di chuyển sau này sẽ gây gián đoạn. Ưu tiên lưu trữ hỗ trợ SSD cho thư mục dữ liệu, theo dõi dung lượng đĩa và inodes, và cân nhắc gắn bộ lưu trữ ngoài khi ổ cứng cục bộ không còn đủ.

  • Việc lựa chọn giữa OwnCloud và Nextcloud chủ yếu liên quan đến ưu tiên về hỗ trợ và hệ sinh thái. OwnCloud thường nhấn mạnh vào sự ổn định và các tùy chọn hỗ trợ doanh nghiệp, trong khi Nextcloud thường cung cấp hệ sinh thái ứng dụng cộng đồng đa dạng hơn và mở rộng tính năng nhanh hơn. Hãy chọn nền tảng phù hợp nhất với nhu cầu quản lý và hợp tác của bạn.

Bằng cách làm theo hướng dẫn này, bạn sẽ có một phiên bản OwnCloud đầy đủ chức năng và bảo mật chạy trên Ubuntu, có thể dùng như một giải pháp thay thế lưu trữ đám mây thương mại.

OwnCloud là gì và tại sao bạn nên sử dụng nó?

OwnCloud là một nền tảng đồng bộ hóa và chia sẻ tập tin tự lưu trữ, cung cấp các chức năng tương tự như Dropbox trên cơ sở hạ tầng của chính bạn. Nó cho phép người dùng tải lên, đồng bộ và chia sẻ tập tin thông qua giao diện web, ứng dụng trên máy tính để bàn và ứng dụng di động, đồng thời vẫn giữ quyền kiểm soát hoàn toàn về nơi lưu trữ dữ liệu và ai có thể truy cập.

Các tính năng chính của OwnCloud

OwnCloud cung cấp một bộ tính năng toàn diện cho việc quản lý tệp và hợp tác:

  • Đồng bộ hóa tệp: Tự động đồng bộ tệp giữa các thiết bị bằng ứng dụng trên máy tính (Windows, macOS, Linux) và ứng dụng di động (iOS, Android). Mọi thay đổi trên một thiết bị sẽ được cập nhật trên tất cả các thiết bị đã kết nối.

  • Giao diện Web: Truy cập và quản lý tập tin thông qua giao diện web hiện đại, đáp ứng, hoạt động trên mọi trình duyệt. Tải lên, tải xuống, sắp xếp và xem trước tập tin mà không cần cài đặt phần mềm khách.

  • Chia sẻ tệp: Chia sẻ tệp và thư mục với các người dùng OwnCloud khác hoặc tạo liên kết công khai có bảo vệ bằng mật khẩu và ngày hết hạn. Kiểm soát ai có thể xem, tải xuống hoặc chỉnh sửa nội dung được chia sẻ.

  • Quản lý Phiên bản: Theo dõi các phiên bản tệp và khôi phục các phiên bản trước khi cần. Điều này giúp bảo vệ chống lại việc xóa nhầm hoặc thay đổi không mong muốn.

  • Chỉnh sửa hợp tác: Chỉnh sửa tài liệu cùng nhau bằng cách sử dụng bộ công cụ văn phòng tích hợp hoặc các trình soạn thảo bên ngoài. Nhiều người dùng có thể làm việc trên cùng một tập tin cùng lúc.

  • Tích hợp lưu trữ bên ngoài: Kết nối các hệ thống lưu trữ bên ngoài bao gồm lưu trữ đối tượng tương thích S3, máy chủ FTP, chia sẻ WebDAV và các ổ đĩa cục bộ. Điều này cho phép bạn mở rộng lưu trữ mà không cần di chuyển dữ liệu.

  • Quản lý Người dùng và Nhóm: Tạo nhiều tài khoản người dùng, tổ chức người dùng thành các nhóm, đặt hạn mức lưu trữ và cấu hình quyền chi tiết. Đây là điều cần thiết cho triển khai theo nhóm.

  • Tính năng bảo mật: Hỗ trợ xác thực hai lớp, mã hóa dữ liệu khi lưu trữ, ghi nhật ký kiểm toán và tuân thủ các quy định bảo vệ dữ liệu. OwnCloud Enterprise bao gồm các tính năng bảo mật bổ sung như bảo vệ chống ransomware và mã hóa nâng cao.

  • Hệ sinh thái ứng dụng: Mở rộng chức năng thông qua các ứng dụng cho lịch, danh bạ, chỉnh sửa tài liệu, hội nghị video và nhiều hơn nữa. Thị trường ứng dụng cung cấp các tính năng bổ sung ngoài chức năng lưu trữ tệp cơ bản.

OwnCloud đặc biệt có giá trị đối với các tổ chức cần duy trì quyền kiểm soát dữ liệu, tuân thủ các quy định như GDPR hoặc HIPAA, hoặc tích hợp lưu trữ tệp với cơ sở hạ tầng tại chỗ hiện có. Nó cũng tiết kiệm chi phí cho các nhóm mà nếu không sẽ phải trả phí theo người dùng cho dịch vụ lưu trữ đám mây thương mại.

Cài đặt thủ công vs Docker: Nên cài đặt OwnCloud theo cách nào?

Khi cài đặt OwnCloud trên Ubuntu, bạn có thể chọn giữa hai phương pháp chính: cài đặt thủ công truyền thống sử dụng bộ LAMP, hoặc triển khai OwnCloud với các container Docker. Mỗi phương pháp đều có những ưu điểm và hạn chế riêng, phụ thuộc vào mục tiêu và môi trường của bạn.

Phương pháp triển khaiƯu điểmNhược điểmPhù hợp nhất cho
Hướng dẫn (ngăn xếp LAMP)Kiểm soát hoàn toàn cấu hình; gỡ lỗi dễ dàng hơn; truy cập trực tiếp vào tệp và nhật ký; điều chỉnh dự đoán đượcCần nhiều bước cài đặt hơn; cập nhật thủ công; yêu cầu kinh nghiệm quản trị LinuxSử dụng trong sản xuất, cài đặt tùy chỉnh, môi trường học tập
Container DockerTriển khai nhanh và có thể nhân bản; nâng cấp và quay lại đơn giản hơn; dịch vụ tách biệtYêu cầu kiến thức về Docker/Compose; chi phí tài nguyên nhẹ; gỡ lỗi ở cấp độ containerPhát triển, thử nghiệm, tạo nguyên mẫu, hạ tầng đóng gói

Phương thức triển khai nào phù hợp với bạn?

Việc cài đặt LAMP thủ công thường được ưu tiên cho những người vận hành môi trường sản xuất, cần tùy chỉnh sâu hoặc muốn có sự minh bạch và kiểm soát hoàn toàn đối với cài đặt. Phương pháp này cũng phù hợp cho bất kỳ ai đang học về cấu trúc bên trong của OwnCloud hoặc bộ LAMP.

Ngược lại, việc sử dụng Docker là lý tưởng cho các nhà phát triển, kiểm thử viên hoặc các nhóm đã làm việc với kiến trúc container. Docker giúp đơn giản hóa việc cài đặt và nâng cấp, đồng thời tạo ra một môi trường có thể tái tạo, dễ dàng reset hoặc di chuyển. Tuy nhiên, nó tạo ra một lớp trừu tượng bổ sung, có thể yêu cầu phải làm quen thêm.

Tổng thể, nếu sự ổn định, khả năng tùy chỉnh và điều chỉnh thủ công là ưu tiên của bạn, việc cài đặt thủ công thường là lựa chọn tốt hơn. Đối với triển khai nhanh, thử nghiệm, hoặc nếu bạn đã sử dụng Docker ở nơi khác trong hệ thống của mình, phương pháp dựa trên container là thực tế và hiệu quả.

Hướng dẫn này sẽ tập trung vào quá trình cài đặt thủ công để đi qua từng bước một cách chi tiết, nhưng các khái niệm cốt lõi của OwnCloud vẫn giống nhau bất kể bạn chọn kiểu triển khai nào.

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

Trước khi cài đặt OwnCloud, hãy đảm bảo bạn có:

  • Một máy chủ Ubuntu (22.04 hoặc mới hơn (LTS)) với quyền root hoặc sudo
  • Một tên miền đã đăng ký trỏ đến địa chỉ IP của máy chủ của bạn (cần thiết cho chứng chỉ SSL)
  • Tối thiểu 2GB RAM và 20GB dung lượng đĩa trống (nhiều hơn cho các triển khai lớn hơn)
  • Hiểu biết cơ bản về dòng lệnh Linux và các trình soạn thảo văn bản

Bạn cũng cần phải cài đặt một bộ LAMP. Nếu bạn chưa có, bạn có thể cài đặt nó bằng hướng dẫn của chúng tôi về cách cài đặt bộ LAMP trên Ubuntu. Việc cài đặt bao gồm:

  • Máy chủ web Apache
  • Máy chủ cơ sở dữ liệu MySQL
  • PHP với các tiện ích mở rộng cần thiết

Quan trọng: Hiện tại OwnCloud yêu cầu PHP 7.4. Tuy nhiên, Ubuntu 22.04 trở đi (LTS) mặc định sẽ đi kèm PHP 8.1. Bạn sẽ cần cài đặt PHP 7.4 từ kho bên thứ ba, như được hướng dẫn trong các bước dưới đây.

Cài đặt unzip, cần thiết để giải nén gói OwnCloud:

sudo apt install -y unzip

Tổng quan kiến trúc

Hiểu cách các thành phần của OwnCloud tương tác giúp cho việc xử lý sự cố và tối ưu hóa:

Máy chủ Web (Apache): Cung cấp giao diện web OwnCloud và xử lý các yêu cầu HTTP/HTTPS. Apache xử lý các tệp PHP và phục vụ các tài nguyên tĩnh như CSS và JavaScript.

PHP (mod_php): Xử lý logic ứng dụng OwnCloud thông qua module PHP của Apache. Hướng dẫn này sử dụng Apache với libapache2-mod-php7.4, không dùng PHP-FPM.

Cơ sở dữ liệu MySQL: Lưu trữ tài khoản người dùng, siêu dữ liệu tệp, thông tin chia sẻ và cài đặt ứng dụng. Cơ sở dữ liệu không lưu nội dung tệp thực tế, chúng được lưu trong hệ thống tệp.

Lưu trữ Tệp: Các tệp của người dùng được lưu trữ mặc định tại /var/www/owncloud/data/ (hoặc đường dẫn cài đặt mà bạn đã chọn). Mỗi người dùng có một thư mục chứa các tệp của họ. Cơ sở dữ liệu theo dõi các tệp thuộc về người dùng nào và siêu dữ liệu của chúng.

Reverse Proxy (Tùy chọn): Nginx có thể được đặt trước Apache để cân bằng tải hoặc kết thúc SSL, mặc dù Apache riêng lẻ đã đủ cho hầu hết các triển khai.

Kiến trúc này tách biệt các nhiệm vụ: máy chủ web xử lý các yêu cầu, PHP xử lý logic ứng dụng, MySQL quản lý siêu dữ liệu, và hệ thống tệp lưu trữ dữ liệu tệp thực tế. Việc tách biệt này giúp dễ dàng mở rộng, sao lưu và xử lý sự cố cho từng thành phần riêng lẻ.

Bước 1 — Cài đặt các tiện ích mở rộng PHP cần thiết

OwnCloud yêu cầu các phần mở rộng PHP cụ thể ngoài cài đặt cơ bản. Hãy cài đặt chúng trước khi tiếp tục thiết lập OwnCloud.

Đầu tiên, thêm kho PPA PHP cho PHP 7.4 và cập nhật danh sách gói của bạn:

sudo add-apt-repository ppa:ondrej/php -y
sudo apt update

Cài đặt module PHP của Apache và các phần mở rộng PHP cần thiết:

sudo apt install -y libapache2-mod-php7.4 php7.4-gd php7.4-zip php7.4-intl php7.4-xml php7.4-mbstring php7.4-curl php7.4-mysql

Gói libapache2-mod-php7.4 cho phép Apache xử lý các tệp PHP bằng mod_php, điều này là cần thiết khi sử dụng MPM prefork của Apache.

Xác minh các tiện ích mở rộng đã được cài đặt:

php -m | grep -E 'gd|zip|intl|xml|mbstring|curl|mysql'

Bạn nên thấy tất cả các tiện ích mở rộng được liệt kê trong kết quả. Nếu có tiện ích nào bị thiếu, hãy cài đặt từng cái một bằng cách sử dụng apt install.

Xác minh Phiên bản PHP

Đảm bảo PHP 7.4 là phiên bản đang hoạt động. Nếu bạn có nhiều phiên bản PHP được cài đặt, hãy cấu hình hệ thống để sử dụng PHP 7.4:

sudo update-alternatives --config php

Chọn PHP 7.4 từ danh sách nếu có yêu cầu. Xác minh phiên bản đang hoạt động:

php -v

Bạn nên thấy kết quả hiển thị PHP 7.4.x.

Lệnh update-alternatives thay đổi phiên bản PHP được sử dụng trong giao diện dòng lệnh (CLI), nhưng không xác định phiên bản PHP nào được Apache sử dụng để phục vụ các trang web. Apache sử dụng phiên bản PHP được kích hoạt như một mô-đun Apache (ví dụ, libapache2-mod-php7.4). Để kiểm tra mô-đun PHP và Multi-Processing Module (MPM) mà Apache đang sử dụng, hãy chạy:

apache2ctl -M | grep -E 'php7.4|mpm_prefork'

Điều này đảm bảo rằng OwnCloud sử dụng đúng phiên bản PHP trong suốt quá trình cài đặt và vận hành.

Khởi động lại Apache để tải các phần mở rộng mới:

sudo systemctl restart apache2

Bước 2 — Tạo cơ sở dữ liệu và người dùng MySQL

OwnCloud yêu cầu một cơ sở dữ liệu MySQL để lưu trữ siêu dữ liệu. Hãy tạo một cơ sở dữ liệu và người dùng riêng để đảm bảo bảo mật và tách biệt.

Đăng nhập vào MySQL với quyền root:

sudo mysql -u root -p

Tạo cơ sở dữ liệu, người dùng và cấp quyền:

CREATE DATABASE owncloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
CREATE USER 'owncloud'@'localhost' IDENTIFIED BY 'strong_password_here';
GRANT ALL PRIVILEGES ON owncloud.* TO 'owncloud'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Thay strong_password_here bằng một mật khẩu an toàn. Lưu trữ mật khẩu này một cách bảo mật, bạn sẽ cần nó trong quá trình cài đặt OwnCloud.

Xác minh cơ sở dữ liệu đã được tạo:

sudo mysql -u root -p -e "SHOW DATABASES;" | grep owncloud

Bạn nên thấy owncloud trong kết quả đầu ra.

Bước 3 — Tải xuống và cài đặt OwnCloud

Tải xuống phiên bản OwnCloud Community Edition mới nhất. Kiểm tra trang tải xuống OwnCloud để biết phiên bản hiện tại.

Tạo một thư mục tạm thời và tải về OwnCloud:

cd /tmp
wget https://download.owncloud.com/server/stable/owncloud-complete-latest.zip
unzip owncloud-complete-latest.zip

Gói này bao gồm toàn bộ máy chủ OwnCloud và các ứng dụng đi kèm, giảm nguy cơ thiếu thành phần trong quá trình cài đặt.

<$>[lưu ý] Đường dẫn cài đặt: Hướng dẫn này sử dụng /var/www/owncloud làm thư mục cài đặt, đây là vị trí tiêu chuẩn cho các ứng dụng web trên Ubuntu. Bạn có thể chọn bất kỳ đường dẫn thư mục nào phù hợp với cấu hình máy chủ của bạn (ví dụ: /www/wwwroot/owncloud.yourdomain.com hoặc /opt/owncloud). Nếu bạn chọn đường dẫn khác, hãy thay thế /var/www/owncloud bằng đường dẫn bạn chọn trong tất cả các lệnh và tập tin cấu hình sau này. <$>[lưu ý]

Di chuyển OwnCloud vào thư mục gốc web:

sudo mv owncloud /var/www/

Đặt quyền sở hữu và quyền truy cập thích hợp. OwnCloud cần quyền ghi vào các thư mục cụ thể:

sudo chown -R www-data:www-data /var/www/owncloud
sudo chmod -R 755 /var/www/owncloud

Các lệnh này đặt người dùng máy chủ web (www-data) làm chủ sở hữu của tất cả các tệp OwnCloud và cấp quyền đọc, ghi và thực thi cho chủ sở hữu, cũng như quyền đọc và thực thi cho nhóm và người khác. Điều này đảm bảo Apache có thể phục vụ các tệp và OwnCloud có thể ghi vào các thư mục cần thiết.

Xác minh rằng các quyền đã được thiết lập đúng:

ls -la /var/www/owncloud | head -5

Bạn nên thấy www-data là chủ sở hữu và nhóm của tất cả các tệp và thư mục.

Tạo thư mục dữ liệu với quyền truy cập phù hợp:

sudo mkdir -p /var/www/owncloud/data
sudo chown -R www-data:www-data /var/www/owncloud/data
sudo chmod 750 /var/www/owncloud/data

Xác minh rằng virtual host Apache của OwnCloud được nhận diện:

apache2ctl -S | grep -i owncloud

Bước 4 — Cấu hình Máy Chủ Ảo Apache

OwnCloud yêu cầu Apache sử dụng MPM prefork (Multi-Processing Module) để hoạt động với PHP thông qua mod_php. Nếu cài đặt Apache của bạn đang sử dụng MPM event (thường gặp trên các phiên bản Ubuntu mới hơn), hãy chuyển sang prefork trước khi cấu hình máy chủ ảo.

Chuyển sang Prefork MPM

Vô hiệu hóa sự kiện MPM và kích hoạt prefork:

sudo a2dismod mpm_event || true
sudo a2enmod mpm_prefork
sudo systemctl restart apache2

|| true đảm bảo lệnh không bị lỗi nếu MPM event không được bật. Hãy kiểm tra xem prefork MPM và PHP 7.4 đã được tải chưa:

apache2ctl -M | grep -E 'php7.4|mpm_prefork'

Bạn nên thấy cả mpm_prefork_module và php7_module trong kết quả. Điều này xác nhận rằng Apache đang sử dụng đúng MPM và module PHP cho OwnCloud.

Tạo Máy Chủ Ảo

Cấu hình Apache để phục vụ OwnCloud. Tạo một tệp cấu hình máy chủ ảo:

sudo nano /etc/apache2/sites-available/owncloud.conf

Thêm cấu hình sau, thay your_domain.com bằng tên miền thực của bạn:

<VirtualHost *:80>
    ServerName your_domain.com
    DocumentRoot /var/www/owncloud

    <Directory /var/www/owncloud>
        Options +FollowSymlinks
        AllowOverride All
        Require all granted

        <IfModule mod_dav.c>
            Dav off
        </IfModule>

        SetEnv HOME /var/www/owncloud
        SetEnv HTTP_HOME /var/www/owncloud
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/owncloud_error.log
    CustomLog ${APACHE_LOG_DIR}/owncloud_access.log combined
</VirtualHost>

Bật các mô-đun Apache cần thiết:

sudo a2enmod rewrite
sudo a2enmod headers
sudo a2enmod env
sudo a2enmod dir
sudo a2enmod mime

Bật trang OwnCloud:

sudo a2ensite owncloud.conf

Vô hiệu hóa trang mặc định của Apache nếu nó đang được bật:

sudo a2dissite 000-default.conf

Kiểm tra cấu hình Apache:

sudo apache2ctl configtest

Nếu bài kiểm tra thành công, hãy tải lại Apache:

sudo systemctl reload apache2

Bước 5 — Hoàn tất Cài đặt Dựa trên Web

Mở trình duyệt của bạn và truy cập vào http://your_domain.com. Bạn sẽ thấy trình hướng dẫn cài đặt OwnCloud.

Màn hình ban đầu của trình cài đặt OwnCloud.

Tạo tài khoản quản trị

Nhập thông tin sau:

  • Tên đăng nhập: Chọn tên đăng nhập quản trị viên (ví dụ: admin)
  • Mật khẩu: Tạo một mật khẩu mạnh
  • Thư mục dữ liệu: Giữ nguyên /var/www/owncloud/data (mặc định)

Mẫu tạo tài khoản quản trị OwnCloud với các trường chi tiết.

Cấu hình cơ sở dữ liệu

Chọn MySQL/MariaDB làm loại cơ sở dữ liệu, sau đó nhập:

  • Người dùng cơ sở dữ liệu: owncloud
  • Mật khẩu cơ sở dữ liệu: Mật khẩu bạn đã tạo ở Bước 2
  • Tên cơ sở dữ liệu: owncloud
  • Máy chủ cơ sở dữ liệu: localhost

Nhấp vào Hoàn tất cài đặt. OwnCloud sẽ tạo các bảng cơ sở dữ liệu cần thiết và hoàn tất việc cài đặt. Quá trình này có thể mất một phút.

Khi quá trình cài đặt hoàn tất, bạn sẽ được đăng nhập vào giao diện web của OwnCloud.

Màn hình đăng nhập OwnCloud sau khi cài đặt.

Bảng điều khiển chính của OwnCloud sau khi đăng nhập thành công.

Bạn có thể kiểm tra trạng thái OwnCloud bằng công cụ dòng lệnh OCC:

sudo -u www-data php /var/www/owncloud/occ status

Bước 6 — Bảo mật OwnCloud bằng HTTPS

Mã hóa HTTPS là cần thiết để bảo vệ việc chuyển tập tin và thông tin đăng nhập. Chúng tôi sẽ sử dụng Let’s Encrypt để lấy chứng chỉ SSL miễn phí.

Cài đặt Certbot

Cài đặt Certbot và plugin Apache:

sudo apt install -y certbot python3-certbot-apache

Lấy chứng chỉ SSL

Yêu cầu chứng chỉ cho tên miền của bạn:

sudo certbot --apache -d your_domain.com

Certbot sẽ:

  1. Xác minh quyền sở hữu tên miền
  2. Lấy chứng chỉ SSL
  3. Cấu hình Apache để sử dụng HTTPS
  4. Thiết lập gia hạn tự động

Làm theo các hướng dẫn. Certbot sẽ tự động cấu hình Apache để chuyển hướng HTTP sang HTTPS.

Xác minh cấu hình SSL

Kiểm tra cấu hình SSL của bạn:

sudo certbot certificates

Bạn nên thấy chứng chỉ của mình được liệt kê kèm theo ngày hết hạn.

Truy cập OwnCloud qua HTTPS: https://your_domain.com. Bạn sẽ thấy biểu tượng ổ khóa trong trình duyệt, cho biết kết nối đang được mã hóa.

Tự động gia hạn chứng chỉ

Chứng chỉ Let’s Encrypt hết hạn sau mỗi 90 ngày. Certbot thiết lập việc gia hạn tự động, nhưng hãy kiểm tra xem nó có hoạt động không:

sudo certbot renew --dry-run

Nếu lệnh này thành công, việc gia hạn tự động đã được cấu hình đúng.

Để có cấu hình SSL chi tiết hơn, hãy xem hướng dẫn của chúng tôi về cách bảo mật Apache với Let’s Encrypt.

Bước 7 — Cấu hình các Quy tắc Tường lửa

Hạn chế quyền truy cập vào máy chủ của bạn bằng UFW (Tường lửa không phức tạp). Chỉ cho phép các cổng cần thiết.

Kiểm tra trạng thái UFW:

sudo ufw status

Nếu UFW không hoạt động, hãy kích hoạt nó và cấu hình các quy tắc:

sudo ufw allow OpenSSH
sudo ufw allow 'Apache Full'
sudo ufw enable

Xác minh các quy tắc:

sudo ufw status numbered

Bạn nên xem các quy tắc cho phép SSH (cổng 22) và Apache (cổng 80 và 443).

Để cấu hình tường lửa chi tiết hơn, hãy xem hướng dẫn của chúng tôi về cách thiết lập UFW trên Ubuntu.

Bước 8 — Thiết lập Tài khoản Người dùng và Nhóm

OwnCloud hỗ trợ nhiều người dùng và nhóm cho triển khai nhóm. Giao diện cung cấp điều hướng qua menu bên trên bên trái để truy cập các phần khác nhau, và menu bên trên bên phải để truy cập hồ sơ và cài đặt quản trị của bạn.

Menu điều hướng góc trên bên trái của OwnCloud hiển thị các phần chính.

Menu góc trên bên phải của OwnCloud với các tùy chọn hồ sơ người dùng và cài đặt.

Trang cài đặt hồ sơ quản trị OwnCloud.

Tạo người dùng

Đi tới Cài đặt → Người dùng trong giao diện web của OwnCloud.

Giao diện quản lý người dùng OwnCloud hiển thị danh sách người dùng và các tùy chọn tạo người dùng.

Nhấp vào + Người dùng mới và nhập:

  • Tên đăng nhập: Một tên đăng nhập duy nhất
  • Mật khẩu: Một mật khẩu mạnh
  • Nhóm: Chọn nhóm (hoặc để trống)
  • Hạn mức lưu trữ: Đặt giới hạn (ví dụ: 5 GB) hoặc để không giới hạn

Nhấn Tạo để thêm người dùng.

Tạo nhóm

Đi tới Cài đặt → Nhóm.

Giao diện quản lý nhóm OwnCloud để tạo và quản lý các nhóm người dùng.

Nhấp vào + Nhóm mới, nhập tên nhóm, và nhấp vào Tạo.

Thêm người dùng vào nhóm bằng cách chọn một nhóm, sau đó nhấp vào Thêm người dùng và chọn người dùng từ danh sách.

Cài đặt hạn mức lưu trữ

Kiểm soát lượng bộ nhớ mà mỗi người dùng có thể sử dụng:

  1. Vào Cài đặt → Người dùng
  2. Nhấp vào biểu tượng bánh răng bên cạnh người dùng
  3. Đặt Hạn mức lưu trữ (ví dụ, 5 GB hoặc không giới hạn)
  4. Nhấn Lưu

Hạn mức lưu trữ giúp ngăn người dùng cá nhân sử dụng hết toàn bộ dung lượng đĩa.

Bước 9 — Cấu hình Chia sẻ Tệp

OwnCloud hỗ trợ chia sẻ tệp và thư mục với người dùng khác hoặc thông qua liên kết công khai.

Trang cấu hình cài đặt chia sẻ dành cho quản trị viên OwnCloud.

Chia sẻ nội bộ

Để chia sẻ với người dùng OwnCloud khác:

  1. Đi đến tệp hoặc thư mục
  2. Nhấn vào biểu tượng Chia sẻ
  3. Nhập tên người dùng hoặc chọn từ danh sách
  4. Chọn quyền: Có thể xem, Có thể chỉnh sửa, hoặc Có thể chia sẻ
  5. Nhấn Chia sẻ

Giao diện chia sẻ tập tin của OwnCloud hiển thị các tùy chọn chia sẻ cho một tập tin được chọn.

Giao diện chia sẻ nhóm OwnCloud để chia sẻ tệp với các nhóm người dùng.

Chia sẻ liên kết công khai

Để tạo liên kết công khai có thể chia sẻ:

  1. Nhấp vào biểu tượng Chia sẻ trên một tệp hoặc thư mục
  2. Nhấn + Thêm liên kết chia sẻ
  3. Cấu hình tùy chọn:

    • Bảo vệ bằng mật khẩu: Yêu cầu mật khẩu để truy cập
    • Ngày hết hạn: Đặt khi liên kết hết hạn
    • Quyền: Xem hoặc tải xuống
  4. Sao chép liên kết đã tạo

Giao diện chia sẻ liên kết công khai của OwnCloud với bảo vệ mật khẩu và các tùy chọn hết hạn.

Liên kết công khai hữu ích để chia sẻ tệp với những người không có tài khoản OwnCloud.

Tăng cường bảo mật

Ngoài việc cấu hình HTTPS và tường lửa, các biện pháp bảo mật bổ sung còn bảo vệ hệ thống OwnCloud của bạn.

Quyền của Tệp và Thư mục

Nếu bạn gặp phải các vấn đề liên quan đến quyền hạn, hãy thực hiện lại các lệnh cấp quyền sở hữu và quyền truy cập từ Bước 3 — Tải về và Cài đặt OwnCloud.

Bật Xác Thực Hai Lớp

OwnCloud hỗ trợ xác thực hai yếu tố (2FA) để tăng cường bảo mật tài khoản.

  1. Cài đặt ứng dụng 2FA (ví dụ: Google Authenticator, Authy)
  2. Trong OwnCloud, vào Cài đặt → Bảo mật
  3. Nhấn Bật xác thực hai yếu tố
  4. Quét mã QR bằng ứng dụng 2FA của bạn
  5. Nhập mã xác minh để xác nhận

Sau khi bật xác thực hai yếu tố (2FA), bạn sẽ cần cả mật khẩu và mã từ ứng dụng 2FA của mình để đăng nhập.

Giao diện quản lý ứng dụng OwnCloud để cài đặt và cấu hình các ứng dụng.

Cấu hình các Miền Tin cậy

Hạn chế các tên miền có thể truy cập vào phiên bản OwnCloud của bạn. Chỉnh sửa tệp cấu hình:

sudo nano /var/www/owncloud/config/config.php

Tìm mảng trusted_domains và thêm tên miền của bạn:

'trusted_domains' =>
array (
  0 => 'localhost',
  1 => 'your_domain.com',
),

Lưu và thoát. Việc này ngăn các miền không được phép truy cập vào phiên bản của bạn.

Cài đặt Fail2Ban (Tùy chọn)

Fail2Ban tự động cấm các địa chỉ IP có hành vi độc hại, chẳng hạn như nhiều lần đăng nhập không thành công.

Cấu hình Fail2Ban có thể khác nhau tùy thuộc vào định dạng log của Apache, đường dẫn của host ảo và các phiên bản OwnCloud. Ví dụ dưới đây cung cấp một điểm bắt đầu và có thể cần được điều chỉnh để phù hợp với vị trí log truy cập và kiểu yêu cầu của máy chủ của bạn.

Cài đặt Fail2Ban:

sudo apt install -y fail2ban

Tạo một môi trường tùy chỉnh cho OwnCloud:

sudo nano /etc/fail2ban/jail.d/owncloud.conf

Thêm cấu hình sau:

[owncloud]
enabled = true
port = 80,443
filter = owncloud
logpath = /var/log/apache2/owncloud_access.log
maxretry = 3
bantime = 3600

Tạo bộ lọc:

sudo nano /etc/fail2ban/filter.d/owncloud.conf

Thêm :

[Definition]
failregex = ^.*"POST /owncloud/.*" (4[0-9]{2}|5[0-9]{2}) .*$
ignoreregex =

Nếu Fail2Ban không hoạt động như mong đợi, hãy kiểm tra đường dẫn nhật ký truy cập Apache và điều chỉnh failregex để khớp với các mục yêu cầu OwnCloud thực tế trên hệ thống của bạn.

Khởi động lại Fail2Ban:

sudo systemctl restart fail2ban

Fail2Ban bây giờ sẽ giám sát nhật ký truy cập OwnCloud và chặn các địa chỉ IP có hoạt động đáng ngờ.

Tối ưu hóa hiệu suất

Để đạt hiệu suất tối ưu của OwnCloud trong môi trường sản xuất, hãy áp dụng một số tối ưu quan trọng: tăng giới hạn PHP, bật và cấu hình OPcache, tối ưu cài đặt MySQL hoặc MariaDB, sử dụng ổ SSD cho thư mục dữ liệu, cấu hình Apache để tăng khả năng đồng thời, và đảm bảo phần cứng máy chủ của bạn đủ mạnh.

Cấu hình PHP

Tăng giới hạn bộ nhớ và thời gian thực thi PHP. Chỉnh sửa cấu hình PHP:

sudo nano /etc/php/7.4/apache2/php.ini

Tìm và chỉnh sửa các cài đặt này:

memory_limit = 512M
max_execution_time = 3600
upload_max_filesize = 1G
post_max_size = 1G

Khởi động lại Apache:

sudo systemctl restart apache2

Kích hoạt OPcache

OPcache cải thiện hiệu suất PHP bằng cách lưu trữ bộ nhớ đệm mã PHP đã biên dịch. Bật nó:

sudo nano /etc/php/7.4/apache2/php.ini

Tìm và bỏ chú thích:

opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.revalidate_freq=2

Khởi động lại Apache:

sudo systemctl restart apache2

Tối ưu hóa cơ sở dữ liệu

Tối ưu hóa MySQL cho OwnCloud. Chỉnh sửa cấu hình MySQL:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

Thêm hoặc sửa các thiết lập này dưới [mysqld]:

innodb_buffer_pool_size = 1G
innodb_log_file_size = 256M
max_connections = 200

Khởi động lại MySQL:

sudo systemctl restart mysql

Điều chỉnh các giá trị này dựa trên RAM khả dụng và khối lượng công việc của máy chủ của bạn.

Mở rộng bộ nhớ

Khi nhu cầu lưu trữ tệp của bạn tăng theo thời gian, bạn không cần lo lắng về việc di chuyển dữ liệu hiện có hay gián đoạn dịch vụ. OwnCloud cho phép bạn mở rộng dung lượng lưu trữ sẵn có một cách liền mạch bằng cách thêm đĩa bổ sung, chia sẻ mạng, hoặc tích hợp các hệ thống lưu trữ mới thông qua hỗ trợ lưu trữ bên ngoài của nó. Sự linh hoạt này có nghĩa là bạn có thể mở rộng kho lưu trữ của mình bằng cách gắn các ổ đĩa cục bộ mới, kết nối thiết bị SAN hoặc NAS, hoặc kết nối với các giải pháp lưu trữ dựa trên đám mây, tất cả đều có thể truy cập trực tiếp qua giao diện OwnCloud mà không cần di chuyển tệp.

Thêm bộ nhớ ngoài

OwnCloud hỗ trợ gắn kết các bộ nhớ ngoài:

  1. Vào Cài đặt → Quản trị → Lưu trữ bên ngoài
  2. Nhấn Thêm bộ nhớ
  3. Chọn loại lưu trữ (Cục bộ, FTP, S3, v.v.)
  4. Cấu hình chi tiết kết nối
  5. Đặt trạng thái sẵn sàng (tất cả người dùng hoặc nhóm cụ thể)
  6. Nhấn Lưu

Giao diện cấu hình lưu trữ bên ngoài của OwnCloud hiển thị các loại lưu trữ có sẵn.

Bộ nhớ ngoài xuất hiện trong danh sách tệp của người dùng cùng với bộ nhớ cục bộ.

Sử dụng Lưu trữ Đối tượng

Đối với triển khai quy mô lớn, hãy xem xét lưu trữ đối tượng tương thích với S3:

  1. Cài đặt ứng dụng Lưu trữ ngoài (thường được cài sẵn)
  2. Vào Cài đặt → Quản trị → Lưu trữ bên ngoài
  3. Chọn Amazon S3 hoặc S3 Compatible
  4. Nhập thông tin đăng nhập và tên bucket
  5. Cấu hình theo nhu cầu

Lưu trữ đối tượng cung cấp dung lượng lưu trữ có thể mở rộng và tiết kiệm chi phí cho các bộ sưu tập tệp lớn.

OwnCloud và Nextcloud: So sánh chi tiết về lưu trữ tệp tự host an toàn

Khi lập kế hoạch cho giải pháp lưu trữ đám mây tự lưu trữ của bạn, hai đối thủ mã nguồn mở hàng đầu là OwnCloud và Nextcloud. Cả hai đều cung cấp các tính năng đồng bộ hóa, chia sẻ và cộng tác tệp mạnh mẽ, nhưng có những khác biệt quan trọng về triết lý, cách tiếp cận phát triển, bộ tính năng, bảo mật và các tùy chọn hỗ trợ. So sánh chi tiết này sẽ giúp bạn xác định nền tảng nào phù hợp nhất với nhu cầu cá nhân hoặc tổ chức của bạn.

Những điểm khác biệt cơ bản trong nháy mắt

Khía cạnhOwnCloudNextcloud
Tiêu điểm chínhCác tính năng doanh nghiệp, hỗ trợ thương mại dài hạn, độ ổn địnhĐổi mới hướng cộng đồng, triển khai tính năng nhanh chóng, tinh thần mã nguồn mở
Cấp phépAGPL cho phần lõi; tùy chọn thương mại cho ứng dụng doanh nghiệp và hỗ trợMã nguồn mở 100% AGPL (tất cả các tính năng)
Chu kỳ phát hànhPhiên bản ổn định, đã được kiểm tra kỹ, cập nhật ít hơnPhát triển nhanh, thường xuyên có tính năng mới và sửa lỗi
Tính năng nâng caoTruy cập tệp chi tiết, mã hóa doanh nghiệp, bảo vệ chống ransomware, kiểm toánCông cụ hợp tác, trò chuyện video tích hợp, thư điện tử, chia sẻ rộng rãi
Hệ sinh thái ứng dụngTốt nhưng nhỏ hơn (tập trung vào ổn định và bảo mật)Cửa hàng ứng dụng mã nguồn mở lớn nhất: Ghi chú, Trò chuyện, Công cụ nhóm, Bản đồ, và nhiều hơn nữa
Kích thước Cộng đồngNhỏ hơn, tập trung vào doanh nghiệp, có sự hỗ trợ mạnh mẽ từ nhà cung cấp thương mạiCộng đồng mã nguồn mở lớn hơn, rất năng động và có nhiều người đóng góp
Hỗ trợHỗ trợ thương mại chính thức và SLA (của ownCloud GmbH)Hỗ trợ cộng đồng, tùy chọn hỗ trợ doanh nghiệp có trả phí (Nextcloud GmbH)
Phù hợp nhất choCác doanh nghiệp cần tuân thủ, hỗ trợ và ổn định hơn là các tính năng mớiCác tổ chức/sinh viên/nhà phát triển muốn đổi mới và tùy chỉnh

So sánh chi tiết tính năng

1. Bảo mật và Tuân thủ

  • OwnCloud: Cung cấp các mô-đun bảo mật cấp doanh nghiệp tiên tiến, bao gồm tường lửa tập tin, bảo vệ chống ransomware, kiểm toán, quản lý người dùng và xác thực đa yếu tố. Các mô-đun tuân thủ có sẵn cho GDPR, HIPAA và các tiêu chuẩn khác.
  • Nextcloud: Nền tảng bảo mật vững chắc với các kiểm toán của bên thứ ba định kỳ, bảo vệ chống tấn công brute-force, xác thực hai yếu tố và chương trình thưởng lỗi tích cực. Các tính năng cấp doanh nghiệp như kiểm toán nâng cao hoặc tường lửa tệp có thể yêu cầu ứng dụng bên thứ ba hoặc phát triển thêm.

2. Hiệu suất & Khả năng mở rộng

  • OwnCloud: Được thiết kế cho các triển khai quy mô lớn, quan trọng. Bao gồm các công cụ cho lưu trữ phân tán, khóa tệp và xử lý tối ưu hàng triệu tệp và người dùng.
  • Nextcloud: Phù hợp và mở rộng tốt cho hầu hết các tổ chức và cộng đồng cỡ vừa. Có các tùy chọn mở rộng theo chiều ngang, nhưng lưu trữ phân tán nâng cao yêu cầu cấu hình thêm.

3. Công Cụ Hợp Tác

  • OwnCloud: Tập trung vào lưu trữ và chia sẻ tệp an toàn, đáng tin cậy, với các tính năng cộng tác cơ bản. Có thể tích hợp để chỉnh sửa tài liệu văn phòng (với các tiện ích thương mại) sẵn có.
  • Nextcloud: Bộ công cụ cộng tác tích hợp sẵn phong phú, chỉnh sửa tài liệu cộng tác theo thời gian thực (với Collabora/OnlyOffice), lịch, trò chuyện (Talk), email và nhiều tính năng khác, tất cả đều được tích hợp chặt chẽ thông qua hệ sinh thái ứng dụng phát triển mạnh mẽ của nó.

4. Hệ sinh thái và Khả năng mở rộng

  • OwnCloud: Duy trì một chợ ứng dụng được tuyển chọn và ổn định, hướng đến doanh nghiệp và tuân thủ quy định.
  • Nextcloud: Cung cấp kho ứng dụng đám mây mã nguồn mở lớn nhất, với hàng trăm tiện ích mở rộng cho đa phương tiện, phần mềm nhóm, nghiên cứu, DevOps và nhiều hơn thế nữa.

5. Hỗ trợ Thương mại và Cộng đồng

  • OwnCloud: Được hỗ trợ bởi ownCloud GmbH, cung cấp hỗ trợ chuyên nghiệp, hướng dẫn triển khai và gói SLA doanh nghiệp. Được sử dụng bởi các doanh nghiệp lớn, cơ quan chính phủ và các ngành công nghiệp có quy định nghiêm ngặt.
  • Nextcloud: Được dẫn dắt bởi Nextcloud GmbH với các tùy chọn hỗ trợ thương mại, nhưng vẫn nhấn mạnh mạnh mẽ vào sự hợp tác cộng đồng mở. Các diễn đàn trực tuyến, tài liệu và các sự kiện cộng đồng định kỳ đều có sẵn cho mọi người.

Hướng Dẫn Ra Quyết Định: Bạn Nên Chọn Nền Tảng Nào?

Chọn OwnCloud nếu:

  • Bạn cần có hỗ trợ doanh nghiệp được đảm bảo, bảo trì dài hạn hoặc một thỏa thuận cấp độ dịch vụ (SLA) chính thức.
  • Tổ chức của bạn ưu tiên sự dự đoán, tuân thủ và ổn định hơn là các tính năng tiên tiến nhất.
  • Bạn cần các mô-đun thương mại nâng cao như tường lửa tệp, bảo vệ chống phần mềm tống tiền hoặc kiểm toán chi tiết.
  • Bạn là một phần của ngành công nghiệp được quản lý (ví dụ: chăm sóc sức khỏe, tài chính, chính phủ) và cần sự hỗ trợ chính thức từ nhà cung cấp.

Chọn Nextcloud nếu:

  • Bạn muốn một nền tảng linh hoạt, phát triển nhanh chóng với cộng đồng năng động và các cải tiến tính năng thường xuyên.
  • Bạn cần một loạt công cụ cộng tác đa dạng được tích hợp sẵn (chat, video, email, tin tức, v.v.).
  • Bạn ưu tiên một phương pháp hoàn toàn mã nguồn mở cho tất cả các tính năng, không có các module thương mại bị khóa.
  • Bạn muốn thử nghiệm hoặc đóng góp vào một hệ sinh thái ứng dụng đang phát triển nhanh chóng.

Câu hỏi thường gặp

Hỏi: OwnCloud hay Nextcloud tốt hơn cho doanh nghiệp?
Trả lời: OwnCloud thường được các doanh nghiệp lớn ưa chuộng vì cần hỗ trợ chính thức, bảo trì bảo mật lâu dài và các tính năng tuân thủ. Nextcloud cũng phù hợp cho các doanh nghiệp, đặc biệt là những doanh nghiệp tận dụng sự đổi mới từ cộng đồng mã nguồn mở.

Hỏi: Tôi có thể di cư từ OwnCloud sang Nextcloud hoặc ngược lại không?
Trả lời: Việc di cư là khả thi vì cả hai đều có kiến trúc lõi tương tự, nhưng khả năng tương thích thay đổi theo phiên bản và các ứng dụng đã cài đặt. Luôn sao lưu dữ liệu của bạn và thử nghiệm việc di cư trong môi trường phi sản xuất.

Hỏi: OwnCloud và Nextcloud: cái nào sẽ bền vững hơn cho việc lưu trữ tệp tự lưu trữ?
Trả lời: Cả hai đều đã trưởng thành và được duy trì tích cực. Nextcloud dẫn đầu về đổi mới mã nguồn mở nhanh chóng, trong khi OwnCloud tập trung vào độ bền, tuân thủ và các triển khai doanh nghiệp đã được kiểm chứng. Tóm lại, cả OwnCloud và Nextcloud đều là những lựa chọn mạnh mẽ, đầy đủ tính năng thay thế cho các dịch vụ đám mây thương mại như Dropbox hay Google Drive, mang lại quyền riêng tư, tính linh hoạt và toàn quyền kiểm soát dữ liệu của bạn. Quyết định của bạn nên dựa trên các yêu cầu cụ thể về bảo mật, hỗ trợ và khả năng mở rộng. Bằng cách đánh giá các ưu tiên của tổ chức, chẳng hạn như nhu cầu tuân thủ, hứng thú với các tính năng mới và mô hình hỗ trợ mong muốn, bạn có thể tự tin chọn nền tảng lưu trữ tệp mã nguồn mở phù hợp cho môi trường tự lưu trữ của mình.

Sao lưu và Phục hồi (Đề xuất)

Việc sao lưu định kỳ là cần thiết để bảo vệ dữ liệu OwnCloud của bạn và cho phép phục hồi sau thảm họa.

Bật chế độ Bảo trì

Đưa OwnCloud vào chế độ bảo trì trước khi sao lưu để ngăn chặn thay đổi dữ liệu:

sudo -u www-data php /var/www/owncloud/occ maintenance:mode --on

Sao lưu cơ sở dữ liệu

Sao lưu cơ sở dữ liệu MySQL:

mysqldump -u owncloud -p owncloud > /root/owncloud_db_backup.sql

Sao lưu tệp

Sao lưu các tệp và thư mục dữ liệu của OwnCloud:

tar czf /root/owncloud_files_backup.tar.gz /var/www/owncloud
# or, for incremental backup:
rsync -a /var/www/owncloud/ /backup/location/owncloud/

Phục hồi thủ tục

  1. Trước tiên, khôi phục cơ sở dữ liệu:

    mysql -u owncloud -p owncloud < /root/owncloud_db_backup.sql
  2. Phục hồi các tệp và thư mục dữ liệu:

    tar xzf /root/owncloud_files_backup.tar.gz -C /
    # or use rsync to copy files back
  3. Vô hiệu hóa chế độ bảo trì:

    sudo -u www-data php /var/www/owncloud/occ maintenance:mode --off

Khôi phục trật tự: Luôn khôi phục cơ sở dữ liệu trước khi khôi phục các tập tin. Sau khi khôi phục, tắt chế độ bảo trì để đưa OwnCloud trở lại trực tuyến.

Khắc phục sự cố thường gặp

  • Lỗi Máy chủ Nội bộ: Thường do quyền tệp không đúng hoặc thiếu module PHP/Apache. Thực hiện lại các lệnh sở hữu và quyền từ Bước 3 — Tải xuống và Cài đặt OwnCloud và kiểm tra các module PHP cần thiết đã được kích hoạt.

  • Lỗi miền đáng tin cậy: Cập nhật mảng trusted_domains trong /var/www/owncloud/config/config.php để bao gồm miền của máy chủ của bạn.

  • Lỗi tải lên file lớn: Tăng các thiết lập upload_max_filesize, post_max_size và max_execution_time trong /etc/php/7.4/apache2/php.ini, sau đó khởi động lại Apache.

  • Chế độ bảo trì bị kẹt: Vô hiệu hóa chế độ bảo trì bằng:

    sudo -u www-data php /var/www/owncloud/occ maintenance:mode --off

Tương thích phiên bản PHP

OwnCloud yêu cầu PHP 7.4. Kiểm tra phiên bản PHP của bạn:

php -v

Nếu bạn đang sử dụng phiên bản cũ hơn, hãy cài đặt PHP 7.4 với module Apache:

sudo apt install -y php7.4 libapache2-mod-php7.4 php7.4-mysql php7.4-gd php7.4-zip php7.4-intl php7.4-xml php7.4-mbstring php7.4-curl

Kích hoạt module PHP và khởi động lại Apache:

sudo a2enmod php7.4
sudo systemctl restart apache2

Xác minh PHP đã được tải trong Apache:

apache2ctl -M | grep php7

Bạn nên thấy php7_module trong kết quả đầu ra.

Lỗi Kết Nối Cơ Sở Dữ Liệu

Nếu OwnCloud không thể kết nối với MySQL, hãy kiểm tra:

  1. MySQL đang chạy: sudo systemctl status mysql
  2. Thông tin đăng nhập cơ sở dữ liệu đúng trong /var/www/owncloud/config/config.php
  3. Người dùng MySQL có quyền thích hợp: sudo mysql -u root -p -e "SHOW GRANTS FOR 'owncloud'@'localhost';"

Lỗi quyền truy cập

Áp dụng lại các lệnh quyền sở hữu và quyền truy cập từ Bước 3 — Tải về và Cài đặt OwnCloud.

Nếu vấn đề vẫn tiếp diễn, hãy kiểm tra xem Apache có thể đọc các tệp không:

sudo -u www-data ls -la /var/www/owncloud

Điều này xác nhận rằng người dùng máy chủ web có quyền truy cập hợp lệ.

Sự cố chứng chỉ SSL

Nếu HTTPS không hoạt động:

  1. Xác minh chứng chỉ: sudo certbot certificates
  2. Kiểm tra cấu hình SSL của Apache: sudo apache2ctl -S
  3. Xác minh DNS trỏ đến máy chủ của bạn: dig your_domain.com
  4. Kiểm tra firewall cho phép cổng 443: sudo ufw status

Ưu và nhược điểm của việc tự lưu trữ OwnCloud

Ưu điểm

  • Kiểm soát Dữ liệu Toàn diện: Tất cả dữ liệu vẫn được lưu trên cơ sở hạ tầng của bạn, đáp ứng các yêu cầu về tuân thủ và nơi cư trú dữ liệu
  • Không có Phí Theo Người Dùng: Chi phí máy chủ một lần so với phí lưu trữ đám mây định kỳ theo từng người dùng
  • Tùy chỉnh: Sửa đổi và mở rộng OwnCloud để phù hợp với nhu cầu của tổ chức bạn
  • Quyền riêng tư: Không bên thứ ba nào được truy cập vào tệp hoặc siêu dữ liệu của bạn
  • Tích hợp: Kết nối với cơ sở hạ tầng và dịch vụ tại chỗ hiện có
  • Lưu trữ không giới hạn: Mở rộng dung lượng lưu trữ dựa trên phần cứng của bạn, không dựa vào giới hạn của nhà cung cấp

Nhược điểm

  • Cần Bảo Trì: Bạn chịu trách nhiệm cập nhật, sao lưu, vá lỗi bảo mật và khắc phục sự cố
  • Độ phức tạp khi thiết lập ban đầu: Yêu cầu kiến thức về Linux, máy chủ web và quản trị cơ sở dữ liệu
  • Chi phí phần cứng: Cần bố trí và duy trì phần cứng máy chủ hoặc các phiên bản đám mây
  • Tối ưu hiệu suất: Có thể cần tối ưu cho các triển khai lớn hoặc tải đồng thời cao
  • Hỗ trợ: Chỉ hỗ trợ cộng đồng (trừ khi sử dụng OwnCloud Enterprise với hỗ trợ thương mại)

Tự lưu trữ OwnCloud là hợp lý khi ưu tiên quyền quản lý dữ liệu, tiết kiệm chi phí lâu dài hoặc tùy chỉnh. Nó kém phù hợp hơn nếu bạn thiếu chuyên môn kỹ thuật hoặc thích dịch vụ được quản lý sẵn.

Câu hỏi thường gặp (FAQ)

Q1: Yêu cầu hệ thống để chạy OwnCloud trên Ubuntu là gì?
OwnCloud yêu cầu Ubuntu 22.04 trở lên (LTS), Apache 2.4+, MySQL 5.7+ hoặc MariaDB 10.2+, và PHP 7.4. Phần cứng tối thiểu: 2GB RAM, 20GB dung lượng đĩa. Đối với môi trường sản xuất với nhiều người dùng, nên lên kế hoạch 4GB+ RAM và 100GB+ lưu trữ. Yêu cầu chính xác phụ thuộc vào số lượng người dùng, kích thước tệp và các mẫu truy cập đồng thời.

Q2: Tôi có thể sử dụng Nginx thay cho Apache với OwnCloud không?
Có, OwnCloud hoạt động với Nginx, nhưng Apache là máy chủ web được khuyến nghị chính thức và có tài liệu hướng dẫn tốt hơn. Nếu sử dụng Nginx, bạn sẽ cần tự cấu hình PHP-FPM và các quy tắc rewrite. Tài liệu của OwnCloud bao gồm các ví dụ cấu hình cho Nginx.

Q3: Làm thế nào để sao lưu cài đặt OwnCloud của tôi?
Sao lưu ba thành phần: các tệp ứng dụng OwnCloud (/var/www/owncloud), thư mục dữ liệu (/var/www/owncloud/data) và cơ sở dữ liệu MySQL. Sử dụng mysqldump cho cơ sở dữ liệu và rsync hoặc tar cho các tệp. Lên lịch sao lưu tự động định kỳ và kiểm tra quy trình phục hồi.

Câu 4: OwnCloud có an toàn cho dữ liệu nhạy cảm không?
OwnCloud cung cấp bảo mật mạnh khi được cấu hình đúng cách: mã hóa HTTPS, xác thực người dùng, xác thực hai yếu tố tùy chọn và quyền truy cập theo từng tệp. Đối với dữ liệu cực kỳ nhạy cảm, hãy cân nhắc sử dụng OwnCloud Enterprise với các tính năng mã hóa nâng cao, hoặc thực hiện các biện pháp bảo mật bổ sung như mã hóa dữ liệu khi lưu trữ và cách ly mạng.

Q5: Làm thế nào để nâng cấp OwnCloud lên phiên bản mới?
Trước khi nâng cấp, hãy sao lưu cài đặt và cơ sở dữ liệu của bạn. Tải về phiên bản mới, giải nén vào một vị trí tạm thời, dừng máy chủ web, thay thế các tập tin ứng dụng (ngoại trừ config/ và data/), cập nhật quyền truy cập tập tin, và chạy tập lệnh nâng cấp qua giao diện web hoặc dòng lệnh (occ upgrade). Luôn luôn thử nghiệm nâng cấp trong môi trường thử nghiệm trước.

Q6: OwnCloud có thể tích hợp với Active Directory hoặc LDAP không?
Có, OwnCloud hỗ trợ tích hợp LDAP và Active Directory thông qua ứng dụng backend người dùng LDAP. Điều này cho phép bạn sử dụng các tài khoản người dùng hiện có từ dịch vụ thư mục của mình, loại bỏ nhu cầu quản lý các tài khoản người dùng OwnCloud riêng biệt. Cấu hình LDAP trong Cài đặt → Quản trị → Xác thực người dùng.

Q7: Sự khác biệt giữa các phiên bản OwnCloud Community và Enterprise là gì?
Phiên bản OwnCloud Community là mã nguồn mở và miễn phí, với các tính năng cơ bản về lưu trữ và chia sẻ tệp. Phiên bản Enterprise bổ sung các tính năng bảo mật nâng cao (bảo vệ khỏi ransomware, tường lửa tệp), tính năng tuân thủ (chính sách lưu trữ, nhật ký kiểm toán), hỗ trợ thương mại và sửa lỗi ưu tiên. Hầu hết các triển khai từ nhỏ đến trung bình hoạt động tốt với phiên bản Community.

Q8: Làm thế nào để cải thiện hiệu suất OwnCloud trên Ubuntu?
Kích hoạt PHP OPcache, tối ưu hóa các thiết lập MySQL (tăng innodb_buffer_pool_size), sử dụng ổ SSD cho thư mục dữ liệu, cấu hình Apache với các thiết lập worker phù hợp, và cân nhắc sử dụng bộ nhớ đệm reverse proxy cho các tài nguyên tĩnh. Đối với các triển khai rất lớn, hãy xem xét sử dụng các backend lưu trữ đối tượng hoặc hệ thống file phân tán.

Câu 9: OwnCloud có hỗ trợ ứng dụng di động không?
Có, OwnCloud cung cấp các ứng dụng di động chính thức cho iOS và Android. Các ứng dụng này cho phép bạn truy cập, đồng bộ và chia sẻ tập tin từ thiết bị di động. Ứng dụng hỗ trợ tải ảnh tự động, truy cập tập tin khi offline và kết nối bảo mật với hệ thống OwnCloud của bạn.

Câu Q10: Tôi có thể sử dụng PostgreSQL thay vì MySQL không?
Có, OwnCloud hỗ trợ PostgreSQL như một cơ sở dữ liệu thay thế. Trong quá trình cài đặt, chọn PostgreSQL thay vì MySQL và cung cấp các thông tin kết nối. PostgreSQL ít được sử dụng hơn với OwnCloud nhưng vẫn hoạt động tốt cho các triển khai đã sử dụng cơ sở hạ tầng PostgreSQL.

Kết luận

OwnCloud cung cấp một giải pháp thay thế mạnh mẽ, tự lưu trữ cho các dịch vụ lưu trữ đám mây thương mại. Bằng cách cài đặt OwnCloud trên Ubuntu với Apache, MySQL và PHP, bạn sẽ có toàn quyền kiểm soát cơ sở hạ tầng lưu trữ tệp của mình trong khi vẫn duy trì các tính năng như đồng bộ hóa, chia sẻ và cộng tác tệp.

Quá trình cài đặt bao gồm việc cài đặt bộ LAMP, cấu hình cơ sở dữ liệu, bảo mật cài đặt với HTTPS và tăng cường bảo mật bằng tường lửa cùng các quyền truy cập phù hợp. Khi đã hoạt động, OwnCloud hỗ trợ quản lý người dùng, tích hợp lưu trữ bên ngoài và tối ưu hóa hiệu suất cho các triển khai sản xuất.

Cho dù bạn muốn duy trì quyền kiểm soát dữ liệu, giảm chi phí lưu trữ dài hạn, hay tùy chỉnh giải pháp lưu trữ tệp của mình, OwnCloud trên Ubuntu cung cấp một nền tảng linh hoạt có thể mở rộng từ sử dụng cá nhân đến triển khai doanh nghiệp. Sự lựa chọn giữa OwnCloud và Nextcloud phụ thuộc vào ưu tiên của bạn: hỗ trợ doanh nghiệp và độ ổn định so với đổi mới do cộng đồng dẫn dắt và phát hành tính năng nhanh chóng.

Với cấu hình hợp lý, tăng cường bảo mật và bảo trì định kỳ, phiên bản OwnCloud của bạn sẽ cung cấp lưu trữ tệp tin riêng tư, đáng tin cậy trong nhiều năm tới.

Đọc thêm

  • Cách cài đặt LAMP Stack trên Ubuntu
  • Cách bảo mật Apache với Let’s Encrypt trên Ubuntu
  • Cách Thiết Lập Tường Lửa với UFW trên Ubuntu

Cảm ơn bạn đã học cùng cộng đồng Linux-Console.net.