mysql编译安装及PHP配置

回到顶部(go to top)

一、编译安装mysqld 服务

1、将安装mysql 所需软件包传到/opt目录下

1

2

mysql-5.7.17.tar.gz

boost_1_59_0.tar.gz                         #支持c++的运行库

2、安装环境依赖包

1

2

3

4

5

6

7

8

9

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

----------------------------------------------------------------------------------------------------------

各程序作用解释如下:

gcc

gcc-c++

ncurses                 #字符终端下图形互动功能的动态库

ncurses-devel           #ncurses开发包

bison                   #语法分析器

cmake                   #mysql需要用cmake编译安装

3、配置软件模块

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

tar zxvf mysql-5.7.17.tar.gz

tar zxvf boost_1_59_0.tar.gz

cd /opt

mv boost_1_59_0 /usr/local/boost                #重命名

cd /opt/mysql-5.7.17/

cmake \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \       #指定mysql的安装路径

-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \ #指定mysql进程监听套接字文件(数据库连接文件)的存储路径

-DSYSCONFDIR=/etc \                             #指定配置文件的存储路径

-DSYSTEMD_PID_DIR=/usr/local/mysql \            #指定进程文件的存储路径

-DDEFAULT_CHARSET=utf8  \                       #指定默认使用的字符集编码,如 utf8

-DDEFAULT_COLLATION=utf8_general_ci \           #指定默认使用的字符集校对规则

-DWITH_EXTRA_CHARSETS=all \                     #指定支持其他字符集编码

-DWITH_INNOBASE_STORAGE_ENGINE=1 \              #安装INNOBASE存储引擎

-DWITH_ARCHIVE_STORAGE_ENGINE=1 \               #安装ARCHIVE存储引擎

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \             #安装BLACKHOLE存储引擎

-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \            #安装FEDERATED存储引擎

-DMYSQL_DATADIR=/usr/local/mysql/data \         #指定数据库文件的存储路径

-DWITH_BOOST=/usr/local/boost \                 #指定boost的路径,若使用mysql-boost集成包安装则-DWITH_BOOST=boost

-DWITH_SYSTEMD=1                                #生成便于systemctl管理的文件

存储引擎选项:
MYISAM,MERGE,MEMORY,和CSV引擎是默认编译到服务器中,并不需要明确地安装。
静态编译一个存储引擎到服务器,使用-DWITH_engine_STORAGE_ENGINE= 1
可用的存储引擎值有:ARCHIVE, BLACKHOLE, EXAMPLE, FEDERATED, INNOBASE (InnoDB), PARTITION (partitioning support), 和PERFSCHEMA (Performance Schema)

注意:如果在CMAKE的过程中有报错,当报错解决后,需要把源码目录中的CMakeCache.txt文件删除,然后再重新CMAKE,否则错误依旧。

4、编译及安装

1

make && make install

5、创建mysql用户  

1

useradd -M -s /sbin/nologin  mysql

6、修改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

vim /etc/my.cnf                             #删除原配置项,再重新添加下面内容

[client]                                    #客户端设置

port = 3306

socket = /usr/local/mysql/mysql.sock           

[mysql]                                     #服务端设置

port = 3306

socket = /usr/local/mysql/mysql.sock

auto-rehash                                 #开启自动补全功能

[mysqld]                                    #服务全局设置

user = mysql                                #设置管理用户

basedir=/usr/local/mysql                    #指定数据库的安装目录

datadir=/usr/local/mysql/data               #指定数据库文件的存储路径

port = 3306                                 #指定端口

character-set-server=utf8                   #设置服务器字符集编码格式为utf8

pid-file /usr/local/mysql/mysqld.pid      #指定pid 进程文件路径

socket=/usr/local/mysql/mysql.sock          #指定数据库连接文件

bind-address = 0.0.0.0                      #设置监听地址,0.0.0.0代表允许所有,如允许多个IP需空格隔开

skip-name-resolve                           #禁用DNS解析

max_connections=2048                        #设置mysql的最大连接数

default-storage-engine=INNODB               #指定默认存储引擎

max_allowed_packet=16M                      #设置数据库接收的数据包大小的最大值

