一、安装前准备1.下载所需软件包:
apr             | http://apache.etoak.com/apr/
apr-util        | http://apache.etoak.com/apr/
autoconf        | http://ftp.gnu.org/gnu/autoconf/
curl            | http://curl.haxx.se/download/
freetype        | http://download.savannah.gnu.org/releases/freetype/
httpd           | http://httpd.apache.org/download.cgi
jpegsrc         | http://www.ijg.org/files/
libgd           | http://www.libgd.org
libmcrypt       | http://sourceforge.net/projects/mcrypt/files/Libmcrypt/
libpng          | ftp://ftp.simplesystems.org/pub/libpng/png/src/
libxml          | ftp://xmlsoft.org/libxml2/
mysql           | ftp://mirror.switch.ch/mirror/mysql/Downloads/
pcre            | http://pcre.org/
php             | http://www.php.net/downloads.php
zlib            | http://www.zlib.net2.暂关闭SELinux和防火墙(Netfilter/iptables)A.暂关闭SELinux# vi /etc/selinux/config 或vi其软链接文件(# vi /etc/sysconfig/selinux)在约第6行,设置为禁用,即:SELINUX=disabled修改后重启linux方可生效!B.暂关闭防火墙(Netfilter/iptables),有些Linux系统防火墙对80端口可能默认禁止访问,参考命令:    查看一下开启情况:# chkconfig --list iptables
将启动级别235关闭防火墙的启动# chkconfig --levels 235 iptables off
    或执行取消防火墙# iptables -F3.【可选】如果无法使用网络yum源,也可尝试使用本地光盘作为yum源,方法: A.进入 /etc/yum.repos.d/ 目录,此目录内存放有两个重要文件: CentOS-Base.repo 和 CentOS-Media.repo这个CentOS-Base.repo是配置网络yum源文件,也是yum命令优先查找的文件,将此文件更名让yum命令找不到此配置文件,而放弃使用网络yum源:# cd /etc/yum.repos.d/# mv CentOS-Base.repo BAK.CentOS-Base.repo
  B.vi编辑修改CentOS-Media.repo配置文件,此文件是能指引yum命令在本地寻找yum源的配置文件:# vi CentOS-Media.repo参考约第18行,为baseurl再添加一行备选项:file:///mnt/cdrom/在约第20行,设置使rpm验证不生效,更改为:gpgcheck=0在约第21行,设置本地yum源为启动,更改为:enabled=1# yum clean all                    清除原有的yum信息# pkill -9 yum-updatesd            如果yum报错正在升级,执行此命令,强制杀死升级进程# /etc/init.d/yum-updatesd restart 如果需要重启yum服务
