Cách cài đặt OwnCloud 8 với Nginx và MariaDB trên CentOS 7

theanh

Administrator
Nhân viên
OwnCloud là phần mềm máy chủ để đồng bộ hóa dữ liệu và chia sẻ tệp với giao diện web dễ sử dụng, có sẵn theo giấy phépmã nguồn mở. Owncloud có thể được cài đặt trên máy chủ web Linux hoặc Windows, dễ cấu hình và có tài liệu trực tuyến toàn diện. Máy khách gốc có sẵn cho Windows, MacOS và Linux (Ứng dụng máy tính để bàn). Cũng có một ứng dụng di động dành cho Android và iOS.

Hướng dẫn này mô tả cách cài đặt Owncloud 8 trên CentOS 7 với máy chủ web nginx và cơ sở dữ liệu MariaDB.

Phiên bản mới nhất tính đến thời điểm hiện tại là OwnCloud 8.0.

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

  • CentOS 7

Cần làm​

Sau đây là các bước chúng ta sẽ thực hiện trong hướng dẫn này:
  • Vô hiệu hóa SELinux và cấu hình tường lửa.
  • Cài đặt và cấu hình Nginx, MariaDB, php-fpm.
  • Tạo cơ sở dữ liệu và cấu hình SSL.
  • Cài đặt OwnCloud.
  • Cấu hình máy chủ ảo cho OwnCloud.
  • Kiểm tra OwnCloud trong trình duyệt.

Tắt SELinux và cấu hình firewalld​

Để tắt SELinux, hãy chỉnh sửa tệp /etc/sysconfig/selinux và thay đổi enforced thành disabled.
Mã:
vim /etc/sysconfig/selinux


Chạy các lệnh này để mở cổng 80/http và 443/https trong firewalld để chúng ta có thể truy cập giao diện OwnCloud bằng http và https sau đó.
Mã:
firewall-cmd --permanent --add-service=http
 firewall-cmd --permanent --add-service=https
 firewall-cmd --reload

Cài đặt và cấu hình LEMP​

Đây là các bước thiết lập Máy chủ LEMP (Linux - Nginx - MariaDB - PHP) cơ bản để chạy OwnCloud.
Bước 1 - Kích hoạt epel-repository​
Để cài đặt LEMP (Linux, Nginx, MariaDB và PHP), bạn phải kích hoạt epel-repository.
Mã:
yum -y install epel-release

Bước 2 - Cài đặt Nginx, MariaDB và php-fpm​

Mã:
sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
 yum -y install nginx mariadb mariadb-server php-fpm php-cli php-gd php-mcrypt php-mysql php-pear php-xml bzip2 vim

Bước 3 - Khởi động và cấu hình MariaDB​

Mã:
systemctl start mariadb
 mysql_secure_installation
lần đầu tiên bạn chỉ cần nhấn Enter.
Mã:
Đổi mật khẩu root? [Y/n] YXóa người dùng ẩn danh? [Y/n] YKhông cho phép đăng nhập root từ xa? [Y/n] Y
Xóa cơ sở dữ liệu thử nghiệm và truy cập vào cơ sở dữ liệu đó? [Y/n] YTải lại bảng đặc quyền ngay bây giờ? [Y/n] Y

Bước 4 - Cấu hình php-fpm​

Chỉnh sửa tệp /etc/php-fpm.d/www.conf.
Mã:
vim /etc/php-fpm.d/www.conf
đảm bảo dòng listen là:
Mã:
listen = 127.0.0.1:9000
Và chỉnh sửa dòng cho user - group:
Mã:
user = nginxgroup = nginx
Tạo thư mục cho session-path.
Mã:
mkdir -p /var/lib/php/session
 chown nginx:nginx -R /var/lib/php/session/
Khởi động php-fpm.
Mã:
systemctl start php-fpm

Bước 5 - Khởi động nginx​

Mã:
systemctl start nginx
Ở bước này, bạn có thể truy cập máy chủ web của mình http://192.168.1.101/.


Tạo cơ sở dữ liệu và Cấu hình SSL​

Bước 1 - Tạo Cơ sở dữ liệu và Người dùng​

Đăng nhập vào MariaDB bằng trình khách dòng lệnh mysql:
Mã:
mysql -u root -p
Tạo cơ sở dữ liệu:
Mã:
create database owncloud_db;
Thêm người dùng:
Mã:
tạo người dùng ownclouduser@localhost được xác định bởi 'ownclouduser';
Cấp quyền cho người dùng vào cơ sở dữ liệu
Mã:
cấp tất cả các đặc quyền trên owncloud_db.* cho ownclouduser@localhost được xác định bởi 'ownclouduser';
 xóa các đặc quyền;

Bước 2 - Tạo chứng chỉ SSL​

Mã:
mkdir -p /etc/nginx/cert/
 cd /etc/nginx/cert/
 openssl req -new -x509 -days 365 -nodes -out /etc/nginx/cert/owncloud.crt -keyout /etc/nginx/cert/owncloud.key
