Yadda ake Saita Maajiyar HTTP Yum na Gida akan CentOS 7


Ma'ajiyar software (\repo a takaice) wuri ne na tsakiya don adanawa da kuma kula da fakitin software, wanda masu amfani za su iya dawo da fakitin su sanya su a kan kwamfutocin su.

Yawancin lokaci ana adana ma'ajin ajiya a kan sabobin da ke kan hanyar sadarwa misali intanet, wanda masu amfani da yawa za su iya shiga. Koyaya, zaku iya ƙirƙira da daidaita ma'ajiyar gida akan kwamfutarku kuma samun damar ta azaman mai amfani ɗaya ko ba da izinin shiga wasu injina akan LAN ɗinku (Local Area Network).

Ɗayan fa'idar kafa ma'ajiyar gida shine cewa ba kwa buƙatar haɗin intanet don shigar da fakitin software.

YUM (Yellowdog Updater Modified) kayan aikin sarrafa fakiti ne da ake amfani da shi sosai don RPM (RedHat Package Manager) dangane da tsarin Linux, wanda ke sauƙaƙe shigarwar software akan Red Hat/CentOS Linux.

A cikin wannan labarin, za mu yi bayanin yadda ake saita maajiyar YUM ta gida akan sabar gidan yanar gizo ta HTTP (Nginx) akan CentOS 7 VPS sannan kuma mu nuna muku yadda ake nemo da shigar da fakitin software akan injin CentOS 7 abokin ciniki.

Yum HTTP Repository Server:	CentOS 7 [192.168.0.100]
Client Machine:		CentOS 7 [192.168.0.101]

Mataki 1: Shigar Nginx Web Server

1. Da farko farawa ta hanyar shigar da uwar garken Nginx HTTP daga ma'ajin EPEL ta amfani da mai sarrafa kunshin YUM kamar haka.

# yum install epel-release
# yum install nginx 

2. Da zarar kun shigar da sabar gidan yanar gizon Nginx, zaku iya fara shi a karon farko kuma ku ba shi damar farawa ta atomatik a boot boot.

 
# systemctl start nginx
# systemctl enable nginx
# systemctl status nginx

3. Na gaba, kuna buƙatar buɗe tashar jiragen ruwa 80 da 443 don ba da izinin zirga-zirgar yanar gizo zuwa sabis na Nginx, sabunta ka'idodin Tacewar zaɓi don ba da izinin fakiti masu shigowa akan HTTP da HTTPS ta amfani da umarnin da ke ƙasa.

# firewall-cmd --zone=public --permanent --add-service=http
# firewall-cmd --zone=public --permanent --add-service=https
# firewall-cmd --reload

4. Yanzu zaku iya tabbatar da cewa uwar garken Nginx ɗinku yana aiki, ta amfani da URL mai zuwa; idan kun ga tsohuwar shafin yanar gizon Nginx, duk yana da kyau.

http://SERVER_DOMAIN_NAME_OR_IP 

Mataki na 2: Ƙirƙiri Ma'ajiyar Wuta ta Yum

5. A cikin wannan mataki, kuna buƙatar shigar da fakitin da ake buƙata don ƙirƙira, daidaitawa, da sarrafa ma'ajin ku na gida.

# yum install createrepo  yum-utils

6. Na gaba, ƙirƙirar kundayen adireshi masu mahimmanci (yum repositories) waɗanda zasu adana fakiti da duk wani bayanan da ke da alaƙa.

# mkdir -p /var/www/html/repos/{base,centosplus,extras,updates}

7. Sannan yi amfani da kayan aikin reposync don daidaita ma'ajiyar CentOS YUM zuwa kundin adireshi na gida kamar yadda aka nuna.

# 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     

A cikin umarni na sama, zaɓi:

  • -g - yana ba da damar cire fakitin da suka gaza duba sa hannun GPG bayan zazzagewa.
  • -l - yana ba da damar tallafin plugin yum.
  • -d - yana ba da damar share fakitin gida ba a cikin ma'ajiyar.
  • -m - yana ba da damar zazzage fayilolin comps.xml.
  • --repoid - yana ƙayyadadden ID na ma'ajin.
  • --sabuwa-kawai - gaya reposync don cire sabuwar sigar kowane fakitin kawai a cikin wurin ajiya.
  • --download-metadata - yana ba da damar zazzage duk bayanan da ba na asali ba.
  • --download_path - yana ƙayyade hanyar da za a sauke fakiti.

8. Na gaba, bincika abubuwan da ke cikin kundayen adireshi na gida don tabbatar da cewa an daidaita duk fakitin a cikin gida.

# 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. Yanzu ƙirƙirar sabon repodata don ma'ajiyar gida ta hanyar aiwatar da umarni masu zuwa, inda ake amfani da tutar -g don sabunta bayanan rukunin fakiti ta amfani da ƙayyadadden fayil ɗin .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. Don ba da damar duba wuraren ajiya da fakiti a cikin su, ta hanyar burauzar yanar gizo, ƙirƙirar shingen uwar garken Nginx wanda ke nuna tushen ma'ajiyar ku kamar yadda aka nuna.

# vim /etc/nginx/conf.d/repos.conf 

Ƙara wannan saitin 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
        }
}

Ajiye fayil ɗin kuma rufe shi.

11. Sa'an nan kuma sake kunna uwar garken Nginx ɗin ku kuma duba ma'ajin daga mai binciken gidan yanar gizon ta amfani da URL mai zuwa.

http://repos.test.lab

Mataki na 3: Ƙirƙiri Aiki na Cron don Aiki tare da Ƙirƙirar Ma'ajiyar

12. Na gaba, ƙara aikin cron wanda zai daidaita ma'ajin ku ta atomatik tare da ma'ajin CentOS na hukuma don ɗaukar sabuntawa da facin tsaro.

# vim /etc/cron.daily/update-localrepos

Ƙara waɗannan umarni a cikin rubutun.

#!/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

Ajiye rubutun kuma rufe shi kuma saita izini masu dacewa akansa.

# chmod 755 /etc/cron.daily/update-localrepos

Mataki 4: Saita Ma'ajiyar Yum na Gida akan Injin Abokin Ciniki

13. Yanzu akan injunan abokin ciniki na CentOS, ƙara ma'ajin ku na gida zuwa tsarin YUM.

# vim /etc/yum.repos.d/local-repos.repo

Kwafi da liƙa saitin da ke ƙasa a cikin fayil local-repos.repo (yi canje-canje idan ya cancanta).

[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

Ajiye fayil ɗin kuma fara amfani da madubin YUM na gida.

14. Na gaba, gudanar da umarni mai zuwa don duba wuraren ajiyar ku na gida a cikin jerin abubuwan da aka samu na YUM, akan injunan abokin ciniki.

#  yum repolist
OR
# yum repolist all

Shi ke nan! A cikin wannan labarin, mun bayyana yadda ake saita maajiyar YUM na gida akan CentOS 7. Muna fatan kun sami wannan jagorar mai amfani. Idan kuna da wasu tambayoyi, ko wasu tunani don raba, yi amfani da fom ɗin sharhi a ƙasa.