C.挂载光盘:# mount /dev/cdrom /media/
D.卸载光盘:# umount /media/
小结: 这样光盘既可以挂载到/media/下,也可以挂载到/mnt/cdrom/下;如果以后再想使用网络yum源,只需再将 BAK.CentOS-Base.repo 的名字改回来即可;4.分别为 apache / mysql 创建执行用户组和用户A.创建 apache 组,添加 apache 用户并指定其缺省所属 apache 组  # groupadd apache                                创建组# useradd -M -g apache -s /sbin/nologin apache   添加用户(不创建家目录、指定所属组、非登录用户)# cat /etc/passwd | grep apache                  查看添加情况-用户# cat /etc/group | grep apache                   查看添加情况-组
B.创建mysql组,添加mysql用户并指定其缺省所属mysql组  # groupadd mysql                                 创建组# useradd -M -g mysql -s /sbin/nologin mysql     添加用户(不创建家目录、指定所属组、非登录用户)# cat /etc/passwd | grep mysql                   查看添加情况-用户# cat /etc/group | grep mysql                    查看添加情况-组
二、检查安装环境,安装必要编译工具1.查看或卸载已安装的二进制包apache和mysql(如果是源码包安装的直接删除安装目录即可)A.查看apache和mysql是否已安装,以下命令均可:# rpm -qa | grep httpd# rpm -qa | grep mysql# httpd -v# mysql -VB.卸载二进制包安装的apache和mysql,若报有依赖关系提示可加--nodeps选项:# rpm -e --nodeps httpd# rpm -e --nodeps mysql# yum remove httpd# yum remove mysql2.安装或升级必需的编译工具 gcc  gcc-c++  libstdc++-devel 至少v4.4或更高版本:      # rpm -qa | grep "gcc*"# rpm -qa | grep make# rpm -qa | grep "libstdc++*"
如果没有安装,推荐yum安装(确保gcc gcc-c++安装v4.4版本以上),参考命令:# yum install -y gcc gcc-c++# yum install -y make# yum install -y gcc44 gcc44-c++    //注:如果gcc gcc-c++安装v4.4版本以上此步可跳过# yum install -y libstdc++44-devel  //注:如果libstdc++-devel安装v4.4版本以上此步可跳过3.检查编译libgd库需要的软件包: libXpm 和 libXpm-develXpm是linux下常用的图像处理软件,可以程序具有读取xpm格式图像的功能。检查是否已安装,如没有安装,推荐yum安装:# rpm -qa | grep "libXpm*"# rpm -qa | grep libXpm-devel-------------------------------# yum install -y libXpm libXpm-devel4.检查编译 libeventlibevent是一个事件触发的网络库,适用于windows、linux、bsd等多种平台,内部使用select、epoll、kqueue等系统调用管理事件机制。检查是否已安装,如没有安装,推荐yum安装:# rpm -qa | grep libevent-------------------------------# yum install -y libevent5.检查编译apache/nginx所需软件包: openssl 和 openssl-develOpenSSL 是一个支持加密术的工具包。openssl-devel软件包包括开发支持多种加密算式和协议的程序所需的静态库和包含文件。检查是否已安装,如没有安装,推荐yum安装:# rpm -qa | grep "openssl*"# rpm -qa | grep openssl-devel-------------------------------# yum install -y openssl openssl-devel6.检查编译MySQL所需软件包:A.检查 ncurses 和 ncurses-devel 否已安装,如没有安装可使用yum安装:Ncurses 提供字符终端处理库,包括面板和菜单。# rpm -qa | grep "ncurses*"# rpm -qa | grep ncurses-devel-------------------------------# yum install -y ncurses# yum install -y ncurses-devel
B.检查 cmake 和 bison 否已安装,如没有安装可使用yum安装:CMake 是一个跨平台的自动化建构系统,它使用一个名为 CMakeLists.txt 的文件来描述构建过程,可以产生标准的构建文件,如 Unix 的 Makefile 或Windows Visual C++ 的 projects/workspaces 。GNU bison 是属于 GNU 项目的一个语法分析器生成器。Bison 把一个关于“向前查看 从左到右 最右”(LALR) 上下文无关文法的描述转化成可以分析该文法的 C 或 C++ 程序。它也可以为二义文法生成 “通用的 从左到右 最右” (GLR)语法分析器。# rpm -qa | grep cmake# rpm -qa | grep bison-------------------------------# yum install -y cmake# yum install -y bison7.检查编译PHP需要的软件包: libtool 和 libtool-ltdl 和 libtool-ltdl-develGNU libtool 是一个通用库支持脚本,将使用动态库的复杂性隐藏在统一、可移植的接口中。用来生成动态库和静态库,可以直接用,也可以和automake和autoconf一起用,生成后缀是la的库文件,被程序调用,生成Makefile不可少的工具检查是否已安装,如没有安装,推荐yum安装:# rpm -qa | grep "libtool*"# rpm -qa | grep libtool-ltdl  -------------------------------# yum install -y libtool# yum install -y libtool-ltdl# yum install -y libtool-ltdl-devel
★ 至此安装前的准备工作基本完成,建议重启一下系统,再安装!三、开始安装1.安装zlib -- 是apache/nginx和PHP编译所必需zlib是提供数据压缩用的函式库,由Jean-loup Gailly与Mark Adler所开发,初版0.9版在1995年5月1日发表。zlib使用DEFLATE算法,最初是为libpng函式库所写的,后来普遍为许多软件所使用。此函式库为自由软件,使用zlib授权注:若不指定安装路径,以后可以通过使用命令: # rpm -ql zlib 查看其安装位置(通常是安装在 /usr/lib/ 目录内) # tar -zxvf zlib-1.2.8.tar.gz && cd zlib-1.2.8# ./configure --prefix=/usr/local/zlib/# make# make install2.安装 pcre 软件包 -- 是apache/nginx编译所必需PCRE(Perl Compatible Regular Expressions中文含义:perl语言兼容正则表达式)是一个用C语言编写的正则表达式函数库,由菲利普.海泽(Philip Hazel)编写。PCRE是一个轻量级的函数库,比Boost之中的正则表达式库小得多。PCRE十分易用,同时功能也很强大,性能超过了POSIX正则表达式库和一些经典的正则表达式库。# tar -zxvf pcre-8.32.tar.gz && cd pcre-8.32# ./configure --prefix=/usr/local/pcre/# make# make install3.安装 libxml2 (libxml2安装PHP必须软件包)libxml2 是一个xml c语言版的解析器,本来是为Gnome项目开发的工具,是一个基于MIT License的免费开源软件。它除了支持c语言版以外,还支持c++、PHP、Pascal、Ruby、Tcl等语言的绑定,能在Windows、Linux、Solaris、MacOsX等平台上运行。功能还是相当强大的,相信满足一般用户需求没有任何问题。A.检查 libxml2-devel 软件包是否已安装: 查看命令: # rpm -qa | grep libxml2-devel安装命令: # yum install -y libxml2-devel升级命令: # yum update libxml2-devel
B.执行安装 libxml# tar -zxvf libxml2-2.8.0.tar.gz && cd libxml2-2.8.0# ./configure --prefix=/usr/local/libxml/# make # make install4.安装 libmcryptlibmcrypt是加密算法扩展库。支持DES, 3DES, RIJNDAEL, Twofish, IDEA, GOST, CAST-256, ARCFOUR, SERPENT, SAFER+等算法。A.先安装libmcrypt包# tar -zxvf libmcrypt-2.5.8.tar.gz && cd libmcrypt-2.5.8# ./configure --prefix=/usr/local/libmcrypt/# make # make install
B.再进入libltdl目录,安装libltdl工具(也在libmcrypt源码包目录中,非新软件)# cd libltdl# ./configure --enable-ltdl-install# make# make install5.安装libpng(若版本过高反而可能报错)libpng 软件包包含libpng库,这些库被其他程式用于解码png图片。A.检查编译libpng编译需要的工具: zlib-devel查看命令: # rpm -qa | grep zlib-devel安装命令: # yum install -y zlib-devel升级命令: # yum update zlib-devel
B.执行安装libpng# tar -zxvf libpng-1.4.12.tar.gz && cd libpng-1.4.12# ./configure --prefix=/usr/local/libpng/# make# make install6.安装jpegjpeg用于解码.jpg和.jpeg图片。这个程序安装时并不会自动创建安装目录,需要人工事先帮其创建。注:--enable-shared 与 --enable-static参数分别表示为建立共享库和静态库使用的 libtool# tar -zxvf jpegsrc.v8d.tar.gz && cd jpeg-8d# ./configure --prefix=/usr/local/jpeg/ --enable-shared --enable-static# make# make install7.安装freetypeFreeType库是一个完全免费(开源)的、高质量的且可移植的字体引擎,它提供统一的接口来访问多种字体格式文件,包括TrueType, OpenType, Type1, CID, CFF, Windows FON/FNT, X11 PCF等。支持单色位图、反走样位图的渲染。FreeType库是高度模块化的程序库,虽然它是使用ANSI C开发,但是采用面向对象的思想,因此,FreeType的用户可以灵活地对它进行裁剪。# tar -zxvf freetype-2.4.12.tar.gz && cd freetype-2.4.12# ./configure --prefix=/usr/local/freetype/# make# make install8.安装autoconfautoconf 是一个用于生成可以自动地配置软件源代码包以适应多种Unix类系统的shell脚本的工具。此程序最好不指定安装路径,原因是有些文件安装可能会报告找不到autoconf路径文件。# tar -zxvf autoconf-2.68.tar.gz && cd autoconf-2.68# ./configure# make# make install9.安装GD库GD库,是PHP处理图形的扩展库,GD库提供了一系列用来处理图片的API,使用GD库可以处理图片,或者生成图片。 在网站上GD库通常用来生成缩略图,或者用来对图片加水印,或者用来生成汉字验证码,或者对网站数据生成报表等。# tar -zxvf libgd-2.1.0.tar.gz && cd libgd-2.1.0# ./configure --prefix=/usr/local/libgd/ --with-png=/usr/local/libpng/ --with-jpeg=/usr/local/jpeg/ --with-freetype=/usr/local/freetype/-------------------------------------------------------------------------------------------------------注:如果在后面的PHP安装有报Xpm找不到错误,用命令查询一下上面由yum安装的 libXpm-devel 的位置,查询命令:# rpm -ql libXpm-devel....../usr/lib/libXpm.so    //32位系统/usr/lib64/libXpm.so  //64位系统......通常是安装在 /usr/lib/ 或 /usr/lib64/ 目录内,重新安装GD库,并加上 --with-xpm=/usr/lib/ 或 --with-xpm=/usr/lib64/ 这个配置选项-------------------------------------------------------------------------------------------------------# make# make install10.安装curlcurl是利用URL语法在命令行方式下工作的开源文件传输工具。它被广泛应用在Unix、多种Linux发行版中,并且有DOS和Win32、Win64下的移植版本。# tar -zxvf curl-7.16.0.tar.gz && cd curl-7.16.0# ./configure --prefix=/usr/local/curl/# make# make install11.安装apr软件包(apache2.4以上版本需要)APR(Apache portable Run-time libraries,Apache可移植运行库)的目的如其名称一样,主要为上层的应用程序提供一个可以跨越多操作系统平台使用的底层支持接口库。先安装apr# tar -zxvf apr-1.4.8.tar.gz && cd apr-1.4.8# ./configure --prefix=/usr/local/apr-httpd/# make# make install12.安装apr-util软件包(apache2.4以上版本需要)APR(Apache portable Run-time libraries,Apache可移植运行库)的目的如其名称一样,主要为上层的应用程序提供一个可以跨越多操作系统平台使用的底层支持接口库。# tar -zxvf apr-util-1.5.2.tar.gz && cd apr-util-1.5.2# ./configure --prefix=/usr/local/apr-util-httpd/ --with-apr=/usr/local/apr-httpd/# make# make install13.安装apache服务器A.执行安装# tar -zxvf httpd-2.4.6.tar.gz && cd httpd-2.4.6# ./configure --prefix=/usr/local/apache/ --sysconfdir=/usr/local/apache/etc/ --with-z=/usr/local/zlib/ --with-pcre=/usr/local/pcre/ --with-apr=/usr/local/apr-httpd/ --with-apr-util=/usr/local/apr-util-httpd/ --enable-mods-shared=all --enable-deflate --enable-speling --enable-cache --enable-file-cache --enable-disk-cache --enable-mem-cache --enable-so --enable-expires=shared --enable-rewrite=shared --enable-static-support --disable-userdir
      选项解析:--prefix=/usr/local/apache/                 指定安装目录--sysconfdir=/usr/local/apache/etc/         指定配置文件httpd.conf存放目录--with-z=/usr/local/zlib/                   指定去哪儿找zlib--with-pcre=/usr/local/pcre/                指定去哪儿找pcre--with-apr=/usr/local/apr-httpd/            指定去哪儿找apr(在编译时强制使用当前源代码中绑定的APR版本)--with-apr-util=/usr/local/apr-util-httpd/  指定去哪儿找apr-util--enable-mods-shared=all                    指定动态加载所有模块(如果去掉-shared话,是静态加载所有模块)--enable-deflate                            支持网页压缩传输--enable-speling                            支持更正普通的URL拼写错误--enable-cache                              支持缓存--enable-file-cache                         支持文件缓存--enable-disk-cache                         支持磁盘缓存--enable-mem-cache                          支持记忆缓存--enable-so                                 指定允许DSO(动态共享对像)--enable-expires=shared                     设置客户端缓存过期时间--enable-rewrite=shared                     支持 URL 重写--enable-static-support                     支持静态连接--disable-userdir                           禁止映射用户目录# make# make install