lệnh sẽ tạo ra owncloud.crt và owncloud.key trong thư mục /etc/nginx/cert/.

Thay đổi tệp chứng chỉ quyền.
Mã:
chmod 600 owncloud.crt
 chmod 600 owncloud.key

Cài đặt OwnCloud​

Tải xuống mã nguồn ứng dụng bằng wget.
Mã:
yum -y install wget
 cd /tmp/
 wget https://download.owncloud.org/community/owncloud-8.0.0.tar.bz2
Giải nén và di chuyển thư mục owncloud đến /usr/share/nginx/html.
Mã:
tar -xjvf owncloud-8.0.0.tar.bz2
 mv owncloud/ /usr/share/nginx/html/
Thay đổi chủ sở hữu của thư mục owncloud thành nginx.
Mã:
cd /usr/share/nginx/html/
 chown nginx:nginx -R owncloud/
Tạo thư mục có tên data trên thư mục owncloud và thay đổi chủ sở hữu thành nginx.
Mã:
mkdir -p owncloud/data/
 chown nginx:nginx -R owncloud/data/

Cấu hình Virtualhost cho OwnCloud​

Tbước cuối cùng là cấu hình một virtualhost cho owncloud.
Mã:
cd /etc/nginx/conf.d/
 mv default.conf default
thêm cấu hình owncloud vào /etc/nginx/conf.d/
Mã:
vim owncloud.conf
Dán cấu hình bên dưới:


Mã:
upstream php-handler { server 127.0.0.1:9000; #server unix:/var/run/php5-fpm.sock;}server { listen 80; server_name 192.168.1.101; #YourIP hoặc tên miền trả về 301 https://$server_name$request_uri; # chuyển hướng tất cả để sử dụng ssl}server { lắng nghe 443 ssl; server_name 192.168.1.101; #YourIP hoặc tên miền #Chứng chỉ SSL bạn đã tạo ssl_certificate /etc/nginx/cert/owncloud.crt; ssl_certificate_key /etc/nginx/cert/owncloud.key; # owncloud path root /usr/share/nginx/html/owncloud/; client_max_body_size 10G; # đặt kích thước tải lên tối đa fastcgi_buffers 64 4K; viết lại ^/caldav(.*)$ /remote.php/caldav$1 chuyển hướng; rewrite ^/carddav(.*)$ /remote.php/carddav$1 chuyển hướng; rewrite ^/webdav(.*)$ /remote.php/webdav$1 chuyển hướng; index index.php; error_page 403 /core/templates/403.php; error_page 404 /core/templates/404.php; location = /robots.txt { cho phép tất cả; log_not_found tắt; access_log tắt; } location ~ ^/(data|config|\.ht|db_structure\.xml|README) { từ chối tất cả; } location / { # Chỉ cần 2 quy tắc sau với webfinger rewrite ^/.well-known/host-meta /public.php?service=host-meta last; rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last; viết lại ^/.well-known/carddav /remote.php/carddav/ chuyển hướng; viết lại ^/.well-known/caldav /remote.php/caldav/ chuyển hướng; viết lại ^(/core/doc/[^\/]+/)$ $1/index.html; try_files $uri $uri/ index.php; } vị trí ~ ^(.+?\.php)(/.*)?$ { try_files $1 = 404; bao gồm fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$1; fastcgi_param PATH_INFO $2; fastcgi_param HTTPS on; fastcgi_pass php-handler; } # Tùy chọn: đặt tiêu đề EXPIRES dài trên vị trí tài sản tĩnh ~* ^.+\.(jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ { hết hạn sau 30 ngày; # Tùy chọn: Không ghi nhật ký truy cập vào tài sản access_log off; }}
Sau đó khởi động lại ngăn xếp LEMP:
Mã:
systemctl restart nginx mariadb php-fpm
Bây giờ hãy cấu hình Dịch vụ LEMP để bắt đầu khi khởi động.
Mã:
systemctl enable nginx
 systemctl enable php-fpm
 systemctl enable mariadb
Sau đó khởi động lại máy chủ của bạn:
Mã:
khởi động lại

Kiểm tra OwnCloud​

http://192.168.1.101 và bạn sẽ được chuyển hướng đến kết nối ssl https://192.168.1.101.

Tạo tài khoản quản trị và điền tất cả Cơ sở dữ liệu (Tên người dùng, Mật khẩu, tên cơ sở dữ liệu) sau đó nhấp vào Hoàn tất thiết lập.


Kết luận​

OwnCloud là giải pháp phù hợp cho đám mây riêng hiện nay. Dễ sử dụng và cấu hình, có giao diện thân thiện với người dùng giúp dễ sử dụng và cài đặt. Owncloud nhanh, ổn định và có nhiều tính năng.

Liên kết​

 
Back
Bên trên