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正在运行,你应该会看到类似以下的信息:
第四步 安装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
你就会得到
3、为此,你应该cd到WebODM目录,然后执行./node_modules/.bin/webpack --mode production
4、执行
python manage.py collectstatic --noinput
chmod +x start.sh && ./start.sh --no-gunicorn
成功的话是这样的
然后进行重建
最后
在执行./start.sh --no-gunicorn时
可能会遇包括但不限于如下的一些问题:
1、进入postgres数据库
sudo su postgres && psql
2、修改密码
alter user postgres with password 'postgres';
3、退出
\q
缺少XX
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
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。