B.启动apache测试:# /usr/local/apache/bin/apachectl start         启动# netstat -tunpl | grep 80                      查看状态# ps -le | grep httpd                           查看状态# vi /usr/local/apache/htdocs/index.html        默认首页
注1: 如果启动时报警告:AH00557: httpd: apr_sockaddr_info_get() failed for ...(主机名)AH00558: httpd: Could not reliably determine the server fully qualified domain name, using 127.0.0.1 ......是因为 httpd.conf 配置文件中的 ServerName 项没有配置为你的主机名,这个没有关系,暂时不用理会它,待稍后再一同配置。注2: 如果确认 httpd 已经启动,但通过浏览器就是无法访问到首页,确认服务器防火墙是否屏蔽了80端口访问,解决办法: # iptables -F 关闭防火墙
注3: 若启动时提示 /usr/local/apache/modules/mod_deflate.so 无权限,可关闭SELinux,或者执行命令:# chcon -t texrel_shlib_t /usr/local/apache/modules/mod_deflate.so    类似情况 xxx.so 文件不能载入或没有权限的问题,多是SELinux问题,使用命令: “chcon -t texrel_shlib_t {文件名}”即可解决,MySQL也可能有类似问题,解决方法相似。如果没有报错,通过浏览器输入地址访问:http://{你Linux的IP地址} 如果显示 It works! 那么恭喜你apache安装成功!
C.设置apache随系统自启动(用vi编辑 /etc/rc.d/rc.local 添加也可):# echo "# Apache随系统自启动:" >> /etc/rc.d/rc.local# echo "/usr/local/apache/bin/apachectl start" >> /etc/rc.d/rc.local14.1安装MySQLA.执行安装(确认ncurses 和 ncurses-devel已安装)# tar -zxvf mysql-5.5.34.tar.gz && cd mysql-5.5.34 【MySQL5.5.xx】# tar -zxvf mysql-5.6.15.tar.gz && cd mysql-5.6.15 【MySQL5.6.xx】---------------------------------------------------------------------------------【如需安装 SphinxSE 引擎插件,目前仅支持到MySQL5.5.xx (MySQL5.6.xx暂不支持)】解压coreseek源码包# tar -zxvf coreseek-4.1-beta.tar.gz
拷贝mysqlse到MySQL源码包相应目录,并更名为sphinx# cp -Rv /root/sphinx-coreseek/coreseek-4.1-beta/csft-4.1/mysqlse ./storage/sphinx---------------------------------------------------------------------------------# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1 -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306 -DWITH_DEBUG=0 -DCMAKE_BUILD_TYPE=Release -DWITH_SPHINX_STORAGE_ENGINE=1
选项解析:-DCMAKE_INSTALL_PREFIX=/usr/local/mysql  指定安装目录-DSYSCONFDIR=/usr/local/mysql            指定配置文件my.cnf存放目录-DMYSQL_DATADIR=/usr/local/mysql/data    指定用户数据库文件存放目录-DMYSQL_UNIX_ADDR=/tmp/mysql.sock        支持使用unix套接字提高性能,指定sock文件存放路径-DDEFAULT_CHARSET=utf8                   默认字符集-DDEFAULT_COLLATION=utf8_general_ci      默认校对字符集-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk    指定也支持扩展字符集:utf8和gbk-DWITH_INNOBASE_STORAGE_ENGINE=1         支持InnoDB引擎    -DWITH_READLINE=1                        readline库-DENABLED_LOCAL_INFILE=1                 启用加载本地数据-DMYSQL_USER=mysql                       mysqld运行用户-DMYSQL_TCP_PORT=3306                    指定TCP/IP监听端口-DWITH_DEBUG=0                           去除调试模式-DCMAKE_BUILD_TYPE=Release              【如需 SphinxSE 引擎插件】-DWITH_SPHINX_STORAGE_ENGINE=1          【如需 SphinxSE 引擎插件】# make# make install
B.进入安装目录 ★# cd /usr/local/mysql/
C.对mysql安装目录更改权限方法一:用acl来让mysql用户对/usr/local/mysql有所有权限# setfacl -m u:mysql:rwx -R /usr/local/mysql# setfacl -m d:u:mysql:rwx -R /usr/local/mysql
方法二:   # chown -R mysql /usr/local/mysql   将数据库文件目录及其所有子文件,所有者改mysql用户
E.初始化数据库(创建数据库授权表)注意1:当启动MySQL服务时,会按照一定次序搜索配置文件my.cnf,先找/etc/my.cnf,找不到则会继续搜索当前安装目录"$basedir/my.cnf",这是新版MySQL5.6+以后版本的配置文件的默认位置!注意2:在CentOS 6.x版操作系统的最小安装完成后,在/etc目录下会确实存在一个my.cnf,需要将此文件更名为其他的名字或将其直接删除掉,否则,该文件会干扰源码安装的MySQL的正确配置,造成无法启动,参考命令:    # mv /etc/my.cnf /etc/my.cnf.fuck
执行初始化数据库# ./scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
注1:在 MySQL5.6 以后版本,初始化完成后会自动在安装根目录生成配置文件 my.cnf    注2:在 MySQL5.5 版本及以下版本需手工拷贝my.cnf配置文件到指定目录并更名,参考命令:# cp ./support-files/my-huge.cnf /usr/local/mysql/my.cnf14.2启动MySQL服务,并设置root密码:# /usr/local/mysql/bin/mysqld_safe --user=mysql &           启动mysql并放入后台运行# netstat -tunpl | grep 3306                                查看启动情况# /usr/local/mysql/bin/mysqladmin -uroot password '123456'  设置mysql的root密码# /usr/local/mysql/bin/mysqladmin version -uroot -p123456   查看mysql版本信息-----------------------------------------------------------------------------------------------# /usr/local/mysql/bin/mysql -uroot -p123456                              客户端登录mysql>\s;                                                                 查看字符集是否改为utf8   mysql> grant all privileges  on *.* to 'root'@'%' identified by '123456'; 授权开启支持远程连接mysql> select host,user,password from mysql.user;                         查询用户表mysql> flush privileges;                                                  刷新授权表使之立即生效-----------------------------------------------------------------------------------------------mysql> set password for 'root'@'localhost'=password('root123');           为某个已存在的用户设置密码-----------------------------------------------------------------------------------------------mysql> install plugin sphinx soname 'ha_sphinx.so';                       安装Sphinx引擎插件mysql> show engines;                                                      查看安装结果(列出SPHINX表示安装成功)    -----------------------------------------------------------------------------------------------# pkill mysqld                                                            停止mysqld服务14.3设置MySQL随系统自启动方法一: chkconfig管理法# cp -v ./support-files/mysql.server /etc/rc.d/init.d/mysqld  将mysql源码目录support-files/mysql.server拷贝到系统启动加载目录并更名# chmod 0755 /etc/rc.d/init.d/mysqld                          权限改为只有所有者root有全部权限,所属组、其它人有读、执行权限# chkconfig --add mysqld                                      把此mysqld脚本加入chkconfig管理体系(前提是此脚本已在/etc/rc.d/init.d/目录了)# chkconfig --list mysqld                                     查看mysqld脚本各系统运行级别的启动状态# chkconfig --levels 235 mysqld on                            再指定mysqld脚本在系统235级别自动启动
这样以后就可以使用:# service mysqld {start|stop|restart|reload|force-reload|status} 命令了...
方法二: 编辑 /etc/rc.d/rc.local 自启动脚本法# echo "# MySQL随系统自启动:" >> /etc/rc.d/rc.local# echo "/usr/local/mysql/bin/mysqld_safe --user=mysql &" >> /etc/rc.d/rc.local15.安装PHPA.CentOS 6.x 以上版本在 ./configure 时 可能出错: configure: error: Don’t know how to define struct flock on this system, set –enable-opcache=no解决方案,如下在系统的 /etc/ld.so.conf.d/ 目录中创建一个 xxxxxx.conf 的文件,比如:local.conf,名称可以随便取只要以.conf为后缀即可。根据你操作系统不同,选择向local.conf文件添加如下其中一行内容:/usr/local/lib       //for 32位系统/usr/local/lib64     //for 64位系统
参考命令(根据你的操作系统选其一):# echo '/usr/local/lib' > /etc/ld.so.conf.d/local.conf    //for 32位系统# echo '/usr/local/lib64' > /etc/ld.so.conf.d/local.conf  //for 64位系统# ldconfig -v  //★ :wq保存退出后,再执行此命令使之立即生效
B.执行安装# tar -zxvf php-5.5.6.tar.gz && cd php-5.5.6# ./configure --prefix=/usr/local/php/ --with-config-file-path=/usr/local/php/etc/ --with-zlib-dir=/usr/local/zlib/ --with-libxml-dir=/usr/local/libxml/ --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql/ --with-mysqli=/usr/local/mysql/bin/mysql_config --with-pdo-mysql=/usr/local/mysql/ --with-mcrypt=/usr/local/libmcrypt/ --with-png-dir=/usr/local/libpng/ --with-jpeg-dir=/usr/local/jpeg/ --with-freetype-dir=/usr/local/freetype/ --with-gd=/usr/local/libgd/ --with-curl=/usr/local/curl/ --enable-soap --enable-mbstring=all --enable-sockets --enable-zip --enable-opcache --enable-gd-native-ttf --enable-maintainer-zts
     选项解析:--prefix=/usr/local/php/                        指定PHP安装位置--with-config-file-path=/usr/local/php/etc/     指定php.ini配置文件目录--with-zlib-dir=/usr/local/zlib/                指定去哪儿找zlib--with-libxml-dir=/usr/local/libxml/            指定去哪儿找libxml--with-apxs2=/usr/local/apache/bin/apxs         指定去哪儿找apache动态模块源码,即:1.PHP安装时会将libphp5.so文件安装到apache目录下的modules目录中2.并向配置文件httpd.conf中写入“LoadModule php5_module modules/libphp5.so”配置项--with-mysql=/usr/local/mysql/                  指定去哪儿找mysql--with-mysqli=/usr/local/mysql/bin/mysql_config 指定去哪儿找mysqli--with-pdo-mysql=/usr/local/mysql/              指定去哪儿找pdo-mysql--with-mcrypt=/usr/local/libmcrypt/             指定去哪儿找libmcrypt--with-png-dir=/usr/local/libpng/               指定去哪儿找libpng--with-jpeg-dir=/usr/local/jpeg/                指定去哪儿找jpeg--with-freetype-dir=/usr/local/freetype/        指定去哪儿找freetype--with-gd=/usr/local/libgd/                     指定去哪儿找GD库--with-curl=/usr/local/curl/                    指定去哪儿找curl      --enable-soap                                   支持soap--enable-mbstring=all                           支持多字节,字符串--enable-sockets                                支持套接字--enable-zip                                    打开对zip的支持--enable-opcache                                支持Zend OPcache缓存加速--enable-gd-native-ttf                          支持TrueType字符串函数库--enable-maintainer-zts                         允许线程安全(使用多线程此项必选)# make# make install
