• Openstack 本地yum源配置


    主机配置:

    主机名             IP(Static)                        系统                                           配置                          角色

    yumserver     192.168.20.21       CentOS-6.5-x86_64-minimal           2CPU,4G,200G,1网卡        yumserver


    1.yum源文件下载

    (1).下载必要工具:

    [root@yumserver ~]# yum -y install wget

    (2).下载yum源到本地:

    [root@yumserver ~]# mkdir -p /wget-yum

    [root@yumserver ~]# cd /wget-yum

    下载centos6.5源:

    [root@yumserver wget-yum]# wget -S -c -r -np -L http://mirrors.sohu.com/centos/6.5/

    下载foreman源:

    [root@yumserver wget-yum]# wget -S -c -r -np -L http://yum.theforeman.org/plugins/1.5/el6/

    [root@yumserver wget-yum]# wget -S -c -r -np -L http://yum.theforeman.org/releases/1.5/el6/

    下载epel源:

    [root@yumserver wget-yum]# wget -S -c -r -np -L http://mirrors.yun-idc.com/epel/6/

    下载puppetlabs源:

    [root@yumserver wget-yum]# wget -S -c -r -np -L https://yum.puppetlabs.com/el/6/

    下载openstack源:

    [root@yumserver wget-yum]# wget -S -c -r -np -L https://repos.fedorapeople.org/repos/openstack/openstack-havana/

    [root@yumserver wget-yum]# wget -S -c -r -np -L https://repos.fedorapeople.org/repos/openstack/openstack-icehouse/

    (3).删除不需要的软件包和文件:

    [root@yumserver wget-yum]# find ./ -name index.html* | xarge rm -rf

    [root@yumserver wget-yum]# find ./ -name fedora-20 | xarge rm -rf

    [root@yumserver wget-yum]# find ./ -name fedora-19 | xarge rm -rf

    [root@yumserver wget-yum]# find ./ -name isos | xarge rm -rf

    [root@yumserver wget-yum]# find ./ -name i386 | xarge rm -rf

    (4).调整目录结构:

    [root@yumserver wget-yum]# mv mirrors.sohu.com/centos ./

    [root@yumserver wget-yum]# rm -rf mirrors.sohu.com

    [root@yumserver wget-yum]# mkdir foreman

    [root@yumserver wget-yum]# mv yum.theforeman.org/plugins foreman/

    [root@yumserver wget-yum]# mv yum.theforeman.org/releases foreman/

    [root@yumserver wget-yum]# rm -rf yum.theforeman.org

    [root@yumserver wget-yum]# mv mirrors.yun-idc.com/epel ./

    [root@yumserver wget-yum]# rm -rf mirrors.yun-idc.com

    [root@yumserver wget-yum]# mkdir puppetlabs

    [root@yumserver wget-yum]# mv yum.puppetlabs.com/el /puppetlabs/

    [root@yumserver wget-yum]# rm -rf yum.puppetlabs.com

    [root@yumserver wget-yum]# mv repos.fedorapeople.org/repos/openstack ./

    [root@yumserver wget-yum]# rm -rf repos.fedorapeople.org

    [root@yumserver wget-yum]# ls

    centos  epel  foreman  openstack  puppetlabs

    2.nginx配置:

    [root@yumserver wget-yum]# rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm

    [root@yumserver wget-yum]# yum -y install nginx

    [root@yumserver wget-yum]# vi /etc/nginx/nginx.conf

    user  nginx;

    worker_processes  8;

    error_log  /var/log/nginx/error.log warn;

    pid        /var/run/nginx.pid;

    events {

        worker_connections  8192;

    }

    http {

        autoindex on;

        autoindex_exact_size off;

        autoindex_localtime on;

        charset utf-8,gbk; 

        include       /etc/nginx/mime.types;

        default_type  application/octet-stream;

        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '

                          '$status $body_bytes_sent "$http_referer" '

                          '"$http_user_agent" "$http_x_forwarded_for"';

        access_log  /var/log/nginx/access.log  main;

        sendfile        on;

        #tcp_nopush     on;

        keepalive_timeout  65;

        #gzip  on;

        include /etc/nginx/conf.d/*.conf;

    }

    [root@yumserver wget-yum]# vi /etc/nginx/conf.d/default.conf

    server {

        listen       80;

        server_name  openstack.chensh.net;

        #charset koi8-r;

        #access_log  /var/log/nginx/log/host.access.log  main;

    #   location / {

    #       root   /usr/share/nginx/html;

    #       index  index.html index.htm;

    #   }

        location / {

            #root   html;

            root /wget-yum;

            autoindex on;

            index  index.html index.htm;

        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html

        #

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   /usr/share/nginx/html;

        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80

        #

        #location ~ .php$ {

        #    proxy_pass   http://127.0.0.1;

        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

        #

        #location ~ .php$ {

        #    root           html;

        #    fastcgi_pass   127.0.0.1:9000;

        #    fastcgi_index  index.php;

        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;

        #    include        fastcgi_params;

        #}

        # deny access to .htaccess files, if Apache's document root

        # concurs with nginx's one

        #

        #location ~ /.ht {

        #    deny  all;

        #}

    }

    [root@yumserver wget-yum]# /etc/init.d/nginx restart

    **********************************************************************************************************************************

    3.release.rpm制作:

    (1).下载icehouse源码包:

    [root@yumserver ~]# wget https://repos.fedorapeople.org/repos/openstack/openstack-icehouse/rdo-release-icehouse-4.src.rpm

    (2).创建padraig用户和组:

    [root@yumserver ~]# groupadd -g 1000 padraig

    [root@yumserver ~]# useradd -u 1000 -g padraig -m padraig -d /home -s /bin/bash

    (3).解压rpm:

    [root@yumserver ~]# rpm -i rdo-release-icehouse-4.src.rpm

    (4).修改文件内容,指向本地yum源:

    [root@yumserver ~]# cd rpmbuild/

    [root@yumserver rpmbuild]# 

    SOURCES  SPECS

    [root@yumserver ~]# cd SPECS

    [root@yumserver SPECS]# vi rdo-release.spec 

    指定位置添加如下红色部分:

    URL:            https://github.com/redhat-openstack/rdo-release

    Source0:        rdo-release.repo

    Source1:        RPM-GPG-KEY-RDO-Icehouse

    Source2:        foreman.repo

    Source3:        RPM-GPG-KEY-foreman

    Source4:        puppetlabs.repo

    Source5:        RPM-GPG-KEY-puppetlabs

    Source6:        epel.repo

    Source7:        RPM-GPG-KEY-EPEL-6

    Source8:        CentOS-Openstack.repo

    Source9:        RPM-GPG-KEY-CentOS-openstack

    %install

    install -p -D -m 644 %{SOURCE0} %{buildroot}%{_sysconfdir}/yum.repos.d/rdo-release.repo

    install -p -D -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/yum.repos.d/foreman.repo

    install -p -D -m 644 %{SOURCE4} %{buildroot}%{_sysconfdir}/yum.repos.d/puppetlabs.repo

    install -p -D -m 644 %{SOURCE6} %{buildroot}%{_sysconfdir}/yum.repos.d/epel.repo

    install -p -D -m 644 %{SOURCE8} %{buildroot}%{_sysconfdir}/yum.repos.d/CentOS-Openstack.repo

    #GPG Keys

    install -Dpm 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/pki/rpm-gpg/RPM-GPG-KEY-RDO-Icehouse

    install -Dpm 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/pki/rpm-gpg/RPM-GPG-KEY-foreman

    install -Dpm 644 %{SOURCE5} %{buildroot}%{_sysconfdir}/pki/rpm-gpg/RPM-GPG-KEY-puppetlabs

    install -Dpm 644 %{SOURCE7} %{buildroot}%{_sysconfdir}/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6

    install -Dpm 644 %{SOURCE9} %{buildroot}%{_sysconfdir}/pki/rpm-gpg/RPM-GPG-KEY-CentOS-openstack


    for repo in rdo-release foreman puppetlabs epel CentOS-Openstack; do

    (5).修改SOURCES文件内容,并增加相应文件:

    [root@yumserver SPECS]# cd ../SOURCES

    [root@yumserver SOURCES]# ls

    CentOS-Openstack.repo  epel.repo  foreman.repo  puppetlabs.repo  rdo-release.repo  RPM-GPG-KEY-CentOS-openstack  RPM-GPG-KEY-EPEL-6  RPM-GPG-KEY-foreman  RPM-GPG-KEY-puppetlabs  RPM-GPG-KEY-RDO-Icehouse

    (6).重新打包rpm:

    [root@yumserver SPECS]# yum -y install rpm-build

    [root@yumserver SPECS]# pwd

    /root/rpmbuild/SPECS

    [root@yumserver SPECS]# rpmbuild -ba rdo-release.spec

    4.解决依赖关系,创建仓库:

    [root@yumserver updates]# ls

    repodata  x86_64

    [root@yumserver updates]# pwd

    /letv/yum-repo/openstack/openstack-icehouse/updates

    [root@yumserver updates]# createrepo x86_64

    **********************************************************************************************************************************


  • 相关阅读:
    javascript线性渐变2
    javascript无缝滚动2
    javascript Object对象
    javascript无缝滚动
    javascript图片轮换2
    javascript图片轮换
    用C/C++写CGI程序
    linux shell 的 for 循环
    重磅分享:微软等数据结构+算法面试100题全部答案完整亮相
    查看linux服务器硬盘IO读写负载
  • 原文地址:https://www.cnblogs.com/myiaas/p/4161298.html
Copyright © 2020-2023  润新知