ການຕິດຕັ້ງ 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 ທີ່ ຈຳ ເປັນເພື່ອເປີດພອດທີ່ ຈຳ ເປັນ.
< ການຕິດຕັ້ງ
ຂັ້ນຕອນການຕິດຕັ້ງນີ້ໄດ້ຖືກທົດສອບໃນລະບົບ 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
<
<
ຫຼັງຈາກ 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 ແລະຢ່າລືມໃຫ້ ຄຳ ເຫັນທີ່ມີຄຸນຄ່າຂອງທ່ານ.