源码编译安装php 及安装论坛
1.1 将安装包传到/opt/ 目录下
php-7.1.10.tar.bz2
1.2 安装GD库和GD库关联程序,用来处理和生成图片
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
1.3 配置软件模块
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压缩格式
1.4.编译及安装
make && make install
1.5.复制模版文件作为PHP 的主配置文件,并进行修改
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
1.6.优化把PHP 的可执行程序文件放入路径环境变量的目录中便于系统识别
ln -s /usr/local/php7/bin/* /usr/local/bin/ php -m #查看PHP 加载了哪些模块
1.7.修改httpd 服务的配置文件,让apache支持PHP
#如果使用sed 非交互修改,需要先复制配置文件,修改复制后的文件,之后在覆盖源文件 vim /etc/httpd.conf --393行--插入以下内容 AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps --255行--修改首页文件名设置 DirectoryIndex index.html index.php
重启httpd 服务,查看配置文件里是否有 “LoadModule php7_module modules/libphp7.so”模块
1.8.验证PHP 测试页
rm -rf /usr/local/httpd/htdocs/index.html vim /usr/local/httpd/htdocs/index.php <?php phpinfo(); ?> 使用浏览器访问 http://192.168.23.103
访问结果:
二:安装bbs 论坛
2.1 创建数据库,并授权
mysql -u root -p #输入密码登录数据库 create database bbs; #创建数据库bbs grant all on bbs.* to 'bbsuser'@'%' identified by 'abc123'; #将bbs库里所有表的权限授权给用户 bbsuser,并设置登录密码abc123 flush privileges; #刷新数据库 show databases; #查看数据库
2.2.解压论坛压缩包
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 #上传站点更新包
2.3.更改论坛目录的属主
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
不改变属主,将会是不可写状态,因为启动进程的用户名是daemon
2.4 bbs 论坛安装步骤:
附:一键部署php 脚本
一键部署php 脚本
#!/bin/bash wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo yum clean all && yum makecache 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 cd /opt tar jxvf php-7.1.10.tar.bz2 cd /opt/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 make && make install cp /opt/php-7.1.10/php.ini-development /usr/local/php7/php.ini sed -i 's#mysqli.default_socket =#mysqli.default_socket =/usr/local/mysql/mysql.sock#' /usr/local/php7/php.ini sed -i '939a date.timezone = Asia/Shanghai' /usr/local/php7/php.ini ln -s /usr/local/php7/bin/* /usr/local/bin/ /usr/bin/cp -fp /usr/local/httpd/conf/httpd.conf /usr/local/httpd/conf/httpd.conf.bak sed -i "393a AddType application/x-httpd-php .php\nAddType application/x-httpd-php-source .phps" /usr/local/httpd/conf/httpd.conf.bak sed -i "s/DirectoryIndex index.html/DirectoryIndex index.html index.php/ " /usr/local/httpd/conf/httpd.conf.bak /usr/bin/cp -fp /usr/local/httpd/conf/httpd.conf.bak /usr/local/httpd/conf/httpd.conf systemctl restart httpd mv /usr/local/httpd/htdocs/index.html /usr/local/httpd/htdocs/index.bak echo -e "<?php \nphpinfo(); \n?> \n" > /usr/local/httpd/htdocs/index.php systemctl restart httpd