apache:实现网页共享传输
MySQL:数据存储
PHP:实现页面解析
浏览器仅能解析简单的HTML语言,无法直接解析PHP语言。
yum 安装
优点:安装部署便捷,快速。
缺点:软件版本固定,且版本较低。
源码安装:
优点:版本可自选,可自定义性强。
缺点:难度大,维护相对困难。
关闭SELinux和防火墙
yum -y install gcc gcc-c++ make
1.LAMP依赖
PHP并不是完全依赖这些包,而实通过这些包才能提供一些功能
所以需要先安装这些包
注:每个源码包安装完成后,确认安装目录下是否生成安装文件(并确定目录是否正确)
注:建议将安装包路径指定为[–prefix = /usr/local/软件名]这种格式
2.安装libxml2
libxml2是一个xml c语言版的解析器,本来是为Gnome项目开发的工具,是一个基于MIT license的免费开源软件。它除了支持C语言版以外,还支持c+±php、pascal、Ruky、Tcl等语言的绑定,能在windows、Linux、Solaris、macOSX等平台上运行,因为很多软件配置文件都是以xml来写的,不安装xml解析器无法读取,读写解析。
3.安装libmcrypt
libmcrypt是加密算法扩展库。支持DES、3DES、RIGNDAEL、Twofish、IDEA、GOST、cast-256、ARCFOUR、SERPENT、SAFER+等算法
同样步骤,解压源码包,进入解压出来的目录
cd libmcrypt
https://blog.csdn.net/A_Apprentice/article/details/configure --prefix=/usr/local/libmcrypt/
make
make install
注意,这里同样安装libltdl,同样在Libmcrypt源码包目录中。
cd /libmcrypt-x.x.x/libltdl
https://blog.csdn.net/A_Apprentice/article/details/configure --enable-ltdl-install
这里的意思是安装并开启此功能
make
make install
4.安装mhash
mhash是基于离散数学原理的不可逆向的PHP加密方式扩展库,其默认情况下不开启。mhash可以用于创建校验数值,消息摘要,消息认证码,以及无需原文的关键信息保存,如保存密码等。
同样步骤
解压源码包
进入解压源码目录
,/configure
这里不指定安装目录,默认即可。
make
make install
5.安装mcrypt
mcrypt是PHP里面最重要的加密支持扩展库,mcrypt库支持20多种加密算法和8中加密模式
make
make install
6.安装zlib
zlib提供数据库压缩用的函数库,由Jean-loup Gailly与Mark Adler所开发,初版0.9在1995年5月1日发表。zlib使用deflate算法,最初是libpng函数库所写,后来普遍为许多软件所使用,此函数库为自由软件,使用zlib授权
7.安装libpng
libpng软件包包含libpng库,这些库被其他程序用于解码png图片
cd /libpng
https://blog.csdn.net/A_Apprentice/article/details/configure --prefix=/usr/local/libpng/
make
make install
8.安装jpeg6
jpeg提供用于解码.jpg和.jpeg图片的库文件。
mkdir /usr/local/jpeg6
mkdir /usr/local/jpeg6/lib
mkdir /usr/local/jpeg6/bin
mkdir /usr/local/jpeg6/include
mkdir -p /usr/local/jpeg6man/man1
此软件不会默认自动创建所需目录,需要手动建立
yum -y install libtool*
cd /jpeg-x.x.x
cp -a /usr/share/libtool/config/config.sub https://blog.csdn.net/A_Apprentice/article/details/
cp -a /usr/share/libtool/config/config.guess https://blog.csdn.net/A_Apprentice/article/details/
jpeg本身由config.sub和config.guess,但是在64位系统中并不好用,所以我们这里用libtool里的。
https://blog.csdn.net/A_Apprentice/article/details/configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static
指定目录并开启共享库和静态库
make
make install
9.安装freetype
freetype库是一个完全免费的,高质量的可移植的字体引擎,它提供统一接口来访的多种字体格式文件,支持单色图,反走样位图的渲染。
cd /freetype
https://blog.csdn.net/A_Apprentice/article/details/configure --prefix=/usr/local/freetype/
make
make install
10.安装apache
源码包2.4.*版本中默认没有集成apr的依赖包,所以需要提前解决依赖问题
解压apr和apr-util源码包
直接整包复制到httpd源码包中
cp -a apr-1.7.0 httpd-2.4.46/srclib/apr
cp -a apr-util-1.6.1 httpd-2.4.46/srclib/apr-util
复制整个目录并取消版本号到httpd的/srclib下面,https://blog.csdn.net/A_Apprentice/article/details/configure回检测
apache默认需要依赖pcre软件,但由于apache软件版本较高,系统预安装的pcre无法使用,需认为手动安装合适版本
cd /pcre-8.x.x
https://blog.csdn.net/A_Apprentice/article/details/configure
make
make install
apache加密传输模块mod_ssl,需安装此软件
yum -y install openssl-devel
注意:若前面配置zlib时没有指定安装目录,apache配置时不要添加–with-z=/usr/local/zlib参数,–enable-ssl是为了实现https提前设置的参数。
注意:如果报错:
yum -y install expat-devel,安装expat-devel即可。
启动apache测试即可
/usr/local/apache/bin/apachectl start
报错提示:
说明配置文件地址不对,可以启动脚本指定配置文件位置
/usr/local/httpd/bin/apachectl -t
可以检查配置文件httpd.conf的语法错误
11.安装ncurses(MYSQL)
ncurses提供一个字符终端处理库,包括面板和菜单。它提供了以涛控制光标,建立窗口,改变前景颜色以及处理鼠标操作的函数,使用户在字符终端下编写应用程序时先过了那些恼人的底层机制。简而言之,他是一个可以使应用程序直接控制终端屏幕现实的函数库。
yum -y install ncurses-devel
ncurses的依赖包
cd /ncurses-x.x
https://blog.csdn.net/A_Apprentice/article/details/configure --with-shared --without-debug --without-ada --enable-overwrite
make && make install
这里使make后马上make install的意思。
不安装ncurses,编译MySQL会报错。
12.安装cmake
MySQL在5.5以后,不再使用https://blog.csdn.net/A_Apprentice/article/details/configure工具,而实使用cmake工具进行编译安装。bison是一个自由软件,用户自动生成语法分析器程序,可用于所有常见系统。
我们这里直接yum就行
yum -y install cmake bison
13.安装MySQL
useradd -r -s /sbin/nologin mysql
创建一个mysql系统用户,不登陆。只为了运行mysql
cd /mysql-x.x.x
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DEXTRA_CHARASETS=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_USER=mysql -DMYSQL_TCP_PORT=3306
make
make install
cmake选项详解
-DCMAKE_INSTALL_PREFIX=/use/local/mysql
指定安装位置
-DMYSQL_UNIX_ADDR=/tmp/mysql.scok
指定mysql的socket套接字文件位置
-DEXTAR_CHARSET=all
扩展字符支持
DDEFAULT_CHARSET=utf8
默认字符集
DDEFAULT_COLLATION=utf8_general_ci
默认字符校对
DWITH_MYISAM_STORAGE_ENGINE=1
安装myisam存储引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1
安装innodb存储引擎
-DWITH_MEMORY_STOAGE_ENGINE=1
安装memory存储引擎
-DWITH_READLINE=1
支持readline库
-DENABLED_LOCAL_INFILE=1
启用加载本地数据
-DMYSQL_USER=mysql
指定mysql运行用户
-DMYSQL_TCP_PORT=3306
指定mysql端口
注意:MySQL安装后需调整相应参数才能运行
a.修改MySQL目录的用户归属
cd /usr/local/mysql/
chown -R root .
chown -R mysql datab.生成配置文件,并初始化授权表
cp -a /lamp/mysql-x.x.x/support-files/my-medium.cnf /etc/my.cnf
复制mysql配置文件到指定位置,覆盖掉系统自带文件
cd /usr/local/mysql
https://blog.csdn.net/A_Apprentice/article/details/script/mysql_install_db --user=mysql
创建数据库授权表,初始化数据库,相当于安装完操作系统后的引导设置(添加第一个用户)错误提示:FATAL ERROR:could not findhttps://blog.csdn.net/A_Apprentice/article/details/bin/my_print_default
mysql_install_db初始化调用的文件是相对路径,路径不在/usr/local/mysql时,无法调用my_print_default文件并初始化成功的。c.启动MySQL服务
用原本的源代码方式去使用和启动mysql
/usr/local/mysql/bin/mysqld_safe --user=mysql &
启动并用mysql用户后台运行mysqld.设定MySQL密码
/usr/local/mysql/bin/mysqladmin -u root -password lrq3547
如果报错则直接登录MySQL改密码,这时候是没有密码的状态
#/usr/local/mysql/bin/mysql -u root -p
mysql> use mysql;
mysql> GRANT ALL PRIVILEGES ON . TO root@“%” IDENTIFIED BY “123456”;
mysql> update user set Password = password(‘123456’) where User=‘root’;
mysql> flush privileges;
mysql> exit;e.测试登录MySQL
/usr/local/mysql/bin/mysql -u root -p
14.安装PHP
cd /php-x.x.x
https://blog.csdn.net/A_Apprentice/article/details/configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc/ --with-apx52=/usr/local/apache/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-mbstring=all --enable-soap --enable-sockerts --with-pdo-mysql=/usr/local/mysql --with-gd --without-pear
make
make install
错误提示:遇到缺失 No package ‘sqlite3’ found
yum -y install sqlite-devel
错误提示:出现No package ‘oniguruma‘ found
在’–enable-mbstring’参数后添加’–disable-mbregex’参数,意为不使用mbstring的正则功能,不再需要oniguruma库。
或者使用源码安装oniguruma库
https://blog.csdn.net/A_Apprentice/article/details/configure --prefix=/usr --libdir=/lib64
选项解析
–with-xxx-dir=…
指定开启支持的依赖包位置
–with-mbstring=all
支持多字节,支付穿
–with-gd
启用gd库
–with-pdo-mysql=/…
启动mysql的pdo模块支持
–enable-soap
支持soap服务
–with-pear
不安装pear(安装pear需联网)
–enable-sockets
支持套接字
PHP安装后需要调整相应配置文件和参数才能正常运行
a.生成PHP配置文件
mkdir /usr/local/php/etc
目录原本不存在
cp /usr/lamp/php-7.x.x/php.ini-production /usr/local/php/etc/php.inic.测试php网页是否能够正常解析(apache和php连通性)
vim /usr/local/apache/htdocs/test.php通过浏览器访问:http://apache服务器地址/test.php
15.为PHP安装openssl模块
模块需通过PHP本身使用,所以后安装。
openssl是一个强大的安全套接字层密码库,囊括主要的密码算法,常用的密钥和证书封装管理功能及ssl协议,并提供丰富的应用程序供测试或其他目的使用。
cd /php-x.x.x/ext/openssl
mv config0.m4 config.m4
/usr/local/php/bin/phpize
https://blog.csdn.net/A_Apprentice/article/details/configure --with-openssl --with-php-config=/usr/local/php/bin/php-config
make
make install
16.为PHP安装memcache模块
memcache是一个高性能的分布式内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单说来就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。
我这里是zip包,所以用unzip解包
unzip pecl-memcache-phpx.zip
cd pecl-memcache-phpx.x
/usr/local/php/bin/phpize
https://blog.csdn.net/A_Apprentice/article/details/configure --with-php-config=/usr/local/php/bin/php-config
make
make install
17.修改php配置文件,使其识别并调用openssl和memcache两个模块。
vim /usr/local/php/etc/php.ini
extension_dir = “/usr/local/php/lib/php/extensions/no-debug-zts-20151012/”
取消注释,并添加以上目录(此路径来自模块安装命令的结果),此目录在make install完之后有提示
extension = “openssl.so”;
extension = “memcache.so”;
添加以上两个库的调用
重启apache,刷新phpinfo页面,并查看是否有两个新增模块。
18.安装memcache服务
安装了memcache模块,但是本身软件是没有安装的,而openssl是默认安装的。
yum -y install libevent-devel
先安装依赖
cd /memcachedx.x.x
https://blog.csdn.net/A_Apprentice/article/details/configure --prefix=/usr/local/memcached
make
make install
useradd -r -s /sbin/nologin memcache
添加用户,用作运行memcache服务
/usr/local/memcached/bin/memcached -u memcached &
启动服务,后台运行 -u指定用户
netstat anpt | grep 11211
检查端口是否开启,并监听11211端口
19.安装phpMyadmin(能成功就完成)
phpMyAdmin是一个以PHP为基础,以web-Base方式架构在网站主机上的MySQL数据库管理工具,让管理者可用web接口管理MySQL数据库
cp -a /phpMyAdmin -x.x /usr/local/apache/htdocs/phpmyadmin
cd /usr/local/apache/htdocs/phpmyadmin
ap -a config.sample.inc.php config.inc.php
vim config.inc.php
设置auth_type为http,即设置HTTP身份认证模式(新增即可)