阿里云CentOS安装Qcadoo开源MES(制造执行系统)
感觉是个波兰的公司开发的系统,提供了开源版本,这是官网。
安装Java
可能不需要。反正装个Java8吧。
yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel
安装Maven
访问Maven官网,拷贝地址下载、解压、设置一条龙。
cd /usr/local
wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.2/binaries/apache-maven-3.6.2-bin.tar.gz
tar -zxvf apache-maven-3.6.2-bin.tar.gz
然后编辑/etc/profile
或~/.bashrc
,设置环境变量:
安装MES
参考MES官网教程,从git下载,然后按顺序编译,每步几分钟吧,记住一定要按顺序来!没有git的先装git。
yum install git
另外还要把sshkey添加到github的settings里,这些都是基本的,不多说。
cd ~
mkdir qcadoo
cd qcadoo
git clone git@github.com:qcadoo/qcadoo-super-pom-open
git clone git@github.com:qcadoo/qcadoo-maven-plugin
git clone git@github.com:qcadoo/qcadoo
git clone git@github.com:qcadoo/mes
cd qcadoo-super-pom-open
mvn clean install
cd ../qcadoo-maven-plugin
mvn clean install
cd ../qcadoo
mvn clean install # 这一步发生了错误
cd ../mes
mvn clean install
在qcadoo编译时发生了Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.17:test
错误,参考https://www.cnblogs.com/lxcy/p/8279899.html,改了pom文件解决了,在<plugins>里加这么一块。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.4.2</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
每一步都BUILD SUCCESS,就准备下一步吧!
image.png
配置数据库
去Postgresql官网,选择适合的版本。
点击,继续选择,按照提示来。
image.png
当然,也可以选择页面下方的各种手动、自动安装。安装完成后,Postgres会自动给系统新建了一个用户postgres专门用来管理,所以切换过去。
[root@master ~]# su postgres
bash-4.2$ psql postgres # 登录默认数据库
psql (12.1)
Type "help" for help.
但这个数据库用户的密码是随机的,改成postgres123
,记住不要改成别的,因为这是MES的默认密码。强调下,这个不是CentOS的用户postgres的密码。
postgres=# ALTER USER postgres WITH PASSWORD 'postgres123';
退出去(一般使用Ctrl+d),建立一个数据库mes
。
bash-4.2$ createdb mes
再退出去,Qcadoo提供了初始化的数据库备份,直接恢复使用。会要求输入刚才设定的密码。
[root@master schema]# psql -h localhost -U postgres -d mes -f /root/qcadoo/mes/mes-application/src/main/resources/schema/demo_db_en.sql
然后就会看到哗啦啦的导入过程。可以使用\l
命令查看数据库列表:
使用
\c
切换连接到mes库,使用\d
查看表格,有很多。image.png
根据官网说明,进入
mes/mes-application
并编译:
cd ~/qcadoo/mes/mes-application
mvn clean install -o -Ptomcat -Dprofile=package
会发现失败了,说什么还没下载,那就把-o
参数去掉,再试一次:
mvn clean install -Ptomcat -Dprofile=package
成功!
启动MES
根据官网,
[root@master ~]# cd /root/qcadoo/mes/mes-application/target/tomcat-archiver/mes-application
[root@master mes-application]# chmod a+x bin/*.sh
[root@master mes-application]# ./bin/startup.sh # 关机是shutdown.sh
image.png
然后可以去网页访问,地址是
http://你的IP:8080/login.html?lang=cn
,记住打开iptables防火墙安全组什么的,这些说了很多次了。如果有错误,可以看logs目录,一开始就是在root.log发现密码不对的。image.png
还挺好看的!根据官网提供了管理员和超管的默认账号来登录尝试
Default user: admin, password: admin. Superadmin user: superadmin, password: superadmin (start with this user, and add access roles to groups!).
。看起来很专业,玩吧!image.png
其它问题
整个安装是一步步排错,还有几个地方并不清楚。比如官方提供的导入数据库的方法,各种错误没成功。
[root@master ~]# psql -U postgres mes < /root/qcadoo/mes/mes-application/src/main/resources/schema/demo_db_en.sql
psql: error: could not connect to server: FATAL: Peer authentication failed for user "postgres"
[root@master ~]# su postgres
bash-4.2$ psql -U postgres mes < /root/qcadoo/mes/mes-application/src/main/resources/schema/demo_db_en.sql
bash: /root/qcadoo/mes/mes-application/src/main/resources/schema/demo_db_en.sql: Permission denied
考虑加上-h localhost
参数,并且编辑一个配置:
[root@master ~]# vim /var/lib/pgsql/12/data/pg_hba.conf
如图,让本地和远程访问都使用md5
验证,好像就可以了,读者可以试试。
然后:
[root@master ~]# psql -h localhost -U postgres mes < /root/qcadoo/mes/mes-application/src/main/resources/schema/demo_db_en.sql
另外,整个系统的渲染好像是有问题的,源码都暴露了。
image.png
参考
Building MES from source code - tutorial
安装qcadoo开源MES的几个坑
linux-centos-pgsql-Ident authentication failed for user “postgres”错误出现解决方法
修改PostgreSQL数据库的默认用户postgres的密码