openstreetmap-website安装部署(一)

openstreetmap-website

github地址:GitHub - openstreetmap/openstreetmap-website: The Rails application that powers OpenStreetMap

首先安装Ubuntu20.04以上版本的操作系统。

安装官方要求,先更新源:

sudo apt-get update

安装依赖包:

sudo apt-get install ruby2.7 libruby2.7 ruby2.7-dev bundler \
                     libmagickwand-dev libxml2-dev libxslt1-dev nodejs \
                     apache2 apache2-dev build-essential git-core firefox-geckodriver \
                     postgresql postgresql-contrib libpq-dev libsasl2-dev \
                     imagemagick libffi-dev libgd-dev libarchive-dev libbz2-dev yarnpkg

安装postgresql客户端:sudo apt-get install postgresql-client

安装gem:

切换国内源:gem sources --remove https://rubygems.org/

gem source --add http://ruby.taobao.org/

sudo gem2.7 install bundler

 cd openstreetmap-website

sudo gem install bundler

sudo bundle install

bundle exec rake yarn:install

执行上一步的时候,会报错:

rake aborted!

TypeError:superclass mismatch for class Command

/var/lib/gems/2.7.0/gems/thor-1.0.1/lib/thor/command.rb:2:in '<class:Thor>'

解决办法:

vim Gemfile

最后一行添加:gem "thor","〜> 0.20.3"

然后执行:bundle update thor

创建空的本地配置文件:touch config/settings.local.yml

使用示例的rails配置文件:cp config/example.storage.yml config/storage.yml

配置数据库:cp config/example.database.yml config/database.yml

查看数据库配置:cat config/database.yml

PostGresql默认是本地免密,需要创建用户:

sudo -u postgres -i

createuser -s root

createuser -s openstreetmap

createuser -s osm_test

createuser -s osm

exit

#sudo -u postgres psql

#create user openstreetmap with password "openstreetmap";

#赋角色:alter role openstreetmap with superuser;

#切换到postgresql用户:su postgres

bundle exec rake db:create

添加postgresql扩展:psql -d openstreetmap -c "CREATE EXTENSION btree_gist"

psql -d openstreetmap -f db/functions/functions.sql

要创建所有表,索引和约束:

bundle exec rake db:migrate

设置IP权限访问:

停止postgresql服务:sudo service postgresql stop

修改配置文件:

sudo vim /etc/postgresql/12/main/postgresql.conf

sudo vim /etc/postgresql/12/main/pg_hba.conf

增加:host all all 0.0.0.0/0 trust

启动postgresql服务: sudo service postgresql start

本地测试连接:

安装依赖:

sudo gem install jpegoptim

sudo gem install image_optim

sudo gem install image_optim_pack

#sudo npm install -g svgo

sudo ln -s /usr/bin/nodejs /usr/bin/node

运行测试:bundle exec rake test:db

这里没有成功,需要检查原因:

打开package.json

把里面涉及的三方包都下载一遍,如:

#npm install bs-custom-file-input@1.3.4

启动服务:bundle exec rails server

访问地址:http://localhost:3000/

报错如下:

Sprockets::FileNotFound - couldn't find file 'leaflet.locatecontrol/src/L.Control.Locate' with type 'application/javascript'

Checked in these paths:

 /ideditor/openstreetmap-website/app/assets/config

 /ideditor/openstreetmap-website/app/assets/favicons

 /ideditor/openstreetmap-website/app/assets/images

...

config/initializers/cors.rb:9:in 'call'

解决办法:

安装JAVA环境:sudo apt-get install openjdk-8-jdk

查看是否安装成功:java -version

安装Osmosis,两种方式,第一种直接下载安装文件:

下载osmosis:

cd /ideditor

wget https://github.com/openstreetmap/osmosis/releases/download/0.48.3/osmosis-0.48.3.tgz

mkdir osmosis

mv osmosis-0.48.3.tgz osmosis

cd osmosis

tar xvfz osmosis-0.48.3.tgz

rm osmosis-0.48.3.tgz

chmod a+x bin/osmosis

bin/osmosis

第二种:sudo apt install osmosis

下载测试数据:

BBBike extracts OpenStreetMap

点击提取后,访问BBBike extracts ready to download,查看是否导出完成:

点击download进行下载;

将下载的pbf文件上传到ubuntu服务器/ideditor文件夹下,重命名为wuhan.osm.pbf;

cd /ideditor/osmosis/bin

./osmosis --read-pbf /ideditor/wuhan.osm.pbf --write-apidb host="192.168.24.122" database="openstreetmap" user="openstreetmap" password="openstreetmap" validateSchemaVersion="no"

查看数据库:

修改数据库配置:

cd /ideditor/openstreetmap-website

vim config/database.yml

再次启动:bundle exec rails server

报错如下:

pngcursh not found

advpng not found

optipng not found

pngquant not found

jhead not found

jpegtran not found

jpegoptim not found

gifsicle not found
 

Error:Invalid CSS after ".": expected 1 selector or at-rule, was "../common.css"

on line 1:1 of app/assets/stylesheets/ltr/common.scss

解决办法:

查看image_optim版本:gem list

查看image_optim信息:

bundle exec image_optim --info

bin resolving errors 二进制解析错误;

gem install optipng

gem install jpegtran

gem install jpegoptim

gem install jpeg

gem install

gem install

gem install

gem install

gem install

修改Gemfile文件,增加以下配置:

gem "image_optim", "~> 0.25"

gem "image_optim_pack", "= 0.7.0"

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值