虚拟机搭建FISCO BCOS的区块链浏览器
一键搭建
注:根据官方文档搭建,大部分与官方文档相似。我自己修改了部分代码,并对部分报错进行了解决
这次使用的是一键搭建,适合前后端同机部署,快速体验的情况使用
具体安装步骤
-
依赖环境
环境 版本 Java JDK8或以上版本 MySQL MySQL-5.6或以上版本 Python Python3.4+ PyMySQL 使用python3时需安装
MySQL安装-> 安装MariaDB。MariaDB数据库是 MySQL 的一个分支,主要由开源社区在维护,采用 GPL 授权许可。MariaDB完全兼容 MySQL,包括API和命令行。
-
安装
sudo yum install -y mariadb*
-
启动-停止
启动:sudo systemctl start mariadb.service 停止:sudo systemctl stop mariadb.service
-
设置开机启动
sudo systemctl enable mariadb.service
-
初始化
执行以下命令: sudo mysql_secure_installation 以下根据提示输入: Enter current password for root (enter for none):<–初次运行直接回车 Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车 New password: <– 设置root用户的密码 Re-enter new password: <– 再输入一次你设置的密码 Remove anonymous users? [Y/n] <– 是否删除匿名用户,回车 Disallow root login remotely? [Y/n] <–是否禁止root远程登录,回车 Remove test database and access to it? [Y/n] <– 是否删除test数据库,回车 Reload privilege tables now? [Y/n] <– 是否重新加载权限表,回车
-
授权访问和添加用户
-
使用root用户登录,密码为初始化设置的密码
mysql -uroot -p -h localhost -P 3306
-
授权root用户远程访问
mysql > GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; mysql > flush PRIVILEGES;
-
创建test用户并授权本地访问
mysql > GRANT ALL PRIVILEGES ON *.* TO 'test'@localhost IDENTIFIED BY '123456' WITH GRANT OPTION; mysql > flush PRIVILEGES;
-
安全温馨提示:
- 例子中给出的数据库密码(123456)仅为样例,强烈建议设置成复杂密码
- 例子中root用户的远程授权设置会使数据库在所有网络上都可以访问,请按具体的网络拓扑和权限控制情况,设置网络和权限帐号
-
-
测试连接和创建数据库
-
登录数据库
mysql -utest -p123456 -h localhost -P 3306
-
创建数据库
mysql > create database db_browser;
-
Python的安装
编辑工具
## 注意: 切换到root用户执行以下命令
yum -y install epel-release
yum install python-pip
yum install wget
yum install gcc
yum -y install zlib*
下载安装包
wget https://www.python.org/ftp/python/3.8.5/Python-3.8.5.tar.xz
解压并移动到/user/local
tar -xvf Python-3.8.5.tar.xz
mv Python-3.8.5 /usr/local/Python3
安装
cd /usr/local/Python3
./configure --prefix=/usr/local/Python3 --enable-optimizations --with-ssl
#第一个指定安装的路径,不指定的话,安装过程中可能软件所需要的文件复制到其他不同目录,删除软件很不方便,复制软件也不方便.
#第二个可以提高python10%-20%代码运行速度.
#第三个是为了安装pip需要用到ssl,后面报错会有提到.
make && make install
后续配置
mv /usr/bin/python /usr/bin/python.bak # bei
ln -s /usr/local/Python3/bin/python3.6 /usr/bin/python
# 测试
python -V
# 修改
vi /usr/bin/yum
把#! /usr/bin/python修改为#! /usr/bin/python2
vi /usr/libexec/urlgrabber-ext-down
把#! /usr/bin/python 修改为#! /usr/bin/python2
搭建浏览器
-
获取代码
git clone https://github.com/FISCO-BCOS/fisco-bcos-browser.git # 从github获取 git clone https://gitee.com/FISCO-BCOS/fisco-bcos-browser.git # 从gitee获取,实测速度很快 # 以上命令使用一个就行,建议使用gitee
-
切换目录
cd fisco-bcos-browser/deploy
修改配置文件
vi common.properties
# 根据字段名修改前面自己安装的环境
部署
-
部署所有服务:
python deploy.py installAll
-
注:我在执行上述命令的时候报错了,内容如下
-
解决方法:
1. 查看错误信息:提示不支持我的平台,只支持centos,ubuntu,suse 2. 但是我的系统就是centos7 3. 通过查看 comm/check.py文件,发现报错代码块的具体内容如下: def installByYum(server): if isCentos(): result = doCmdIgnoreException("sudo yum -y install {}".format(server)) if result["status"] != 0: os.system("sudo yum -y install epel-release") os.system("sudo yum -y install python-pip") os.system("pip install requests") result = doCmd("sudo yum -y install {}".format(server)) elif isSuse(): os.system("sudo zypper install -y {}".format(server)) elif isUbuntu(): os.system("sudo apt-get install -y {}".format(server)) else: raise Exception("error,not support this platform,only support centos,suse,ubuntu.") return 4. 我猜测,因为linux发行版不同,安装软件的方法也不同,例如:Ubuntu使用apt,centos使用yum。 5. 只需把 if isCentos(): 修改为1即可 6. 第五步就是自行修改了代码,因为我是centos系统,但是代码没识别出来,这样修改了以后 ,代码就会使用 yum 命令安装软件(注:如果报相同的错,请根据自己的系统修改这部分代码)
-
-
成功截图
-
使用浏览器访问 http://127.0.0.1:5100/ (因为我是在虚拟机部署的,所以在本机地址打开)
-
网页显示截图