ownCloud là một mã nguồn mở miễn phí và ứng dụng web mạnh mẽ để đồng bộ hóa dữ liệu, chia sẻ tập tin, và lưu trữ từ xa của các tập tin. ownCloud được viết bằng ngôn ngữ PHP/javascript. Nó được thiết kế để làm việc với một số hệ thống quản lý cơ sở dữ liệu, bao gồm cả MySQL, MariaDB, SQLite, Oracle Database, và PostgreSQL.
Adminvietnam xin hướng dẫn các bạn cài đặt OwnCloud trên CentOS 7 với Nginx và MariaDB . Bài viết gồm các bước sau
- Disable SELinux and configure firewalld.
- Instal and configure Nginx, MariaDB, php-fpm.
- Create a database and configure SSL.
- Install OwnCloud.
- Configure a virtualhost for OwnCloud.
- Test OwnCloud in the browser
1.Disable SELinux and configure firewalld
Để tắt SELinux bạn phải chỉnh sửa file /etc/sysconfig/selinux , và sửa enforced thành disabled
# nano /etc/sysconfig/selinux
Chạy các dòng sau đây để mở port 80/http và 443/https trên firewall
# firewall-cmd --permanent --add-service=http # firewall-cmd --permanent --add-service=https # firewall-cmd --reload
2. Instal and configure Nginx, MariaDB, php-fpm
B1. Bật epel-repository
rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-6.noarch.rpm
B2. Cài đặt Nginx, MariaDB và php-fpm
# 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
B3. Chạy và cấu hình MariaDB
# systemctl start mariadb # mysql_secure_installation
Trước tiên bạn chỉ cần bấm Enter
Change the root password? [Y/n] Y Remove anonymous users? [Y/n] Y Disallow root login remotely? [Y/n] Y Remove test database and access to it? [Y/n] Y Reload privilege tables now? [Y/n] Y
B4. Cấu hình php-fpm
Edit file /etc/php-fpm.d/www.conf
# nano /etc/php-fpm.d/www.conf
Kiểm tra dòng listen
listen = 127.0.0.1:9000
Chỉnh sửa dòng user – group
Tạo thư mục cho session-path
# mkdir -p /var/lib/php/session # chown nginx:nginx -R /var/lib/php/session/
Chạy php-fpm
# systemctl start php-fpm
B5. Chạy Nginx
# systemctl start nginx
Tại bước này bạn đã có thể vào web server bằng đường dẫn http://192.168.1.54
3. Create a database and configure SSL
B1. Tạo Database và User
Login vào MariaDB
MariaDB [(none)]> mysql -u root -p
Tạo Database
MariaDB [(none)]> create database owncloud_db;
Tạo user
MariaDB [(none)]> create user ownclouduser@localhost identified by 'ownclouduser';
Cấp quyền cho user sử dụng cơ sở dữ liệu
MariaDB [(none)]> grant all privileges on owncloud_db.* to ownclouduser@localhost identified by 'ownclouduser';
MariaDB [(none)]> flush privileges;
Thoát
MariaDB [(none)]> quit;
B2. Tạo SSL Certificate
# 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 trên sẽ tạo ra 2 file owncloud.crt và owncloud.key trong thư mục /etc/nginx/cert/
Phân quyền cho file certificate
# chmod 600 owncloud.crt # chmod 600 owncloud.key
4. Install OwnCloud
Tải source owncloud với wget
# yum -y install wget # cd /tmp/ # wget https://download.owncloud.org/community/owncloud-8.0.0.tar.bz2
Sau khi đã tải xong giải nén và move thư mục owncloud tới /usr/share/nginx/html
# tar -xjvf owncloud-8.0.0.tar.bz2 # mv owncloud/ /usr/share/nginx/html/
Cấp quyền sở hữu thư mục owncloud cho nginx
# cd /usr/share/nginx/html/ # chown nginx:nginx -R owncloud/
Tạo thư mục data trong thư mục owncloud và cấp quyền sở hữu cho nginx
# mkdir -p owncloud/data/ # chown nginx:nginx -R owncloud/data/
5. Configure a Virtualhost for Owncloud
Bước cuối cùng là cấu hình Virtualhost cho Owncloud
# cd /etc/nginx/conf.d/ # mv default.conf default
Thêm cấu hình cho owncloud
# nano owncloud.conf
Paste cấu hình sau vào file
upstream php-handler { server 127.0.0.1:9000; #server unix:/var/run/php5-fpm.sock; } server { listen 80; server_name 192.168.1.54; #IP Owncloud server return 301 https://$server_name$request_uri; # redirect all to use ssl } server { listen 443 ssl; server_name 192.168.1.54; #IP Owncloud server #SSL Certificate you created 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; # set max upload size fastcgi_buffers 64 4K; rewrite ^/caldav(.*)$ /remote.php/caldav$1 redirect; rewrite ^/carddav(.*)$ /remote.php/carddav$1 redirect; rewrite ^/webdav(.*)$ /remote.php/webdav$1 redirect; index index.php; error_page 403 /core/templates/403.php; error_page 404 /core/templates/404.php; location = /robots.txt { allow all; log_not_found off; access_log off; } location ~ ^/(data|config|\.ht|db_structure\.xml|README) { deny all; } location / { # The following 2 rules are only needed with 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; rewrite ^/.well-known/carddav /remote.php/carddav/ redirect; rewrite ^/.well-known/caldav /remote.php/caldav/ redirect; rewrite ^(/core/doc/[^\/]+/)$ $1/index.html; try_files $uri $uri/ index.php; } location ~ ^(.+?\.php)(/.*)?$ { try_files $1 = 404; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$1; fastcgi_param PATH_INFO $2; fastcgi_param HTTPS on; fastcgi_pass php-handler; } # Optional: set long EXPIRES header on static assets location ~* ^.+\.(jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ { expires 30d; # Optional: Don't log access to assets access_log off; } }
Khởi động lại Nginx , MariaDB , php-fpm
# systemctl restart nginx mariadb php-fpm
Cho các dịch vụ chạy khi khởi động
# systemctl enable nginx # systemctl enable php-fpm # systemctl enable mariadb
Reboot server
# reboot
6. Test OwnCloud
Truy cập http://192.168.1.54 và bạn sẽ được chuyển đến https://192.168.1.54
Tạo tài khoản admin
Click vào Storage & database để thêm thông tin về database
Sau khi hoàn tất click Finish Setup
Như vậy chúng ta đã hoàn tất quá trình cài đặt OwnCloud 8 trên CentOS 7 . Mọi thông tin khác các bạn có thêm xem thêm trên trang chủ https://owncloud.org/
LuanPM – Adminvietnam.org