四、配置篇1.拷贝生成PHP配置文件php.ini,并简单配置    将php源码包中的 php.ini-development 拷贝到 /usr/local/php/etc/ 中,并更名为php.ini# cp php.ini-development /usr/local/php/etc/BAK.php.ini# cp php.ini-development /usr/local/php/etc/php.ini
vi编辑打开php.ini文件# vi /usr/local/php/etc/php.ini
找到约第923行,设置时区为中国时区:date.timezone = PRC2.编辑Apache服务器的配置文件 httpd.confA.配置httpd.conf文件# cp /usr/local/apache/etc/httpd.conf /usr/local/apache/etc/BAK.httpd.conf   备份# vi /usr/local/apache/etc/httpd.conf                                        编辑
    在约第176 177行,找到User和Group,这里指定Apache以哪个组、用户身份运行,将其修改为:User apache  Group apache参考约第207行,指定服务器主机名ServerName(前文提到过),如下: ServerName localhost:80在约第231行,找到默认站点根目录(DocumentRoot "/usr/local/apache//htdocs"),改为自己的站点目录:DocumentRoot "/wwwroot"在约第232行,找到默认站点根目录访问规则配置(<Directory "/usr/local/apache//htdocs">),改为自己的站点目录:<Directory "/wwwroot">参考约第265行,添加apache默认索引文件名,如下:DirectoryIndex index.html index.htm index.php index.phtml参考约第393行,添加apache支持文件类型app,使其支持PHP,如下:AddType application/x-httpd-php .php .phtml .phps            # 注: .phtml为将.phps做为PHP源文件语法高亮显示
