linux源码安装服务器所需要的一些依赖库(待完善)
apaeche :
yum -y install gcc gcc-c++ zlib zlib-devel openssl openssl-devel cmake kernel-devel pcre-devel pcre httpd-devel apr apr-util expat-devel (apr所依赖的库)
apr apr-util 这两个必须编译安装,yum安装出问题
wget http://mirrors.aliyun.com/apache//apr/apr-1.5.2.tar.gz wget http://mirrors.aliyun.com/apache//apr/apr-util-1.5.4.tar.gz
然后分别解压,并安装(一定要确保安装了 gcc-c++ 没有的话使用 yum install gcc-c++ 进行安装)
tar -zxvf apr-1.5.2.tar.gz cd apr-1.5.2 ./configure --prefix=/usr/local/apr/ make && make install
tar -zxvf apr-util-1.5.4.tar.gz cd apr-util-1.5.4
./configure --prefix=/usr/local/apr-util -with-apr=/usr/local/apr/bin/apr-1-config make && make install
mysql :
yum install -y cmake gcc gcc-c++ boost boost-devel bison bison-devel ncurses ncurses-devel perl libaio
补充:
安装前的有关描述
必备的包和工具
gcc/g++ :MySQL 5.6开始,需要使用g++进行编译。
cmake :MySQL 5.5开始,使用cmake进行工程管理,cmake需要2.8以上版本。
bison :MySQL语法解析器需要使用bison进行编译。
ncurses-devel :用于终端操作的开发包。
zlib :MySQL使用zlib进行压缩
功能需要的包
libxml :用于XML输入输出方式的支持。
openssl :使用openssl安全套接字方式通信。
dtrace :用于诊断MySQL问题。
有关MySQL编译参数
CMAKE_BUILD_TYPE 编译的版本类型:RelWithDebInfo和Debug,不同之处是RelWithDebInfo会进行优化。
CMAKE_INSTALL_PREFIX 指定make install安装的目标路径。
SYSCONFDIR 指定配置文件的默认路径。
MYSQL_DATADIR 指定data目录的默认路径。
WITH_DEBUG 指定是否有debugging信息,一般用于源码调试时,打开WITH_DEBUG,生产环境关闭。
ENABLED_PROFILING 指定是否可以使用show profile显示操作执行的详细信息。
DEFAULT_CHARSET 指定默认字符集,可以在启动的配置文件中指定。
DEFAULT_COLLATION 指定默认字符比较、排序的规则。
WITH_EXTRA_CHARSETS 指定其他可能使用的字符集。
WITH_SSL 指定SSL的类型,从5.6.6开始默认bundled类型,此外也可以指定SSL库的路径地址。
WITH_ZLIB 指定zlib的类型,用于压缩功能。
ENABLED_LOCAL_INFILE 指定是否允许使用load data infile功能。
WITH_EMBEDDED_SERVER 指定是否编译libmysqld嵌入式库。
INSTALL_LAYOUT 指定安装的布局类型。
WITH_storage_STORAGE_ENGINE 指定编译支持的存储引擎,默认支持MyISAM,MERGE,MEMORY,CSV存储引擎。
更多详细参数可参考 http://dev.mysql.com/doc/refman/5.5/en/source-configuration-options.html
nginx:
yum install gcc gcc-c++ autoconf automake zlib zlib-devel openssl openssl-devel -y
GCC编译器
yum install -y gcc
G++编译器:C++来编译Nginx的http模块
yum install -y gcc-c++
PCRE库:正则表达式
yum install -y pcre pcre-devel
zlib库
对HTTP包的内容作gzip压缩
yum install -y zlib zlib-devel
OpenSSL开发库
如果服务器要支持在SSL协议上传输HTTP就需要OpenSSL
yum install -y openssl openssl-devel
php:
安装准备
依赖包的安装:
php需要php-mcrypt libmcrypt libmcrypt-devel autoconf freetype gd jpegsrc libmcrypt libpng libpng-devel libjpeg libxml2 libxml2-devel zlib curl curl-devel php-dev php-pear php-mysql php-pdo 这些依赖,
还是用yum安装
yum -y install php-mcrypt libmcrypt libmcrypt-devel autoconf freetype gd jpegsrc libmcrypt libpng libpng-devel libjpeg libxml2 libxml2-devel zlib curl curl-devel php-dev php-pear php-mysql php-pdo bzip2-devel
或(php7的准备)
yum install -y gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libpng libpng-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses curl openssl-devel gdbm-devel db4-devel libXpm-devel libX11-devel gd-devel gmp-devel readline-devel libxslt-devel expat-devel xmlrpc-c xmlrpc-c-devel libwebp libwebp-devel enchant-devel libc-client-devel
补充:
如果之前已经安装我们先卸载一下
yum -y remove php*
由于linux的yum源不存在php7.x,所以我们要更改yum源
(下面这个文章里面提供的yum源也很全: https://blog.csdn.net/monologue_88/article/details/71479961 )
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum 安装php72w和各种拓展,选自己需要的即可
yum -y install php72w php72w-cli php72w-common php72w-devel php72w-embedded php72w-fpm php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml
下面这个更全一些
yum install -y php72w mod_php72w php72w-bcmath php72w-cli php72w-common php72w-dba php72w-devel php72w-embedded php72w-enchant php72w-fpm php72w-gd php72w-imap php72w-interbase php72w-intl php72w-ldap php72w-mbstring php72w-mysqlnd php72w-odbc php72w-opcache php72w-pdo php72w-pdo_dblib php72w-pear.noarch php72w-pecl-apcu php72w-pecl-apcu-devel php72w-pecl-geoip php72w-pecl-igbinary php72w-pecl-igbinary-devel php72w-pecl-imagick php72w-pecl-imagick-devel php72w-pecl-libsodium php72w-pecl-memcached php72w-pecl-mongodb php72w-pecl-redis php72w-pecl-xdebug php72w-pgsql php72w-phpdbg php72w-process php72w-pspell php72w-recode php72w-snmp php72w-soap php72w-sodium php72w-tidy php72w-xml php72w-xmlrpc