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