mnote

apache  使用yum 安装   mysql(5.6)和php(7.2)使用源码编译安装

一 、首先安装各种需要的编译器和依赖包

yum -y install gcc gcc-c++ autoconf automake libtool httpd-devel make cmake zlib zlib-devel openssl openssl-devel pcre-devel libxml2 libxml2-devel  curl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libmcrypt-devel gd-devel libcurl-devel  libxslt bzip2-devel libxslt-devel epel-release libmcrypt  mysql-devel aspell-devel  perl perl-devel gmp-devel

二、安装Apache

 1.

yum  -y  install  httpd

2. 安装完后 启动apache

service  httpd  start

三、编译安装MySQL5.6.30

    解压安装包并安装相应依赖包

    tar -zxvf mysql-5.6.30.tar.gz

    cd mysql-5.6.30

   1yum install cmake bison -y


   2)yum install ncurses-devel* -y


   3)yum install libgcrypt* libtool* -y

 

  4)

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/var/lib/mysql \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysqld.sock \
-DMYSQL_USER=mysql \
-DEXTRA_CHARSETS=all \
-DWITH_EMBEDDED_SERVER=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DWITH_SSL=yes \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci

  

参数含义:

#安装目录
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
#数据库存放目录
-DMYSQL_DATADIR=/var/lib/mysql \
-DMYSQL_TCP_PORT=3306 \
#Unix socket 文件路径
-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysqld.sock \
#mysql运行用户
-DMYSQL_USER=mysql \
#安装所有扩展字符集
-DEXTRA_CHARSETS=all \
#编译嵌入式服务器支持
-DWITH_EMBEDDED_SERVER=1 \
#启用本地数据导入支持
-DENABLED_LOCAL_INFILE=1 \
#安装 innodb 存储引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1
#安装数据库分区
-DWITH_PARTITION_STORAGE_ENGINE=1
#快捷键功能
-DWITH_READLINE=1
#支持 SSL
-DWITH_SSL=yes
#使用 utf8 字符
-DDEFAULT_CHARSET=utf8
#校验字符
-DDEFAULT_COLLATION=utf8_general_ci

 

5)编译后进行安装。如果没有报错的话就表示已经完成安装操作。

make && make install

  

6)添加用户,让mysql安装和启动都在独立的用户上使用。

groupadd mysql
useradd -g mysql mysql


7) 授权用户。

chown -R mysql:mysql /var/lib/mysql

 

8)复制配置文件到/etc目录下,并初始化数据库

cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf
/usr/local/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/var/lib/mysql

  

9) 设置环境变量

修改/etc/profile文件,

vim /etc/profile

在文件末尾添加:

PATH=/usr/local/mysql/bin:$PATH
export PATH


保存配置文件,运行下面的命令,让配置立即生效:

source /etc/profile

 


10) 添加开机自启动

cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

chkconfig --add mysqld

chkconfig mysqld on

 

 

11)启动mysql

service mysqld restart

现在,在终端内直接输入mysql即可进入修改密码:

mysql -uroot

mysql> SET PASSWORD = PASSWORD(\'123456\');

 

 

12)远程访问

给予任何主机访问mysql的权限

GRANT ALL PRIVILEGES ON *.* TO \'root\'@\'%\' IDENTIFIED BY \'your password\' WITH GRANT OPTION;

使权限修改生效

FLUSH PRIVILEGES;

 

 

13)CentOS默认开启了 firewall 防火墙,下面我们使用 firewall 开启3306l端口

  1.开启之前我们先查询下3306端口是否开启

  firewall-cmd --query-port=3306/tcp

 

  2.如果没有开启则开启 firewall 防火墙

  systemctl start firewalld.service

 

  3. 我们可以选择临时开启或者永久开启3306端口

  firewall-cmd --add-port=3306/tcp # 临时开启3306端口

  firewall-cmd --permanent --zone=public --add-port=3306/tcp # 永久开启3306端口

 

  4. 重启firewall

  firewall-cmd --reload

  $ service iptables restart


OK,一切配置完毕,然后可以访问MySQL了。

 

三、安装PHP

1)解压安装文件

tar -zxvf php-7.2.11.tar.gz

cd php-7.2.11

2)编译安装

./configure --prefix=/usr/local/php --with-config-file-path=/etc  --with-apxs2=/usr/bin/apxs --with-curl --with-freetype-dir --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-mysqli --with-openssl --with-pcre-regex --with-pdo-mysql --with-pdo-sqlite --with-pear --with-png-dir --with-jpeg-dir --with-xmlrpc --with-xsl --with-zlib --with-bz2 --with-mhash --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-sysvshm --enable-xml --enable-zip 

  

make  &&  make  install

3)配置PHP环境变量

  vim ~/.bash_profile 

  加入 alias php=/usr/local/php/bin/php

  source ~/.bash_profile

 

4)将配置文件拷贝到php安装指定的/etc目录 生成php.ini文件

  cp  php.ini-development /etc/php.ini

5)注意:

如果改动php.ini不起作用

使用php -i | grep php.ini 命令查看应该放到哪个路径生效

如果没有在./configure配置指定php.ini位置时,默认应该放在php/lib目录下

 

6)修改apache配置文件,让apache载入PHP模块

载入PHP模块,如httpd.conf中有下列代码则直接去掉前面#即可,没有则加入

LoadModule php7_module modules/libphp7.so

在底部加入以下代码使得Apache可以解析php文件

<IfModule mod_php7.c>
AddType application/x-httpd-php .php
</IfModule>

 

7)重启apache

service httpd restart  

在/var/www/html/目录下 创建index.php文件  phpinfo()   查看成功即可

 

以上仅供参考,如有错误的地方,请大家留言指正。。。

 

分类:

技术点:

相关文章: