day17-搭建yum服务器及源码安装软件

2019-08-18  本文已影响0人  恩楠

搭建本地yum服务器

实验环境
服务端:
IP地址:10.0.0.200
客户端:
IP地址为:10.0.0.201


服务端配置
挂在光盘文件至/mnt

[root@ennan ~]# mount /dev/cdrom /mnt/

安装并启动vsftpd

[root@ennan ~]# systemctl start vsftpd 
[root@ennan ~]# systemctl status vsftpd
● vsftpd.service - Vsftpd ftp daemon
   Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2019-08-15 20:51:08 CST; 5min ago
  Process: 7767 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=0/SUCCESS)
 Main PID: 7768 (vsftpd)
   CGroup: /system.slice/vsftpd.service
           └─7768 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf

[root@ennan ~]# systemctl enable vsftpd

修改vsftpd的配置文件

[root@ennan ~]# egrep -v "^$|#" /etc/vsftpd/vsftpd.conf 
anon_root=/mnt/Packages
# 指定ftp共享的目录
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

通过windows验证vsftpd是否配置成功


验证ftp

客户端配置
新建repo文件,将baseurl指向服务端

[root@ennan ~]# cat /etc/yum.repos.d/local.repo 
[ftp-repo]
name = This is ftp repo
baseurl = ftp://10.0.0.200/
enabled =1
gpgcheck = 0

验证

[root@ennan ~]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
repo id                                   repo name                                         status
ftp-repo                                  This is ftp repo                                  436
repolist: 436

搭建网络yum服务器

服务端配置
安装并启动 nginx服务

[root@ennan ~]# rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
[root@ennan ~]# yum install nginx -y
[root@ennan ~]# systemctl restart nginx
[root@ennan ~]# systemctl enable nginx
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.
[root@ennan ~]# systemctl status nginx 
● nginx.service - nginx - high performance web server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
   Active: active (running) since Sun 2019-08-18 08:24:54 CST; 11s ago
     Docs: http://nginx.org/en/docs/
 Main PID: 1980 (nginx)
   CGroup: /system.slice/nginx.service
           ├─1980 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
           └─1981 nginx: worker process

Aug 18 08:24:54 node1 systemd[1]: Starting nginx - high performance web server...
Aug 18 08:24:54 node1 systemd[1]: Started nginx - high performance web server.

配置nginx服务,指定共享文件的目录

[root@ennan ~]# cat /etc/nginx/conf.d/default.conf
server {
    listen  80;
    # 自己PC的ip或者服务器的域名
    server_name 192.168.55.10;
    # 避免中文乱码
    charset utf-8;
    # 存放文件的目录
    root /data/wwwroot/yum-server;
    location / {
        # 索引
        autoindex on;
        # 显示文件大小
        autoindex_exact_size on;
        # 显示文件时间
        autoindex_localtime on;
    }
}

从mirrors.ustc.edu.cn同步安装包

[root@ennan ~]# rsync -avz --delete rsync://mirrors.ustc.edu.cn/centos/7/os/x86_64/Packages/ /data/wwwroot/yum-server/os/Packages/
[root@ennan ~]# rsync -avz --delete rsync://mirrors.ustc.edu.cn/centos/7/extras/x86_64/Packages/ /data/wwwroot/yum-server/extras/Packages/
[root@ennan ~]# rsync -avz --delete rsync://mirrors.ustc.edu.cn/centos/7/updates/x86_64/Packages/ /data/wwwroot/yum-server/updates/Packages/
[root@ennan ~]# rsync -avz --delete rsync://mirrors.ustc.edu.cn/centos/7/centosplus/x86_64/Packages/ /data/wwwroot/yum-server/centosplus/Packages/

使用createrepo创建仓库(生成repodata目录)

[root@ennan ~]# yum install -y createrepo
[root@ennan ~]# createrepo -o /data/wwwroot/yum-server/os /data/wwwroot/yum-server/os/Packages/
[root@ennan ~]# createrepo -o /data/wwwroot/yum-server/extras /data/wwwroot/yum-server/extras/Packages/
[root@ennan ~]# createrepo -o /data/wwwroot/yum-server/updates /data/wwwroot/yum-server/updates/Packages/
[root@ennan ~]# createrepo -o /data/wwwroot/yum-server/centosplus /data/wwwroot/yum-server/centosplus/Packa

用浏览器验证nginx共享


验证nginx共享

生成repodata


生成repodata

客户端
yum源配置

[root@node1 ~]# cat /etc/yum.repos.d/local-httpd.repo 
[baseurl]
name = Base
baseurl = http://192.168.55.10/os
enabled = 1
gpgcheck = 0

[updates]
name = updates
baseurl = http://192.168.55.10/updates
enabled = 1
gpgcheck = 0

[extras]
name = extras
baseurl = http://192.168.55.10/extras
enbaled = 1
gpgcheck = 0

[centosplus]
name = centosplus
baseurl =  http://192.168.55.10/centosplus
enabled = 1
gpgcheck = 0

客户端验证

[root@node1 yum.repos.d]# yum repolist 
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
repo id                               repo name                              status
baseurl                               Base                                   10,019
centosplus                            centosplus                                103
extras                                extras                                    435
updates                               updates                                 2,500
repolist: 13,057

生产yum服务器需要定时向网络更新yum源


源码安装软件

下载并解压源码包

[root@node1 ~]# wget http://nginx.org/download/nginx-1.15.12.tar.gz
[root@node1 ~]# tar xf nginx-1.15.12.tar.gz

源码安装

[root@node1 ~]# cd nginx-1.15.12/
[root@node1 nginx-1.15.12]# ./configure --prefix=/soft/nginx-1.12.2
# 配置相关的选项,并生成Makefile
# 指定了安装路径
[root@node1 nginx-1.15.12]# make
# 将Makefile文件编译可执行二进制程序
[root@node1 nginx-1.15.12]# make install
# 将二进制文件拷贝至对应的目录中

报错信息处理

[root@node1 nginx-1.15.12]# ./configure --prefix=/soft/nginx-1.12.2
./configure: error: the HTTP rewrite module requires the PCRE library.
You can either disable the module by using --without-http_rewrite_module
option, or install the PCRE library into the system, or build the PCRE library
statically from the source with nginx by using --with-pcre=<path> option.
# 解决方法
[root@node1 nginx-1.15.12]# yum install pcre-devel

[root@node1 nginx-1.15.12]# ./configure --prefix=/soft/nginx-1.12.2
./configure: error: the HTTP gzip module requires the zlib library.
You can either disable the module by using --without-http_gzip_module
option, or install the zlib library into the system, or build the zlib library
statically from the source with nginx by using --with-zlib=<path> option.
# 解决方法
[root@node1 nginx-1.15.12]# yum install zlib-devel

启动并验证

# 做软连接,方便后期版本升级
[root@node1 ~]# ln -s /soft/nginx-1.12.2/ /soft/nginx
# 启动服务
[root@node1 ~]# /soft/nginx/sbin/nginx 
验证页面

yum网络服务器参考网站:https://www.cnblogs.com/czlun/articles/7702060.html

上一篇下一篇

猜你喜欢

热点阅读