B.创建自己的站点目录,并设置用户apache对站点目录的操作权限# mkdir /wwwroot# setfacl -m u:apache:rwx -R /wwwroot# setfacl -m d:u:apache:rwx -R /wwwroot
C.重启Apache服务器: # /usr/local/apache/bin/apachectl stop# /usr/local/apache/bin/apachectl start
D.在自己站点目录下写一个phpinfo.php文件测试效果: # echo '<?php phpinfo();?>' > /wwwroot/phpinfo.php3.编辑MySQL数据库的配置文件 my.cnf# vi /usr/local/mysql/my.cnf
[mysqld] 区块修改(或末尾添加)# 开启慢查询日志slow_query_log = 1# 设置慢查询日志文件路径slow_query_log_file = /usr/local/mysql/data/slow_query_log_file.log# 设置慢查询最小时间(单位:秒)long_query_time = 0.5# 开启 bin-log 日志(名称为mysql-bin.00000x)log_bin = mysql-bin# 忽略主机名的方式访问skip_name_resolve = 1#【可选】设置默认表引擎类型default_storage_engine = MyISAM#【可选】设置innodb引擎使用独立表空间(从v5.6版本起默认是开启的)innodb_file_per_table = 1#【可选】设置字符集character_set_client=utf8        # 客户端字符集character_set_connection=utf8    # 连接字符集character_set_database=utf8      # 数据库存字符集character_set_server=utf8        # 服务器字符集
注意:my.cnf是MySQL的全局配置文件,其实每个数据库还有自己的单独配置文件db.opt(存于每个数据库目录中),理论上说本数据库的配置文件会继承全局,但保不齐也会有本数据库的配置文件与my.cnf冲突的时候,这时此数据库会以自己这个db.opt配置选项优先(换句话说,数据库的配置信息是可以单独指定的)。所以有时即便你无论怎样修改my.cnf配置,当前数据库都不会生效,如果要使当前数据库生效就需要修改其目录内的db.opt配置文件。比如,系统默认创建的test数据库,数据库存字符集可能就是latin1,要想改变此数据库的字符集就需要修改其自身的专属配置文件,如下:# vi /usr/local/mysql/data/test/db.opt
     将default-character-set=latin1default-collation=latin1_swedish_ci修改为:default-character-set=utf8default-collation=utf8_general_ci

