Thứ sáu, 06/01/2017 | 00:00 GMT+7

Cách chuyển cài đặt ownCloud sang Nextcloud trên Ubuntu 14.04

Gần đây, một phần lớn group phát triển cốt lõi tại ownCloud đã rời đi để bắt đầu một dự án mới có tên Nextcloud . Trong khi ownCloud vẫn sẽ tiếp tục được phát triển, bạn có thể cần xem những gì dự án mới mang lại. Nextcloud và ownCloud chia sẻ một cơ sở mã chung, nghĩa là việc di chuyển cài đặt ownCloud hiện có của bạn sang Nextcloud sẽ là một nhiệm vụ dễ dàng.

Trong hướng dẫn này, bạn sẽ di chuyển cài đặt ownCloud hiện có sang Nextcloud. Quá trình này bao gồm việc swap các file ứng dụng cốt lõi với các file từ Nextcloud và cho phép trình cập nhật tích hợp của Nextcloud thực hiện công việc nặng nhọc. Mặc dù quy trình này rất đơn giản, nhưng có một số việc cần được thực hiện theo đúng trình tự đảm bảo mọi thứ diễn ra suôn sẻ.

Lưu ý: Bạn chỉ có thể cập nhật các bản cài đặt ownCloud và Nextcloud một số version chính tại một thời điểm. Nếu bạn hiện đang sử dụng ownCloud 9, trước tiên bạn phải di chuyển sang Nextcloud 10, sau đó nâng cấp lên Nextcloud 11. Hướng dẫn này bao gồm quá trình này.

Yêu cầu

Để chuyển cài đặt ownCloud của bạn sang Nextcloud, bạn cần :

  • Bản cài đặt ownCloud 9 đang hoạt động trên Ubuntu 14.04.
  • Tài khoản user không có quyền trên server ownCloud có thể chạy các lệnh với sudo . Bạn có thể cấu hình điều này theo hướng dẫn Cách tạo user Sudo trên Ubuntu .

Bước 1 - Dừng web server và backup dữ liệu

Ngay cả khi bạn đang làm việc với một cài đặt mới được cấu hình , bạn nên thực hiện backup nhanh. Bạn sắp bắt đầu di chuyển và xóa mọi thứ, vì vậy, hãy đảm bảo an toàn trước tiên!

Đăng nhập vào server của bạn đang chạy ownCloud nếu bạn chưa kết nối:

  • ssh sammy@your_server_ip

Điều quan trọng là đảm bảo không có gì thay đổi trong khi bạn thực hiện backup và di chuyển, vì vậy cách dễ nhất đảm bảo điều đó là tắt web server để user không thể truy cập ownCloud. Thực hiện lệnh này:

  • sudo service apache2 stop

Bây giờ web server đã dừng, hãy chuyển đến folder nơi server của bạn lưu trữ ownCloud. Nếu bạn đang sử dụng cài đặt One-Click cho ownCloud trên Ubuntu 14.04, cài đặt của bạn nằm trong folder /var/www/ . Chạy các lệnh sau để chuyển sang folder này và xác minh nó có chứa owncloud/ :

  • cd /var/www
  • ls

Bạn sẽ thấy folder owncloud :

Output
html owncloud

Tiếp theo, tạo repository backup bằng lệnh tar để c ompress ag z ip f ile và hiển thị kết quả v erbose ra màn hình. Kho lưu trữ mới sẽ được gọi là owncloud.tar.gz và sẽ chứa toàn bộ folder owncloud/ . Thực hiện lệnh sau:

  • sudo tar czfv owncloud.tar.gz owncloud/

Bây giờ hãy di chuyển repository vào folder chính của bạn để giữ an toàn:

  • sudo mv owncloud.tar.gz ~/

Lưu ý : Các file ownCloud của bạn được backup , nhưng nếu bạn đang sử dụng MySQL hoặc bất kỳ database nào khác thay vì tùy chọn lưu trữ dữ liệu nội bộ, bạn cũng nên tạo bản backup database . Đối với MySQL, hãy tạo bản backup bằng cách chạy lệnh sau:

  • mysqldump -u username -p dbname > ~/owncloud_backup.sql

Bạn có thể tìm thấy các giá trị cho username , passworddbname trong file cấu hình có tại /var/www/owncloud/config/config.php .

