本站站点已完全迁移并使用CentOS 8操作系统。
网站部署组件LAMP及邮件服务器组件均已重新编译安装并迁移完成。
自己所整理的Doc文档也进行了更新,过程中遇到的一些问题拿出来给大家分享。
迁移主因:
- Dropbox更新过之后,对系统内核提升了要求,无法在CentOS7上正常运行;导致备份文件不能同步。
其它:
- MySQL 8.0.14 版本之后,对编译GCC版本要求提升,需要5.3以上版本,CentOS7自带版本不满足要求(当然也可自行编译)
迁移后感受:
- 系统流畅度提升;系统从内核到各个安装组件版本都进行了大版本的提升(内核4.18,GCC 8.2.1,OpenSSL 1.1.1等),包管理器由yum改为dnf,yum命令保留,但调用为dnf库,执行效率显著提升。
- systemctl服务包管理稳定度提升;之前在CentOS7系统下,部分服务在系统重启后自动启动会出现问题需要手动启动,迁移至CentOS8下重启后可正常启动。
编译使用过程中遇到些问题,特记录如下:
OpenSSL 编译安装;编译安装时注意添加enable-md2选项,否则如果添加进系统共享库调用路径中,再执行yum/dnf被调用到的话,会报错“symbol EVP_md2 version OPENSSL_1_1_0 not defined in file libcrypto.so.1.1”;完整编译如下:
wget https://www.openssl.org/source/openssl-1.1.1d.tar.gz tar zxf openssl-1.1.1d.tar.gz -C /usr/local/src/ cd /usr/local/src/openssl-1.1.1d/ CFLAGS="-fPIC -O3" ./config --prefix=/usr/local/openssl shared threads zlib enable-md2 --release make -j `cat /proc/cpuinfo | grep processor | wc -l` && make install echo '/usr/local/openssl/lib' >> /etc/ld.so.conf.d/complie.conf echo 'export PATH=/usr/local/openssl/bin:$PATH' > /etc/profile.d/openssl.sh source /etc/profile.d/openssl.sh openssl version cd -
MySQL8执行cmake配置时报错“Could not find rpcgen”,需要安装rpcsvc库:
wget https://github.com/thkukuk/rpcsvc-proto/releases/download/v1.4/rpcsvc-proto-1.4.tar.xz tar Jxf rpcsvc-proto-1.4.tar.xz -C /usr/local/src/ cd /usr/local/src/rpcsvc-proto-1.4/ CFLAGS="-fPIC -O3" ./configure make -j `cat /proc/cpuinfo | grep processor | wc -l` && make install cd –
编译postfix报错找不到”rpcsvc/ypclnt.h:”,需先安装libnsl,libnsl组件早已废弃,功能还在维护供其它调用,postfix编译安装时就需要它,CentOS8目前官方源中提供并预装了libnsl2库,也提供了libnsl库,但未提供相应的devel库,故需自行编译安装:
wget https://github.com/thkukuk/libnsl/archive/v1.2.0.tar.gz -O libnsl-1.2.0.tar.gz tar zxf libnsl-1.2.0.tar.gz -C /usr/local/src/ cd /usr/local/src/libnsl-1.2.0/ yum install -y gettext-devel libtool vim configure.ac
AM_INIT_AUTOMAKE([subdir-objects])
./autogen.sh CFLAGS="-fPIC -O3" ./configure make -j `cat /proc/cpuinfo | grep processor | wc -l` && make install cd -
编译OpenDKIM;由于opendkim释出版本长期未更新,使用openssl 1.1以上版本,其不能配置通过(Bugs),需要下载其Github上最新Bate包使用;CentOS8也未提供sendmail-milter的devel库,也需自行编译安装,过程如下:
wget ftp://ftp.sendmail.org/pub/sendmail/sendmail.8.15.2.tar.gz tar zxf sendmail.8.15.2.tar.gz -C /usr/local/src/ cd /usr/local/src/sendmail-8.15.2/libmilter ./Build Make && make install cd -
wget https://github.com/trusteddomainproject/OpenDKIM/archive/rel-opendkim-2-11-0-Beta2.tar.gz tar zxf rel-opendkim-2-11-0-Beta2.tar.gz -C /usr/local/src/ cd /usr/local/src/OpenDKIM-rel-opendkim-2-11-0-Beta2 aclocal autoconf autoheader libtoolize automake --add-missing
CFLAGS="-fPIC -O3" ./configure --prefix=/usr/local/opendkim --with-openssl=/usr/local/openssl --with-libcurl=/usr/local/curl --with-libxml2=/usr/local/libxml2 --with-sql-backend=/usr/local/mysql --enable-query_cache make -j `cat /proc/cpuinfo | grep processor | wc -l` && make install mkdir -p /data/mail/dkim cp opendkim/opendkim.conf.sample /data/mail/dkim/opendkim.conf groupadd -g 267 opendkim useradd -g opendkim -u 267 -s /sbin/nologin -M opendkim -c "OpenDKIM User"