Mục lục bài viết

Linux

Hướng dẫn cài đặt Nextcloud trên Ubuntu 22.04

phongdh
phongdh
Chia sẻ:
Zalo
Hướng dẫn cài đặt Nextcloud trên Ubuntu 22.04

NextCloud là gì?

Nextcloud là một ứng dụng mã nguồn mở và miễn phí để lưu trữ và chia sẻ tệp. Nó cho phép người dùng được chấp thuận truy cập tài liệu và hình ảnh trực tuyến từ một vị trí trung tâm. Nextcloud được coi là một giải pháp thay thế mạnh mẽ cho Dropbox và Google Drive. Hướng dẫn này giải thích cách tải xuống, cài đặt và cấu hình Nextcloud trên Ubuntu 22.04 LTS.

Thông tin

  • OS: Ubuntu 22.04
  • Mysql: 10.6.18-MariaDB
  • Web Server: Apache
  • PHP: 8.1
  • Version NextCloud: 29.0.4

Cài đặt

Cài đặt Apache Web Server

Cài đặt Apache Web Server bằng lệnh sau:

sudo apt install apache2

Bật mpm_prefork Apache module và tắt mpm_event:

sudo a2dismod mpm_event
sudo a2enmod mpm_prefork
systemctl restart apache2

Kiểm tra và đảm bảo web server vẫn hoạt động bằng lệnh sau:

systemctl restart apache2

Truy cập địa chỉ IP của web server và xác nhận máy chủ đang hoạt động bình thường:

Trang chào mừng Ubuntu/Apache2 mặc định xuất hiện trong trình duyệt. Trang này có thông báo It works và nêu chi tiết một số thông tin cơ bản về máy chủ:

Apache2

Cài đặt MariaDB

Cài đặt MariaDB bằng lệnh sau:

sudo apt install mariadb-server

Kiểm tra và đảm bảo MariaDB hoạt động:

sudo systemctl start mariadb
sudo systemctl status mariadb

Cấu hình và bảo mật MariaDB bằng mysql_secure_installation.

Nhập mật khẩu của bạn và trả lời Y các câu hỏi sau:

  • Remove anonymous users?
  • Disallow root login remotely?
  • Remove test database and access to it?
  • Reload privilege tables now?
sudo mysql_secure_installation

Tạo cơ sở dữ liệu cho Nextcloud trong MariaDB

Đăng nhập vào MariaDB với user root. Nếu bạn đã thêm mật khẩu root, hãy cung cấp khi được yêu cầu.

sudo mysql -u root

Tạo database nextcloud và kiểm tra đảm bảo database đã được tạo:

CREATE DATABASE nextcloud;
SHOW DATABASES;

Tạo databse_user và cấp quyền truy cập vào database. Phần password bạn thay bằng password của mình và lưu thay đổi:

GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

Thoát khỏi giao diện cấu MariaDB:

quit;

Cài đặt PHP và các thành phần cần thiết

Cài đặt gói PHP

sudo apt install php

Kiểm tra phiên bản PHP:

php -v

Cài đặt các thành phần PHP:

sudo apt install php-apcu php-bcmath php-cli php-common php-curl php-gd php-gmp php-imagick php-intl php-mbstring php-mysql php-zip php-xml

Kích hoạt các PHP extensions:

sudo phpenmod bcmath gmp imagick intl

Cài đặt extension unzip:

sudo apt install unzip

Unzip đã được cài đặt từ trước nên chạy lệnh sẽ gặp thông báo như hình.

Cài đặt package libmagic:

sudo apt install libmagickcore-6.q16-6-extra

Tải và cài đặt Nextcloud

Bài viết này mình sẽ tải và cài đặt bản Nextcloud mới nhất hiện tại là version Version 29.0.4. Để xem các bản phát hành cụ thể của Nextcloud bạn truy cập link sau: https://nextcloud.com/changelog/

Tải Nextcloud version Version 29.0.4 bằng lệnh sau:

wget https://download.nextcloud.com/server/releases/nextcloud-29.0.4.zip

Giải nén tệp vừa tải. Sau khi giải nén thành công sẽ có thư mục Nextcloud tại đường dẫn cùng với file .zip mới tải về.

Thay đổi quyền cho thư mục Nextcloud và giải nén:

sudo chown -R www-data:www-data nextcloud

Di chuyển thư mục Nextcloud đến thư mục mặc định /var/www/html chứa mã nguồn của web server.