Bạn có thể tìm thêm thông tin về backup và khôi phục database MySQL tại đây .

Trước khi cài đặt Nextcloud, có một bước nữa dành riêng cho server Ubuntu 14.04.

Bước 2 - Nâng cấp PHP

Nếu bạn đang di chuyển từ cài đặt One-Click trên Ubuntu 14.04, bạn cần phải nâng cấp PHP để có thể sử dụng bất kỳ version Nextcloud nào mới hơn 10.0.2. Các repository Ubuntu 14.04 tiêu chuẩn chỉ bao gồm PHP 5.5, nhưng bắt buộc phải có PHP 5.6 bắt đầu với NextCloud 11. May mắn là Ubuntu hỗ trợ các repository của bên thứ 3 được gọi là PPA. Nếu bạn chưa cài đặt PPA trước đó, hãy thực thi lệnh này để cài đặt một gói có tên là python-software-properties :

  • sudo apt-get install python-software-properties

Tiếp theo, thêm PPA có chứa các version cập nhật của PHP:

  • sudo add-apt-repository ppa:ondrej/php

Sau đó, yêu cầu người quản lý gói cập nhật danh sách các gói đã biết, bao gồm những gói trong PPA:

  • sudo apt-get update

Đến đây bạn có thể cài đặt PHP7 và tất cả các module được Nextcloud yêu cầu:

  • sudo apt-get install php7.0 php7.0-sqlite php7.0-mysql php7.0-pgsql php7.0-zip php7.0-gd php7.0-mb php7.0-curl php7.0-xml php7.0-apc

Cuối cùng, chuyển đổi module PHP mà web server của bạn sử dụng. Đối với Apache, các lệnh để thực hiện việc này là:

  • a2dismod php5
  • a2enmod php7.0

Lưu ý: Nếu bạn đang sử dụng server của bạn cho bất kỳ thứ gì khác ngoài ownCloud, bạn nên đảm bảo web server của bạn không cần PHP5.5 trước khi tắt module đó.

Bây giờ hãy cài đặt Nextcloud.

Bước 3 - Download Nextcloud

Tại trang phát hành Nextcloud, bạn sẽ tìm thấy danh sách mọi bản phát hành Nextcloud ở một số định dạng khác nhau. Tìm file .tar.gz mới nhất cho bản phát hành giống với hoặc một version chính sau version ownCloud hiện tại của bạn. Ví dụ: nếu bạn đang di chuyển từ cài đặt One-Click của ownCloud 9, bạn sẽ tìm kiếm file nextcloud-10.0.2.tar.bz2 .

Khi bạn tìm thấy file , đừng tải file xuống máy tính cá nhân của bạn. Thay vào đó, hãy nhấp chuột phải vào tên file và sao chép địa chỉ liên kết để bạn có thể tải file xuống server của bạn .

Bạn sẽ download hai file . Đầu tiên sẽ là gói Nextcloud mà bạn tìm thấy trên trang web. Tệp còn lại sẽ là file xác minh được gọi là “md5 checksum”. Tệp md5 sẽ có đường dẫn chính xác giống như gói, nhưng có thêm phần mở rộng .md5 vào cuối. Thực hiện các lệnh sau để di chuyển đến folder chính của bạn, sau đó download hai file .

  • cd ~
  • wget https://download.nextcloud.com/server/releases/nextcloud-10.0.2.tar.bz2
  • wget https://download.nextcloud.com/server/releases/nextcloud-10.0.2.tar.bz2.md5

Chạy lệnh md5sum để tạo tổng kiểm tra của nó nhằm xác minh tính toàn vẹn của file gói:

  • md5sum nextcloud-10.0.2.tar.bz2

Bạn sẽ thấy một cái gì đó tương tự như kết quả này:

Output
dc30ee58858d4f6f2373472264f7d147 nextcloud-10.0.2.tar.bz2

Sau đó, hiển thị nội dung của file .md5 mà bạn đã download :

  • cat nextcloud-10.0.2.tar.bz2.md5

Đầu ra của lệnh này phải giống với kết quả của lệnh trước đó:

Output
dc30ee58858d4f6f2373472264f7d147 nextcloud-10.0.2.tar.bz2

Nếu kết quả kết quả khác nhau, hãy reload Nextcloud.

