Linux安装和常用软件安装设置以及常用命令的使用

Powerbuilder 操作系统

DataWindowHTTP在linux环境的安装和测试
*此非必要文档,如果在window环境使用,则无需参考。对于linux os,apache,php安装熟悉的朋友,也无需参考此文档的安装部分,只需要参考配置部分即可。

*最后修改日期:2023.08.20

产品附件说明,请勿转载他用。

目录:

一.安装虚拟机

二.安装linux

三.安装apache2.4

四.安装php8.0

五.安装MySQL8.0

六.安装DataWindowHTTP组件的服务器端

七.对接DataWindowHTTP组件的客户端

一.安装虚拟机

为了测试的方便性,采用在虚拟中安装linux来测试。这样方便做测试和截图。本文档截图以vmware12.0.0测试版作为实验。

二.安装linux

以客户实际生产环境选择linux。本组件的要求是:

① Apache2.4

② Php8.0

③ PHP能访问数据库的驱动。

本示例采用开源免费的centos7.0(CentOS-7-x86_64-DVD-1810.iso)作为测试。

注意事项:

  1. 安装centos时,如果不熟悉全命令模式,需要选择GUI服务器。

选择GUI可以在图形界面搜索文件,用文本编辑器直接编辑文件,拷贝文件和文件夹等等。可以设置分辨率,网络等等。这都 不是初学者可以用全命令模式搞定的。

到这里时,点进去设置,选择:

但右边的选项我们不需要选择,不需要其他服务。

  1. 登录时让我们输入一个名字,但是那个名字需要授权才能进行一些高权限操作。简单起见,用root登录GUI界面进行安装。

点“未列出?”输入root和密码。

  1. 如果时钟锁屏了,你还未登录,请用鼠标点住时间画面并上滑,就显示出用户登录界面。单单用鼠标点击锁屏的时间画面,好像 是没法显示出登录界面的。

要避免锁屏的麻烦,可以取消锁屏:

  1. 安装vmware tools工具。方便你复制粘贴,调整分辨率,共享文件夹等等。

 单击菜单

 linux桌面光驱图标变这样。

解压缩这个tar.gz执行里面的 ./vmware-install.pl 程序就行了。

     如果光盘不出现VMware-tools字样,你可以桌面光驱图标,点右键弹出,再重新点菜单进行挂载。

5. 打开网络

默认安装后,网络是关闭的。你需要打开

并且点击属性图标,设置启动时自动打开网络。(上右图)

这两个服务要启动,否则显示网线已拔掉或者显示正在连接,却无法连接。

  1. 共享文件夹

为方便测试,从window拷贝文件到linux。设置共享文件夹。

我们如果在这里新建了共享文件夹并确认后。

在linux主机的 /mnt/hgfs文件夹就会出现我们的window共享的文件夹(上右图)。就可以拷贝文件了

有时文件不出现,我们可以移除共享文件夹,再添加一次就行了。

或者,我们可以手工挂载,用命令挂载到linux系统,如:

mkdir /mnt/abc

vmhgfs-fuse .host:/shareddir /mnt/abc (shareddir为共享文件夹名称)

  1. 如何打开文件夹,或者查找文件。

Linux桌面>主文件夹>打开,只是进入用户自己的主目录。而我们操作的东西一般从跟目录算起。

所以首先定位到:

只要输入文件名或者文件夹名,就能搜索出文件或文件夹。

  1. 如何查到虚拟机系统的IP(用于外部网页访问测试和数据库连接)

命令1:ipconfig(和window一样的命令)

命令2:ip addr

红框内就是linux的IP。

  1. 开防火墙的端口

默认防火墙都是不开端口的,外部无法访问80或者3306等端口。

firewall-cmd –zone=public –add-port=80/tcp –permanent (–permanent永久生效,没有此参数重启后失效)
firewall-cmd –zone=public –remove-port=端口号/tcp –permanent (关闭端口)
firewall-cmd –reload (重新加载生效)

  1. 关闭和退出

经过测试,点击下图右上角的按钮关闭时,经常黑屏无法退出vmware。

尝试用命令:shutdown关机,却很正常,特此提示。

三.安装apache2.4

  1. 命令:yum install httpd 安装过程中会问“is this ok [y/d/N]”,输入“y”回车即可。
  2. 查询安装后的版本 httpd -v 正是我们需要的2.4版本。
  3. 启动,重启,关闭命令

apachectl start (service httpd start 或 systemctl start httpd.service)

apachectl restart (service httpd restart 或 systemctl restart httpd.service)

apachectl stop (service httpd stop 或 systemctl stop httpd.service)

  1. 开机自启动

默认开机得人工启动。可以在: /etc/rc.d/rc.local 文件中加入 apachectl start 命令行。并且设置rc.local以命令执行的权限。如下图:

上图已经将apache和MySQL都设置为开机自动启动。

  1. 修改配置文件

/etc/httpd/conf/httpd.conf 用文本编辑器或者vi修改即可,主要修改项目:

5.1 修改端口(根据需要修改为80或者指定的端口):

Listen 80

5.2 网页文件夹(我们用默认不需要修改,在此仅列出)

DocumentRoot “/var/www/html”

  1. 测试

可以在var/www/html中写一个静态网页。然后:

