Nextcloud [Part 1] – Cài đặt Nextcloud trên CentOS 7

30/12/2020

Mục lục

  1. Chuẩn bị môi trường
  2. Cài đặt dịch vụ Web
  3. Cài đặt MariaDB
  4. Cài đặt PHP 7.2
  5. Cài đặt NextCloud
  6. Cấu hình Nextcloud
  7. Cấu hình Let’s Encyrpt cho NextCloud

1. Chuẩn bị môi trường

Trên môi trường Lab, các bạn có thể sử dụng máy NextCloud với cấu hình nhỏ và dùng IP Local. Tuy nhiên trên môi trường thực tế, máy NextCloud cần có IP Public và domain để sử dụng Office online của Collabora.

Với môi trường Lab, các bạn chuẩn bị như sau :

  • OS : Centos 7
  • RAM : 2GB
  • Disk : 30GB
  • CPU : 2 core
  • Kết nối Internet

Login với user root. Thực hiện Update :

yum install -y epel-release yum update -y 

Mở firewalld cho traffic của httpd (web) đi qua

firewall-cmd --permanent --zone=public --add-service=http  firewall-cmd --permanent --zone=public --add-service=https firewall-cmd --reload

Cấu hình disable SElinux

sudo setenforce 0 sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux sed -i 's/SELINUX=permissive/SELINUX=disabled/g' /etc/sysconfig/selinux sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config sed -i 's/SELINUX=permissive/SELINUX=disabled/g' /etc/selinux/config

Reboot máy :

init 6

2. Cài đặt Web

Cài đặt dịch vụ Web

yum -y install httpd 

Khởi động httpd và cấu hình khởi động dịch vụ cùng hệ thống

systemctl start httpd.service systemctl enable httpd.service

Kiểm tra bằng cách truy cập với IP của NextCloud

http://your_server_IP_address/

3. Cài đặt MariaDB

Thêm Repo của MariaDB 10.2

cat << EOF > /etc/yum.repos.d/MariaDB.repo [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.2/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 EOF

Cài đặt MariaDB Server

yum install MariaDB-server -y

Khởi động mariadb và cấu hình khởi động dịch vụ cùng hệ thống

systemctl start mariadb systemctl enable mariadb

Cài đặt mật khẩu root cho MariaDB

sudo mysql_secure_installation

Mặc đinh mật khẩu root của mysql sẽ để trống. Bước này có thể có hoặc không có tùy nhu cầu của Administrators

Tạo DB và user : nextcloud / nextcloudpassword

mysql -u root -p CREATE DATABASE nextcloud; CREATE USER 'nc_user'@'localhost' IDENTIFIED BY 'nextcloudpassword'; GRANT ALL PRIVILEGES ON nextcloud.* TO 'nc_user'@'localhost'; FLUSH PRIVILEGES; exit

4. Cài đặt PHP

yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm yum install -y yum-utils yum-config-manager --enable remi-php72 yum install php php-mysql php-dom php-mbstring php-gd php-ldap php-pdo php-json php-xml php-zip php-curl php-mcrypt php-pear php-intl setroubleshoot-server -y 

5. Cài đặt NextCloud

Download NextCloud

yum install wget -y  wget https://download.nextcloud.com/server/releases/nextcloud-17.0.0.zip -O /opt/nextcloud.zip

Giải nén

yum install unzip -y  unzip /opt/nextcloud.zip -d /var/www/ rm -f /opt/nextcloud.zip

Phân quyền

sudo chmod 755 -R /var/www/nextcloud/ sudo chown apache. -R /var/www/nextcloud/

Bổ sung config cho httpd

cat << EOF >> /etc/httpd/conf.d/nextcloud.conf  <VirtualHost *:80>  ServerAdmin admin@yourdomain.com DocumentRoot /var/www/nextcloud #ServerName yourdomain.com  #ServerAlias www.yourdomain.com  <Directory /var/www/html/nextcloud> Options +FollowSymlinks AllowOverride All  <IfModule mod_dav.c> Dav off </IfModule>  SetEnv HOME /var/www/nextcloud SetEnv HTTP_HOME /var/www/nextcloud </Directory>  ErrorLog /var/log/httpd/nextcloud-error_log CustomLog /var/log/httpd/nextcloud-access_log common  </VirtualHost> EOF

Reload lại httpd

sudo systemctl restart httpd 

6. Truy cập và Cấu hình NextCloud

https://server_domain_or_IP/

Tạo tài khoản nextcloud admin với thông tin :

  • user : nc_admin
  • pass : nextcloudpassword

Kết nối tài khoản MariaDB đã tạo phía trên. Chọn Database là MySQLMariaDB. Điền thông tin về các database như sau :

  • nc_user
  • nextcloudpassword
  • nextcloud
  • localhost

Đợi NextCloud xác thực thông tin tài khoản

Giao diện đăng nhập

Giao diện người dùng

7. Cấu hình Let’s Encrypt cho Nextcloud

Bạn nên đầu tư 1 domain cho máy chủ NextCloud của mình.

Máy chủ NextCloud cần có domain để có thể thực hiện cấu hình HTTPS và cấu hình kết nối tới máy chủ Collabora Online nhằm sử dụng Office.

Ở đây ta giả dụ máy test đã có domain với tên là : demo.nextcloudvn.com . Ta sẽ cấu hình Let’s Encrypt để cung cấp SSL và https cho máy chủ NextCloud.

yum install -y mod_ssl python-certbot-apache

Cấu hình sinh Cert với domain :

certbot --apache -d demo.nextcloudvn.com --non-interactive --agree-tos --email manhdinh1994@gmail.com

Kiểm tra việc truy cập với domain.

Domain đã được bảo vệ với certificate của Let’s Encrypt.

Như vậy là bạn đã thực hiện cài đặt thành công NextCloud trên Centos 7. Tại bài viết tiếp theo team #Onet sẽ hướng dẫn cài đặt NextCloud trên Ubuntu 18.04.

Xin cảm ơn các bạn đã theo dõi !


ONET IDC thành lập vào năm 2012, là công ty chuyên nghiệp tại Việt Nam trong lĩnh vực cung cấp dịch vụ Hosting, VPS, máy chủ vật lý, dịch vụ Firewall Anti DDoS, SSL… Với 10 năm xây dựng và phát triển, ứng dụng nhiều công nghệ hiện đại, ONET IDC đã giúp hàng ngàn khách hàng tin tưởng lựa chọn, mang lại sự ổn định tuyệt đối cho website của khách hàng để thúc đẩy việc kinh doanh đạt được hiệu quả và thành công.
Bài viết liên quan

[Ossec – Part 1] Tìm hiểu về hệ thống phát hiện xâm nhập Ossec

Nghe tiêu đề thôi thì tôi đoán bạn cũng mường tượng ra chức năng của Ossec rồi đúng không?...
30/12/2020

Performance Testing [Phần 2] Hướng dẫn cài đặt Gatling trên Ubuntu 18.04

Gatling là công cụ kiểm tra tải thông minh, cao cấp, dể dàng sử dụng. Gatling hỗ trợ rất tốt giao...
30/12/2020

MegaCLI Cheatsheet

Megaraid CLI hay còn được gọi tắt MegaCLI là một công cụ thao tác trên dòng lệnh command line nhằm...
30/12/2020