Để extract các file , sử dụng tar lệnh , nhưng lần này, e x đường các ile f với sản lượng v erbose. Thực thi lệnh này để extract repository :

  • tar xfv nextcloud-10.0.2.tar.bz2

Cuối cùng, sao chép folder nextcloud mới nextcloud folder /var/www :

  • sudo mv nextcloud /var/www/nextcloud

Đến đây bạn có thể bắt đầu di chuyển các file của bạn từ ownCloud sang Nextcloud.

Bước 4 - Di chuyển dữ liệu và cài đặt quyền sở hữu file

Bản cài đặt ownCloud hiện tại của bạn có hai folder mà bạn muốn lưu giữ: data/config/ . Bạn sẽ di chuyển những thứ này từ vị trí ban đầu của chúng vào folder nextcoud của bạn , nhưng trước tiên, bạn cần xóa các version mặc định đi kèm với Nextclout.

Đầu tiên, thực hiện lệnh để xóa các folder mặc định khỏi folder nextcloud của bạn, nếu chúng tồn tại:

  • sudo rm -rf /var/www/nextcloud/data /var/www/nextcloud/config

Sau đó di chuyển các folder cũ từ folder owncloud :

  • sudo mv /var/www/owncloud/data /var/www/nextcloud/data
  • sudo mv /var/www/owncloud/config /var/www/nextcloud/config

Một điểm chung của việc di chuyển file bằng sudo là tất cả các file sẽ thuộc quyền sở hữu của user root . Nextcloud, tuy nhiên, luôn được điều hành bởi user www-data . Điều này nghĩa là bạn cần thay đổi quyền sở hữu của folder /var/www/nextcloud và nội dung của nó trước khi bạn tiếp tục. Để thực hiện việc này, hãy chạy lệnh chown với đối số -R để thay đổi lặp lại tất cả quyền sở hữu file cho user www-data :

  • sudo chown -R www-data:www-data /var/www/nextcloud/

Bây giờ các file đã có sẵn, ta cần cho web server biết cách truy cập chúng.

Bước 5 - Nâng cấp Nextcloud Internals

Với tất cả các file tại chỗ, bạn có thể bắt đầu quá trình nâng cấp nội bộ. Nextcloud và ownCloud cung cấp một công cụ để quản lý và nâng cấp cài đặt gọi là occ . Điều hướng đến folder /var/www/nextcloud/ :

  • cd /var/www/nextcloud

Trước khi bạn có thể sử dụng occ , bạn sẽ phải cập nhật các /var/www/nextcloud/config/config.php file để phản ánh vị trí mới của các folder dữ liệu. Cụ thể, dòng 'datadirectory' => '/var/www/owncloud/data', cần được thay đổi thành 'datadirectory' => '/var/www/nextcloud/data', . Sử dụng sed để dễ dàng thực hiện thay đổi:

  • sudo sed -i "s/owncloud\/data/nextcloud\/data/g" config/config.php

LƯU Ý: Thông thường, các stream sed xuất ra màn hình, nhưng cờ -i yêu cầu nó sửa đổi file tại chỗ. Để biết thông tin về cách sử dụng biểu thức chính quy, hãy xem Giới thiệu về biểu thức chính quy . Và để biết thêm về sed , hãy xem Khái niệm cơ bản của việc sử dụng trình soạn thảo dòng Sed để thao tác văn bản trong Linux .

Bây giờ sử dụng occ để đưa Nextcloud vào chế độ bảo trì. Thao tác này khóa các file để không thể thực hiện thay đổi bên ngoài trong khi bạn nâng cấp ứng dụng. Chạy lệnh sau để bật chế độ bảo trì:

  • sudo -u www-data php occ maintenance:mode --on

Lưu ý điều này sử dụng sudo để chạy các lệnh với quyền là user www-data .

Bạn sẽ thấy kết quả này để có thể xác nhận chế độ bảo trì đã được bật:

[secondary_output] Nextcloud or one of the apps require upgrade - only a limited number of commands are available You may use your browser or the occ upgrade command to do the upgrade Maintenance mode enabled 

Tiếp theo, sử dụng occ để bắt đầu quá trình nâng cấp nội bộ:

  • sudo -u www-data php occ upgrade

