ການຕິດຕັ້ງ Seafile (ການເກັບຮັກສາຟັງທີ່ປອດໄພ) ກັບຖານຂໍ້ມູນ MySQL ໃນ RHEL/CentOS/SL 7.x/6.x


Seafile ແມ່ນໂປແກຼມໂປແກຼມເກັບຂໍ້ມູນແບບ Cloud ແບບຮ່ວມມືແບບ Open Source ທີ່ຖືກຂຽນໄວ້ໃນ Python ດ້ວຍການແບ່ງປັນເອກະສານແລະການຊິ້ງຂໍ້ມູນ, ການຮ່ວມມືຂອງທີມແລະການປົກປ້ອງຄວາມເປັນສ່ວນຕົວໂດຍໃຊ້ການເຂົ້າລະຫັດຂ້າງຂອງລູກຄ້າ ມັນສ້າງເປັນເອກະສານທີ່ມີຫຼາຍແພລະຕະຟອມທີ່ສາມາດປະສານງານກັບລູກຄ້າທີ່ໃຊ້ໃນທຸກແພລະຕະຟອມໃຫຍ່ (Linux, Raspberry Pi, Windows, Mac, iPhone ແລະ Android) ແລະສາມາດປະສົມປະສານໄດ້ງ່າຍກັບການບໍລິການໃນທ້ອງຖິ່ນເຊັ່ນ LDAP ແລະ WebDAV ຫຼືສາມາດ ນຳ ໃຊ້ໄດ້ໂດຍໃຊ້ຂັ້ນສູງ ບໍລິການເຄືອຂ່າຍແລະຖານຂໍ້ມູນເຊັ່ນ MySQL, SQLite, PostgreSQL, Memcached, Nginx ຫຼື Apache Web Server.

ບົດແນະ ນຳ ນີ້ຈະ ນຳ ພາທ່ານໄປແຕ່ລະບາດກ້າວ ການຕິດຕັ້ງ Seafile Server ໃນ RHEL/CentOS/Scientific Linux 7.x/6.x ທີ່ ນຳ ໃຊ້ກັບຖານຂໍ້ມູນ MySQL, ໂດຍການເລີ່ມຕົ້ນ ເລີ່ມຕົ້ນ > ສະຄິບ ສຳ ລັບການເຮັດວຽກເຊີຟເວີໃນພອດ Seafile (8000/TCP) ແລະພອດການເຮັດທຸລະ ກຳ HTTP (80/TCP), ສ້າງກົດລະບຽບ Firewall ທີ່ ຈຳ ເປັນເພື່ອເປີດພອດທີ່ ຈຳ ເປັນ.

