CentOS7安装apache2和php72及MSSQL驱动

CentOS7版本:

[root@localhost ~]# cat /etc/redhat-release

CentOS Linux release 7.6.1810 (Core)

安装httpd

[root@localhost ~]# yum install httpd

启动httpd

[root@localhost ~]# service httpd start

此时可以访问默认网站,默认路径为:

/var/www/html

设置为开机启动

[root@localhost ~]# systemctl enable httpd

安装PHP7.2

[root@localhost ~]# yum install epel-release –y

[root@localhost ~]# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

清除历史版本

[root@localhost ~]# yum -y remove php*

安装扩展包

[root@localhost ~]# yum -y install php72w php72w-cli php72w-fpm php72w-common php72w-devel

安装豪华扩展包

[root@localhost ~]# yum -y install php72w php72w-cli php72w-fpm php72w-common php72w-devel php72w-embedded php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml

启动PHP

[root@localhost ~]# systemctl enable php-fpm.service

[root@localhost ~]# systemctl start php-fpm.service

测试

[root@localhost ~]# cd /var/www/html

[root@localhost html]# ls

[root@localhost html]# vi index.php

[root@localhost html]# service httpd restart

Index.php内容:

<?php

Phpinfo();

可以正常访问PHP页面了。

安装编译环境

[root@localhost freetds-1.1.15]# yum install gcc g++

安装软件的时候,提示make: command not found
Centos中无法使用make,make install,命令 make: command not found

make是gcc的编译器,VPS买来必定要安装

安装:

yum -y install gcc automake autoconf libtool make

安装g++:

yum install gcc gcc-c++

安装文件工具

[root@localhost ~]# yum install lrzsz

安装freetds

[root@localhost ~]# yum install wget

[root@localhost ~]# wget ftp://ftp.freetds.org/pub/freetds/stable/freetds-patched.tar.gz

[root@localhost ~]# tar -zxvf freetds-patched.tar.gz

[root@localhost ~]# cd freetds-*

[root@localhost freetds-1.1.15]# ./configure --prefix=/usr/local/freetds --with-tdsver=auto --enable-msdblib --with-gnu-ld --enable-shared --enable-static

[root@localhost ~]# make && make install

安装pdo_dblib

[root@localhost ~]# wget http://cn2.php.net/distributions/php-7.2.21.tar.gz

下载比较慢,可下载后上传

[root@localhost ~]# tar -zxvf php-7.2.21.tar.gz

[root@localhost ~]# cd php-*/ext/pdo_dblib

[root@localhost pdo_dblib]# /usr/local/php/bin/phpize

[root@localhost pdo_dblib]# /usr/bin/phpize

[root@localhost pdo_dblib]# ./configure --with-php-config=/usr/bin/php-config --with-pdo-dblib=/usr/local/freetds

[root@localhost pdo_dblib]# make && make install

配置PHP

在/etc/php.d/目录下建立文件

[root@localhost php.d]# vi pdo_dblib.ini

; Enable pdo_dblib extension module

extension=pdo_dblib.so

此时可以使用dblib来访问SQL Server了。

加入微软源

[root@localhost ~]# curl https://packages.microsoft.com/config/rhel/7/prod.repo > /etc/yum.repos.d/mssqlrelease.repo

[root@localhost ~]# yum install msodbcsql mssql-tools unixODBC-devel

[root@localhost ~]# wget https://pecl.php.net/get/ pdo_sqlsrv-5.6.1.tgz

[root@localhost ~]# tar -zxvf pdo_sqlsrv-5.6.1.tgz

[root@localhost ~]# cd pdo_sqlsrv-5.6.1

[root@localhost pdo_sqlsrv-5.6.1]# phpize

[root@localhost pdo_sqlsrv-5.6.1]# ./configure --with-php-config=/usr/bin/php-config

出错,gcc和g++要这样安装:

[root@localhost pdo_sqlsrv-5.6.1]# yum install gcc-c++

继续编译安装

[root@localhost pdo_dblib]# make && make install

在/etc/php.d/目录下建立文件

[root@localhost php.d]# vi pdo_sqlsrv.ini

; Enable pdo_sqlsrv extension module

extension=pdo_sqlsrv.so

测试ThinkPHP

上传至系统至

/var/www/tp5

修改/etc/httpd/conf/httpd.conf

将DocumentRoot
"/var/www/html"修改为DocumentRoot "/var/www/tp5/public"

将<Directory
"/var/www/html">修改为<Directory "/var/www/tp5">

修改数据库连接database.php