转载于:https://www.cnblogs.com/martinzhang/p/3457226.html

LApacheMP基础环境搭建相关推荐

  1. SpringCloud Alibaba微服务实战(一) - 基础环境搭建

    说在前面 Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案.此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来 ...

  2. (一)Hyperledger Fabric 1.1安装部署-基础环境搭建

    在学习和开发hyperledger fabric的时候遇到了一些坑,现将自己的一些总结和心得整理如下,以期对大家有所帮助. 本次使用的宿主机环境:ubuntu,版本:Ubuntu 16.04.3 LT ...

  3. typescript+react+antd基础环境搭建

    typescript+react+antd基础环境搭建(包含样式定制) tsconfig.json 配置 // 具体配置可以看上面的链接 这里module moduleResolution的配置都会影 ...

  4. Spring的使用——基础环境搭建以及IOC概念理解(持续更新)

    spring基础环境搭建 1.添加Spring依赖 2.编写一个Spring的配置文件 3.通过Spring的应用程序应用上下文获取对象 优点:在修改方案时可以不用修改代码,只需修改配置文件的bean ...

  5. 【1】windows下IOS开发基础环境搭建

    一.目的 本文的目的是windows下IOS开发基础环境搭建做了对应的介绍,大家可根据文档步骤进行mac环境部署: 二.安装虚拟机 下载虚拟机安装文件绿色版,点击如下文件安装 获取安装包:       ...

  6. Hi3516开发笔记(三):Hi3516虚拟机基础环境搭建之交叉编译环境境搭建以及开机启动脚本分析

    若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/121458516 长期持续项目技术分享,Shang业Di ...

  7. Hi3516开发笔记(二):Hi3516虚拟机基础环境搭建之串口调试、网络连接以及sftp文件传输

    若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/121314575 长期持续项目技术分享,Shang业Di ...

  8. Eclypse-Z7 + Zmod ADC 1410 基础环境搭建(SDK部分)

    Eclypse-Z7 + Zmod ADC 1410 基础环境搭建(SDK部分) 背景 思路 官方Zmod ADC demo简介 软硬件平台 SDK 工程 1.从vivado导出硬件到SDK ①在vi ...

  9. Eclypse-Z7 + Zmod ADC 1410 基础环境搭建(vivado部分)

    Eclypse-Z7 + Zmod ADC 1410 基础环境搭建(vivado部分) 背景 软硬件平台 思路 vivado 工程 Eclypse-Z7 + Zmod ADC 基础工程构建 ①使用 g ...