Lệnh này hiển thị rất nhiều kết quả khi nó di chuyển tất cả dữ liệu ownCloud sang Nextcloud, nhưng cuối cùng bạn sẽ thấy các thông báo sau:

Output
... Starting code integrity check... Finished code integrity check Update successful Maintenance mode is kept active Reset log level

Nếu có vấn đề với việc nâng cấp, kết quả sẽ cung cấp cho bạn một số phản hồi về những gì đã xảy ra và cách giải quyết vấn đề. Giả sử quá trình nâng cấp diễn ra suôn sẻ, đã đến lúc tắt chế độ bảo trì.

  • sudo -u www-data php occ maintenance:mode --off

Cài đặt ownCloud của bạn hiện đã được chuyển sang Nextcloud, nhưng nó có thể vẫn chưa được cập nhật. Nếu bạn đã di chuyển ownCloud 9, bạn sẽ chỉ di chuyển sang Nextcloud 10, nhưng vẫn có một version mới hơn, vì vậy hãy nâng cấp.

Bước 6 - Nâng cấp Nextcloud

Để nâng cấp Nextcloud lên version chính mới, bạn sử dụng quy trình tương tự như bạn đã sử dụng trong Bước 3 đến Bước 5 của hướng dẫn này. Đầu tiên, hãy di chuyển folder Nextcloud hiện đã được cài đặt của bạn bằng lệnh này:

  • sudo mv /var/www/nextcloud /var/www/nextcloud.old

Sau đó, tìm file .tar.gz từ trang web phát hành Nextcloud , download và kiểm tra tổng kiểm tra MD5 của nó giống như bạn đã làm trong Bước 3.

  • wget https://download.nextcloud.com/server/releases/nextcloud-11.0.0.tar.bz2
  • wget https://download.nextcloud.com/server/releases/nextcloud-11.0.0.tar.bz2.md5
  • md5sum nextcloud-11.0.0.tar.bz2
  • cat nextcloud-11.0.0.tar.bz2.md5

Khi bạn đã download và xác minh repository . extract nó và di chuyển nó đến vị trí Nextcloud trên web server :

  • tar xfv nextcloud-11.0.0.tar.bz2
  • mv nextcloud /var/www/nextcloud

Tiếp theo, di chuyển cấu hình và file dữ liệu từ cài đặt cũ sang cài đặt mới như bạn đã làm trong Bước 4:

  • rm -rf /var/www/nextcloud/config /var/www/nextcloud/data
  • mv /var/www/nextcloud.old/config /var/www/nextcloud
  • mv /var/www/nextcloud.old/data /var/www/nextcloud
  • sudo chown -R www-data:www-data /var/www/nextcloud/

Cuối cùng, sử dụng occ để thực hiện nâng cấp:

  • sudo -u www-data php occ maintenance:mode --on
  • sudo -u www-data php occ upgrade
  • sudo -u www-data php occ maintenance:mode --off

Lặp lại các bước này cho từng version Nextcloud chính mà bạn cần nâng cấp.

Như vậy, mọi thứ đã được cập nhật, ta có thể cấu hình web server để gửi lưu lượng truy cập đến Nextcloud.

Bước 7 - Sửa đổi stream lưu lượng của web server

Web server Apache chuyển hướng đến các folder khác nhau thông qua việc sử dụng server ảo hoặc vhosts. Thư mục /etc/apache2/sites-available/ chứa mô tả của từng vhost được cấu hình cho server . Các vhosts này được kích hoạt bằng cách liên kết các file được liên kết của chúng với folder /etc/apache2/sites-enabled/ . Tệp /etc/apache2/sites-available/000-owncloud.conf cấu hình server để đọc /var/www/owcloud và cấu hình đó được kích hoạt bởi liên kết có tại /etc/apache2/sites-enabled/000-owncloud.conf .

Để chuyển đổi server để sử dụng cài đặt Nextcloud, hãy tạo một bản sao của cấu hình ownCloud vhost, chỉnh sửa nó để trỏ tới Nextcloud, tắt vhost ownCloud và bật Nextcloud vhost.

Fist sao chép file cấu hình ownCloud:

  • sudo cp /etc/apache2/sites-available/000-owncloud.conf /etc/apache2/sites-available/000-nextcloud.conf