< ການຕິດຕັ້ງ

  • Minimal CentOS 6.5 ພ້ອມດ້ວຍທີ່ຢູ່ IP ຄົງທີ່.
  • ຖານຂໍ້ມູນ MySQL/MariaDB
  • Python 2.6.5+ ຫຼື 2.7
  • Python-setuptools
  • Python-simplejson
  • ຮູບພາບຂອງ Python
  • Python-mysqldb
  • ຂັ້ນຕອນການຕິດຕັ້ງນີ້ໄດ້ຖືກທົດສອບໃນລະບົບ CentOS 6.4 64-bit ແຕ່ຍັງສາມາດໃຊ້ໃນການແຈກຢາຍ Linux ອື່ນໆດ້ວຍການລະບຸວ່າສະຄິບເລີ່ມຕົ້ນ ເລີ່ມ ແຕກຕ່າງຈາກການແຈກຈ່າຍໄປຍັງອີກຊຸດ ໜຶ່ງ .

    ຂັ້ນຕອນທີ 1: ຕິດຕັ້ງໂມດູນ Python

    1. ທຳ ອິດເຮັດລະບົບ ປັບປຸງ , ຫຼັງຈາກນັ້ນຕິດຕັ້ງໂມດູນ Python ທີ່ຕ້ອງການທັງ ໝົດ ໂດຍໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

    # yum upgrade
    # yum install python-imaging MySQL-python python-simplejson python-setuptools

    2. ຖ້າທ່ານໃຊ້ server Debian ຫຼື Ubuntu ຕິດຕັ້ງທຸກໂມດູນ Python ດ້ວຍ ຄຳ ສັ່ງຕໍ່ໄປ.

    $ sudo apt-get update
    $ sudo apt-get install python2.7 python-setuptools python-simplejson python-imaging python-mysqldb

    ຂັ້ນຕອນທີ 2: ຕິດຕັ້ງ Seafile Server

    3. ຫຼັງຈາກທີ່ໄດ້ຕິດຕັ້ງໂມດູນ Python ທັງ ໝົດ ສ້າງຜູ້ໃຊ້ລະບົບ ໃໝ່ ດ້ວຍລະຫັດຜ່ານທີ່ແຂງແຮງເຊິ່ງຈະຖືກ ນຳ ໃຊ້ເພື່ອເປັນເຈົ້າພາບການຕັ້ງຄ່າ Seafile server ແລະຂໍ້ມູນທັງ ໝົດ ໃນໄດເລກະທໍລີບ້ານຂອງມັນ, ຫຼັງຈາກນັ້ນປ່ຽນໄປສ້າງບັນຊີຜູ້ໃຊ້ ໃໝ່.

    # adduser seafile
    # passwd seafile
    # su - seafile

    4. ຫຼັງຈາກນັ້ນເຂົ້າສູ່ລະບົບຖານຂໍ້ມູນ MySQL ແລະສ້າງຖານຂໍ້ມູນສາມຖານຂໍ້ມູນ, ແຕ່ລະສ່ວນປະກອບຂອງ Seafile Server: ເຄື່ອງແມ່ຂ່າຍຂອງເຄື່ອງແມ່ຂ່າຍ , ເຄື່ອງແມ່ຂ່າຍ seafile ແລະ seahub ທີ່ຢູ່ດຽວ ຜູ້ໃຊ້ ສຳ ລັບຖານຂໍ້ມູນທັງ ໝົດ.

    $ mysql -u root -p
    
    mysql> create database `ccnet-db`;
    mysql> create database `seafile-db`;
    mysql> create database `seahub-db`;
    mysql> create user 'seafile'@'localhost' identified by 'password';
    mysql> GRANT ALL PRIVILEGES ON `ccnet-db`.* to `seafile`@`localhost`;
    mysql> GRANT ALL PRIVILEGES ON `seafile-db`.* to `seafile`@`localhost`;
    mysql> GRANT ALL PRIVILEGES ON `seahub-db`.* to `seafile`@`localhost`;
    mysql> FLUSH PRIVILEGES;
    mysql> exit;

    5. ດຽວນີ້ເຖິງເວລາທີ່ຈະດາວໂຫລດແລະຕິດຕັ້ງ Seafile Server . ໄປທີ່ ໜ້າ ດາວໂຫລດຢ່າງເປັນທາງການຂອງ Seafile ແລະຈັບຮວບຮວມ Linux ລຸ້ນສຸດທ້າຍ ສຳ ລັບສະຖາປັດຕະຍະ ກຳ ຂອງເຊີບເວີຂອງທ່ານໂດຍໃຊ້ wget , ຫຼັງຈາກນັ້ນສະກັດມັນໃສ່ຜູ້ໃຊ້ Seafile ທີ່ທ່ານສ້າງຂື້ນກ່ອນ ໜ້າ ນີ້ແລະໃສ່ Seafile ໄດເລກະທໍລີທີ່ສະກັດ.

    $ wget https://bitbucket.org/haiwen/seafile/downloads/seafile-server_3.0.4_x86-64.tar.gz
    $ tar xfz seafile-server_3.0.4_x86-64.tar.gz
    $ cd seafile-server_3.0.4/

    6. ໃນການຕິດຕັ້ງ Seafile Server ໂດຍໃຊ້ຖານຂໍ້ມູນ MySQL ເຮັດວຽກ setup-seafile-mysql.sh ແລະເລີ່ມຕອບທຸກ ຄຳ ຖາມໂດຍໃຊ້ຕົວເລືອກການຕັ້ງຄ່າຕໍ່ໄປນີ້, ຫຼັງຈາກທີ່ script ກວດສອບຄວາມເປັນຈິງຂອງໂມດູນທີ່ຕ້ອງການທັງ ໝົດ ຂອງ Python.

    $ ./setup-seafile-mysql.sh

    <

  • ເຄື່ອງແມ່ຂ່າຍຂອງທ່ານຊື່ຫຍັງ? = ເລືອກຊື່ ອະທິບາຍ (ບໍ່ມີພື້ນທີ່ອະນຸຍາດ).
  • IP ຫຼືໂດເມນຂອງ server ແມ່ນຫຍັງ? = ປ້ອນເຄື່ອງແມ່ຂ່າຍຂອງທ່ານ ທີ່ຢູ່ IP ຫຼື ຊື່ໂດເມນ ທີ່ຖືກຕ້ອງຂອງທ່ານ.
  • ທ່ານຕ້ອງການໃຊ້ພອດໃດທີ່ໃຊ້ ສຳ ລັບເຊີຟເວີ ccnet? = ກົດ [ ປ້ອນ ] - ປ່ອຍໃຫ້ມັນເປັນຄ່າເລີ່ມຕົ້ນ - 10001 .
  • ເຈົ້າຕ້ອງການໃສ່ຂໍ້ມູນທາງທະເລຢູ່ໃສ? = ຕີ [ ກະລຸນາໃສ່ ] - ສະຖານທີ່ເລີ່ມຕົ້ນຈະເປັນ $HOME/seafile-data ຂອງທ່ານ.
  • ທ່າໃດທີ່ເຈົ້າຕ້ອງການໃຊ້ ສຳ ລັບ server seafile? = ກົດ [ ປ້ອນ ] - ປ່ອຍໃຫ້ມັນເປັນຄ່າເລີ່ມຕົ້ນ - 12001 .
  • <

  • ທ່ານຕ້ອງການໃຊ້ພອດໃດທີ່ໃຊ້ ສຳ ລັບ httpserver ໃນທະເລ? = ກົດ [ ປ້ອນ ] - ປ່ອຍໃຫ້ມັນເປັນຄ່າເລີ່ມຕົ້ນ - 8082 .
  • ກະລຸນາເລືອກວິທີການທີ່ຈະເລີ່ມຕົ້ນຖານຂໍ້ມູນທະເລ: = ເລືອກ 1 ແລະສະ ໜອງ ຂໍ້ມູນປະ ຈຳ ຕົວ MySQL: localhost, 3306 ແລະລະຫັດລັບຮາກ.
  • ໃສ່ຊື່ ສຳ ລັບຜູ້ໃຊ້ MySQL ຂອງ seafile: = seafile (ຖ້າທ່ານສ້າງຊື່ຜູ້ໃຊ້ອື່ນໃສ່ທີ່ ຊື່ຜູ້ໃຊ້ ) ແລະລະຫັດຜ່ານຂອງຜູ້ໃຊ້ MySQL seafile.
  • ໃນຖານຂໍ້ມູນ ccnet-server, seafile-server ແລະ seahub ຖານຂໍ້ມູນພຽງແຕ່ກົດປຸ່ມ <<ກະລຸນາໃສ່ ] - ຄ່າເລີ່ມຕົ້ນ.
  • ຫຼັງຈາກ Seafile Server ໄດ້ຕິດຕັ້ງ ສຳ ເລັດແລ້ວ, ມັນຈະສ້າງຂໍ້ມູນທີ່ເປັນປະໂຫຍດບາງຢ່າງເຊັ່ນວ່າສິ່ງທີ່ພອດຕ້ອງເປີດຢູ່ໃນ Firewall ຂອງທ່ານເພື່ອອະນຸຍາດໃຫ້ມີການເຊື່ອມຕໍ່ພາຍນອກແລະສະຄິບໃດທີ່ຈະຈັດການເພື່ອເລີ່ມຕົ້ນ server.

    ຂັ້ນຕອນທີ 3: ເປີດ Firewall ແລະສ້າງ Seafile init Script

    7. ກ່ອນທີ່ຈະເລີ່ມຕົ້ນ Seafile server ຈາກສະຄິບທ້ອງຖິ່ນເພື່ອທົດສອບ, ປ່ຽນກັບຄືນສູ່ບັນຊີ ຮາກ ແລະເປີດ iptables ການຕັ້ງຄ່າໄຟ firewall ຕັ້ງຢູ່ /etc/sysconfig/ ເສັ້ນທາງຂອງລະບົບແລະເພີ່ມກົດລະບຽບເສັ້ນຕໍ່ໄປນີ້ກ່ອນເສັ້ນ REJECT ກ່ອນ, ຫຼັງຈາກນັ້ນເລີ່ມ iptables ຄືນ ໃໝ່ ເພື່ອ ນຳ ໃຊ້ກົດລະບຽບ ໃໝ່.

    $ su - root
    # nano /etc/sysconfig/iptables

    ຕື່ມໃສ່ກົດລະບຽບຕໍ່ໄປນີ້.

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 8000 -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 8082 -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 10001 -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 12001 -j ACCEPT

    Restart iptables ເພື່ອໃຊ້ກົດລະບຽບໂດຍໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

    # service iptables restart

    ໝາຍ ເຫດ: ຖ້າທ່ານປ່ຽນທ່າເຮືອມາດຕະຖານ Seafile ໃນຂັ້ນຕອນການຕິດຕັ້ງປັບປຸງກົດລະບຽບ iptables ຂອງ Firewall ຕາມຄວາມ ເໝາະ ສົມ.

    8. ດຽວນີ້ເຖິງເວລາແລ້ວທີ່ຈະທົດສອບ Seafile Server. ປ່ຽນໄປໃຊ້ຜູ້ໃຊ້ Seafile ແລະໄດເລກະທໍລີ seafile-server ແລະເລີ່ມຕົ້ນ server ໂດຍໃຊ້ seafile.sh ແລະ seahub.sh scripts.

    ຄັ້ງ ທຳ ອິດທີ່ທ່ານເລີ່ມຕົ້ນ seahub.sh ສະຄິບ, ສ້າງບັນຊີການບໍລິຫານ ສຳ ລັບ Seafile Server ໂດຍໃຊ້ທີ່ຢູ່ອີເມວຂອງທ່ານແລະເລືອກລະຫັດຜ່ານທີ່ແຂງແຮງ ສຳ ລັບບັນຊີ admin, ໂດຍສະເພາະຖ້າທ່ານ ກຳ ລັງໃຊ້ການຕັ້ງຄ່ານີ້ຢູ່ໃນສະພາບແວດລ້ອມການຜະລິດ.

    # su - seafile
    $ cd seafile-server-latest/
    $ ./seafile.sh start
    $ ./seahub.sh start

    9. ຫຼັງຈາກທີ່ server ເລີ່ມ ສຳ ເລັດແລ້ວ, ເປີດ browser ແລະ ນຳ ໄປຫາທີ່ຢູ່ IP ຂອງ server ຫຼືຊື່ໂດເມນຂອງທ່ານຢູ່ port 8000 ໂດຍໃຊ້ HTTP protocol, ຫຼັງຈາກນັ້ນເຂົ້າສູ່ລະບົບໂດຍໃຊ້ບັນຊີ admin ທີ່ສ້າງຂື້ນໃນຂັ້ນຕອນຂ້າງເທິງ.

    http://system_IP:8000
    
    OR 
    
    http://domain_name:8000

    10. ຫຼັງຈາກທົດສອບການຕັ້ງຄ່າຄັ້ງ ທຳ ອິດ, ໃຫ້ຢຸດ Seafile server ແລະສ້າງ init ສະຄິບທີ່ຈະຊ່ວຍໃຫ້ທ່ານສາມາດຈັດການກັບຂະບວນການທັງ ໝົດ ໄດ້ງ່າຍຂື້ນ, ຄືກັນກັບຂະບວນການ daemon ຂອງລະບົບ Linux ອື່ນໆ.

    $ ./seafile.sh stop
    $ ./seahub.sh stop
    $ su - root
    # nano /etc/init.d/seafile

    ຕື່ມໃສ່ເນື້ອໃນຕໍ່ໄປນີ້ໃສ່ໃນບົດຂຽນ init ນີ້ - ຖ້າ Seafile ຖືກຕິດຕັ້ງໃສ່ຜູ້ໃຊ້ລະບົບອື່ນໃຫ້ແນ່ໃຈວ່າຈະປັບປຸງຜູ້ໃຊ້ແລະເສັ້ນທາງໃຫ້ຖືກຕ້ອງຕາມສາຍ su - $USER -c .

    #!/bin/sh
    #chkconfig: 345 99 10
    #description: Seafile auto start-stop script.
    
    # source function library
    . /etc/rc.d/init.d/functions
    
    start() {
            echo "Starting Seafile server..."
    su - seafile -c "seafile-server-latest/seafile.sh start"
    su - seafile -c "seafile-server-latest/seahub.sh start"
    }
    
    stop() {
            echo "Stopping Seafile process..."
    su - seafile -c "seafile-server-latest/seafile.sh stop"
    su - seafile -c "seafile-server-latest/seahub.sh stop"
    }
    
    restart() {
            echo "Stopping Seafile process..."
    su - seafile -c "seafile-server-latest/seafile.sh stop"
    su - seafile -c "seafile-server-latest/seahub.sh stop"
    
             echo "Starting Seafile server..."
    su - seafile -c "seafile-server-latest/seafile.sh start"
    su - seafile -c "seafile-server-latest/seahub.sh start"
    }
    
    case "$1" in
        start)
           start
            ;;
        stop)
           stop
            ;;
        restart)
           restart
            ;;
            *)
          echo "Usage: $0 start stop restart"
            ;;
    esac

    11. ຫຼັງຈາກທີ່ init ໄຟລ໌ໄດ້ຖືກສ້າງຂື້ນມາ, ໃຫ້ແນ່ໃຈວ່າມັນມີສິດອະນຸຍາດແລະຈັດການຂັ້ນຕອນໂດຍໃຊ້ ເລີ່ມ , ຢຸດ ແລະ ເລີ່ມຕົ້ນ ສັບປ່ຽນ. ຕອນນີ້ທ່ານສາມາດເພີ່ມບໍລິການ Seafile ໃນການເລີ່ມຕົ້ນລະບົບໂດຍໃຊ້ chkconfig ຄຳ ສັ່ງ.

    # chmod +x /etc/init.d/seafile
    # service seafile start 
    # service seafile stop 
    # service seafile restart
    # chkconfig seafile on | off
    # chkconfig --list seafile

    12. ໂດຍ Seafile server ໂດຍປົກກະຕິໃຊ້ 8000 / TCP ພອດ HTTP ສຳ ລັບການເຮັດທຸລະ ກຳ ຕ່າງໆ. ຖ້າທ່ານຕ້ອງການເຂົ້າໃຊ້ Seafile Server ຈາກໂປແກຼມທ່ອງເວັບໃນພອດ HTTP ມາດຕະຖານ, ໃຊ້ຕົວອັກສອນ init ຕໍ່ໄປນີ້ເຊິ່ງເລີ່ມຕົ້ນ server ຢູ່ port 80 (ໃຫ້ຮູ້ວ່າເລີ່ມການບໍລິການຢູ່ທ່າເຮືອຂ້າງລຸ່ມນີ້ < b> 1024 ຮຽກຮ້ອງສິດທິພິເສດຮາກ).

    # nano /etc/init.d/seafile

    ຕື່ມໃສ່ເນື້ອໃນຕໍ່ໄປນີ້ໃນ script init ນີ້ເພື່ອເລີ່ມຕົ້ນ Seafile ໃນພອດ HTTP ມາດຕະຖານ. ຖ້າ Seafile ຖືກຕິດຕັ້ງໃສ່ຜູ້ໃຊ້ລະບົບອື່ນໃຫ້ແນ່ໃຈວ່າຈະປັບປຸງຜູ້ໃຊ້ແລະເສັ້ນທາງໃຫ້ຖືກຕ້ອງຕາມສາຍ su - $USER -c ແລະ $HOME .

    #!/bin/sh
    #chkconfig: 345 99 10
    #description: Seafile auto start-stop script.
    
    # source function library
    . /etc/rc.d/init.d/functions
    
    start() {
                    echo "Starting Seafile server..."
    su - seafile -c "seafile-server-latest/seafile.sh start"
                    ## Start on port default 80 http port ##
    /home/seafile/seafile-server-latest/seahub.sh start 80
    }
    
    stop() {
                    echo "Stopping Seafile process..."
    su - seafile -c "seafile-server-latest/seafile.sh stop"
    /home/seafile/seafile-server-latest/seahub.sh stop
    }
    
    restart() {
          echo "Stopping Seafile process..."
    su - seafile -c "seafile-server-latest/seafile.sh stop"
    /home/seafile/seafile-server-latest/seahub.sh stop
                     echo "Starting Seafile server..."
    su - seafile -c "seafile-server-latest/seafile.sh start"
    /home/seafile/seafile-server-latest/seahub.sh start 80
    }
    
    case "$1" in
        start)
           start
            ;;
        stop)
           stop
            ;;
         restart)
           restart
            ;;
                    *)
            echo "Usage: $0 start stop restart"
            ;;
    Esac

    13. ຖ້າກ່ອນ ໜ້າ ນີ້ທ່ານໄດ້ເລີ່ມຕົ້ນ Seafile ຢູ່ທ່າເຮືອ 8000 ໃຫ້ແນ່ໃຈວ່າຂະບວນການທັງ ໝົດ ຖືກຂ້າ, ໃຫ້ເລີ່ມຕົ້ນ server ໃນ port 80.

    # chmod +x /etc/init.d/seafile
    # service seafile start | stop | restart

    ເປີດໂປແກຼມທ່ອງເວັບແລະ ນຳ ທາງໄປທີ່ທີ່ຢູ່ຕໍ່ໄປນີ້.

    http://system_ip 
    
    OR
    
    http://domain_name.tld

    14. ທ່ານຍັງສາມາດກວດສອບໄດ້ວ່າ Port ໃດທີ່ Seafile ກຳ ລັງໃຊ້ໂດຍໃຊ້ netstat .

    # netstat -tlpn

    ນັ້ນແມ່ນມັນ! Seafile ສາມາດທົດແທນການຮ່ວມມືແບບຟັງແບບອື່ນແລະເກັບຮັກສາແຟ້ມເອກະສານຕ່າງໆເຊັ່ນ: Dropbox , Owncloud , Pydio , OneDrive , ແລະອື່ນໆ ໃນອົງກອນຂອງທ່ານ, ຖືກອອກແບບມາເພື່ອການເຮັດວຽກເປັນທີມທີ່ດີກວ່າແລະຄວບຄຸມການຈັດເກັບຂອງທ່ານດ້ວຍຄວາມປອດໄພຂັ້ນສູງໃນພື້ນທີ່ຂອງຜູ້ໃຊ້.

    ໃນບົດຂຽນທີ່ ກຳ ລັງຈະມາເຖິງຂອງຂ້ອຍ, ຂ້ອຍຈະກວມເອົາວິທີການຕິດຕັ້ງລູກຄ້າ Seafile ໃນລະບົບ Linux ແລະ Windows ແລະຍັງສະແດງວິທີການເຊື່ອມຕໍ່ກັບ Seafile Server. ຈົນກ່ວານັ້ນຕິດຕາມ Tecmint ແລະຢ່າລືມໃຫ້ ຄຳ ເຫັນທີ່ມີຄຸນຄ່າຂອງທ່ານ.