ວິທີການຕິດຕັ້ງຖານຂໍ້ມູນ HTTP Yum Local ຂອງທ້ອງຖິ່ນໃນ CentOS 7
ຫໍສະ ໝຸດ ຊອບແວ (“ repo” ໂດຍຫຍໍ້) ແມ່ນສະຖານທີ່ເກັບມ້ຽນເອກະສານຂັ້ນສູນກາງເພື່ອຮັກສາແລະຮັກສາແພັກເກດຊອບແວ, ເຊິ່ງຜູ້ໃຊ້ສາມາດເກັບຊຸດແລະຕິດຕັ້ງໄວ້ໃນຄອມພິວເຕີ້ຂອງພວກເຂົາ.
ບັນດາຫໍສະ ໝຸດ ມັກຈະຖືກເກັບຢູ່ໃນເຊີບເວີໃນເຄືອຂ່າຍຕົວຢ່າງເຊັ່ນອິນເຕີເນັດເຊິ່ງສາມາດເຂົ້າເຖິງໄດ້ໂດຍຜູ້ໃຊ້ຫຼາຍຄົນ. ເຖິງຢ່າງໃດກໍ່ຕາມ, ທ່ານສາມາດສ້າງແລະຕັ້ງຄ່າຫໍສະມຸດທ້ອງຖິ່ນໃນຄອມພິວເຕີຂອງທ່ານແລະເຂົ້າໃຊ້ມັນເປັນຜູ້ໃຊ້ດຽວຫຼືອະນຸຍາດໃຫ້ເຂົ້າໃຊ້ເຄື່ອງອື່ນໃນເຄືອຂ່າຍ LAN ຂອງທ່ານ (Local Area Network).
ຂໍ້ດີຂອງການຕັ້ງຄ່າຫໍສະມຸດທ້ອງຖິ່ນແມ່ນທ່ານບໍ່ຕ້ອງການເຊື່ອມຕໍ່ອິນເຕີເນັດເພື່ອຕິດຕັ້ງແພັກເກດຊອບແວ.
YUM (Yellowdog Updater Modified) ແມ່ນເຄື່ອງມືຄຸ້ມຄອງແພັກເກັດທີ່ມີການ ນຳ ໃຊ້ຢ່າງກວ້າງຂວາງ ສຳ ລັບ RPM (RedHat Package Manager) ໂດຍອີງໃສ່ລະບົບ Linux ເຊິ່ງເຮັດໃຫ້ການຕິດຕັ້ງຊອບແວງ່າຍໃນ Red Hat/CentOS Linux.
ໃນບົດຄວາມນີ້, ພວກເຮົາຈະອະທິບາຍວິທີການຕັ້ງຄ່າ repository YUM ໃນທ້ອງຖິ່ນຜ່ານເວັບເຊີຟເວີ HTTP (Nginx) ໃນ CentOS 7 VPS ແລະຍັງສະແດງວິທີການຊອກຫາແລະຕິດຕັ້ງໂປແກຼມໂປແກຼມໃນລູກຄ້າ CentOS 7.
Yum HTTP Repository Server: CentOS 7 [192.168.0.100] Client Machine: CentOS 7 [192.168.0.101]
ຂັ້ນຕອນທີ 1: ຕິດຕັ້ງ Nginx Web Server
1. ທຳ ອິດເລີ່ມຕົ້ນໂດຍການຕິດຕັ້ງ Nginx HTTP server ຈາກຫ້ອງເກັບ EPEL ໂດຍໃຊ້ຕົວຈັດການ YUM ດັ່ງຕໍ່ໄປນີ້.
# yum install epel-release # yum install nginx
2. ເມື່ອທ່ານໄດ້ຕິດຕັ້ງເຄື່ອງແມ່ຂ່າຍເວັບໄຊຕ໌ Nginx, ທ່ານສາມາດເລີ່ມຕົ້ນມັນເປັນຄັ້ງ ທຳ ອິດແລະຊ່ວຍໃຫ້ມັນເລີ່ມຕົ້ນໂດຍອັດຕະໂນມັດໃນລະບົບ boot system.
# systemctl start nginx # systemctl enable nginx # systemctl status nginx
3. ຕໍ່ໄປ, ທ່ານ ຈຳ ເປັນຕ້ອງເປີດພອດ 80 ແລະ 443 ເພື່ອອະນຸຍາດໃຫ້ການເຂົ້າຊົມເວັບໄຊຕ໌ໃຫ້ບໍລິການ Nginx, ປັບປຸງກົດລະບຽບຂອງ firewall ຂອງລະບົບເພື່ອອະນຸຍາດໃຫ້ແພກເກັດຂາເຂົ້າໃນ HTTP ແລະ HTTPS ໂດຍໃຊ້ ຄຳ ສັ່ງຂ້າງລຸ່ມນີ້.
# firewall-cmd --zone=public --permanent --add-service=http # firewall-cmd --zone=public --permanent --add-service=https # firewall-cmd --reload
4. ຕອນນີ້ທ່ານສາມາດຢືນຢັນໄດ້ວ່າເຊີບເວີ Nginx ຂອງທ່ານແມ່ນແລ້ວແລະ ກຳ ລັງໃຊ້ຢູ່, ໃຊ້ URL ຕໍ່ໄປນີ້; ຖ້າທ່ານເຫັນ ໜ້າ ເວັບໄຊທ໌ Nginx ທີ່ບໍ່ຖືກຕ້ອງ, ທັງ ໝົດ ກໍ່ດີ.
http://SERVER_DOMAIN_NAME_OR_IP
ຂັ້ນຕອນທີ 2: ສ້າງຫໍສະມຸດທ້ອງຖິ່ນ Yum
5. ໃນຂັ້ນຕອນນີ້, ທ່ານ ຈຳ ເປັນຕ້ອງຕິດຕັ້ງແພັກເກດທີ່ ຈຳ ເປັນ ສຳ ລັບການສ້າງ, ກຳ ນົດແລະຈັດການຄັງ ສຳ ຮອງໃນທ້ອງຖິ່ນຂອງທ່ານ.
# yum install createrepo yum-utils
6. ຕໍ່ໄປ, ສ້າງບັນດາລາຍການທີ່ ຈຳ ເປັນ (ຫໍສະ ໝຸດ yum) ທີ່ຈະເກັບຮັກສາແພັກເກັດແລະຂໍ້ມູນທີ່ກ່ຽວຂ້ອງ.
# mkdir -p /var/www/html/repos/{base,centosplus,extras,updates}
7. ຫຼັງຈາກນັ້ນ, ໃຊ້ເຄື່ອງມື reposync ເພື່ອ synchronize ឃ្លាំង CentOS YUM ກັບຖານຂໍ້ມູນທ້ອງຖິ່ນຕາມທີ່ສະແດງໄວ້.
# reposync -g -l -d -m --repoid=base --newest-only --download-metadata --download_path=/var/www/html/repos/ # reposync -g -l -d -m --repoid=centosplus --newest-only --download-metadata --download_path=/var/www/html/repos/ # reposync -g -l -d -m --repoid=extras --newest-only --download-metadata --download_path=/var/www/html/repos/ # reposync -g -l -d -m --repoid=updates --newest-only --download-metadata --download_path=/var/www/html/repos/
Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: mirrors.fibergrid.in * epel: mirror.xeonbd.com * extras: mirrors.fibergrid.in * updates: mirrors.fibergrid.in base/7/x86_64/group | 891 kB 00:00:02 No Presto metadata available for base (1/9911): 389-ds-base-snmp-1.3.7.5-18.el7.x86_64.rpm | 163 kB 00:00:02 (2/9911): 389-ds-base-devel-1.3.7.5-18.el7.x86_64.rpm | 267 kB 00:00:02 (3/9911): ElectricFence-2.2.2-39.el7.i686.rpm | 35 kB 00:00:00 (4/9911): ElectricFence-2.2.2-39.el7.x86_64.rpm | 35 kB 00:00:00 (5/9911): 389-ds-base-libs-1.3.7.5-18.el7.x86_64.rpm | 695 kB 00:00:04 (6/9911): GConf2-devel-3.2.6-8.el7.i686.rpm | 110 kB 00:00:00 (7/9911): GConf2-devel-3.2.6-8.el7.x86_64.rpm | 110 kB 00:00:00 (8/9911): GConf2-3.2.6-8.el7.i686.rpm | 1.0 MB 00:00:06
ໃນ ຄຳ ສັ່ງຂ້າງເທິງ, ຕົວເລືອກ:
-
-g
- ສາມາດ ກຳ ຈັດການຫຸ້ມຫໍ່ທີ່ຫຼົ້ມເຫຼວໃນການກວດລາຍເຊັນ GPG ຫຼັງຈາກດາວໂຫລດ. -
-l
- ຊ່ວຍໃຫ້ການສະ ໜັບ ສະ ໜູນ plugin yum. -
-d
- ຊ່ວຍໃຫ້ການລຶບແພກເກັດທ້ອງຖິ່ນທີ່ບໍ່ມີຢູ່ໃນຫໍໄຕ. -
-m
- ສາມາດດາວໂຫລດເອກະສານ comps.xml. -
- reppoid
- ລະບຸ ID ຂອງຫໍໄຕ. ບອກ reposync ໃຫ້ພຽງແຕ່ດຶງຊຸດລ້າສຸດຂອງແຕ່ລະຊຸດໃນ repos. -
- ດາວໂລດຂໍ້ມູນ metadata
- ສາມາດດາວໂຫລດເມຕາດາຕາທັງ ໝົດ ທີ່ບໍ່ໄດ້ຕັ້ງຄ່າໄວ້. -
--download_path
- ລະບຸເສັ້ນທາງທີ່ຈະດາວໂຫລດແພັກເກດ.
8. ຕໍ່ໄປ, ກວດເບິ່ງເນື້ອໃນຂອງບັນດາທິດທາງໃນທ້ອງຖິ່ນຂອງທ່ານເພື່ອຮັບປະກັນວ່າທຸກຊຸດໄດ້ຖືກປະສານກັນຢູ່ໃນທ້ອງຖິ່ນ.
# ls -l /var/www/html/repos/base/ # ls -l /var/www/html/repos/base/Packages/ # ls -l /var/www/html/repos/centosplus/ # ls -l /var/www/html/repos/centosplus/Packages/ # ls -l /var/www/html/repos/extras/ # ls -l /var/www/html/repos/extras/Packages/ # ls -l /var/www/html/repos/updates/ # ls -l /var/www/html/repos/updates/Packages/
9. ດຽວນີ້ສ້າງຫໍໄຕ ໃໝ່ ສຳ ລັບຫໍສະມຸດທ້ອງຖິ່ນໂດຍການໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້, ບ່ອນທີ່ທຸງ -g
ໃຊ້ເພື່ອປັບປຸງຂໍ້ມູນກຸ່ມຊຸດໂດຍໃຊ້ .xml
ເອກະສານທີ່ລະບຸ. .
# createrepo -g comps.xml /var/www/html/repos/base/ # createrepo -g comps.xml /var/www/html/repos/centosplus/ # createrepo -g comps.xml /var/www/html/repos/extras/ # createrepo -g comps.xml /var/www/html/repos/updates/
10. ເພື່ອໃຫ້ສາມາດເບິ່ງຫໍສະມຸດແລະແພັກເກດໃນພວກມັນ, ຜ່ານຕົວທ່ອງເວັບ, ສ້າງບລັອກເຊີເວີ້ Nginx ທີ່ຊີ້ໄປຫາຮາກຂອງຫໍໄຕຂອງທ່ານດັ່ງທີ່ສະແດງ.
# vim /etc/nginx/conf.d/repos.conf
ຕື່ມການຕໍ່ໄປນີ້ການຕັ້ງຄ່າ ot file repos.conf.
server { listen 80; server_name repos.test.lab; #change test.lab to your real domain root /var/www/html/repos; location / { index index.php index.html index.htm; autoindex on; #enable listing of directory index } }
ບັນທຶກເອກະສານແລະປິດມັນ.
11. ຫຼັງຈາກນັ້ນໃຫ້ທ່ານເລີ່ມຕົ້ນ Nginx server ຂອງທ່ານແລະເບິ່ງ repositories ຈາກ web browser ໂດຍໃຊ້ URL ຕໍ່ໄປນີ້.
http://repos.test.lab
ຂັ້ນຕອນທີ 3: ສ້າງວຽກ Cron ເພື່ອປະສານງານແລະສ້າງຖານຂໍ້ມູນ
12. ຕໍ່ໄປ, ຕື່ມການເຮັດວຽກ cron ເຊິ່ງຈະອັດຕະໂນມັດການຈັດເກັບຂໍ້ມູນທ້ອງຖິ່ນຂອງທ່ານໂດຍອັດຕະໂນມັດກັບ repos CentOS ຢ່າງເປັນທາງການເພື່ອຄວ້າເອົາການປັບປຸງແລະການຮັກສາຄວາມປອດໄພ.
# vim /etc/cron.daily/update-localrepos
ຕື່ມ ຄຳ ສັ່ງເຫລົ່ານີ້ໃສ່ໃນບົດຂຽນ.
#!/bin/bash ##specify all local repositories in a single variable LOCAL_REPOS=”base centosplus extras updates” ##a loop to update repos one at a time for REPO in ${LOCAL_REPOS}; do reposync -g -l -d -m --repoid=$REPO --newest-only --download-metadata --download_path=/var/www/html/repos/ createrepo -g comps.xml /var/www/html/repos/$REPO/ done
ບັນທຶກສະຄິບແລະປິດມັນແລະ ກຳ ນົດສິດທີ່ ເໝາະ ສົມໃສ່ມັນ.
# chmod 755 /etc/cron.daily/update-localrepos
ຂັ້ນຕອນທີ 4: ຕັ້ງແຄ້ມພື້ນຖານ Re Yumitory ໃນເຄື່ອງ Client
13. ຕອນນີ້ຢູ່ໃນເຄື່ອງຂອງລູກຄ້າ CentOS ຂອງທ່ານ, ເພີ່ມ repos ທ້ອງຖິ່ນຂອງທ່ານເຂົ້າໃນການຕັ້ງຄ່າ YUM.
# vim /etc/yum.repos.d/local-repos.repo
ຄັດລອກແລະວາງການຕັ້ງຄ່າຂ້າງລຸ່ມນີ້ໃນເອກະສານ local-repos.repo (ເຮັດການປ່ຽນແປງໃນບ່ອນທີ່ ຈຳ ເປັນ).
[local-base] name=CentOS Base baseurl=http://repos.test.lab/base/ gpgcheck=0 enabled=1 [local-centosplus] name=CentOS CentOSPlus baseurl=http://repos.test.lab/centosplus/ gpgcheck=0 enabled=1 [local-extras] name=CentOS Extras baseurl=http://repos.test.lab/extras/ gpgcheck=0 enabled=1 [local-updates] name=CentOS Updates baseurl=http://repos.test.lab/updates/ gpgcheck=0 enabled=1
ບັນທຶກເອກະສານແລະເລີ່ມໃຊ້ກະຈົກ YUM ໃນທ້ອງຖິ່ນຂອງທ່ານ.
14. ຕໍ່ໄປ, ດຳ ເນີນການ ຄຳ ສັ່ງຕໍ່ໄປນີ້ເພື່ອເບິ່ງ repos ທ້ອງຖິ່ນຂອງທ່ານໃນບັນຊີລາຍຊື່ຂອງ repos YUM ທີ່ມີຢູ່ໃນເຄື່ອງຂອງລູກຄ້າ.
# yum repolist OR # yum repolist all
ຫມົດເທົ່ານີ້! ໃນບົດຂຽນນີ້, ພວກເຮົາໄດ້ອະທິບາຍວິທີການສ້າງຕັ້ງຫໍສະມຸດ YUM ໃນທ້ອງຖິ່ນໃນ CentOS 7. ພວກເຮົາຫວັງວ່າທ່ານຈະພົບວ່າ ຄຳ ແນະ ນຳ ນີ້ມີປະໂຫຍດ. ຖ້າທ່ານມີ ຄຳ ຖາມ, ຫຼືຄວາມຄິດອື່ນໆທີ່ຈະແບ່ງປັນ, ໃຊ້ແບບຟອມ ຄຳ ເຫັນຂ້າງລຸ່ມນີ້.