安装编译相关工具包
root@mirror-centos8-p11 ~]# yum install gcc make autoconf apr-devel apr-util-devel pcredevel -y
下载并解压 httpd-2.4.48.tar.gz
[root@mirror-centos8-p11 ~]# wget https://mirrors.tuna.tsinghua.edu.cn/apache//httpd/httpd-2.4.48.tar.gz [root@mirror-centos8-p11 ~]# tar xvf httpd-2.4.48.tar.gz [root@mirror-centos8-p11 ~]# ls anaconda-ks.cfg httpd-2.4.48 httpd-2.4.48.tar.gz ps1.bak setup.sh system_info.sh
生成安装配置内容: 将安装目录设置在 /data/httpd,配置文件路径 /etc/httpd
[root@mirror-centos8-p11 ~]# cd httpd-2.4.48/ [root@mirror-centos8-p11 httpd-2.4.48]# ls ABOUT_APACHE build CMakeLists.txt httpd.dep InstallBin.dsp Makefile.in README srclib acinclude.m4 BuildAll.dsp config.layout httpd.dsp LAYOUT Makefile.win README.CHANGES support Apache-apr2.dsw BuildBin.dsp configure httpd.mak libhttpd.dep modules README.cmake test Apache.dsw buildconf configure.in httpd.spec libhttpd.dsp NOTICE README.platforms VERSIONING apache_probes.d CHANGES docs include libhttpd.mak NWGNUmakefile ROADMAP ap.d changes-entries emacs-style INSTALL LICENSE os server [root@mirror-centos8-p11 httpd-2.4.48]#./configure --prefix=/data/httpd --sysconfdir=/etc/httpd
进行编译,编译过程出错:
gcc: error: /usr/lib/rpm/redhat/redhat-hardened-ld: No such file or directory
[root@mirror-centos8-p11 httpd-2.4.48]# make ...... gcc: error: /usr/lib/rpm/redhat/redhat-hardened-ld: No such file or directory make[4]: *** [/root/httpd-2.4.48/modules/aaa/modules.mk:2: mod_authn_file.la] Error 1 make[4]: Leaving directory '/root/httpd-2.4.48/modules/aaa' make[3]: *** [/root/httpd-2.4.48/build/rules.mk:117: shared-build-recursive] Error 1 make[3]: Leaving directory '/root/httpd-2.4.48/modules/aaa' make[2]: *** [/root/httpd-2.4.48/build/rules.mk:117: shared-build-recursive] Error 1 make[2]: Leaving directory '/root/httpd-2.4.48/modules' make[1]: *** [/root/httpd-2.4.48/build/rules.mk:117: shared-build-recursive] Error 1 make[1]: Leaving directory '/root/httpd-2.4.48' make: *** [/root/httpd-2.4.48/build/rules.mk:75: all-recursive] Error 1 查看缺失文件来源 [root@mirror-centos8-p11 httpd-2.4.48]# yum provides /usr/lib/rpm/redhat/redhat-hardened-ld Last metadata expiration check: 0:35:42 ago on Sun 08 Aug 2021 08:23:31 PM CST. redhat-rpm-config-125-1.el8.noarch : Red Hat specific rpm configuration files Repo : AppStream Matched from: Filename : /usr/lib/rpm/redhat/redhat-hardened-ld 安装缺失的组件 [root@mirror-centos8-p11 httpd-2.4.48]# yum install redhat-rpm-config-125-1.el8.noarch -y
重新进行编译,编译成功未出现报错提示
[root@mirror-centos8-p11 httpd-2.4.48]# make ....... /usr/lib64/apr-1/build/libtool --silent --mode=compile gcc -pthread -DLINUX -D_REENTRANT -D_GNU_SOURCE -I. -I/root/httpd-2.4.48/os/unix -I/root/httpd-2.4.48/include -I/usr/include/apr-1 -I/root/httpd-2.4.48/modules/aaa -I/root/httpd-2.4.48/modules/cache -I/root/httpd-2.4.48/modules/core -I/root/httpd-2.4.48/modules/database -I/root/httpd-2.4.48/modules/filters -I/root/httpd-2.4.48/modules/ldap -I/root/httpd-2.4.48/modules/loggers -I/root/httpd-2.4.48/modules/lua -I/root/httpd-2.4.48/modules/proxy -I/root/httpd-2.4.48/modules/http2 -I/root/httpd-2.4.48/modules/session -I/root/httpd-2.4.48/modules/ssl -I/root/httpd-2.4.48/modules/test -I/root/httpd-2.4.48/server -I/root/httpd-2.4.48/modules/md -I/root/httpd-2.4.48/modules/arch/unix -I/root/httpd-2.4.48/modules/dav/main -I/root/httpd-2.4.48/modules/generators -I/root/httpd-2.4.48/modules/mappers -prefer-pic -c mod_alias.c && touch mod_alias.slo /usr/lib64/apr-1/build/libtool --silent --mode=link gcc -pthread -o mod_alias.la -rpath /data/httpd/modules -module -avoid-version mod_alias.lo /usr/lib64/apr-1/build/libtool --silent --mode=compile gcc -pthread -DLINUX -D_REENTRANT -D_GNU_SOURCE -I. -I/root/httpd-2.4.48/os/unix -I/root/httpd-2.4.48/include -I/usr/include/apr-1 -I/root/httpd-2.4.48/modules/aaa -I/root/httpd-2.4.48/modules/cache -I/root/httpd-2.4.48/modules/core -I/root/httpd-2.4.48/modules/database -I/root/httpd-2.4.48/modules/filters -I/root/httpd-2.4.48/modules/ldap -I/root/httpd-2.4.48/modules/loggers -I/root/httpd-2.4.48/modules/lua -I/root/httpd-2.4.48/modules/proxy -I/root/httpd-2.4.48/modules/http2 -I/root/httpd-2.4.48/modules/session -I/root/httpd-2.4.48/modules/ssl -I/root/httpd-2.4.48/modules/test -I/root/httpd-2.4.48/server -I/root/httpd-2.4.48/modules/md -I/root/httpd-2.4.48/modules/arch/unix -I/root/httpd-2.4.48/modules/dav/main -I/root/httpd-2.4.48/modules/generators -I/root/httpd-2.4.48/modules/mappers -prefer-pic -c mod_rewrite.c && touch mod_rewrite.slo /usr/lib64/apr-1/build/libtool --silent --mode=link gcc -pthread -o mod_rewrite.la -rpath /data/httpd/modules -module -avoid-version mod_rewrite.lo make[4]: Leaving directory '/root/httpd-2.4.48/modules/mappers' make[3]: Leaving directory '/root/httpd-2.4.48/modules/mappers' make[2]: Leaving directory '/root/httpd-2.4.48/modules' make[2]: Entering directory '/root/httpd-2.4.48/support' make[2]: Leaving directory '/root/httpd-2.4.48/support' make[1]: Leaving directory '/root/httpd-2.4.48'
进行编译安装
[root@mirror-centos8-p11 httpd-2.4.48]# make install ...... Building shared: mod_vhost_alias.la mod_negotiation.la mod_dir.la mod_actions.la mod_speling.la mod_userdir.la mod_alias.la mod_rewrite.la make[4]: Entering directory '/root/httpd-2.4.48/modules/mappers' make[4]: Nothing to be done for 'local-shared-build'. make[4]: Leaving directory '/root/httpd-2.4.48/modules/mappers' make[3]: Leaving directory '/root/httpd-2.4.48/modules/mappers' make[2]: Leaving directory '/root/httpd-2.4.48/modules' make[2]: Entering directory '/root/httpd-2.4.48/support' make[2]: Leaving directory '/root/httpd-2.4.48/support' Installing configuration files mkdir /etc/httpd mkdir /etc/httpd/extra mkdir /etc/httpd/original mkdir /etc/httpd/original/extra Installing HTML documents mkdir /data/httpd/htdocs Installing error documents mkdir /data/httpd/error Installing icons mkdir /data/httpd/icons mkdir /data/httpd/logs Installing CGIs mkdir /data/httpd/cgi-bin Installing header files mkdir /data/httpd/include Installing build system files mkdir /data/httpd/build Installing man pages and online manual mkdir /data/httpd/man mkdir /data/httpd/man/man1 mkdir /data/httpd/man/man8 mkdir /data/httpd/manual make[1]: Leaving directory '/root/httpd-2.4.48'
配置环境,将程序运行路径写入环境变量配置,并刷新生效
[root@mirror-centos8-p11 bin]# echo "PATH=//data/httpd/bin:$PATH" > /etc/profile.d/httpd.sh [root@mirror-centos8-p11 bin]# source /etc/profile.d/httpd.sh [root@mirror-centos8-p11 bin]#
创建用户 apache,设定用户目录为 /data/httpd/www ,指定使用apache 运行 httpd 服务
[root@mirror-centos8-p11 bin]# useradd -r -s /sbin/nologin -d /data/httpd/www -c Apache -u 80 apache [root@mirror-centos8-p11 httpd]# sed -ri.bak -e "s/daemon$/apache/g" /etc/httpd/httpd.conf [root@mirror-centos8-p11 httpd]# cat /etc/httpd/httpd.conf | grep "^[(User)|(Group)]" User apache Group apache [root@mirror-centos8-p11 httpd]#
启动服务
[root@mirror-centos8-p11 ~]# apachectl start [root@mirror-centos8-p11 ~]#
打开浏览器验证服务
配置httpd默认路径 /data/httpd/www
[root@mirror-centos8-p11 ~]# cat /etc/httpd/httpd.conf | grep "/data/httpd" ServerRoot "/data/httpd" DocumentRoot "/data/httpd/htdocs" <Directory "/data/httpd/htdocs"> ScriptAlias /cgi-bin/ "/data/httpd/cgi-bin/" # "/data/httpd/cgi-bin" should be changed to whatever your ScriptAliased <Directory "/data/httpd/cgi-bin"> [root@mirror-centos8-p11 ~]# sed -ri "s@/data/httpd/htdocs@/data/httpd/www@g" /etc/httpd/httpd.conf [root@mirror-centos8-p11 ~]# cat /etc/httpd/httpd.conf | grep "/data/httpd" ServerRoot "/data/httpd" DocumentRoot "/data/httpd/www" <Directory "/data/httpd/www"> ScriptAlias /cgi-bin/ "/data/httpd/cgi-bin/" # "/data/httpd/cgi-bin" should be changed to whatever your ScriptAliased <Directory "/data/httpd/cgi-bin"> [root@mirror-centos8-p11 ~]#
在 /data/httpd/www 下创建文件 index.html 用于验证目录切换,重启apache 服务
[root@mirror-centos8-p11 ~]# echo "This is `hostname -I`" > /data/httpd/www/index.html [root@mirror-centos8-p11 ~]# apachectl restart [root@mirror-centos8-p11 ~]#
创建目录 /data/httpd/www/mirror/centos/8/x86_64
oot@mirror-centos8-p11 ~]# mkdir -p /data/httpd/www/mirror/centos/8/x86_64 [root@mirror-centos8-p11 ~]#
前期准备。配置zabbix网络源
[root@mirror-centos8-p11 x86_64]# yum repolist repo id repo name AppStream AppStream BaseOS BaseOS zabbix zabbix [root@mirror-centos8-p11 x86_64]# cat /etc/yum.repos.d/zabbix.repo [zabbix] name=zabbix baseurl=https://repo.zabbix.com/zabbix/4.0/rhel/8/x86_64/ gpgcheck=1 gpgkey=https://repo.zabbix.com/zabbix-official-repo.key enabled=1 [root@mirror-centos8-p11 x86_64]#
使用dnf命令将zabbix下的源仓库下载至本地目录 /data/httpd/www/mirror/centos/8/x86_64
[root@mirror-centos8-p11 x86_64]# dnf reposync --repoid=zabbix --download-metadata -p /data/httpd/www/mirror/centos/8/x86_64 zabbix 936 B/s | 2.9 kB 00:03 zabbix 33 kB/s | 788 kB 00:23 (1/326): zabbix-agent-4.0.11-1.el8.x86_64.rpm 16 kB/s | 422 kB 00:27 (2/326): zabbix-agent-4.0.11-2.el8.x86_64.rpm 15 kB/s | 423 kB 00:27 (3/326): zabbix-agent-4.0.12-1.el8.x86_64.rpm 14 kB/s | 423 kB 00:30 (4/326): zabbix-agent-4.0.14-1.el8.x86_64.rpm 14 kB/s | 425 kB 00:30 (5/326): zabbix-agent-4.0.15-1.el8.x86_64.rpm 14 kB/s | 427 kB 00:31 (6/326): zabbix-agent-4.0.13-1.el8.x86_64.rpm 11 kB/s | 424 kB 00:37 (7/326): zabbix-agent-4.0.17-1.el8.x86_64.rpm 15 kB/s | 429 kB 00:28 (8/326): zabbix-agent-4.0.16-1.el8.x86_64.rpm 12 kB/s | 428 kB 00:36 (9/326): zabbix-agent-4.0.17-2.el8.x86_64.rpm 14 kB/s | 430 kB 00:30 (10/326): zabbix-agent-4.0.19-1.el8.x86_64.rpm 14 kB/s | 434 kB 00:31 (11/326): zabbix-agent-4.0.20-1.el8.x86_64.rpm 13 kB/s | 435 kB 00:33 (12/326): zabbix-agent-4.0.21-1.el8.x86_64.rpm 20 kB/s | 436 kB 00:21 (13/326): zabbix-agent-4.0.18-1.el8.x86_64.rpm 7.0 kB/s | 431 kB 01:01 (14/326): zabbix-agent-4.0.21-2.el8.x86_64.rpm 12 kB/s | 436 kB 00:36 (15/326): zabbix-agent-4.0.22-1.el8.x86_64.rpm 16 kB/s | 436 kB 00:26 (16/326): zabbix-agent-4.0.24-1.el8.x86_64.rpm 13 kB/s | 437 kB 00:33 (17/326): zabbix-agent-4.0.23-1.el8.x86_64.rpm 9.3 kB/s | 436 kB 00:47 (18/326): zabbix-agent-4.0.25-1.el8.x86_64.rpm 17 kB/s | 438 kB 00:26 (19/326): zabbix-agent-4.0.28-1.el8.x86_64.rpm 13 kB/s | 439 kB 00:32 (20/326): zabbix-agent-4.0.26-1.el8.x86_64.rpm 12 kB/s | 438 kB 00:37 (21/326): zabbix-agent-4.0.27-1.el8.x86_64.rpm 9.1 kB/s | 438 kB 00:48 (22/326): zabbix-agent-4.0.29-1.el8.x86_64.rpm 8.0 kB/s | 439 kB 00:54 (23/326): zabbix-agent-4.0.30-1.el8.x86_64.rpm 7.2 kB/s | 440 kB 01:01 (24/326): zabbix-agent-4.0.31-1.el8.x86_64.rpm 7.2 kB/s | 444 kB 01:01 (25/326): zabbix-agent-4.0.32-1.el8.x86_64.rpm 18 kB/s | 444 kB 00:25 (26/326): zabbix-get-4.0.11-1.el8.x86_64.rpm 14 kB/s | 292 kB 00:21 ...... (313/326): zabbix-web-pgsql-4.0.20-1.el8.noarch.rpm 119 kB/s | 14 kB 00:00 (314/326): zabbix-web-pgsql-4.0.21-1.el8.noarch.rpm 123 kB/s | 14 kB 00:00 (315/326): zabbix-web-pgsql-4.0.21-2.el8.noarch.rpm 124 kB/s | 14 kB 00:00 (316/326): zabbix-web-pgsql-4.0.22-1.el8.noarch.rpm 124 kB/s | 14 kB 00:00 (317/326): zabbix-web-pgsql-4.0.23-1.el8.noarch.rpm 113 kB/s | 14 kB 00:00 (318/326): zabbix-web-pgsql-4.0.24-1.el8.noarch.rpm 120 kB/s | 14 kB 00:00 (319/326): zabbix-web-pgsql-4.0.25-1.el8.noarch.rpm 128 kB/s | 15 kB 00:00 (320/326): zabbix-web-pgsql-4.0.26-1.el8.noarch.rpm 127 kB/s | 15 kB 00:00 (321/326): zabbix-web-pgsql-4.0.27-1.el8.noarch.rpm 132 kB/s | 15 kB 00:00 (322/326): zabbix-web-pgsql-4.0.28-1.el8.noarch.rpm 121 kB/s | 15 kB 00:00 (323/326): zabbix-web-pgsql-4.0.29-1.el8.noarch.rpm 122 kB/s | 15 kB 00:00 (324/326): zabbix-web-pgsql-4.0.30-1.el8.noarch.rpm 126 kB/s | 15 kB 00:00 (325/326): zabbix-web-pgsql-4.0.31-1.el8.noarch.rpm 138 kB/s | 15 kB 00:00 (326/326): zabbix-web-pgsql-4.0.32-1.el8.noarch.rpm 71 kB/s | 15 kB 00:00 [root@mirror-centos8-p11 x86_64]#
将本地光盘挂载至 /mnt
[root@mirror-centos8-p11 ~]# mount /dev/sr0 /mnt mount: /mnt: WARNING: device write-protected, mounted read-only. [root@mirror-centos8-p11 ~]# ls /mnt AppStream BaseOS EFI images isolinux LICENSE media.repo TRANS.TBL [root@mirror-centos8-p11 ~]#
将 AppStream BaseOS 拷贝至 /data/httpd/www//mirror/centos/8/x86_64
[root@mirror-centos8-p11 ~]# cp -r /mnt/AppStream /data/httpd/www/mirror/centos/8/x86_64/ [root@mirror-centos8-p11 ~]# cp -r /mnt/BaseOS /data/httpd/www/mirror/centos/8/x86_64/ [root@mirror-centos8-p11 ~]# ls /data/httpd/www/mirror/centos/8/x86_64/ AppStream BaseOS zabbix
清理原有yum源配置
[root@CentOS8 ~]# mkdir /etc/yum.repos.d/repo.bak [root@CentOS8 ~]# mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/repo.bak
新建yum配置,将地址指向内网仓库 10.0.0.11
[root@CentOS8 ~]# vim /etc/yum.repos.d/yumlist.repo [BaseOS] name=BaseOS baseurl=http://10.0.0.11/mirror/centos/$releasever/$basearch/BaseOS gpgcheck=0 enabled=1 [AppStream] name=AppStream baseurl=http://10.0.0.11/mirror/centos/$releasever/$basearch/AppStream gpgcheck=0 enabled=1 [zabbix4.0] name=Zabbix4.0 baseurl=http://10.0.0.11/mirror/centos/$releasever/$basearch/zabbix gpgcheck=0 enabled=1
进行验证
[root@CentOS8 ~]# yum makecache BaseOS 21 MB/s | 2.5 MB 00:00 AppStream 45 MB/s | 7.1 MB 00:00 Zabbix4.0 22 MB/s | 211 kB 00:00 Metadata cache created.
尝试安装zabbix-agent
[root@CentOS8 ~]# yum install zabbix-agent.x86_64 -y Last metadata expiration check: 0:03:26 ago on Mon 09 Aug 2021 12:18:35 AM CST. Dependencies resolved. ============================================================================================================================================== Package Architecture Version Repository Size ============================================================================================================================================== Installing: zabbix-agent x86_64 4.0.32-1.el8 zabbix4.0 444 k Transaction Summary ============================================================================================================================================== Install 1 Package Total download size: 444 k Installed size: 1.9 M Downloading Packages: zabbix-agent-4.0.32-1.el8.x86_64.rpm 30 MB/s | 444 kB 00:00 ---------------------------------------------------------------------------------------------------------------------------------------------- Total 27 MB/s | 444 kB 00:00 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Running scriptlet: zabbix-agent-4.0.32-1.el8.x86_64 1/1 Installing : zabbix-agent-4.0.32-1.el8.x86_64 1/1 Running scriptlet: zabbix-agent-4.0.32-1.el8.x86_64 1/1 Verifying : zabbix-agent-4.0.32-1.el8.x86_64 1/1 Installed: zabbix-agent-4.0.32-1.el8.x86_64 Complete! [root@CentOS8 ~]#
验证完成,自建内网仓库可用
[root@CentOS8 ~]# ifconfig ens160 ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 10.0.0.8 netmask 255.255.255.0 broadcast 10.0.0.255 inet6 fe80::20c:29ff:fee1:7a9e prefixlen 64 scopeid 0x20<link> ether 00:0c:29:e1:7a:9e txqueuelen 1000 (Ethernet) RX packets 1220 bytes 152403 (148.8 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 979 bytes 105624 (103.1 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 [root@CentOS8 ~]# ifconfig ens160 | sed -rn "s/.*inet ([0-9].*)\snetmask.*/\1/p" 10.0.0.8 [root@CentOS8 ~]#
[root@CentOS8 ~]# cat /etc/fstab # # /etc/fstab # Created by anaconda on Mon Jul 12 15:41:50 2021 # # Accessible filesystems, by reference, are maintained under '/dev/disk/'. # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info. # # After editing this file, run 'systemctl daemon-reload' to update systemd # units generated from this file. # /dev/mapper/cl-root / xfs defaults 0 0 UUID=171bcdb1-4ccb-46fd-85ea-0f028cd5fe36 /boot xfs defaults 0 0 /dev/mapper/cl-data /data xfs defaults 0 0 /dev/mapper/cl-swap none swap defaults 0 0 [root@CentOS8 ~]# sed -r "s/^#[[:space:]]+(.*)/\1/p" /etc/fstab # /etc/fstab /etc/fstab Created by anaconda on Mon Jul 12 15:41:50 2021 Created by anaconda on Mon Jul 12 15:41:50 2021 # Accessible filesystems, by reference, are maintained under '/dev/disk/'. Accessible filesystems, by reference, are maintained under '/dev/disk/'. See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info. See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info. # After editing this file, run 'systemctl daemon-reload' to update systemd After editing this file, run 'systemctl daemon-reload' to update systemd units generated from this file. units generated from this file. # /dev/mapper/cl-root / xfs defaults 0 0 UUID=171bcdb1-4ccb-46fd-85ea-0f028cd5fe36 /boot xfs defaults 0 0 /dev/mapper/cl-data /data xfs defaults 0 0 /dev/mapper/cl-swap none swap defaults 0 0 [root@CentOS8 ~]#
[root@CentOS8 ~]# cat /etc/fstab # # /etc/fstab # Created by anaconda on Mon Jul 12 15:41:50 2021 # # Accessible filesystems, by reference, are maintained under '/dev/disk/'. # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info. # # After editing this file, run 'systemctl daemon-reload' to update systemd # units generated from this file. # /dev/mapper/cl-root / xfs defaults 0 0 UUID=171bcdb1-4ccb-46fd-85ea-0f028cd5fe36 /boot xfs defaults 0 0 /dev/mapper/cl-data /data xfs defaults 0 0 /dev/mapper/cl-swap none swap defaults 0 0 [root@CentOS8 ~]# sed -rn "/^[^#|$]/s/^(\S+)\s*(\S+).*/\1 \2/p" /etc/fstab /dev/mapper/cl-root / UUID=171bcdb1-4ccb-46fd-85ea-0f028cd5fe36 /boot /dev/mapper/cl-data /data /dev/mapper/cl-swap none [root@CentOS8 ~]#
apt [options] [command] [package ...]
列出所有可更新的软件清单命令:sudo apt update
升级软件包:sudo apt upgrade
列出可更新的软件包及版本信息:apt list --upgradeable
升级软件包,升级前先删除需要更新软件包:sudo apt full-upgrade
安装指定的软件命令:sudo apt install <package_name>
安装多个软件包:sudo apt install <package_1> <package_2> <package_3>
更新指定的软件命令:sudo apt update <package_name>
显示软件包具体信息,例如:版本号,安装大小,依赖关系等等:sudo apt show <package_name>
删除软件包命令:sudo apt remove <package_name>
清理不再使用的依赖和库文件: sudo apt autoremove
移除软件包及配置文件: sudo apt purge <package_name>
查找软件包命令: sudo apt search <keyword>
列出所有已安装的包:apt list --installed
列出所有已安装的包的版本信息:apt list --all-versions