最新文章

  1. 苹果损失超 1000 万美元,前员工被控收回扣、盗窃、欺诈!
  2. 20180625笔记
  3. (转)linux如何让历史记录不记录敏感命令
  4. 全球及中国润滑油市场产销规模及营销竞争分析报告2021-2027年
  5. 系统的crontab设定:/etc/crontab
  6. cba比赛比分预测_【CBA直播】深圳vs广东前瞻:深圳战广东再掀反攻?
  7. 石板切割问题c语言_岩知识 | 岩板切板有讲究,工艺问题要注意
  8. 线谱法 时钟分量的提取 matlab,LMD局域均值分解的matlab程序及示例
  9. [ACM]HDU Problem 2000 + Java
  10. 解决Linux新创建的文件夹带锁问题
  11. jquery easyUI第一篇【介绍、入门、使用常用的组件】
  12. Unity中加载本地图片
  13. python实现——40W告警日志分析(上)
  14. 文章标签设计方法,文章Tags数据库设计方法举例
  15. 【小学】三做一年级算术题
  16. 怎么才能写好技术文档?这是我的全部经验
  17. 理解Session State模式+FAQ [翻译]
  18. 一个简约的Android相册(支持多选)
  19. android mail发送邮件(包含163邮箱及qq邮箱,使用mail.jar,activation.jar,additionnal.jar)
  20. DY__ac_signature

热门文章

  1. 计算机office二级app,计算机二级office
  2. 【编程练习】3*3 的矩阵,值限定为1-9不重复,已知横竖的和,和一个斜着的值,求这个矩阵
  3. 大一计算机绩点3算什么水平,绩点3.9算什么水平
  4. js中的运算符操作顺序
  5. xwiki功能-皮肤
  6. ae2020不支持的视频驱动程序_Premiere 2020安装后,不支持视频驱动程序,怎么解决?...
  7. 刺激战场android闪退,《绝地求生刺激战场》老是闪退怎么办 老是闪退解决方法介绍...
  8. 正方形UVa201-紫书习题4-2(详细解答)
  9. 文章字数统计(python)
  10. 英语面试对话场景[进入外企的敲门砖]