server-id = 1                               #指定服务ID号

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

1

sql_mode常用值如下:

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

NO_ENGINE_SUBSTITUTION

如果需要的存储引擎被禁用或未编译,那么抛出错误。不设置此值时,用默认的存储引擎替代,并抛出一个异常

STRICT_TRANS_TABLES

在该模式下,如果一个值不能插入到一个事务表中,则中断当前的操作,对非事务表不做限制

NO_AUTO_CREATE_USER

禁止GRANT创建密码为空的用户

NO_AUTO_VALUE_ON_ZERO

mysql中的自增长列可以从0开始。默认情况下自增长列是从1开始的,如果你插入值为0的数据会报错

NO_ZERO_IN_DATE

不允许日期和月份为零

NO_ZERO_DATE

mysql数据库不允许插入零日期,插入零日期会抛出错误而不是警告

ERROR_FOR_DIVISION_BY_ZERO

在INSERT或UPDATE过程中,如果数据被零除,则产生错误而非警告。默认情况下数据被零除时MySQL返回NULL

PIPES_AS_CONCAT

"||"视为字符串的连接操作符而非或运算符,这和Oracle数据库是一样的,也和字符串的拼接函数Concat相类似

ANSI_QUOTES

启用ANSI_QUOTES后,不能用双引号来引用字符串,因为它被解释为识别符

7、更改mysql安装目录和配置文件的属主属组 

1

2

chown -R mysql:mysql /usr/local/mysql/

chown mysql:mysql /etc/my.cnf

8、设置路径环境变量

1

2

echo 'export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile   

source /etc/profile

9、初始化数据库 

1

2

3

4

5

6

cd /usr/local/mysql/bin/

./mysqld \

--initialize-insecure \             #生成初始化密码为空

--user=mysql \                      #指定管理用户

--basedir=/usr/local/mysql \        #指定数据库的安装目录

--datadir=/usr/local/mysql/data     #指定数据库文件的存储路径

10、添加mysqld系统服务

1

2

3

4

5

cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/      #用于systemctl服务管理

systemctl daemon-reload         #刷新识别    

systemctl start mysqld.service  #开启服务

systemctl enable mysqld         #开机自启动

netstat -anpt | grep 3306       #查看端口

11.修改mysql 的登录密码

1

mysqladmin -u root -p password "abc123"     #给root账号设置密码为abc123,提示输入的是原始密码(为空)  

12、授权远程登录

1

2

3

4

5

mysql -u root -p

grant all privileges on *.* to 'root'@'%' identified by 'abc123';

#授予root用户可以在所有终端远程登录,使用的密码是abc123,并对所有数据库和所有表有操作权限

show databases;         #查看当前已有的数据库

回到顶部(go to top)

二、实例操作:编译安装mysqld 服务 

1.将安装mysql 所需软件包传到/opt目录下

1

2

3

4

5

6

7

8

9

10

11

[root@www opt]# ls

apr-1.6.2.tar.gz  apr-util-1.6.0.tar.gz  httpd-2.4.29  httpd-2.4.29.tar.bz2

[root@www opt]# rz -E

rz waiting to receive.

[root@www opt]# rz -E

rz waiting to receive.

[root@www opt]# rz -E

rz waiting to receive.

[root@www opt]# ls

apr-1.6.2.tar.gz       boost_1_59_0.tar.gz  httpd-2.4.29.tar.bz2  mysql-boost-5.7.20.tar.gz

apr-util-1.6.0.tar.gz  httpd-2.4.29         mysql-5.7.17.tar.gz  

2.安装环境依赖包

1

[root@www opt]# yum -y install gcc gcc-c++ ncurses ncurses-devel bison cmake  

3、配置软件模块

3.1 解压文件至当前目录

1

2

3

[root@www opt]# ls

apr-1.6.2.tar.gz       boost_1_59_0         httpd-2.4.29          mysql-5.7.17         mysql-boost-5.7.20.tar.gz

apr-util-1.6.0.tar.gz  boost_1_59_0.tar.gz  httpd-2.4.29.tar.bz2  mysql-5.7.17.tar.gz

  