return [

// 数据库类型

'type'            => 'Sqlsrv',

// 服务器地址

'hostname'        => '127.0.0.1',

// 数据库名

'database'        => 'BokMES',

// 用户名

'username'        => 'sa',

// 密码

'password'        => ',

// 端口

'hostport'        => '',

// 连接dsn

'dsn'             => '',

// 数据库连接参数

'params'          => [],

// 数据库编码默认采用utf8

'charset'         => 'gbk',

测试

http://192.168.1.90/phpinfo.php

http://192.168.1.90/index.php/Index/index/myhello

通过!

ThinkPHP
URL重写

可以通过URL重写隐藏应用的入口文件index.php(也可以是其它的入口文件,但URL重写通常只能设置一个入口文件),下面是相关服务器的配置参考:

[ Apache ]

  1. httpd.conf配置文件中加载了mod_rewrite.so模块 (这个没有找到,但不影响)
  2. AllowOverride None 将None改为 All
  3. 把下面的内容保存为.htaccess文件放到应用入口文件的同级目录下
<IfModule mod_rewrite.c>
  Options +FollowSymlinks -Multiviews
  RewriteEngine On
 
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>

然后URL可以直接这样写了:

http://192.168.1.90/index.php/index/Index/index

安装SQL Server

[root@localhost php.d]# curl -o /etc/yum.repos.d/mssql-server.repo https://packages.microsoft.com/config/rhel/7/mssql-server-2017.repo

[root@localhost php.d]# yum install -y mssql-server

[root@localhost php.d]# /opt/mssql/bin/mssql-conf setup

然后测试从windows sql server 2008 R2迁移至Linux SQL Server 2017下。

首先在windows下备份数据库,比如是a.bak,将备份文件上传至Linux。Linux默认数据路径是/var/opt/mssql/data。然后在Linux下运行命令:

RESTORE DATABASE newdbname FROM DISK = '/var/opt/mssql/data/a.bak'

WITH

MOVE 'db1' TO '/var/opt/mssql/data/newdb.mdf',

MOVE 'db1_log' TO '/var/opt/mssql/data/newdb_log.ldf', STATS = 1, REPLACE, RECOVERY

此处注意,newdbname为新创建的数据库名字,而db1和db2_log为原数据库中的逻辑数据文件的名字。

设置防火墙:

sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent

sudo firewall-cmd --reload

CentOS7防火墙相关命令:

//临时关闭
systemctl stop firewalld
//禁止开机启动
systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

恢复成功,然后可以用SSMS或navicat或Azure Data Studio等工具正常连接数据库使用了。

安装mssql-tools:

添加源:

curl https://packages.microsoft.com/config/rhel/7/prod.repo >
/etc/yum.repos.d/msprod.repo

安装:

yum install mssql-tools unixODBC-devel

添加登录会话访问路径:

echo 'export
PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile

source ~/.bash_profile

交互式/非登录会话:

echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >>
~/.bashrc

source ~/.bashrc

Ubuntu 1904下安装会出现错误提示:

The following packages have unmet dependencies:

mssql-server : Depends: libjemalloc1 but it is not installable

Depends: libssl1.0.0 but it is not installable

需要下载安装下面的文件:

wget http://security-cdn.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.0.0_1.0.1t-1+deb8u11_amd64.deb

wget http://ftp.osuosl.org/pub/ubuntu/pool/universe/j/jemalloc/libjemalloc1_3.6.0-11_amd64.deb

然后安装

sudo dpkg -i libssl1.0.0_1.0.1t-1+deb8u11_amd64.deb

sudo dpkg -i libjemalloc1_3.6.0-11_amd64.deb

再安装SQL Server就可以了。

CentOS7安装Sql Server、apache2和php72及MSSQL驱动的更多相关文章

  1. CentOS随笔 - 5.CentOS7安装Sql Server 2017

    前言 转帖请注明出处: http://www.cnblogs.com/Troy-Lv5/ 开发环境嘛, 作为.Net系Sql Server那是必备的. 听过Sql server可以安装在Linux上了 ...

  2. CentOS7脱机安装SQL Server 2017

    SQL Server on Linux也发布一段时间了,官方上支持Red Hat, SUSE, Ubuntu.手上没有以上Linux版本,选用了与Red Hat最接近的CentOS7.4来进行安装和测 ...

  3. CentOS7.5脱机安装SQL Server 2017(NEW)

    发现搜到的都是在线下载安装的,都是只安装了mssql-server服务,没有mssql-server-agent服务.还以为linux下mssql没有agent服务呢.一番测试发现可以脱机安装,但是能 ...

  4. centos7.x中安装SQL Server

    本文内容是采集的好几位博主的博文进行的一个整合,内容更为精准和详尽,以下是我参照的几篇博文地址: 微软官方文档:https://docs.microsoft.com/zh-cn/sql/linux/s ...

  5. 在Azure虚拟机上安装SQL server

    Azure虽然向用户提供SQL paas服务,但是大多数用户还是习惯在用虚拟机自己搭建SQL server,这样的好处是便于后期最大化的扩展,所以鉴于这些情况,所以觉得有必要写这篇博客. 首先,我们要 ...

  6. 阿里云ECS服务器Centos中安装SQL Server(破解内存限制)

    前言 前段时间赶上阿里云618活动入手了一个低配的Linux服务器,供自己学习使用,在安装SQL Server中遇到了很多小问题,查阅很多博客结合自身遇到的问题做个总结. 安装过程 1.下载阿里云在线 ...

  7. 自动化安装SQL Server+SP就那么简单

    随着业务.企业规模的日益壮大,DB的数量也在不断增多,配置一台新增DB,从服务器的参数配置,磁盘阵列规划,DB安装部署,DB参数调优等等一列步骤下来,手工操作的效率变得越来越低,因为我负责的数据库近些 ...

  8. Win7 安装SQL SERVER 2012需要SP1补丁

    在操作系统Win7上安装SQL Server 2012时,报如下错误: 也就是说SQL Server 2012如要要安装在Windows 7 上,则至少需要安装SP1补丁.否则就会弹出上面提示信息.关 ...

  9. win8安装SQL Server 2005问题解决方法

    win8安装SQL Server 2005问题解决方法 1.正常安装任一版本的SQL Server 2005(最好安装企业版). 2.安装到SqlServer服务的时候提示启动服务失败(提示重试的时候 ...

随机推荐

  1. SpringBoot2.x的Maven依赖配置

    本篇主要说明以下内容: 1.SpringBoot2.x中Maven的配置内容,即:pom.xml的内容说明 1 Maven依赖的配置方式 使用Maven来配置SpringBoot2.x,有两种方式: ...

  2. prometheus学习系列十一: Prometheus 采集器的编写

    在前面的文章已经写了官方的几个exporter的使用了. 在实际使用环境中,我们可能需要收集一些自定义的数据, 这个时候我们一般是需要自己编写采集器的. 快速入门编写一个入门的demo 编写代码 fr ...

  3. Spark-Bench 测试教程

    Spark-Bench 教程 本文原始地址:https://sitoi.cn/posts/19752.html 系统环境配置 操作系统:centos7 环境要求:安装 JDK, Hadoop, Spa ...

  4. scrum-master个人实践回顾总结

    个人回顾总结 一.开课提出问题 第一次博客地址:https://www.cnblogs.com/Slow-Walker/p/11513179.html 二.问题回答 2.1问题1:针对单元测试 怎么保 ...

  5. python中pop()与split()的用法

    imglist = ['11.jpg','12.jpg','13.jpg','14.jpg','2.jpg','1.jpg',] print(str(imglist)) a = str(imglist ...

  6. spring Cloud Feign作为HTTP客户端调用远程HTTP服务

    在Spring Cloud Netflix栈中,各个微服务都是以HTTP接口的形式暴露自身服务的,因此在调用远程服务时就必须使用HTTP客户端.我们可以使用JDK原生的URLConnection.Ap ...

  7. 云打印 对 追光的人 的Beta产品测试报告

    云打印 对追光的人的Beta产品测试报告 课程名称:软件工程1916|W(福州大学) 团队名称: 云打印 作业要求: 项目Beta冲刺(团队) 作业目标:作业集合 团队队员 队员学号 队员姓名 个人博 ...

  8. MVC 自己创建URL 对象处理路径

    var url = new UrlHelper(filterContext.RequestContext); var url = new UrlHelper(HttpContext.Current.R ...

  9. CF528D Fuzzy Search 和 BZOJ4259 残缺的字符串

    Fuzzy Search 给你文本串 S 和模式串 T,求 S 的每个位置是否能模糊匹配上 T. 这里的模糊匹配指的是把 T 放到 S 相应位置上之后,T 中每个字符所在位置附近 k 个之内的位置上的 ...

  10. spark jdbc(mysql) 读取并发度优化

    转自:https://blog.csdn.net/lsshlsw/article/details/49789373 很多人在spark中使用默认提供的jdbc方法时,在数据库数据较大时经常发现任务 h ...