สร้าง cloud เก็บไฟล์ส่วนตัวด้วย ownCloud

 

อยากมี Cloud ไว้เก็บไฟล์ส่วนตัว หรือไว้ใช้ภายในองค์กรไหม

ขอแนะนำ ownCloud โปรแกรม (Open Source) ที่เราสามารถดาวน์โหลดมาติดตั้งบนเซิร์ฟเวอร์ของเราเองได้ฟรี  ด้วยคุณสมบัติเหมือนกับการบริการรับฝากไฟล์ทั่วไป

ลองมาดูตัวอย่างการติดตั้งกัน

เซิร์ฟเวอร์ที่ทดสอบ

  • CentOS 7
  • MariaDB 5.5
  • Apache (httpd-2.4)
  • PHP 5.5 (webtatic)

PHP ติดตั้งโมดูล (rpm package) ดังต่อไปนี้

  • php55w
  • php55w-cli
  • php55w-common
  • php55w-gd
  • php55w-mysql
  • php55w-pdo
  • php55w-xml

ดาวน์โหลดโปรแกรม owncloud

เข้าเว็บไซต์ https://owncloud.org/ คลิกลิงก์ Download เพื่อดาวน์โหลดโปรแกรม

B02-Download

ภายใต้หัวข้อ (1) Get ownCloud Server คลิก Download

B03-Download-tar-bz2

คลิกลิงก์ดาวน์โหลดไฟล์ประเภท .tar.bz2

นำไฟล์ที่ได้ไปใส่ไว้ในเว็บเซิร์ฟเวอร์ที่เตรียมไว้

ตัวอย่างไฟล์ที่ได้

[alice@web ~]$ ls -l owncloud-9.0.2.tar.bz2
-rw-r--r--. 1 alice users 24487988 Jun 7 13:09 owncloud-9.0.2.tar.bz2

ล็อกอินด้วย root หรือ sudo เพื่อใช้สิทธิ์ root

ใช้คำสั่ง tar แตกไฟล์ที่ดาวน์โหลดได้ไว้ใน /var/www/html/

[root@web ~]# cd /var/www/html/
[root@web html]# tar jxvf ~alice/owncloud-9.0.2.tar.bz2
[root@web html]# chown -Rv alice.users owncloud/

ลองเข้าเว็บเซิรฟ์เวอร์ของเครื่องที่แตกไฟล์ดู โดยระบุชื่อเครื่องของเซิร์ฟเวอร์ แล้วตามด้วย owncloud

ตัวอย่างหน้าเว็บที่เข้า

C01-cant-write-into-config-dir

หน้าเว็บฟ้องว่า ไม่สามารถเขียนไฟล์ใน config ได้

Can’t write into config directory!
This can usually be fixed by giving the webserver write access to the config directory.

ลองตรวจสอบปัญหาดู

[root@web html]# cd owncloud/

[root@web owncloud]# ls -ld config
drwxrwxrwx. 2 alice users 46 May 3 15:57 config

[root@web owncloud]# ls -ldZ config
-rw-r--r--. alice users unconfined_u:object_r:httpd_sys_content_t:s0 config

แม้ไดเรกทอรี config จะมี permission เป็น 777 แล้ว แต่เนื่องจากดีฟอลต์ CentOS 7  จะเปิดการใช้ SELinux ดังนั้นต้องแก้ type ของไดเรกทอรีนี้ด้วย

ใช้คำสั่ง chcon เพื่อเปลี่ยน type ของไฟล์

[root@web owncloud]# chcon -t httpd_sys_content_rw_t config

ลองตรวจสอบ type หลังการแก้ไข

[root@web owncloud]# ls -ldZ config
 drwxrwxrwx. alice users unconfined_u:object_r:httpd_sys_rw_content_t:s0 config

หลังแก้ไขลองรีเฟรชหน้าเว็บดู จะขึ้นฟ้อง ข้อความคล้ายกัน แต่จะเป็นไดเรกทอรี apps ที่เขียนไม่ได้ วิธีการแก้ไขก็เหมือนกัน

หลังแก้ไข apps แล้ว ลองรีเฟรชดูอีกครั้ง จะเป็นหน้าจอ กำหนดชื่อผู้ใช้และรหัสผ่านของ admin และกำหนดวิธีการเก็บข้อมูล

C03-first-login

คลิกลิงก์ Storage & database เพื่อคอนฟิก

C04-configure-database

เพื่อประสิทธิภาพในการใช้งาน แนะนำให้เลือก database  เป็น MySQL/MariaDB

จะมีฟอร์มให้กรอก Username, Password, Database ในการเก็บข้อมูลลงฐานข้อมูล

ตัวอย่างการใช้คำสั่ง mysql เพื่อสร้าง Database และกำหนด User, Password เพื่อใช้เก็บข้อมูล

MariaDB [(none)]> CREATE DATABASE owncloud;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> GRANT ALL ON owncloud.* TO 'owncloud'@'localhost' IDENTIFIED BY 'password';
 Query OK, 0 rows affected (0.00 sec)

สร้างไดเรกทอรี data ไว้เก็บไฟส์

[root@web owncloud]# mkdir data
[root@web owncloud]# chmod 770 data
[root@web owncloud]# chown apache.apache data
[root@web owncloud]# chcon -t httpd_sys_content_rw_t data
[root@web owncloud]# ls -ld data
drwxrwx---. 3 apache apache 84 Jun 7 13:27 data
[root@web owncloud]# ls -ldZ data
drwxrwx---. apache apache unconfined_u:object_r:httpd_sys_rw_content_t:s0 data

เมื่อทำเสร็จเรียบร้อย กดปุ่ม Finish setup

จะเป็นหน้าจอแรก ของการใช้งาน

ownCloud มี app บนมือถือให้เรียกใช้งานด้วย

C05-first-use

การใช้งานก็เหมือนกับเว็บที่ให้บริการเก็บไฟล์

ลอง Upload ไฟล์ hello.txt ขึ้น

C06-test-upload-file

ตัวอย่างการเก็บไฟล์ที่อัพโหลด ของ ownCloud

[root@web owncloud]# ls -l data/admin/files
total 4
drwxr-xr-x. 2 apache apache 24 Jun 7 13:27 Documents
-rw-r--r--. 1 apache apache 13 Jun 7 13:33 hello.txt
drwxr-xr-x. 2 apache apache 65 Jun 7 13:27 Photos

ลองนำไปใช้กันดูครับ

ข้อมูลอ้างอิง

Leave a Reply