3.2 、CMAKE相关路径和安装相关引擎

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

[root@www mysql-5.7.17]# cd /opt

[root@www opt]# ls

apr-1.6.2.tar.gz       boost_1_59_0.tar.gz  httpd-2.4.29.tar.bz2  mysql-5.7.17.tar.gz

apr-util-1.6.0.tar.gz  httpd-2.4.29         mysql-5.7.17          mysql-boost-5.7.20.tar.gz

[root@www opt]# mv boost_1_59_0 /usr/local/boost

[root@www mysql-5.7.17]# cmake \

> -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

> -DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \

> -DSYSCONFDIR=/etc \

> -DSYSTEMD_PID_DIR=/usr/local/mysql \

> -DDEFAULT_CHARSET=utf8  \

> -DDEFAULT_COLLATION=utf8_general_ci \

> -DWITH_EXTRA_CHARSETS=all \

> -DWITH_INNOBASE_STORAGE_ENGINE=1 \

> -DWITH_ARCHIVE_STORAGE_ENGINE=1 \

> -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

> -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \

> -DMYSQL_DATADIR=/usr/local/mysql/data \

> -DWITH_BOOST=/usr/local/boost \

>-DWITH_SYSTEMD=1

  

4、编译及安装

1

2

3

4

5

[root@www opt]# ls

apr-1.6.2.tar.gz       boost_1_59_0.tar.gz  httpd-2.4.29.tar.bz2  mysql-5.7.17.tar.gz

apr-util-1.6.0.tar.gz  httpd-2.4.29         mysql-5.7.17          mysql-boost-5.7.20.tar.gz

[root@www opt]# cd mysql-5.7.17/

[root@www mysql-5.7.17]# make -j2 && make install

  

5、创建mysql用户

1

2

3

4

[root@www mysql-5.7.17]# cd /usr/local/

[root@www local]# ls

bin  boost  etc  games  httpd  include  lib  lib64  libexec  mysql  sbin  share  src

[root@www local]# useradd -M -s /sbin/nologin mysql

  

6、修改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

[root@www local]# vim /etc/my.cnf<br>[client]

port = 3306

default-character-set=utf8

socket=/usr/local/mysql/mysql.sock

[mysql]

port = 3306

default-character-set=utf8

socket = /usr/local/mysql/mysql.sock

auto-rehash

[mysqld]

user = mysql

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

port = 3306

character-set-server=utf8

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

socket=/usr/local/mysql/mysql.sock

bind-address = 0.0.0.0

skip-name-resolve

max_connections=2048

default-storage-engine=INNODB

max_allowed_packet=16M

server-id = 1

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

删除原配置项,再重新添加下面内容  

7、更改mysql安装目录和配置文件的属主属组

1

2

[root@www local]# chown -R mysql:mysql /usr/local/mysql/

[root@www local]# chown mysql:mysql /etc/my.cnf

  

8、设置路径环境变量

1

2

3

4

[root@www local]# echo 'export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile

[root@www local]# source /etc/profile

[root@www local]# echo $PATH

/usr/local/mysql/bin:/usr/local/mysql/lib:/usr/local/mysql/bin:/usr/local/mysql/lib:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

  

9、初始化数据库

1

2

3

4

5

6

7

8

9

10

11

12

13

14

[root@www local]# cd /usr/local/mysql/bin/

[root@www bin]# ls

innochecksum       mysql                       mysql_config_editor  mysql_install_db           mysqltest            resolveip

lz4_decompress     mysqladmin                  mysqld               mysql_plugin               mysqltest_embedded   resolve_stack_dump

myisamchk          mysqlbinlog                 mysqld_pre_systemd   mysqlpump                  mysql_tzinfo_to_sql  zlib_decompress

myisam_ftdump      mysqlcheck                  mysqldump            mysql_secure_installation  mysql_upgrade

myisamlog          mysql_client_test           mysqldumpslow        mysqlshow                  mysqlxtest

myisampack         mysql_client_test_embedded  mysql_embedded       mysqlslap                  perror

my_print_defaults  mysql_config                mysqlimport          mysql_ssl_rsa_setup        replace