Tiếp theo, thay thế tất cả các version của owncloud trong file cấu hình bằng nextcloud . Bạn có thể thực hiện việc này bằng cách mở /etc/apache2/sites-available/000-nextcloud.conf bằng editor và tự áp dụng các thay đổi hoặc bằng cách sử dụng biểu thức chính quy và lệnh sed .

Chạy lệnh sau để chuyển đổi nội dung của file cấu hình vhost bằng sed :

  • sudo sed -i "s/owncloud/nextcloud/g" /etc/apache2/sites-available/000-nextcloud.conf

Tiếp theo, vô hiệu hóa vhost ownCloud bằng cách xóa liên kết /etc/apache2/sites-enabled/000-owncloud.conf . Ubuntu cung cấp lệnh a2dissite để vô hiệu hóa các trang web. Thực hiện lệnh này:

  • sudo a2dissite 000-owncloud.conf

Cuối cùng, kích hoạt Nextcloud vhost bằng cách tạo một softlink đến file cấu hình Nextcloud. Sử dụng lệnh a2ensite để tạo liên kết:

  • sudo a2ensite 000-nextcloud.conf

Lưu ý: Nếu bạn truy cập ownCloud thông qua HTTPS, bạn cũng cần lặp lại các bước này với vhost /etc/apache2/sites-available/owncloud-ssl.conf .

Bây giờ web server biết tìm Nextcloud ở đâu, ta có thể bắt đầu backup nó bằng lệnh sau:

  • sudo service apache2 start

Đến đây, mọi thứ sẽ hoạt động với cài đặt Nextcloud mới của bạn. Mở trình duyệt web và chuyển đến vị trí của server ownCloud cũ của bạn và bạn sẽ thấy màn hình đăng nhập Nextcloud. Tất cả tên user và password cũ của bạn sẽ hoạt động như trước khi di chuyển. Đăng nhập với quyền là user quản trị , vì bạn có thể cần chạy lại một số ứng dụng của bạn , bao gồm cả ứng dụng Lịch và Danh bạ.

Kết luận

Trong hướng dẫn này, bạn đã backup cài đặt ownCloud trước đó của bạn , di chuyển sang Nextcloud và tắt ownCloud. Đến đây bạn có thể đăng nhập vào Nextcloud bằng giao diện web giống như bạn đã làm với ownCloud.

Bây giờ server của bạn đã được di chuyển sang Nextcloud, đã đến lúc cập nhật bất kỳ ứng dụng client đồng bộ nào bạn đang sử dụng. Cũng giống như ownCloud, Nextcloud cung cấp một số ứng dụng client đồng bộ hóa cho máy tính để bàn và thiết bị di động của bạn.

Nếu bạn quyết định quay lại ownCloud, bạn có thể khôi phục data/config/ folder từ bản backup bạn đã tạo ở Bước 1, cũng như bất kỳ database bên ngoài nào bạn đã backup . Đừng cố sao chép data/config/ folder từ /var/www/nextcloud trở lại ownCloud. Khi các bản backup đã được khôi phục, tất cả những gì bạn phải làm là vô hiệu hóa Nextcloud vhost và kích hoạt ownCloud, bằng cách sử dụng quy trình tương tự trong Bước 4.


Tags:

Các tin liên quan

Cách triển khai ứng dụng Node.js và MongoDB với Rancher trên Ubuntu 16.04
2017-01-05
Cách xây dựng Go từ Nguồn trên Ubuntu 16.04
2017-01-04
Cách thiết lập firewall với UFW trên Ubuntu 16.04
2016-12-22
Cách cài đặt và bảo mật Mosquitto MQTT Messaging Broker trên Ubuntu 16.04
2016-12-09
Cách cài đặt Puppet 4 trên Ubuntu 16.04
2016-12-09
Cách sử dụng Vault để bảo vệ dữ liệu nhạy cảm có thể xem được trên Ubuntu 16.04
2016-12-09
Cách cài đặt Discourse trên Ubuntu 16.04
2016-12-02
Cách thiết lập giám sát hiệu suất thời gian thực với Netdata trên Ubuntu 16.04
2016-12-01
Cách sắp xếp công việc theo nhóm với ONLYOFFICE trên Ubuntu 14.04
2016-11-22
Cách triển khai CockroachDB trên Cụm ba node trên Ubuntu 16.04
2016-11-18