ubuntu18.04上安装与运行webodm

forever17age 2024-10-15 16:33:02 阅读 70

系统:ubuntu18.04

第一步、准备工作

1、执行apt-get install binutils libproj-dev gdal-bin nginx

2、把webodm的代码克隆到本地

3、到找到文件夹WebODM/webodm,创建local_settings.py,内容为

DATABASES = {

'default': {

'ENGINE': 'django.contrib.gis.db.backends.postgis',

'NAME': 'webodm_dev',

'USER': 'postgres',

'PASSWORD': 'postgres',

'HOST': 'localhost',

'PORT': '5432',

}

}

第二步、安装postgreSQL、postGIS

postgreSQL和postGIS的安装以及配置

1、安装postgreSQL

apt install postgresql

apt install postgresql-contrib

2、安装postgis

apt install postgis (注意,要和你安装的postgresql的版本对应上)

3、安装完成后,PostgreSQL 会自动创建一个操作系统用户 postgres,我们切换到该用户:

sudo su postgres

4、PostgreSQL 启动

psql

5、创建webodm_dev数据库

CREATE DATABASE webodm_dev;

6、连接到该数据库

\c webodm_dev

7、

ALTER SYSTEM SET postgis.enable_outdb_rasters TO True;

ALTER SYSTEM SET postgis.gdal_enabled_drivers TO 'GTiff';

如果出错的话就执行

CREATE EXTENSION postgis;

我直接使用apt install安装的postgres和postgis,安装的postgreSQL版本为10.23,postGIS版本是2.4

查询版本的步骤:

1、登陆postgres

sudo su postgres && psql

2、查询postgres的版本

select version() ;

3、进入webodm_dev数据库

\c webodm_dev

4、查询postgis版本

select PostGIS_version();

第三步、 安装redis

1、安装redis

apt install redis-server

2、redis 启动

sudo systemctl start redis

3、判断redis是否启动成功

sudo systemctl status redis

如果REDIS正在运行,你应该会看到类似以下的信息:

image.png

第四步 安装nodejs和npm

1、进入nodejs官网Node.js — 下载 Node.js®

2、选择要安装的版本,我选择的v12.22.12,然后执行

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash

nvm install 12

3、再看安装的版本

node -v 输出的应该是12.22.12

npm -v 输出的应该是6.14.16

4、由于后面的指令要root用户执行,但现在root用户可能执行不了node指令和npm指令(你可以尝试一下在root用户执行node -v),所以需要进行建立软链接

先执行which node,看node在那,我的是

/home/dx/.nvm/versions/node/v12.22.12/bin/node

然后执行

ln -s /home/dx/.nvm/versions/node/v12.22.12/bin/node /usr/bin

ln -s /home/dx/.nvm/versions/node/v12.22.12/bin/npm /usr/bin

第五步 安装一堆python包

1、这里假设你已经安装好了conda,如果没有安装conda的话,建议到bing上搜miniconda3的安装

2、创建conda环境

create -n webodm python=3.6

3、激活环境

conda activate webodm

4、pip install -r requirements.txt

这里可能会出错的包有pydantic、numpy和scipy。建议先安装其他的包,这三最后再安装,另外,如果不能安装要求文件里的指定版本的话,可以尝试去掉版本约束

pip可能会很慢,可以换国内源

第六步 安装webpack

1、执行

sudo npm install -g webpack

sudo npm install -g webpack-cli

npm install

npm可能下载地很慢,你可以通过指令在当前bash上使用国内的源:

npm config set registry https://registry.npmmirror.com

2、然后执行webpack --mode production

你就会得到

image.png

3、为此,你应该cd到WebODM目录,然后执行./node_modules/.bin/webpack --mode production

4、执行

python manage.py collectstatic --noinput

chmod +x start.sh && ./start.sh --no-gunicorn

成功的话是这样的

image.png

然后进行重建

image.png

最后

在执行./start.sh --no-gunicorn时

可能会遇包括但不限于如下的一些问题:

postgres密码错误

1、进入postgres数据库

sudo su postgres && psql

2、修改密码

alter user postgres with password 'postgres';

3、退出

\q

缺少XX

image.png

image.png

1、安装上述两个小可爱

npm install react-boosrtrap react-select

还有很多问题,但是我忘了,欢迎来讨论

最后,在使用webodm重建时需要添加节点NODE,不然不能重建

你可以按照这里记载的,在本地搞个nodeODM:

GitHub - OpenDroneMap/NodeODM: A lightweight REST API to access aerial image processing engines such as ODM or MicMac

也可以地狱一点,使用docker版本的nodeODM(那为什么不用docker版的webODM????????????不知道,虽然我之前已经搞好了docker版的webodm并成功进行三维重建,对了提醒一下,如果搞本地的webodm并且之前搞好了docker版本的webodm,在启动webodm时,记得关了docker,不然你以为自己成功了,但是进入的很可能是docker版odm提供的界面),然后在webODM的节点列表里新增结点,填上docker的ip,端口号填3000



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。