[root@www bin]# ./mysqld \

> --initialize-insecure \

> --user=mysql \

> --basedir=/usr/local/mysql \

> --datadir=/usr/local/mysql/data

 

 

10、添加mysqld系统服务

1

2

3

4

5

6

7

8

9

[root@www bin]# cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/

[root@www bin]# systemctl dameon-reload

Unknown operation 'dameon-reload'.

[root@www bin]# systemctl daemon-reload

[root@www bin]# systemctl start mysqld.service

[root@www bin]# systemctl enable mysqld.service

Created symlink from /etc/systemd/system/multi-user.target.wants/mysqld.service to /usr/lib/systemd/system/mysqld.service.

[root@www bin]# netstat -natp | grep 3306

tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      25782/mysqld

  

11、修改mysql 的登录密码

1

2

3

4

5

6

[root@www bin]# mysqladmin -u root -p password "abc123"

Enter password:

mysqladmin: [Warning] Using a password on the command line interface can be insecure.

Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.

[root@www bin]# mysql

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

  

12、授权远程登录

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

[root@www bin]# mysql -u root -p

Enter password:

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 6

Server version: 5.7.17 Source distribution

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mysql              |

| performance_schema |

| sys                |

+--------------------+

4 rows in set (0.00 sec)

mysql> grant all privileges on *.* to 'root'@'%' identified by 'abc123';

Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> quit

Bye

  

回到顶部(go to top)

 四、编译安装PHP 解析环境

1、将安装PHP 所需软件包传到/opt目录下

1

php-7.1.10.tar.bz2

2、安装GD库和GD库关联程序,用来处理和生成图片

1

2

3

4

5

6

7

8

9

yum -y install \

gd \

libjpeg libjpeg-devel \

libpng libpng-devel \

freetype freetype-devel \

libxml2 libxml2-devel \

zlib zlib-devel \

curl curl-devel \

openssl openssl-devel

3、配置软件模块

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

cd /opt

tar jxvf php-7.1.10.tar.bz2

cd /opt/php-7.1.10/

./configure \

--prefix=/usr/local/php7 \                          #指定将 PHP 程序的安装路径

--with-apxs2=/usr/local/httpd/bin/apxs \            #指定Apache httpd服务提供的apxs 模块支持程序的文件位置

--with-mysql-sock=/usr/local/mysql/mysql.sock \     #指定mysql 数据库连接文件的存储路径

--with-config-file-path=/usr/local/php7             #设置 PHP 的配置文件 php.ini 将要存放的位置

--with-mysqli \                                     #添加 MySQL 扩展支持 #mysqli扩展技术不仅可以调用MySQL的存储过程、处理MySQL事务,而且还可以使访问数据库工作变得更加稳定

--with-zlib \                                       #支持zlib功能,提供数据压缩

--with-curl \                                       #开启curl扩展功能,实现HTTP的Get下载和Post请求的方法

--with-gd \                                         #激活gd 库的支持

--with-jpeg-dir \                                   #激活jpeg 的支持

--with-png-dir \                                    #激活png 的支持

--with-freetype-dir \

--with-openssl \

--enable-mbstring \                                 #启用多字节字符串功能,以便支持中文等代码

--enable-xml \                                      #开启扩展性标记语言模块

--enable-session \                                  #会话

--enable-ftp \                                      #文本传输协议

--enable-pdo \                                      #函数库

--enable-tokenizer \                                #令牌解释器

--enable-zip                                        #ZIP压缩格式

4、编译及安装

1

make && make install

5、复制模版文件作为PHP 的主配置文件,并进行修改

1

2

3

4

5

6

7

cp /opt/php-7.1.10/php.ini-development /usr/local/php7/php.ini 

#在测试环境时使用php.ini-development文件,而在生产环境时使用php.ini-production文件

vim /usr/local/php7/php.ini

--1170行--修改

mysqli.default_socket = /usr/local/mysql/mysql.sock

--939行--取消注释,修改

date.timezone = Asia/Shanghai

6、优化把PHP 的可执行程序文件放入路径环境变量的目录中便于系统识别

1

2

