ວິທີການຕິດຕັ້ງຖານຂໍ້ມູນ 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. ພວກເຮົາຫວັງວ່າທ່ານຈະພົບວ່າ ຄຳ ແນະ ນຳ ນີ້ມີປະໂຫຍດ. ຖ້າທ່ານມີ ຄຳ ຖາມ, ຫຼືຄວາມຄິດອື່ນໆທີ່ຈະແບ່ງປັນ, ໃຊ້ແບບຟອມ ຄຳ ເຫັນຂ້າງລຸ່ມນີ້.