Wget localhost:80

已发出 HTTP 请求,正在等待回应… 200 OK (200 OK就正常)

也可以在window的浏览器中输入linux的IP:端口,用浏览器进行访问。

四.安装PHP8.0
PHP有很多经典版本,比如5.7,但我们使用的是8.0.

yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

yum -y install https://rpms.remirepo.net/enterprise/remi-release-7.rpm

yum -y install yum-utils

yum-config-manager –disable ‘remi-php*’

yum-config-manager –enable remi-safe

yum -y install php80

yum install php80-php-{cli,fpm,mysqlnd,zip,devel,gd,mbstring,curl,xml,pear,bcmath,json}

  1. 查看安装后的版本

php -v

显示:PHP 8.0.30 (cli) (built: Aug 3 2023 17:13:08) ( NTS gcc x86_64 )

  1. 测试php

/var/www/html目录写一个index.php(内含phpinfo()函数即可),可在浏览器中测试。

  1. 配置修改

本例子不需要修改php.conf文件。

  1. 其他扩展,比如oci8的oracle驱动安装

请参考其他php+oracle安装的资料。此处例子为php+mysql。所以不再赘述。

五.安装mysql8.0

下载rpm包:https://repo.mysql.com//mysql80-community-release-el7-7.noarch.rpm

rpm -ivh https://repo.mysql.com//mysql80-community-release-el7-7.noarch.rpm

yum info mysql-community-server

yum -y install mysql-community-server

  1. 启动,重启mysql

systemctl start mysqld.service

systemctl restart mysqld.service

  1. 查看安装的初始密码

grep “password” /var/log/mysqld.log 或者 cat /var/log/mysqld.log

显示:temporary password is generated for root@localhost: 6wzlpA&as.6d 最末的这串字符就是生成的密码。

  1. 免密码登录

有时忘记密码,在my.cnf的[mysqld]下面添加:skip-grant-tables

然后: systemctl restart mysqld.service

mysql -u root 可免密码直接登录

  1. 正常登录

mysql -u root -p

提示输入密码,就输入:6wzlpA&as.6d (根据你安装时的密码或者修改后的密码)

进入后,会提示mysql>这个符号。我们测试一下。

输入一个sql语句。记得以分号结束。敲回车它就执行了。

输入exit可以退出mysql命令。

  1. 修改密码

操作之前就要你修改密码才能进行sql查询。

提示:You must reset your password using ALTER USER statement before executing this statement.
命令:ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘new password’; 注意@两边没空格。
提示:Your password does not satisfy the current policy requirements
原因:不符合密码策略,长度不够,或者不够复杂。长一点,数字,英文,符号一起用就行了。

  1. Navicat的链接

7. 新建数据库以及导入数据库

上图左:手工新建三个数据库。

上图右:选择 datawindowhttp1.0-1.sql,datawindowhttp1.0-2.sql,datawindowhttp1.0-3.sql执行即可创建测试数据库

注意这三个sql语句中包含了表,表中的测试数据,存储过程,函数等。

如果执行sql时遇到错误提示:

This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you might want to use the less safe log_bin_trust_function_creators variable)

在 /etc/my.cnf配置参数log_bin_trust_function_creators=1

  1. Root授权所有的外部IP而不局限于localhost

连接时会报错如下:

通过命令修改root可以连接的主机:

select host from mysql.user where user=’root’; (默认root只能localhost连接)
Update mysql.user set host = ‘%’ where user =’root’; (改为不限制主机,或者按你要求修改)
注:生产环境我们一般是新创建其他用户,用于远程访问,并可授权到具体的IP。root仅供服务器登录以提高安全性。

  1. Root无法连接数据库

连接数据库时报:Access denied for user ‘root’@’localhost’ (using password: YES)
修改Root的plugin密码方式: ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘密码’;

  1. 组件post连不到apache

提示:Datawindowhttp连接时,mysqli_connect()提示Permission denied或者of_posturl()尝试多次发送不成功! 请检查服务器网址和端口是否正确!

 执行:setsebool -P httpd_can_network_connect 1

六.安装DataWindowHTTP组件的服务器端

将服务器组件目录拷贝到linux系统,位置:

var/www/html/datawindowhttp/datawindowhttp1.0-1

var/www/html/datawindowhttp/datawindowhttp1.0-2

var/www/html/datawindowhttp/datawindowhttp1.0-3

根据安装的数据库不同,只需要具体的一个,比如当前的例子:

var/www/html/datawindowhttp/datawindowhttp1.0-1/mysql8.0

var/www/html/datawindowhttp/datawindowhttp1.0-2/mysql8.0

var/www/html/datawindowhttp/datawindowhttp1.0-3/mysql8.0

编辑 config.mysql.php中的链接参数,其他文件无需修改。

七.对接DataWindowHTTP组件的客户端

拷贝一份demo 源码放到桌面上。

  1. 执行初始化某个数据库的代码。

它执行的其实就是:uf_init_interface(“mysql8.0”) 这个函数。

当只要有一个数据库时,这个函数也可以直接写到open事件中。

  1. 修改IP地址,端口,pem安全文件。

3. 测试查询。

配置好后,直接运行。就可以调试查看了。

文章知识点与官方知识档案匹配,可进一步学习相关知识