ln -s /usr/local/php7/bin//usr/local/bin/

php -m          #查看PHP 加载了哪些模块

7、修改httpd 服务的配置文件,让apache支持PHP

1

2

3

4

5

6

7

8

9

vim /etc/httpd.conf

--393行--插入以下内容

AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phps

--255行--修改首页文件名设置

DirectoryIndex index.html index.php

---检查支持php7的模块是否存在------

LoadModule php7_module        modules/libphp7.so

8、验证PHP 测试页

1

2

3

4

5

6

7

8

9

10

rm -rf /usr/local/httpd/htdocs/index.html

vim /usr/local/httpd/htdocs/index.php

<?php

phpinfo();

?>

systemctl restart httpd.service

浏览器访问

http://192.168.229.90

回到顶部(go to top)

五、实例操作:编译安装PHP 解析环境

 1、将安装PHP 所需软件包传到/opt目录下

1

2

3

[root@www opt]# ls

apr-1.6.2.tar.gz       boost_1_59_0.tar.gz      httpd-2.4.29          mysql-5.7.17         mysql-boost-5.7.20.tar.gz

apr-util-1.6.0.tar.gz  Discuz_X3.4_SC_UTF8.zip  httpd-2.4.29.tar.bz2  mysql-5.7.17.tar.gz  php-7.1.10.tar.bz2

  

2、安装GD库和GD库关联程序,用来处理和生成图片

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

[root@www opt]# yum -y install \

> gd \

> libjpeg libjpeg-devel \

> libpng libpng-devel \

> freetype freetype-devel \

> libxml2 libxml2-devel \

> zlib zlib-devel \

> curl curl-devel \

> openssl openssl-devel

已加载插件:fastestmirror, langpacks

Loading mirror speeds from cached hostfile

 * base: mirrors.aliyun.com

 * extras: mirrors.aliyun.com

 * updates: mirrors.aliyun.com

软件包 gd-2.0.35-27.el7_9.x86_64 已安装并且是最新版本

软件包 libjpeg-turbo-1.2.90-8.el7.x86_64 已安装并且是最新版本

软件包 libjpeg-turbo-devel-1.2.90-8.el7.x86_64 已安装并且是最新版本

软件包 2:libpng-1.5.13-8.el7.x86_64 已安装并且是最新版本

软件包 2:libpng-devel-1.5.13-8.el7.x86_64 已安装并且是最新版本

软件包 freetype-2.8-14.el7_9.1.x86_64 已安装并且是最新版本

软件包 freetype-devel-2.8-14.el7_9.1.x86_64 已安装并且是最新版本

软件包 libxml2-2.9.1-6.el7.5.x86_64 已安装并且是最新版本

软件包 libxml2-devel-2.9.1-6.el7.5.x86_64 已安装并且是最新版本

软件包 zlib-1.2.7-19.el7_9.x86_64 已安装并且是最新版本

软件包 zlib-devel-1.2.7-19.el7_9.x86_64 已安装并且是最新版本

软件包 curl-7.29.0-59.el7_9.1.x86_64 已安装并且是最新版本

软件包 libcurl-devel-7.29.0-59.el7_9.1.x86_64 已安装并且是最新版本

软件包 1:openssl-1.0.2k-21.el7_9.x86_64 已安装并且是最新版本

软件包 1:openssl-devel-1.0.2k-21.el7_9.x86_64 已安装并且是最新版本

无须任何处理

  

3、.配置软件模块

3.1 解压文件

1

2

3

4

[root@www opt]# ls

apr-1.6.2.tar.gz       boost_1_59_0.tar.gz      httpd-2.4.29          mysql-5.7.17         mysql-boost-5.7.20.tar.gz  php-7.1.10.tar.bz2

apr-util-1.6.0.tar.gz  Discuz_X3.4_SC_UTF8.zip  httpd-2.4.29.tar.bz2  mysql-5.7.17.tar.gz  php-7.1.10

[root@www opt]# tar jxvf php-7.1.10.tar.bz2

  

3.2 配置相关软件模块

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

[root@www opt]# ls

