• LAMP平台搭建-Centos6


    LAMP平台搭建-Centos6

    准备工作:

    • 操作系统:centos6.x
    • 必须关闭selinux和iptables
    #关闭防火墙与selinux
    [root@localhost ~]# service iptables stop
    [root@localhost ~]# chkconfig iptables off
    [root@localhost ~]# 
    [root@localhost ~]# getenforce 
    Disabled
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    准备好光盘yum源

    • 虚拟机–>右键–>设置–>CD/DVD文件那里打钩
    #编写光盘yum源
    [root@localhost ~]# vim /etc/yum.repos.d/local.repo 
    [local]
    name=local_repo
    baseurl=file:///mnt/cdrom
    enabled=1
    gpgcheck=0
    
    #挂载光盘yum源
    [root@localhost ~]# mount /dev/cdrom  /mnt/cdrom/
    mount: block device /dev/sr0 is write-protected, mounting read-only
    [root@localhost ~]# 
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    基础环境准备好了接下来就安装必要的编译工具

    #安装gcc gcc-c++ make等编译工具
    [root@localhost ~]# yum -y install gcc gcc-c++ make
    
    #检查一下是否安装了httpd、mysql等内容
    [root@localhost ~]# rpm -q httpd
    package httpd is not installed
    [root@localhost ~]# rpm -q mysqld
    package mysqld is not installed
    
    #关注一下磁盘的容量是否满足
    [root@localhost lamp]# df -h 
    
    
    #准备好源码包
    [root@localhost ~]# mkdir /lamp
    [root@localhost ~]# cd /lamp
    [root@localhost lamp]# 
    
    [root@localhost lamp]# ls
    apr-1.4.6.tar.gz               libpng-1.2.31.tar.gz     pcre-8.34.tar.bz2
    apr-util-1.4.1.tar.gz          libxml2-2.9.1.tar.gz     pecl-memcache-php7.zip
    freetype-2.3.5.tar.gz          mcrypt-2.6.8.tar.gz      php-7.0.7.tar.gz
    httpd-2.4.7.tar.gz             memcached-1.4.17.tar.gz  phpMyAdmin-4.1.4-all-languages.tar.gz
    jpegsrc.v6b.tar.gz             mhash-0.9.9.9.tar.gz     zlib-1.2.3.1.tar.gz
    libevent-2.0.22-stable.tar.gz  mysql-5.5.48.tar.gz
    libmcrypt-2.5.8.tar.gz         ncurses-5.9.tar.gz
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    编写一个脚本–>批量解压里面的tar文件

    [root@localhost ~]# vim tar.sh
    #!/bin/bash
    cd /lamp
    /bin/ls *.tar.gz > ls.list
    for TAR in `cat ls.list`
    do
            /bin/tar -xf $TAR
    done
    /bin/rm -rf ls.list
    
    #批量解压
    [root@localhost lamp]# bash tar.sh
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    服务的安装与校验

    echo $? #安装软件过程中由于频繁刷屏,建议在每个步骤结束后执行此命令 
    ./configure #此步骤报错多是依赖关系没解决或是编译工具未安装(注意关键词提示)
    make #此步骤多是编译时选项参数书写错误、不存在、漏写等问题
    #一般需要检查上一个步骤:./configure --help
    
    注意:若遇到报错,最简答的办法是,找到问题解决后重新解压软件,重新安装,步骤最简洁
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    基础环境弄好了就正式进行安装

    建议:每个源码包配置编译安装完成之后,确认安装目录下是否生成安装文件,确认目录是否正确,安装的过程都需要加入【–prefix=/usr/local/软件名】

    基础的依赖安装讲解

    1、安装libxml2

    • Libxml2是一个xml c 语言版的解析器,本来是为 Gnome 项目开发的工具,是一个基于 MIT License 的免费开源软件。它除了支持 c 语言版以外,还支持 c++、PHP、Pascal、Ruby、Tcl 等语言的绑定,能在 Windows、Linux、Solaris、MacOsX 等平台上运行。功能还是相当强大的,相信满足一般用户需求没有任何问题。
    #安装对应的依赖
    [root@localhost lamp]# yum -y install libxml2-devel python-devel
    [root@localhost lamp]# echo $?
    0
    #编译安装
    [root@localhost lamp]# cd libxml2-2.9.1
    [root@localhost libxml2-2.9.1]# ./configure --prefix=/usr/local/libxml2
    [root@localhost libxml2-2.9.1]# echo $?
    0
    [root@localhost libxml2-2.9.1]# make && make install
    [root@localhost libxml2-2.9.1]# echo $?
    0
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    2、安装libmcrypt

    • libmcrypt 是加密算法扩展库。支持 DES, 3DES, RIJNDAEL, Twofish, IDEA, GOST, CAST-256, ARCFOUR, SERPENT, SAFER+等算法。
    [root@localhost libxml2-2.9.1]# cd /lamp/libmcrypt-2.5.8
    [root@localhost libmcrypt-2.5.8]# ./configure --prefix=/usr/local/libmcrypt/
    [root@localhost libmcrypt-2.5.8]# make && make install
    
    • 1
    • 2
    • 3

    安装libltdl,也在libmcrypt源码目录当中

    [root@localhost libmcrypt-2.5.8]# cd /lamp/libmcrypt-2.5.8/libltdl/
    [root@localhost libltdl]# ./configure --enable-ltdl-install
    [root@localhost libltdl]# make && make install
    
    • 1
    • 2
    • 3

    3、安装mhash

    • mhash 是基于离散数学原理的不可逆向的 php 加密方式扩展库,其在默认情况下不开启。mhash 的可以用于创建校验数值,消息摘要,消息认证码,以及无需原文的关键信息保存(如密码)等。
    [root@localhost libltdl]# cd /lamp/mhash-0.9.9.9
    [root@localhost mhash-0.9.9.9]# ./configure 
    [root@localhost mhash-0.9.9.9]# make && make install
    
    • 1
    • 2
    • 3

    4、安装mcrypt

    • mcrypt 是 php 里面重要的加密支持扩展库。mcrypt 库支持 20 多种加密算法和 8 种加密模式
    #进入目录
    [root@localhost mhash-0.9.9.9]# cd /lamp/mcrypt-2.6.8
    	#这里一定要注意,需要调整一下环境变量
    	#变量:LD_LIBRARY_PATH 用于指定 libmcrypt 和 mhash 的库的位置
    [root@localhost mcrypt-2.6.8]# export LD_LIBRARY_PATH=/usr/local/libmcrypt/lib:/usr/local/lib
    [root@localhost mcrypt-2.6.8]# ./configure --with-libmcrypt-prefix=/usr/local/libmcrypt
    [root@localhost mcrypt-2.6.8]# make && make install
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    5、安装zlib

    • zlib 是提供数据压缩用的函式库,由 Jean-loup Gailly 与 Mark Adler 所开发,初版 0.9 版在 1995年 5 月 1 日发表。zlib 使用 DEFLATE 算法,最初是为 libpng 函式库所写的,后来普遍为许多软件所使用。此函式库为自由软件,使用 zlib 授权
    #进入目录进行编译安装
    [root@localhost mcrypt-2.6.8]# cd /lamp/zlib-1.2.3.1
    [root@localhost zlib-1.2.3.1]# ./configure 
    	#然后修改配置文件,否则无法正常安装此软件
    	# 找到 CFLAGS=-O3 -DUSE_MMAP在后面加入-fPIC变成(注意:小f大PIC,空格)
    [root@localhost zlib-1.2.3.1]# vim Makefile
    ....................
    CFLAGS=-O3 -DUSE_MMAP -fPIC
    
    [root@localhost zlib-1.2.3.1]# make && make install
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    6、安装libpng

    • libpng 软件包包含 libpng 库.这些库被其他程式用于解码 png 图片
    [root@localhost zlib-1.2.3.1]# cd /lamp/libpng-1.2.31
    [root@localhost libpng-1.2.31]# ./configure --prefix=/usr/local/libpng
    [root@localhost libpng-1.2.31]# make && make install
    
    
    • 1
    • 2
    • 3
    • 4

    7、安装jpeg6

    • jpeg6提供用于解码.jpg和.jpeg图片的库文件
    #安装此软件-->需要手工创建所需要的目录
    [root@localhost libpng-1.2.31]# mkdir /usr/local/jpeg6
    [root@localhost libpng-1.2.31]# mkdir /usr/local/jpeg6/bin
    [root@localhost libpng-1.2.31]# mkdir /usr/local/jpeg6/lib
    [root@localhost libpng-1.2.31]# mkdir /usr/local/jpeg6/include
    [root@localhost libpng-1.2.31]# mkdir /usr/local/jpeg6/man/man1 -p
    
    #安装需要的扩展包
    [root@localhost libpng-1.2.31]# yum -y install libtool*
    [root@localhost libpng-1.2.31]# cd /lamp/jpeg-6b/
    	#复制 libtool 中的文件,覆盖 jpeg-6b 中的文件(64 位中的问题)
    [root@localhost jpeg-6b]# cp  -a /usr/share/libtool/config/config.sub ./
    cp: overwrite `./config.sub'? y
    [root@localhost jpeg-6b]# cp  -a /usr/share/libtool/config/config.guess ./
    cp: overwrite `./config.guess'? y
    
    #编译安装
    	#--enable-shared 与--enable-static 参数分别为建立共享库和静态库使用的 libtool
    [root@localhost jpeg-6b]# ./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static
    [root@localhost jpeg-6b]# make && make install
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    8、安装freetype

    • FreeType 库是一个完全免费(开源)的、高质量的且可移植的字体引擎,它提供统一的接口来访问多种字体格式文件,支持单色位图、反走样位图的渲染。
    [root@localhost jpeg-6b]# cd /lamp/freetype-2.3.5
    [root@localhost freetype-2.3.5]# ./configure --prefix=/usr/local/freetype/
    [root@localhost freetype-2.3.5]# make && make install
    [root@localhost freetype-2.3.5]# echo $?
    0
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    9、安装apache

    **安装apr的依赖包;**apache2.4.*的版本中默认没有集成的apr的依赖包,需要单独安装解决依赖的问题

    #复制apr和apr-util整个目录到指定的位置,让预编译的时候自动检测
    [root@localhost ~]# cp -a /lamp/apr-1.4.6 /lamp/httpd-2.4.7/srclib/apr
    [root@localhost ~]# cp -a /lamp/apr-util-1.4.1 /lamp/httpd-2.4.7/srclib/apr-util
    
    
    • 1
    • 2
    • 3
    • 4

    安装pcre依赖:

    • Apache 默认需要依赖 pcre 软件,但由于 Apache 软件版本较高,则系统预安装的 pcre 无法使用,所以需要人为手动安装适合版本
    #首先解压一下pcre的包
    [root@localhost ~]# cd /lamp/
    [root@localhost lamp]# ls pcre-8.34.tar.bz2 
    pcre-8.34.tar.bz2
    [root@localhost lamp]# tar -xf pcre-8.34.tar.bz2 
    
    #进入到pcre的目录进行编译
    [root@localhost lamp]# cd pcre-8.34
    [root@localhost pcre-8.34]# ./configure 
    [root@localhost pcre-8.34]# make && make install
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    安装openssl-devel

    • .Apache 的加密传输模块 mod_ssl,需要安装此软件产生
    [root@localhost pcre-8.34]# yum -y install openssl-devel
    Loaded plugins: fastestmirror, security
    
    • 1
    • 2

    到这里–>开始安装apache

    [root@localhost pcre-8.34]# cd /lamp/httpd-2.4.7
    [root@localhost httpd-2.4.7]# 
    	#注意这里的参数不要敲错,不然就会装错
    [root@localhost httpd-2.4.7]# ./configure --prefix=/usr/local/apache2\
    > --sysconfdir=/usr/local/apache2/etc\
    > --with-included-apr\
    > --enable-so\
    > --enable-deflate=shared\
    > --enable-expires=shared\
    > --enable-rewrite=shared\
    > --enable-ssl
    [root@localhost httpd-2.4.7]# echo $?
    0
    
    #编译安装
    [root@localhost httpd-2.4.7]# make && make install
    [root@localhost httpd-2.4.7]# echo $?
    
    注意:
    	若前面配置 zlib 时没有指定安装目录,Apache 配置时不要添加
    	--with-z=/usr/local/zlib/参数,
    	--enable-ssl 选项是为了后期实现 https 提前设置的参数
    	
    #启动apache测试一下
    	#启动httpd-->因为是源码安装-->所以一定要根据路径来
    [root@localhost httpd-2.4.7]# /usr/local/apache2/bin/apachectl start
    AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message
    
    #查看进程端口
    [root@localhost httpd-2.4.7]# netstat -anltup | grep :80
    tcp        0      0 :::80                       :::*                        LISTEN      106082/httpd    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31

    apache的优化:

    #启动apache的时候会出现这个提示
    [root@localhost httpd-2.4.7]# /usr/local/apache2/bin/apachectl start
    AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message
    	#解决办法
    [root@localhost httpd-2.4.7]# vim /usr/local/apache2/etc/httpd.conf 
    .............
    190 #ServerName www.example.com:80
    191 ServerName localhost:80	#添加这一行
    ...............
    
    	#重启后就没有了
    [root@localhost httpd-2.4.7]# /usr/local/apache2/bin/apachectl restart
    [root@localhost httpd-2.4.7]# 
    
    #如果报错提示:
    若启动时提示/usr/local/apache2/modules/mod_deflate.so 无权限,可关闭 SELinux 解决,类似此类.so 文件不能载入或没有权限的问题,都是 SELinux 问题,MySQL 和 Apache 都可能有类似问题。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    浏览器—>输入ip–>如果出现it works就代表成功了

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y4kjF4kp-1669509836129)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\1668698213817.png)]

    10、安装ncurse

    • 这里开始准备mysqld的依赖软件
    • Ncurses 提供字符终端处理库,包括面板和菜单。它提供了一套控制光标,建立窗口,改变前景背景颜色以及处理鼠标操作的函数。使用户在字符终端下编写应用程序时绕过了那些恼人的底层机制。简而言之,他是一个可以使应用程序直接控制终端屏幕显示的函数库。
    #这个一定要安装,不安装mysql编译时会直接报错
    	#解压这个包
    [root@localhost httpd-2.4.7]# gzip -d /lamp/ncurses-5.9.tar.gz 
    [root@localhost lamp]# tar -xvf ncurses-5.9.tar 
    [root@localhost lamp]# cd ncurses-5.9
    [root@localhost ncurses-5.9]# 
    
    #安装ncurses的扩展包
    [root@localhost ncurses-5.9]# yum -y install ncurses-devel
    [root@localhost ncurses-5.9]# ./configure --with-shared --without-debug --with-ada --enable-overwrite
    [root@localhost ncurses-5.9]# make && make install
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    11、安装cmake和bison

    mysql 在 5.5 以后,不再使用./configure 工具,进行编译安装。而使用 cmake 工具替代了./configure工具。bison 是一个自由软件,用于自动生成语法分析器程序,可用于所有常见的操作系统

    [root@localhost ncurses-5.9]# yum -y install cmake bison
    
    • 1

    12、安装mysql

    准备工作都完成了,就开始安装mysql

    #创建mysql的运行用户,指定是系统用户并且禁止登陆
    [root@localhost ncurses-5.9]# cd /lamp/mysql-5.5.48
    [root@localhost mysql-5.5.48]# useradd -s /sbin/nologin -r mysql
    [root@localhost mysql-5.5.48]# 
    
    #预编译、编译安装
    [root@localhost mysql-5.5.48]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
    > -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
    > -DEXTRA_CHARSETS=all \
    > -DDEFAULT_CHARSET=utf8 \
    > -DDEFAULT_COLLATION=utf8_general_ci \
    > -DWITH_MYISAM_STORAGE_ENGINE=1 \
    > -DWITH_INNOBASE_STORAGE_ENGINE=1 \
    > -DWITH_MEMORY_STORAGE_ENGINE=1 \
    > -DWITH_READLINE=1 \
    > -DENABLED_LOCAL_INFILE=1 \
    > -DMYSQL_USER=mysql \
    > -DMYSQL_TCP_PORT=3306
    [root@localhost mysql-5.5.48]# make && make install
    
    
    	#参数选项的解析:
    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
    -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
    -DEXTRA_CHARSETS=all \
    -DDEFAULT_CHARSET=utf8 \
    -DDEFAULT_COLLATION=utf8_general_ci \
    -DWITH_MYISAM_STORAGE_ENGINE=1 \
    -DWITH_INNOBASE_STORAGE_ENGINE=1 \
    -DWITH_MEMORY_STORAGE_ENGINE=1 \
    -DWITH_READLINE=1 \
    -DENABLED_LOCAL_INFILE=1 \
    -DMYSQL_USER=mysql \
    -DMYSQL_TCP_PORT=3306
    
    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql #安装位置
    -DMYSQL_UNIX_ADDR=/tmp/mysql.sock 	#指定 socket(套接字)文件位置
    -DEXTRA_CHARSETS=all 	#扩展字符支持
    -DDEFAULT_CHARSET=utf8 	#默认字符集
    -DDEFAULT_COLLATION=utf8_general_ci #默认字符校对
    -DWITH_MYISAM_STORAGE_ENGINE=1 	#安装 myisam 存储引擎
    -DWITH_INNOBASE_STORAGE_ENGINE=1 #安装 innodb 存储引擎
    -DWITH_MEMORY_STORAGE_ENGINE=1 		#安装 memory 存储引擎
    -DWITH_READLINE=1 					#支持 readline 库
    -DENABLED_LOCAL_INFILE=1 			#启用加载本地数据
    -DMYSQL_USER=mysql 					#指定 mysql 运行用户
    -DMYSQL_TCP_PORT=3306 				#指定 mysql 端口
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47

    mysql编译安装好了之后需要调整配置文件和参数才能正常运行

    #修改mysql的目录的用户归属
    [root@localhost mysql-5.5.48]# cd /usr/local/mysql/
    [root@localhost mysql]# chown -R root .
    [root@localhost mysql]# chown -R mysql data
    
    #生成配置文件、并且开始初始化授权表
    	#复制 MySQL 配置文件到指定位置,覆盖掉系统自带文件
    [root@localhost mysql]# cp -a  /lamp/mysql-5.5.48/support-files/my-medium.cnf /etc/my.cnf 
    cp: overwrite `/etc/my.cnf'? y
    	#创建数据库授权表,初始化数据库,相当于安装完操作系统后的引导设置(添加第一个用户)
    [root@localhost mysql]# ./scripts/mysql_install_db --user=mysql
    [root@localhost mysql]# echo $?
    0
    
    #启动mysql
    	#让它在后台运行
    [root@localhost mysql]# /usr/local/mysql/bin/mysqld_safe --user=mysql &
    [1] 126510
    	#查看端口
    [root@localhost mysql]# netstat -antulp | grep mysqld
    tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      126764/mysqld  
    
    #设定mysql的密码-->设置root的密码(mysql)
    [root@localhost mysql]#  /usr/local/mysql/bin/mysqladmin -uroot password 123456
    	#这里登陆mysql
    [root@localhost mysql]# /usr/local/mysql/bin/mysql -uroot -p123456
    .............
    mysql> 
    	#到这里-->mysql部署成功
    #查看一下库和表格
    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | test               |
    +--------------------+
    4 rows in set (0.00 sec)
    mysql> use mysql
    Database changed
    mysql> show tables;
    +---------------------------+
    | Tables_in_mysql           |
    +---------------------------+
    | columns_priv              |
    | db                        |
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49

    问题汇总:

    #报错提示:FATAL ERROR: Could not find ./bin/my_print_defaults
    	原因:mysql_install_db 初始化所调用文件时使用的是相对路径,路径不在/usr/local/mysql 时,是无法调用 my_print_defaults 文件并初始化成功的。
    
    • 1
    • 2

    13、安装PHP

    [root@localhost php-7.0.7]# ./configure --prefix=/usr/local/php/ \
    > --with-config-file-path=/usr/local/php/etc/ \
    > --with-apxs2=/usr/local/apache2/bin/apxs \
    > --with-libxml-dir=/usr/local/libxml2/ \
    > --with-jpeg-dir=/usr/local/jpeg6/ \
    > --with-png-dir=/usr/local/libpng/ \
    > --with-freetype-dir=/usr/local/freetype/ \
    > --with-mcrypt=/usr/local/libmcrypt/ \
    > --with-mysqli=/usr/local/mysql/bin/mysql_config \
    > --enable-soap \
    > --enable-mbstring=all \
    > --enable-sokets \
    > --with-pdo-mysql=/usr/local/mysql \
    > --with-gd \
    > --without-pear
    
    #各类选项的讲解
    --with-config-file-path=/usr/local/php/etc/ 指定配置文件目录
    --with-apxs2=/usr/local/apache2/bin/apxs 指定 apache 动态模块位置
    --with-libxml-dir=/usr/local/libxml2/ 指定 libxml 位置
    --with-jpeg-dir=/usr/local/jpeg6/ 指定 jpeg 位置
    --with-png-dir=/usr/local/libpng/ 指定 libpng 位置
    --with-freetype-dir=/usr/local/freetype/ 指定 freetype 位
    --with-mcrypt=/usr/local/libmcrypt/ 指定 libmcrypt 位置
    --with-mysqli=/usr/local/mysql/bin/mysql_config 指定 mysqli 位置
    --with-gd 启用 gd 库
    --enable-soap 支持 soap 服务
    --enable-mbstring=all 支持多字节,字符串
    --enable-sockets 支持套接字
    --with-pdo-mysql=/usr/local/mysql 启用 mysql 的 pdo 模块支持
    --without-pear 不安装 pear(安装 pear 需要连接互联网)
    
    #编译安装
    [root@localhost php-7.0.7]# make && make install
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35

    安装好了PHP之后,需要调整相关的配置文件;

    #生成php的配置文件
    [root@localhost php-7.0.7]# mkdir  /usr/local/php/etc
    [root@localhost php-7.0.7]# cp /lamp/php-7.0.7/php.ini-production  /usr/local/php/etc/php.ini
    
    
    #修改apache配置文件,使其识别*.php文件,并且通过PHP模块调用PHP进行页面解析
    [root@localhost php-7.0.7]# vim /usr/local/apache2/etc/httpd.conf
    .........
    377     AddType application/x-compress .Z
    378     AddType application/x-gzip .gz .tgz
    	#添加一下两行信息
    379     AddType application/x-httpd-php .php .phtml
    380     AddType application/x-httpd-php-source .phps
    
    	#然后重启
    [root@localhost php-7.0.7]#  apachectl restart
    [root@localhost php-7.0.7]# 
    
    
    #测试一下php页面是否能够正常解析
    	#编写默认的php页面
    [root@localhost php-7.0.7]# vim /usr/local/apache2/htdocs/test.php
    <?php
            phpinfo();
    ?>
    	#最后:通过浏览器输入地址访问:http://192.168.75.110 服务器地址/test.php
    		#能够看到页面代表成功
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    14、为php安装openssl模块

    OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。

    [root@localhost php-7.0.7]# cd /lamp/php-7.0.7/ext/openssl
    [root@localhost openssl]# mv config0.m4  config.m4
    [root@localhost openssl]# /usr/local/php/bin/phpize 
    [root@localhost openssl]# ./configure --with-openssl --with-php-config=/usr/local/php/bin/php-config 
    [root@localhost openssl]# make && make install
    
    • 1
    • 2
    • 3
    • 4
    • 5

    15、为php安装memcache模块

    Memcache 是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash 表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。

    [root@localhost openssl]# cd /lamp/
    [root@localhost lamp]# unzip pecl-memcache-php7.zip 
    [root@localhost lamp]# cd pecl-memcache-php7
    [root@localhost pecl-memcache-php7]# /usr/local/php/bin/phpize 
    [root@localhost pecl-memcache-php7]# ./configure --with-openssl --with-php-config=/usr/local/php/bin/php-config 
    [root@localhost pecl-memcache-php7]# make && make install
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    修改php配置文件,使其识别并且调用openssl和memcache模块

    [root@localhost pecl-memcache-php7]# vim /usr/local/php/etc/php.ini 
    
     723 ; On windows:
     724 ; extension_dir = "ext"
     	#添加这个路径(此路径来自于模块安装命令的结果)
     725  extension_dir = "/usr/local/php/lib/php/extensions/no-debug-zts-20151012/"
    	#并且添加这两段
     726 extension="openssl.so";
     727 extension="memcache.so";
    
    #然后重启apache并且到网页上面查看
    [root@localhost pecl-memcache-php7]# apachectl restart
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    16、安装memcached服务

    #安装扩展的包
    [root@localhost ~]# yum -y install libevent-devel
    
    #编译安装
        21 root      20   0     0    0    0 S  0.0  0.0   0:00.00 ata_aux                                          
    [root@localhost ~]# cd /lamp/memcached-1.4.17
    [root@localhost memcached-1.4.17]# ./configure  --prefix=/usr/local/memcache
    
    [root@localhost ~]# make && make install
    
    #添加 memcache 用户,此用户不用登录,不设置密码
    root@localhost ~]# useradd -r -s /sbin/nologin memcache
    [root@localhost ~]# 
    
    #启动 memcache 服务,并设置为后台运行
    [root@localhost ~]#  /usr/local/memcache/bin/memcached -umemcache &
    
    #查看端口
    [root@localhost ~]# netstat -an | grep :11211
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    17、安装phpMyadmin

    phpMyAdmin 是一个以 PHP 为基础,以 Web-Base 方式架构在网站主机上的 MySQL 的数据库管理工具,让管理者可用 Web 接口管理 MySQL 数据库。

    #复制主目录到httpd的默认路径
    [root@localhost ~]# cp -a /lamp/phpMyAdmin-4.1.4-all-languages /usr/local/apache2/htdocs/phpmyadmin
    
    #进入到指定路径
    [root@localhost ~]# cd /usr/local/apache2/htdocs/phpmyadmin/
    [root@localhost phpmyadmin]# 
    
    [root@localhost phpmyadmin]# cp -a config.sample.inc.php  config.inc.php 
    [root@localhost phpmyadmin]# 
    
    #设置 auth_type 为 http ,即设置为 HTTP 身份认证模式(新增即可)
    [root@localhost phpmyadmin]# vim config.inc.php 
    $cfg['Servers'][$i]['auth_type'] = 'cookie';
    $cfg['Servers'][$i]['auth_type'] = 'http';	#添加这一行
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    最后:浏览器输入:192.168.75.110:/phpmyadmin/index.php验证

  • 相关阅读:
    谈一谈 IPA 上传到 App Store Connect 的几种方法
    稀疏数组举例详解(Java形式表示)
    本地数据库迁移到云端服务器
    Qt多线程http下载器之三:文件下载异常的处理
    【机器学习】机器学习与时间序列分析的融合应用与性能优化新探索
    [李宏毅老师深度学习视频] BERT介绍
    PHP代码审计2—这些函数必知必会
    【Linux】【驱动】设备树中设备节点的挂载
    【从零开始的Java开发】1-4-1 Java继承:Object类、final关键字、注解
    使用iso镜像包制作离线本地镜像源(本地yum源)
  • 原文地址:https://blog.csdn.net/Liang_GaRy/article/details/128060412