VMware esxi安裝centos7操作系統(編譯安裝wazuh4.8.0)
1.centos配置IP
#編輯網絡配置文件
vi /etc/sysconfig/network-scripts/ifcfg-ens19
BOOTPROTO=static # 將 dhcp 改為 static
ONBOOT=yes # 確保開機自啟
# 添加以下靜態配置項,根據網絡環境修改:
IPADDR=192.168.1.100 # 您想設置的靜態IP
NETMASK=255.255.255.0 # 子網掩碼
GATEWAY=192.168.1.1 # 網關地址
DNS1=8.8.8.8 # 主DNS服務器
DNS2=1.1.1.1 # 備DNS服務器
2.Minimal 安裝通常默認已安裝并啟動了 sshd 服務
systemctl status sshd
3.修改官方鏡像源
# 切換到源配置目錄
cd /etc/yum.repos.d/
# 創建備份目錄
sudo mkdir repo_backup
# 備份所有現有的 .repo 文件
sudo mv *.repo repo_backup/
# 查看系統版本
cat /etc/redhat-release
#替換為阿里云源(CentOS 7)
sed -e 's|^mirrorlist=|#mirrorlist=|g' \
-e 's|^#baseurl=http://mirror.centos.org|baseurl=https://mirrors.aliyun.com|g' \
-i.bak \
/etc/yum.repos.d/CentOS-Base.repo
# 清理舊緩存
yum clean all
# 建立新緩存
yum makecache
4.修改EPEL源
#卸載已有的 EPEL 包
yum remove epel-release
#備份舊的 EPEL 配置文件(如果存在)
cd /etc/yum.repos.d/
# 創建備份文件夾
sudo mkdir bak
# 將已有的 epel 相關配置移動到備份文件夾
sudo mv epel* bak/ 2>/dev/null || true
# 這條命令的意思是:嘗試移動所有以 epel 開頭的文件,如果不存在則忽略錯誤(|| true)
#下載阿里鏡像源
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
# 清理舊緩存
yum clean all
# 重建新緩存
yum makecache
5.安裝Python3
#源碼編譯安裝
1. 安裝依賴項
yum groupinstall -y "Development Tools"
yum install -y openssl-devel bzip2-devel libffi-devel sqlite-devel readline-devel
2. 下載并編譯 Python 3
cd /opt
wget https://www.python.org/ftp/python/3.9.7/Python-3.9.7.tgz
tar xzf Python-3.9.7.tgz
cd Python-3.9.7
./configure --enable-optimizations
make altinstall
注意:使用 altinstall 而不是 install 可以防止覆蓋系統默認的 Python 二進制文件
3. 驗證安裝
python3.9 --version
pip3.9 --version
6.修改默認Python版本為Python3
使用 alternatives 系統(推薦)
1. 安裝 alternatives
yum install -y alternatives
2. 添加 Python 3 到 alternatives
alternatives --install /usr/bin/python python /usr/local/bin/python3.9 1
3. 配置默認 Python 版本
alternatives --config python
系統會顯示可用的 Python 版本列表,輸入選擇數字并按回車
4. 對 pip 做同樣操作
alternatives --install /usr/bin/pip pip /usr/local/bin/pip3.9 1
alternatives --config pip
5.驗證設置
python --version
pip --version
7.安裝壓縮工具
# 安裝 p7zip
yum install p7zip
#解壓
7za x wazuh.7z
8.安裝wazuh-manager的郵件通知
3.1- Do you want e-mail notification? (y/n) [n]: y
- What's your e-mail address? 3235252867@qq.com
- What's your SMTP server ip/host? smtp.qq.com
9.源碼編譯安裝cmake
卸載舊版本CMake(可選但推薦)
yum remove -y cmake
安裝編譯依賴
yum install -y gcc gcc-c++ make openssl-devel
下載新版CMake源碼包
以 3.28.3 版本為例
wget https://github.com/Kitware/CMake/releases/download/v3.28.3/cmake-3.28.3.tar.gz
tar -zxvf cmake-3.28.3.tar.gz
cd cmake-3.28.3
編譯并安裝
./bootstrap
make -j$(nproc) # 使用所有CPU核心進行編譯,加快速度
sudo make install
驗證安裝
cmake --version
重新編譯Wazuh
10.編譯wazuh出現錯誤
CMake Error at CMakeLists.txt:237 (add_subdirectory):
The source directory
/opt/wazuh/src/shared_modules/http-request
does not contain a CMakeLists.txt file.
#--recursive 參數會讓 Git 自動初始化并克隆所有子模塊
git clone --recursive https://github.com/wazuh/wazuh.git -b v4.8.0
11.編譯wazuh出現gcc版本過低
修改 SCL 倉庫的 BaseURL(最有效的解決方案)
#備份原有的倉庫文件(一個好習慣):
cp /etc/yum.repos.d/CentOS-SCLo-scl.repo /etc/yum.repos.d/CentOS-SCLo-scl.repo.backup
cp /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo.backup
修改 CentOS-SCLo-scl-rh.repo 文件。
vi /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo
#修改文件中的 baseurl:
你會看到文件中有 [centos-sclo-rh] 和 [centos-sclo-rh-source] 等段落。找到所有包含 mirror.centos.org 的 baseurl 行,將其注釋掉(在行首加 #),然后取消注釋(去掉行首的 #)包含 vault.centos.org 的 baseurl 行,或者直接添加新的 baseurl。
修改后的 [centos-sclo-rh] 部分示例:
[centos-sclo-rh]
name=CentOS-$releasever - SCLo rh
# 注釋掉原來的 mirrorlist 和 baseurl
# mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=sclo-rh
# baseurl=http://mirror.centos.org/centos/$releasever/sclo/$basearch/rh/
# 添加新的指向 vault 的 baseurl
baseurl=http://vault.centos.org/centos/$releasever/sclo/$basearch/rh/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo
同樣地,修改 [centos-sclo-rh-source] 部分:
[centos-sclo-rh-source]
name=CentOS-$releasever - SCLo rh Sources
# mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=sclo-rh-source
# baseurl=http://mirror.centos.org/centos/$releasever/sclo/$basearch/rh/
baseurl=http://vault.centos.org/centos/$releasever/sclo/$basearch/rh/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo
保存文件并退出編輯器。
清理 Yum 緩存并重新生成:
yum clean all
yum makecache
12.使用SCL安裝GCC11
使用 SCL 安裝 GCC 11(推薦)
yum install -y centos-release-scl
安裝 Developer Toolset 11,其中包含 GCC 11:
yum install -y devtoolset-11-gcc devtoolset-11-gcc-c++ devtoolset-11-make
啟用 Developer Toolset 11 環境:
安裝完成后,您需要啟動一個新的 shell 會話,在這個會話中,新版本的 GCC 會被臨時添加到環境變量的最前面。
scl enable devtoolset-11 bash
重要: 這條命令會為當前終端開啟一個新的 bash 子 shell。您會注意到命令提示符可能沒有變化,但接下來的編譯命令都將使用新版的 GCC。
驗證新編譯器版本:
gcc --version
g++ --version
繼續安裝 Wazuh:
cd /opt/wazuh
# 如果您使用 install.sh
./install.sh

浙公網安備 33010602011771號