apr-1.6.2.tar.gz       boost_1_59_0.tar.gz      httpd-2.4.29          mysql-5.7.17         mysql-boost-5.7.20.tar.gz  php-7.1.10.tar.bz2

apr-util-1.6.0.tar.gz  Discuz_X3.4_SC_UTF8.zip  httpd-2.4.29.tar.bz2  mysql-5.7.17.tar.gz  php-7.1.10

[root@www opt]# cd php-7.1.10/

[root@www php-7.1.10]# ls

acinclude.m4      CREDITS          makedist         php.ini-development           README.SELF-CONTAINED-EXTENSIONS  snapshot

aclocal.m4        ext              Makefile.frag    php.ini-production            README.STREAMS                    stamp-h.in

appveyor          EXTENSIONS       Makefile.gcov    README.EXT_SKEL               README.SUBMITTING_PATCH           stub.c

build             footer           Makefile.global  README.GIT-RULES              README.TESTING                    tests

buildconf         generated_lists  makerpm          README.input_filter           README.TESTING2                   travis

buildconf.bat     genfiles         missing          README.MAILINGLIST_RULES      README.UNIX-BUILD-SYSTEM          TSRM

CODING_STANDARDS  header           mkinstalldirs    README.md                     README.WIN32-BUILD-SYSTEM         UPGRADING

config.guess      INSTALL          netware          README.namespaces             run-tests.php                     UPGRADING.INTERNALS

config.sub        install-sh       NEWS             README.NEW-OUTPUT-API         sapi                              vcsclean

configure         LICENSE          pear             README.PARAMETER_PARSING_API  scripts                           win32

configure.in      ltmain.sh        php7.spec.in     README.REDIST.BINS            server-tests-config.php           Zend

CONTRIBUTING.md   main             php.gif          README.RELEASE_PROCESS        server-tests.php

[root@www php-7.1.10]# ./configure \

> --prefix=/usr/local/php7 \

> --with-apxs2=/usr/local/httpd/bin/apxs \

> --with-mysql-sock=/usr/local/mysql/mysql.sock \

> --with-config-file-path=/usr/local/php7 \

> --with-mysqli \

> --with-zlib \

> --with-curl \

> --with-gd \

> --with-jpeg-dir \

> --with-png-dir \

> --with-freetype-dir \

> --with-openssl \

> --enable-mbstring \

> --enable-xml \

> --enable-session \

> --enable-ftp \

> --enable-pdo \

> --enable-tokenizer \

> --enable-zip

  

4、编译及安装

1

[root@www php-7.1.10]# make -j2 && make install

  

5、复制模版文件作为PHP 的主配置文件,并进行修改

1

2

3

4

5

6

7

8

[root@www php-7.1.10]# cp /opt/php-7.1.10/php.ini-development /usr/local/php7/php.ini

[root@www php-7.1.10]# cd /usr/local/php7/

[root@www php7]# ls

bin  etc  include  lib  php  php.ini  var

[root@www php7]# vim php.ini

1170 mysqli.default_socket = /usr/local/mysql/mysql.socki

939 date.timezone = Asia/Shanghai

  

6、优化把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

[root@www php7]# cd /usr/local/php7/bin

[root@www bin]# ls

pear  peardev  pecl  phar  phar.phar  php  php-cgi  php-config  phpdbg  phpize

[root@www bin]# ln -s /usr/local/php7/bin/* /usr/local/bin/

[root@www bin]# ls

pear  peardev  pecl  phar  phar.phar  php  php-cgi  php-config  phpdbg  phpize

[root@www bin]# ll

总用量 111604

-rwxr-xr-x 1 root root      842 8月   6 22:49 pear

-rwxr-xr-x 1 root root      863 8月   6 22:49 peardev

-rwxr-xr-x 1 root root      779 8月   6 22:49 pecl

lrwxrwxrwx 1 root root        9 8月   6 22:49 phar -> phar.phar

-rwxr-xr-x 1 root root    14834 8月   6 22:49 phar.phar

-rwxr-xr-x 1 root root 37809744 8月   6 22:49 php

-rwxr-xr-x 1 root root 37653608 8月   6 22:49 php-cgi

