一、准备工作
1、源码包
- apr-util-1.5.2.tar.gz:http://archive.apache.org/dist/apr/apr-util-1.5.2.tar.gz
- apr-1.5.2.tar.gz:http://archive.apache.org/dist/apr/apr-1.5.2.tar.gz
- mysql-5.7.26.tar.gz:https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.26.tar.gz
- php-7.3.4.tar.gz:https://www.php.net/distributions/php-7.3.4.tar.gz
- httpd-2.4.39.tar.gz:http://mirrors.tuna.tsinghua.edu.cn/apache//httpd/httpd-2.4.39.tar.gz
2、编译工具及依赖的安装:
yum install ntp vim gcc gcc-c++ autoconf automake libtool libtool make cmake zlib zlib-devel openssl openssl-devel pcre pcre-devel numactl libaio perl-Time-HiRes per-devel libxml2 libxml2-devel curl curl-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libmcrypt libmcrypt-devel unzip wget bzip2 bzip2-devel gmp gmp-devel readline readline-devel libxslt libxslt-devel pcre pcre-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers ncurses ncurses-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel expat-devel -y
3、源码安装的注意事项
在源码安装的时候,一般都要进入源码目录,查看INSTALL文件,根据其中的信息进行源码安装。
二、开始安装
1、Apache2.4.x
(1)安装步骤
- 先决条件是安装apr和apr-util,选择将这两个安装到/usr/local/apr和/usr/local/apr-util路径中(这里我首先使用了1.6.x的版本,导致在后来编译安装Apache的时候总是出错,更换成1.5.x版本的):
-
cd/usr/local/src/apr-1.5.2 #安装apr ./configure --prefix=/usr/local/apr make && make install cd /usr/local/src/apr-util-1.5.2 #安装apr-util ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr make && make install
- 接下来是安装apache2.4.x
-
下载源码并解压:tar zxvf httpd-2.4.x.tar.gz cd httpd-2.4.x
- ./configure --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util(存放路径) --prefix=/usr/local/httpd-2.4(安装路径) --enable-so
- make && make install
- 到此安装成功:对apache进行操作:
/usr/local/httpd/bin/httpd -k start ##开启
/usr/local/httpd/bin/httpd -k stop ##停止
/usr/local/httpd/bin/httpd -k restart ##重启
(2)遇见的常见错误:
原来是apr apr-util 用了最新的1.6版本(之前1.6版本在centos7编译安装apache没有问题)降低了版本,用回1.5版本正常解决。附上版本链接apr-1.5.2.tar.gz apr-util-1.5.2.tar.gz
下载链接: http://archive.apache.org/dist/apr/
- 切勿安装到root的家目录,容易出现组件权限问题,导致不可以访问Web根目录
2、安装PHP7.3.4
(1)安装步骤:
https://www.php.net/manual/zh/install.unix.apache2.php
(2)遇见错误
按照https://www.php.net/manual/zh/install.unix.apache2.php编辑apache的配置文件,使得Apache调用PHP模块,配置完成后启动服务,发现报错如下: /usr/local/apache2/modules/libphp5.so: No such file or directory
解决方案:配置文件不要默认写:LoadModule php5_module modules/libphp5.so ,在安装PHP7的时候,应该写成:LoadModule php7_module modules/libphp7.so,成功解决完问题。
3、安装mysql
1、获取源码包
mysql源码包:MySQL官网下载地址:https://dev.mysql.com/downloads
boost_1_59_0.tar.gz:https://jaist.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
2、创建MySQL用户以及MySQL数据库目录
- 创建MySQL用户:
groupadd -g 701 mysql
useradd -M -g mysql -u 1101 -s /sbin/nologin mysql #建立mysql账号,-M不建立家目录,-s自动以shell为/sbin/nologin账号不能登录
(如若已存在MySQL用户,在确定不影响其他功能的情况下,可将之删除,并重建)
- 创建mysql安装目录
mkdir -p /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql/
- 创建boost目录并将下载好的boost_1_59_0.tar.gz解压(tar -xvf)到此目录
[root@warrenMini sourceInstall]# ls /usr/local/boost/
boost_1_59_0 boost_1_59_0.tar.gz
3、解压mysql并安装
- 将mysql解压:进入解压目录:依次执行命令
重新解压源码安装包
# tar xvf mysql-5.6.30.tar.gz
# cd mysql-5.6.30
# mkdir build (必须创建否则会出错编译阶段,为了使用 “..” 相对路径)
# cd build
# cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ -DWITH_BOOST=/usr/local/boost (这里可以配置好多选项,可以有日志目录,数据目录,安装目录)
# make & make install
- 安装完成后初始化数据库并启动数据库服务
# bin/mysqld --initialize --user=mysql #会生成密码等
# cp /data/mysql/installdir/support-files/mysql.server /etc/init.d/mysqld
# /etc/init.d/mysqld start
如果遇到如下错误:
那么首先要全局查找mysql.sock文件,如果找到则建立一条软链接向/tmp/下:如下:
如果还是不可以,那么就要去官网去读安装文档了。
- 安装mysql的时候,遇到的错误
CentOS 7 重装mysql编译过程报错解决方法:https://blog.csdn.net/weixin_33928137/article/details/86463338
MySQL 5.7.17 安装报错CMake Error at cmake/boost.cmake:81:https://blog.csdn.net/u012767761/article/details/
78185768
MySQL5.7.18 源码安装详细步骤: https://blog.csdn.net/hwh1231/article/details/71426844
亲测有效,解决Can 't connect to local MySQL server through socket '/tmp/mysql.sock '(2) "; :https://blog.csdn.net
/hjf161105/article/details/78850658
三、参考链接
1、技术参考链接:
1、Centos 6.9 Install php7.1.15(非常全):https://blog.csdn.net/hanzheng260561728/article/details/79780761
2、Linux下使用make install安装的软件如何卸载:https://www.cnblogs.com/EasonJim/p/7599982.html
3、MySQL5.7.18 源码安装详细步骤: https://blog.csdn.net/hwh1231/article/details/71426844
4、CentOS 7.2使用源码包编译安装MySQL 5.7.22及一些操作:https://blog.csdn.net/sssssscccccc/article/details/
80919826
5、mysql5.7如何修改密码以及密码如何忘记无密码登陆:https://www.cnblogs.com/FengGeBlog/p/9779316.html
2、错误解决方案参考链接:
1、Linux下编译安装Apache报APR not found错误的解决办法:https://www.cnblogs.com/52lnamp/archive/2018/08/
16/9486043.html
2、arp版本:https://www.cnblogs.com/zyos/p/7663717.html
3、libphp5.so文件无法生成的问题:https://blog.csdn.net/nibaohua/article/details/51750537