前期准备

mkdir -p /data/src /data/unzip /data/install
yum install -y wget bzip2 gcc libxml2-devel

备完, 暂时不安装 gcc-c++

因为openssl需要zlib, nginx需要zlib
wget http://www.zlib.net/zlib-1.2.11.tar.gz -O /data/src/zlib-1.2.11.tar.gz
tar zxf /data/src/zlib-1.2.11.tar.gz -C /data/unzip
得到 /data/unzip/zlib-1.2.11


因为openssl需要perl5
wget https://www.cpan.org/src/5.0/perl-5.32.1.tar.gz -O /data/src/perl-5.32.1.tar.gz
tar -zxf /data/src/perl-5.32.1.tar.gz -C /data/unzip
cd /data/unzip/perl-5.32.1
./Configure -des -Dprefix=/data/install/perl5.32.1 -Dusethreads -Uversiononly
make
make install
mv /usr/bin/perl /usr/bin/perl.old
ln -s /data/install/perl5.32.1/bin/perl /usr/bin/perl
perl -v


安装openssl 1.0.2u 和 1.1.1j, 新老有别

apache2.4

wget https://github.com/openssl/openssl/archive/OpenSSL_1_1_1j.tar.gz -O /data/src/OpenSSL_1_1_1j.tar.gz
tar zxf /data/src/OpenSSL_1_1_1j.tar.gz -C /data/unzip
cd /data/unzip/openssl-OpenSSL_1_1_1j
./config enable-weak-ssl-ciphers -fPIC --prefix=/data/install/openssl.1.1.1j --openssldir=/usr/local/openssl.1.1.1j
make depend
make -j grep 'processor' /proc/cpuinfo | wc -l
make install
ln -sf /usr/local/openssl.1.1.1j/lib/libcrypto.so.1.1 /usr/lib/
ln -sf /usr/local/openssl.1.1.1j/lib/libssl.so.1.1 /usr/lib/

nginx 和 php 等

wget https://github.com/openssl/openssl/archive/OpenSSL_1_0_2u.tar.gz -O /data/src/OpenSSL_1_0_2u.tar.gz
tar zxf /data/src/OpenSSL_1_0_2u.tar.gz -C /data/unzip
cd /data/unzip/openssl-OpenSSL_1_0_2u
./config -fPIC --prefix=/data/install/openssl.1.0.2u --openssldir=/data/install/openssl.1.0.2u
make depend
make -j grep 'processor' /proc/cpuinfo | wc -l
make install


因为高版本curl的DNS查询需要高版本的c-ares
wget https://c-ares.haxx.se/download/c-ares-1.17.1.tar.gz -O /data/src/c-ares-1.17.1.tar.gz
tar zxf /data/src/c-ares-1.17.1.tar.gz -C /data/unzip


因为PHP7.4需要curl curl-7.62.0, 注意:版本太新则c-ares检测失败

wget https://github.com/curl/curl/releases/download/curl-7_62_0/curl-7.62.0.tar.gz -O /data/src/curl-7.62.0.tar.gz
tar zxf /data/src/curl-7.62.0.tar.gz -C /data/unzip
cd /data/unzip/curl-7.62.0
./configure --prefix=/data/install/curl-7.62 --enable-ares --without-nss --with-zlib=/data/unzip/zlib-1.2.11 --with-ssl=/data/install/openssl.1.0.2u
make -j grep 'processor' /proc/cpuinfo | wc -l
make install
ldconfig


因为PHP7.4需要pcre
wget ftp://ftp.pcre.org/pub/pcre/pcre-8.44.tar.gz -O /data/src/pcre-8.44.tar.gz
tar zxf /data/src/pcre-8.44.tar.gz -C /data/unzip


因为PHP7.4需要freetype 2.7
wget https://download.savannah.gnu.org/releases/freetype/freetype-2.7.1.tar.gz -O /data/src/freetype-2.7.1.tar.gz
tar zxf /data/src/freetype-2.7.1.tar.gz -C /data/unzip
cd /data/unzip/freetype-2.7.1
./configure --prefix=/data/install/freetype-2.10.4
make -j grep 'processor' /proc/cpuinfo | wc -l
make install
cp /data/install/freetype-2.7.1/lib/pkgconfig/freetype2.pc /usr/lib/pkgconfig/
cat > /etc/ld.so.conf.d/freetype.conf<<EOF
/data/install/freetype-2.7.1/lib
EOF
ldconfig
ln -sf /data/install/freetype-2.7.1/include/freetype2/* /usr/include/


wget http://mirrors.sohu.com/php/php-7.4.15.tar.gz -O /data/src/php-7.4.15.tar.gz
tar zxf /data/src/php-7.4.15.tar.gz -C /data/unzip
cd /data/unzip/php-7.4.15

./configure \
--prefix=/data/php \
--with-config-file-path=/data/php/etc \
--with-config-file-scan-dir=/data/php/conf.d \
--enable-fpm \
--with-fpm-user=www \
--with-fpm-group=www \
--enable-mysqlnd \
--with-mysqli=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-pdo-sqlite \
--with-iconv-dir \
--with-freetype=/data/install/freetype-2.7.1 \
--with-jpeg \
--with-png \
--with-webp \
--with-zlib \
--with-bz2 \
--enable-phar \
--enable-xml \
--with-libxml-dir \
--enable-libxml \
--disable-rpath \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-sysvshm \
--enable-sysvmsg \
--enable-inline-optimization \
--with-curl=/data/install/curl-7.62 \
--enable-mbstring \
--enable-mbregex \
--enable-intl \
--enable-pcntl \
--enable-ftp \
--enable-gd \
--with-openssl=/data/unzip/openssl-OpenSSL_1_0_2u \
--with-mhash \
--enable-sockets \
--with-xmlrpc \
--with-zip \
--without-libzip \
--enable-soap \
--with-gettext \
--enable-opcache \
--with-xsl \
--with-pear \
--with-pcre=/data/unzip/pcre-8.44 \
--with-pcre-regex \
--enable-exif \
--with-libdir=/lib64

标签: none

添加新评论