sudo mv nextcloud /var/www/html

Vô hiệu trang mặc định của Apache web server

sudo a2dissite 000-default.conf
systemctl reload apache2

Tạo file Virtual Host cho Nextcloud

Tạo file mới nextcloud.conf trong đường dẫn etc/apache2/sites-available bằng lệnh sau

touch /etc/apache2/sites-available/nextcloud.conf

Thêm cấu hình sau vào file vừa tạo:

  • DocumentRoot: Tên đường dẫn thư mục Nextcloud
  • ServerName: Thay bằng hostname của bạn
<VirtualHost *:80>
    DocumentRoot "/var/www/html/nextcloud"
    ServerName example.com
    <Directory "/var/www/html/nextcloud/">
        Options MultiViews FollowSymlinks
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
    TransferLog /var/log/apache2/nextcloud_access.log
    ErrorLog /var/log/apache2/nextcloud_error.log
</VirtualHost>

kích hoạt trang web và không restart lại Apache2

sudo a2ensite nextcloud.conf

Tối ưu PHP cho Nextcloud

Mở file php.ini ở đường dẫn /etc/php/8.1/apache2/ và thực hiện các thay đổi sau:

sudo vi /etc/php/8.1/apache2/php.ini
max_execution_time = 360
memory_limit = 512M
post_max_size = 200M
upload_max_filesize = 200M
date.timezone = Asia/Ho_Chi_Minh
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.revalidate_freq=1
opcache.save_comments=1

Kích hoạt mộ số Apache modules:

sudo a2enmod dir env headers mime rewrite ssl

Khởi động lại Apache server và đảm bảo hoạt động:

sudo systemctl restart apache2
sudo systemctl status apache2

Truy cập và thiết Nextcloud bằng giao diện web

Bạn có thể tạo một domain hoặc subdomain trỏ về IP máy chủ đang cài đặt Nextcloud để dùng làm địa chỉ truy cập hoặc truy cập bằng địa chỉ IP

Giao diện thiết lập Nextcloud

Tài phần này bạn thực hiện điền các thông tin sau và chọn Install (cài đặt) để tiến trình cài đặt bắt đầu.

  • Create an administrative account (Thư mục dữ liệu): Tạo tên đăng nhập và mật khẩu đăng nhập
  • Data Folder(Thư mục dữ liệu): Để mặc định
  • Configure the database(Cấu hình cơ sở dữ liệu): Nhập tên người dùng và mật khẩu cho tài khoản đã tạo trong MariaDB trước đó. Tên cơ sở dữ liệu là nextcloud đã tạo trước đó. Database host bạn để là localhost

Chọn Install recommended apps(Cài đặt các ứng dụng được đề xuất) để tiếp tục cài đặt

Khi hoàn tất, giao diện Nextcloud sẽ hiển thị như bên dưới. Đến phần này thì bạn đã cài đặt xong Nextcloud

Cài đặt chứng chỉ SSL cho Nextcloud

Cài đặt Cerbot Apache:

sudo apt install -y certbot python3-certbot-apache

Cài đặt SSL cho địa chỉ truy cập nextcloud:

sudo certbot --apache -d nextcloud.phongdinh.id.vn

Khởi động lại apache server và truy cập địa chỉ nextcloud kiểm tra.

systemctl restart apache2
systemctl status apache2

Máy chủ NextCloud đã được cài đặt thành công trên Ubuntu 22.04

Chia sẻ:
Zalo
phongdh

phongdh

Content Creator

Chào mọi người, mình là Phong - hiện đang công tác tại Phòng Kỹ thuật AZDIGI. Trong quá trình làm việc mình có cơ hội được tiếp xúc với khá nhiều các vấn đề liên quan đến Website/Email/Hosting/VPS/Server, do đó mình viết lại các hướng dẫn này nhằm chia sẻ kiến thức, cũng như tạo một môi trường để chúng ta giao lưu và học hỏi lẫn nhau.

Kết nối:

Bài viết liên quan

Những bài viết bạn có thể quan tâm

Thảo luận

0 bình luận cho bài viết này

* Địa chỉ email của bạn sẽ được bảo mật và không hiển thị công khai.

Chưa có bình luận nào

Hãy là người đầu tiên chia sẻ góc nhìn của bạn về bài viết này nhé!

Zalo

Nhập từ khóa để tìm kiếm...

0 kết quả

CHUYÊN MỤC LIÊN QUAN