-rwxr-xr-x 1 root root     2771 8月   6 22:49 php-config

-rwxr-xr-x 1 root root 38776256 8月   6 22:49 phpdbg

-rwxr-xr-x 1 root root     4566 8月   6 22:49 phpize

[root@www bin]# php -m

[PHP Modules]

Core

ctype

curl

date

dom

fileinfo

filter

  

7、修改httpd 服务的配置文件,让apache支持PHP 

1

2

3

4

5

6

7

[root@www bin]# vim /etc/httpd.conf

255 <IfModule dir_module>

256     DirectoryIndex index.html  index.php

257 </IfModule>

394     AddType application/x-httpd-php .php

395     AddType application/x-httpd-php-source .phps

  

检查支持php7的模块是否存在

  

8、验证PHP 测试页

8.1 备份index.html,新建index.php文件

1

2

3

4

5

6

7

8

9

10

11

[root@www ~]# cd /usr/local/httpd/htdocs/

[root@www htdocs]# ls

index.html

[root@www htdocs]# mv index.html index.html.bak

[root@www htdocs]# ls

index.html.bak

[root@www htdocs]# vim /usr/local/httpd/htdocs/index.php

<?php

phpinfo();

?>

  

8.2 开启服务,验证PHP 测试页  

1

[root@www htdocs]# systemctl restart httpd.service

  

   

回到顶部(go to top)

六、安装论坛

1.创建数据库,并进行授权

1

2

3

4

5

6

7

8

9

10

11

12

mysql -u root -p

CREATE DATABASE bbs;

#创建一个数据库

GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY 'abc123';

#把bbs数据库里面所有表的权限授予给bbsuser,并设置密码abc123

flush privileges;

#刷新数据库

show databases;

2、解压论坛压缩包

1

2

3

unzip /opt/Discuz_X3.4_SC_UTF8.zip -d /opt/dis

cd /opt/dis/dir_SC_UTF8/

cp -r upload/ /usr/local/httpd/htdocs/bbs       #上传站点更新包

3、更改论坛目录的属主

1

2

3

4

5

6

ps aux                          #查看发现论坛进程的用户名是daemon

cd /usr/local/httpd/htdocs/bbs

chown -R daemon ./config

chown -R daemon ./data

chown -R daemon ./uc_client

chown -R daemon ./uc_server/data

4、浏览器访问验证

1

2

3

4

5

6

7

8

9

10

11

12

论坛页面访问

http://192.168.229.90/bbs

----------------------------------------------------------------------------------------------------------

数据库服务器:localhost     ###本地架设就用localhost,如何不是在在本机上就要填写IP地址和端口号

数据库名字:bbs

数据库用户名:bbsuser

数据库密码:abc123

管理员账号:admin

管理员密码:abc123

----------------------------------------------------------------------------------------------------------

论坛后台管理员页面

http://192.168.229.90/bbs/admin.php

回到顶部(go to top)

七、实例操作:安装论坛

1、创建数据库,并进行授权

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

[root@www htdocs]# mysql -u root -pabc123

mysql: [Warning] Using a password on the command line interface can be insecure.

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 3

Server version: 5.7.17 Source distribution

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> CREATE DATABASE bbs;

Query OK, 1 row affected (0.01 sec)

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| bbs                |

| mysql              |

| performance_schema |

| sys                |

+--------------------+

5 rows in set (0.05 sec)

mysql> GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY 'admin123';

Query OK, 0 rows affected, 1 warning (0.01 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.01 sec)

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| bbs                |

| mysql              |

| performance_schema |

| sys                |

+--------------------+

5 rows in set (0.00 sec)

  

2、解压论坛压缩包

1

2

3

4

5

[root@www htdocs]# cd /opt/

[root@www opt]# ls

apr-1.6.2.tar.gz       boost_1_59_0.tar.gz      httpd-2.4.29          mysql-5.7.17         mysql-boost-5.7.20.tar.gz  php-7.1.10.tar.bz2

apr-util-1.6.0.tar.gz  Discuz_X3.4_SC_UTF8.zip  httpd-2.4.29.tar.bz2  mysql-5.7.17.tar.gz  php-7.1.10

