ownCloud là một phần mềm client-server phổ biến để tạo một dịch vụ lưu trữ tệp. Sử dụng nó, các bạn có thể tạo một máy chủ đám mây lưu trữ tập tin riêng thay vì sử dụng các dịch vụ trả phí như Dropbox, OneDrive, pCloud, v.v.
1. Bước 1: Cài đặt LAMP hoặc LEMP
Các bạn có thể lựa chọn cài đặt LAMP hoặc LEMP theo hướng dẫn sau:
- Hướng dẫn cách cài đặt LAMP trên Centos 7
- Hướng dẫn cách cài đặt LEMP trên Centos 7
2. Bước 2: Cài đặt ownCloud
Để cài đặt ownCloud trước tiên các bạn cần tạo repo bằng cách tạo file /etc/yum.repos.d/owncloud.repo với nội dung sau
[ce_10.1] name=OwnCloud Server type=rpm-md baseurl=http://download.owncloud.org/download/repositories/production/CentOS_7 gpgcheck=1 gpgkey=http://download.owncloud.org/download/repositories/production/CentOS_7/repodata/repomd.xml.key enabled=1
Sau đó các bạn chạy lệnh dưới đây để cài đặt ownCloud
yum install owncloud -y
3. Bước 3: Tạo database
Sau khi đã cài đặt ownCloud các bạn sẽ cần tạo database để có thể chạy được ownCloud. Để tạo databse và Mysql user các bạn chạy lần lượt các lệnh sau
mysql -u root create database owncloud_db; create user 'owncloud_user'@'localhost' identified BY 'Mật-Khẩu-Mysql'; grant all privileges on owncloud_db.* to owncloud_user@localhost; flush privileges; exit
Trong đó
- owncloud_db: Là tên databsae. Các bạn thay bằng tên các bạn muốn tạo
- owncloud_user: Mysql user. Các bạn thay bằng user các bạn muốn tạo
- Mật-Khẩu-Mysql: Mật khẩu mysql. Các bạn thay bằng mật khẩu muốn tạo
Hãy nhớ lưu lại các thông tin này để sử dụng trong bước tiếp theo
4. Bước 4: Tạo virtual host
Tiếp theo các bạn cần tạo virtual host để có thể truy cập ownCloud
- Đối với Nginx: Tạo file /etc/nginx/conf.d/owncloud.conf
upstream php-handler { server unix:/var/run/php-fpm.sock; } server { listen 80; server_name www.owncloud.tgs.com owncloud.tgs.com; access_log /var/log/owncloud.log; access_log /var/log/owncloud.bytes bytes; error_log /var/log/owncloud.error.log; root /var/www/html/owncloud; index index.html index.htm index.php; location /.well-known/(acme-challenge|pki-validation)/ { root /var/www/html/owncloud; } location = /robots.txt { allow all; log_not_found off; access_log off; } location = /.well-known/carddav { return 301 $scheme://$host/remote.php/dav; } location = /.well-known/caldav { return 301 $scheme://$host/remote.php/dav; } client_max_body_size 512M; fastcgi_buffers 8 4K; fastcgi_ignore_headers X-Accel-Buffering; error_page 403 /core/templates/403.php; error_page 404 /core/templates/404.php; location / { rewrite ^ /index.php$uri; } location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ { return 404; } location ~ ^/(?:.|autotest|occ|issue|indie|db_|console) { return 404; } location ~ ^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+|ocm-provider/.+|core/templates/40[34]).php(?:$|/) { fastcgi_split_path_info ^(.+.php)(/.*)$; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param modHeadersAvailable true; fastcgi_param front_controller_active true; fastcgi_read_timeout 180; fastcgi_pass php-handler; fastcgi_intercept_errors on; fastcgi_request_buffering off; } location ~ ^/(?:updater|ocs-provider|ocm-provider)(?:$|/) { try_files $uri $uri/ =404; index index.php; } location ~ .(?:css|js)$ { try_files $uri /index.php$uri$is_args$args; add_header Cache-Control "max-age=15778463" always; add_header X-Content-Type-Options nosniff always; add_header X-Frame-Options "SAMEORIGIN" always; add_header X-XSS-Protection "1; mode=block" always; add_header X-Robots-Tag none always; add_header X-Download-Options noopen always; add_header X-Permitted-Cross-Domain-Policies none always; access_log off; } location ~ .(?:svg|gif|png|html|ttf|woff|ico|jpg|jpeg|map|json)$ { add_header Cache-Control "public, max-age=7200" always; try_files $uri /index.php$uri$is_args$args; access_log off; } }
- Đối với Apache: Tạo file /etc/httpd/conf.d/owncloud.conf
<VirtualHost *:80> ServerName www.owncloud.tgs.com ServerAlias owncloud.tgs.com DocumentRoot /var/www/html/owncloud/ ErrorLog /var/log/owncloud_error_log CustomLog /var/log/owncloud_access_log combined </VirtualHost>
- Lưu ý: Thay owncloud.tgs.com bằng tên miền của các bạn
Khởi động lại webserver để virtual host có hiệu lực
service nginx restart Hoặc service httpd restart
5. Bước 5: Set Owner
Để tránh các lỗi về phân quyền các bạn tiến hành set owner cho mã nguồn Owncloud
- Đối với Nginx
chown -R nginx:nginx /var/www/html/owncloud/{.,}*
- Đối với Apache
chown -R apache:apache /var/www/html/owncloud/{.,}*
6. Bước 6: Cấu hình ownCloud
Để cấu hình ownCloud các bạn truy cập tên miền mà các bạn sử dụng thông qua trình duyệt
6.1. Thiết lập tài khoản admin
Mục đầu tiên sẽ cho phép các bạn thiết lập tài khoản Admin. Tại đây hãy điền tài khoản admin và mật khẩu mà bạn muốn tạo. Lưu ý không nên sử dụng Admin làm tên đăng nhập và nên đặt một mật khẩu đủ mạnh.
6.2. Thiết lập kết nối database
Tiếp theo các bạn click vào liên kết Storage & database và chọn Mysql/Mariadb. Sau đó điền đầy đủ thông tin kết nối Mysql bao gồm: Database user, Database name, password mà các bạn đã tạo ở bước 3 và bấm nút Finish Setup
Cuối cùng các bạn có thể login vào Owncloud theo thông tin admin đã tạo để kiểm tra
7. Link tham khảo
Bạn có thể tham khảo thêm tại đây: https://doc.owncloud.com/server/10.4/
Như vậy chúng ta đã cài đặt xong owncloud. Chúc bạn thành công.