centos7编译安装apache2.4+php-7.2.3+mysql5.6

下载打包好的文件

查看Centos版本

[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core) 

链接:https://download.csdn.net/download/code_pupil/10963295

放到路径/usr/local/src

cd目录

cd /usr/local/src/

解压下载的压缩包

 

 

 

安装apache

安装依赖: zlib-devel pcre-devel pcre apr apr-util

yum install zlib-devel pcre-devel pcre
yum -y install gcc gcc-c++ make automake

解压apr压缩包,进入目录配置编译安装

tar -zxvf apr-1.5.2.tar.gz
cd apr-1.5.2
./configure --prefix=/usr/local/apr/
make && make install

编译安装apr 1.5.2 时报 rm: cannot remove `libtoolT': No such file or directory

 

解决办法

(1):编辑 configure文件,查找 $RM "$cfgfile" 这个地方,用#注释掉

解压apr-util压缩包,进入目录配置编译安装

cd /usr/local/src/
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/
make && make install

解压apache压缩包,进入目录配置编译安装

 

cd /usr/local/src/
tar -zxvf httpd-2.4.28.tar.gz 
cd httpd-2.4.28
./configure  \
 --prefix=/usr/local/apache/ \
 --with-apr=/usr/local/apr/ \
 --with-apr-util=/usr/local/apr-util/ \
 --enable-so \
 --enable-deflate=shared \
 --enable-expires=shared \
 --enable-rewrite=shared \
 --enable-static-support
make && make install

等安装个完以后进入到安装目录,开启apache服务

cd /usr/local/apache/bin/
./apachectl start

启动报错:httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message

 

解决办法

vi /usr/local/apache/conf/httpd.conf

(1):增加 ServerName localhost

 

重新启动

[root@localhost bin]# ./apachectl start
httpd (pid 38347) already running

打开80端口并重启

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload

设置开机自启动

cp /usr/local/apache/bin/apachectl /etc/init.d/httpd

执行 chkconfig --add httpd 目的是想新增所制定的系统服务 但是会出现以下警告:

[root@localhost bin]#  chkconfig --add httpd
service httpd does not support chkconfig

 

这里说的是httpd服务不支持chkconfig , 添加支持: vi /etc/init.d/httpd 在 #!/bin/sh 下添加这两句:

#chkconfig:345 85 15

#description:Start and stop the Apache HTTP Server 最终结果为:

vi /etc/init.d/httpd

 

chkconfig --add httpd

 

安装mysql

安装依赖:

yum -y install make gcc-c++ cmake bison-devel  ncurses-devel

解压cmake压缩包,进入目录配置编译安装

cd /usr/local/src/
tar -zxvf cmake-2.8.10.2.tar.gz
cd cmake-2.8.10.2
./bootstrap
gmake
gmake install

建立mysql的用户和

groupadd mysql
useradd -g mysql mysql -s /usr/sbin/nologin
mkdir /usr/local/mysql
mkdir /usr/local/mysql/data

解压mysql压缩包,进入目录配置编译安装

cd /usr/local/src/
tar -zxvf mysql-5.6.28.tar.gz
cd mysql-5.6.28
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql  && make && make install
cd /usr/local/mysql/
scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
cp support-files/mysql.server /etc/rc.d/init.d/mysqld
chown -R mysql:mysql /usr/local/mysql

编辑配置文件

vi /usr/local/mysql/my.cnf

加上以下内容

[mysqld]

basedir = /usr/local/mysql

datadir = /usr/local/mysql/data

log-error = /usr/local/mysql/mysql_error.log

pid-file = /usr/local/mysql/mysql.pid

user = mysql

tmpdir = /tmp

lower_case_table_names=1

 

Linux系统 vi /etc/my.cnf 注释log-error、pid-file 两行

vi /etc/my.cnf
[mysqld]
#datadir=/var/lib/mysql
[mysqld_safe]
#log-error=/var/log/mariadb/mariadb.log
#pid-file=/var/run/mariadb/mariadb.pid

并加上以下内容

[mysqld]

basedir = /usr/local/mysql

datadir = /usr/local/mysql/data

log-error = /usr/local/mysql/mysql_error.log

pid-file = /usr/local/mysql/mysql.pid

user = mysql

tmpdir = /tmp

vi /usr/local/mysql/my.cnf

注释:

#datadir=/var/lib/mysql

加上以下内容

[mysqld]

basedir = /usr/local/mysql

datadir = /usr/local/mysql/data

log-error = /usr/local/mysql/mysql_error.log

pid-file = /usr/local/mysql/mysql.pid

user = mysql

tmpdir = /tmp

 

使用下列命令把mysql添加为系统服务。

cd /usr/local/mysql/support-files/
cp ./mysql.server /etc/init.d/mysqld
/etc/init.d/mysqld start
chkconfig --add mysqld
service mysqld start
[root@localhost /]# mysql -u root
-bash: mysql: command not found

原因:这是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令,我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件。

首先得知道mysql命令或mysqladmin命令的完整路径,比如mysql的路径是:/usr/local/mysql/bin/mysql,我们则可以这样执行命令:

ln -s /usr/local/mysql/bin/mysql /usr/bin
[root@localhost /]# mysql -u root
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

查找mysql.sock文件

[root@localhost /]# find / -name mysql.sock
/var/lib/mysql/mysql.sock
ln -s /var/lib/mysql/mysql.sock  /tmp/mysql.sock

设置root用户的远程访问权限

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION;
SET PASSWORD FOR 'root'@'%' = PASSWORD('123456');

安装PHP

安装依赖:php-mcrypt libmcrypt libmcrypt-devel  autoconf  freetype gd jpegsrc libmcrypt libpng libpng-devel libjpeg libxml2 libxml2-devel zlib curl curl-devel  

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压缩包,进入目录配置编译安装

cd /usr/local/src/
tar -zxvf php-7.2.3.tar.gz
cd php-7.2.3
./configure --prefix=/usr/local/php/ --with-apxs2=/usr/local/apache/bin/apxs --enable-mbstring --with-curl --with-gd --enable-fpm --enable-mysqlnd --with-pdo-mysql=mysqlnd --with-config-file-path=/usr/local/php/etc/ --with-mysqli=mysqlnd --with-mysql-sock=/var/lib/mysql/mysql.sock--with-mysql-sock=/var/lib/mysql/mysql.sock
make && make install
cp php.ini-development  /usr/local/php/etc/php.ini

编辑apache配置文件

vi /usr/local/apache/conf/httpd.conf

设置环境变量

ln -s /usr/local/php/bin/php /usr/bin/php

加入以下内容

Addtype application/x-httpd-php .php .phtml

/usr/local/apache/bin/apachectl restart
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值