[root@www opt]# unzip Discuz_X3.4_SC_UTF8.zip -d /opt/dis

  

3、上传站点更新包

1

2

3

4

5

6

7

8

9

10

[root@www opt]# ls

apr-1.6.2.tar.gz       boost_1_59_0.tar.gz  Discuz_X3.4_SC_UTF8.zip  httpd-2.4.29.tar.bz2  mysql-5.7.17.tar.gz        php-7.1.10

apr-util-1.6.0.tar.gz  dis                  httpd-2.4.29             mysql-5.7.17          mysql-boost-5.7.20.tar.gz  php-7.1.10.tar.bz2

[root@www opt]# cd dis/

[root@www dis]# ls

dir_SC_UTF8  说明.htm

[root@www dis]# cd dir_SC_UTF8/

[root@www dir_SC_UTF8]# ls

readme  upload  utility

[root@www dir_SC_UTF8]# cp -r upload/ /usr/local/httpd/htdocs/bbs

  

4、网页验证

  

  

5、更改论坛目录的属主

5.1 查看论坛进程的用户名是daemon  

5.2  更改论坛目录的属主

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

[root@www opt]# cd /usr/local/httpd/htdocs/bbs

[root@www bbs]# ls

admin.php  archiver     crossdomain.xml  forum.php  index.php  member.php  portal.php  source    uc_client

api        config       data             group.php  install    misc.php    robots.txt  static    uc_server

api.php    connect.php  favicon.ico      home.php   m          plugin.php  search.php  template

[root@www bbs]# chown -R daemon ./config

[root@www bbs]# chown -R daemon ./data

[root@www bbs]# chown -R daemon ./uc_client

[root@www bbs]# chown -R daemon ./uc_server/data

[root@www bbs]# ll

总用量 68

-rw-r--r--  1 root   root 2748 8月   7 12:13 admin.php

drwxr-xr-x 10 root   root  149 8月   7 12:13 api

-rw-r--r--  1 root   root  727 8月   7 12:13 api.php

drwxr-xr-x  2 root   root   23 8月   7 12:13 archiver

drwxr-xr-x  2 daemon root   90 8月   7 12:13 config

-rw-r--r--  1 root   root 1017 8月   7 12:13 connect.php

-rw-r--r--  1 root   root  106 8月   7 12:13 crossdomain.xml

drwxr-xr-x 12 daemon root  202 8月   7 12:13 data

-rw-r--r--  1 root   root 5558 8月   7 12:13 favicon.ico

-rw-r--r--  1 root   root 2245 8月   7 12:13 forum.php

-rw-r--r--  1 root   root  821 8月   7 12:13 group.php

-rw-r--r--  1 root   root 1280 8月   7 12:13 home.php

-rw-r--r--  1 root   root 5885 8月   7 12:13 index.php

drwxr-xr-x  5 root   root   64 8月   7 12:13 install

drwxr-xr-x  2 root   root   23 8月   7 12:13 m

-rw-r--r--  1 root   root 1025 8月   7 12:13 member.php

-rw-r--r--  1 root   root 2435 8月   7 12:13 misc.php

-rw-r--r--  1 root   root 1788 8月   7 12:13 plugin.php

-rw-r--r--  1 root   root  977 8月   7 12:13 portal.php

-rw-r--r--  1 root   root  582 8月   7 12:13 robots.txt

-rw-r--r--  1 root   root 1155 8月   7 12:13 search.php

drwxr-xr-x 10 root   root  168 8月   7 12:13 source

drwxr-xr-x  7 root   root   86 8月   7 12:13 static

drwxr-xr-x  3 root   root   38 8月   7 12:13 template

drwxr-xr-x  7 daemon root  106 8月   7 12:13 uc_client

drwxr-xr-x 14 root   root  256 8月   7 12:13 uc_server

  

6、论坛相关设置

6.1  刷新浏览器查看文件是否有权限

  

 6.2 选择全新安装

 6.3 安装数据库相关配置

6.4 安装完成点击访问

6.5  论坛安装完成

 6.6 论坛后台管理员页面

http://192.168.229.90/bbs/admin.php

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值