在您的django项目中使用注册表。
项目描述
# HHypermap 管理员
## 简介
HHypermap (哈佛Hypermap) 管理员是一个平台,用于管理OWS、Esri REST和其他类型的地图服务收割、编排,并维护服务和层的正常运行时间统计。尽可能使用MapProxy缓存层。预计最终将包括WFS、WCS、WPS等OGC服务以及其他Esri REST和其他web-GIS协议的变体。该平台最初被开发用于收集和组织哈佛世界地图的地图服务,但没有依赖于WorldMap。HHypermap 管理员向HHypermap 搜索(基于Lucene)发布,为时空材料提供快速搜索和可视化环境。HHypermap 管理员的初始资金来自国家人文基金会授予地理分析中心的拨款。
## 安装
### 在Vagrant上运行Hypermap
将HHypermap实例设置并运行的最简单方法是使用Vagrant。
```
git clone git@github.com:cga-harvard/hypermap.git
cd hypermap/deploy
vagrant up
```
等待实例配置完成(大约3/4分钟)。
然后连接到:192.168.33.15,您的实例应该已经启动并运行。
#### Vagrant上的开发模式
如果您是开发者,可以使用相同的实例。只需用Django
服务器替换nginx和uwsgi
```
cd hypermap/deploy
vagrant ssh
. /webapps/hypermap/bin/activate
cd /webapps/hypermap/hypermap/hypermap/
./manage.py runserver 0.0.0.0:8000
```
您可以使用IDE从主机编辑文件,因为客机的
/webapps/hypermap/hypermap 目录与主机同步。
要开发模式运行Celery,运行进程如下(记得在运行supervisor之前停止celery进程)
```
./manage.py celery -A hypermap worker -B -l info
```
要运行单元测试
```
cd /webapps/hypermap/hypermap
paver run_tests
```
如果您想运行集成测试,您需要创建一个名为 'hypermap_test' 的 Solr 核,然后
```
cd /webapps/hypermap/hypermap
运行 paver run_integration_tests
```
### 在 AWS 上运行 Hypermap
请确保以下变量设置正确
```
bash-3.2$ echo $ANSIBLE_HOSTS
/Users/capooti/ec2.py
bash-3.2$ echo $EC2_INI_PATH
/Users/capooti/ec2.ini
bash-3.2$ echo $AWS_ACCESS_KEY_ID
AKI...
bash-3.2$ echo $AWS_SECRET_ACCESS_KEY
djE...
```
此外,设置 ssh-agent 并确保其正确运行
```
ssh-agent bash
bash-3.2$ ssh-add ~/.ssh/cga.pem
bash-3.2$ ssh-add -L
ssh-rsa AAAAB3NzaC1yc2E... /Users/capooti/.ssh/cga.pem
```
最后运行 playbook
ansible-playbook aws.yml
如果您只想运行配置过程的一部分,请使用 --tags 选项
ansible-playbook aws.yml --tags "uwsgi"
要创建新的部署,在提交到 git 之后运行
ansible-playbook deploy.yml
### 手动安装
我们将假设您正在 Ubuntu 14.04 LTS 上安装 Hypermap。
首先,安装要求
```
sudo apt-get update
sudo apt-get install python-dev postgresql postgresql-server-dev-all
libjpeg-dev rabbitmq-server
```
创建 PostgreSQL 角色和数据库名称
```
sudo su postgres
psql
CREATE USER hypermap WITH superuser PASSWORD 'hypermap';
CREATE DATABASE hypermap WITH OWNER hypermap;
```
在虚拟环境中安装 Hypermap
```
virtualenv --no-site-packages env
source env/bin/activate
pip install --upgrade pip
git clone https://github.com/cga-harvard/HHypermap.git
pip install -e HHypermap
```
您需要创建一个名为您的用户名的设置文件
```
cd HHypermap/hypermap
touch settings/_yourusername.py
```
In _yourusername.py you need to add at least the first line, and then the settings specific for your environment, such as preferences about Celery and Solr
```
from settings.default import * # noqa
SITE_URL = 'http://localhost:8000/'
SEARCH_ENABLED = True
SEARCH_TYPE = 'solr'
SEARCH_URL = 'http://127.0.0.1:8983/solr/search'
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'hypermap',
'USER': 'hypermap',
'PASSWORD': 'hypermap',
'HOST': '127.0.0.1',
'PORT': '5432',
}
}
SKIP_CELERY_TASK = True
```
现在同步数据库
./manage.py syncdb # 当请求时创建管理员用户
现在您应该能够启动开发服务器
./manage.py runserver
## 开始使用 Hypermap
登录到主页,http://localhost:8000。它将是空的。您需要添加一些端点
到 Hypermap。所以去到管理界面
http://localhost:8000/admin/
转到服务并添加一个 WMS 类型的服务。作为一个端点,您可以使用这个
http://demo.geonode.org/geoserver/ows?service=wms&version=1.1.1&request=GetCapabilities
保存后,Hypermap 应该开始采集端点。
如果 SKIP_CELERY_TASK = True,则由 Django 服务器执行采集,否则由 Celery 执行。
请注意,采集操作可能耗时,因此如果可能的话,最好设置一个 Celery 进程。
## 简介
HHypermap (哈佛Hypermap) 管理员是一个平台,用于管理OWS、Esri REST和其他类型的地图服务收割、编排,并维护服务和层的正常运行时间统计。尽可能使用MapProxy缓存层。预计最终将包括WFS、WCS、WPS等OGC服务以及其他Esri REST和其他web-GIS协议的变体。该平台最初被开发用于收集和组织哈佛世界地图的地图服务,但没有依赖于WorldMap。HHypermap 管理员向HHypermap 搜索(基于Lucene)发布,为时空材料提供快速搜索和可视化环境。HHypermap 管理员的初始资金来自国家人文基金会授予地理分析中心的拨款。
## 安装
### 在Vagrant上运行Hypermap
将HHypermap实例设置并运行的最简单方法是使用Vagrant。
```
git clone git@github.com:cga-harvard/hypermap.git
cd hypermap/deploy
vagrant up
```
等待实例配置完成(大约3/4分钟)。
然后连接到:192.168.33.15,您的实例应该已经启动并运行。
#### Vagrant上的开发模式
如果您是开发者,可以使用相同的实例。只需用Django
服务器替换nginx和uwsgi
```
cd hypermap/deploy
vagrant ssh
. /webapps/hypermap/bin/activate
cd /webapps/hypermap/hypermap/hypermap/
./manage.py runserver 0.0.0.0:8000
```
您可以使用IDE从主机编辑文件,因为客机的
/webapps/hypermap/hypermap 目录与主机同步。
要开发模式运行Celery,运行进程如下(记得在运行supervisor之前停止celery进程)
```
./manage.py celery -A hypermap worker -B -l info
```
要运行单元测试
```
cd /webapps/hypermap/hypermap
paver run_tests
```
如果您想运行集成测试,您需要创建一个名为 'hypermap_test' 的 Solr 核,然后
```
cd /webapps/hypermap/hypermap
运行 paver run_integration_tests
```
### 在 AWS 上运行 Hypermap
请确保以下变量设置正确
```
bash-3.2$ echo $ANSIBLE_HOSTS
/Users/capooti/ec2.py
bash-3.2$ echo $EC2_INI_PATH
/Users/capooti/ec2.ini
bash-3.2$ echo $AWS_ACCESS_KEY_ID
AKI...
bash-3.2$ echo $AWS_SECRET_ACCESS_KEY
djE...
```
此外,设置 ssh-agent 并确保其正确运行
```
ssh-agent bash
bash-3.2$ ssh-add ~/.ssh/cga.pem
bash-3.2$ ssh-add -L
ssh-rsa AAAAB3NzaC1yc2E... /Users/capooti/.ssh/cga.pem
```
最后运行 playbook
ansible-playbook aws.yml
如果您只想运行配置过程的一部分,请使用 --tags 选项
ansible-playbook aws.yml --tags "uwsgi"
要创建新的部署,在提交到 git 之后运行
ansible-playbook deploy.yml
### 手动安装
我们将假设您正在 Ubuntu 14.04 LTS 上安装 Hypermap。
首先,安装要求
```
sudo apt-get update
sudo apt-get install python-dev postgresql postgresql-server-dev-all
libjpeg-dev rabbitmq-server
```
创建 PostgreSQL 角色和数据库名称
```
sudo su postgres
psql
CREATE USER hypermap WITH superuser PASSWORD 'hypermap';
CREATE DATABASE hypermap WITH OWNER hypermap;
```
在虚拟环境中安装 Hypermap
```
virtualenv --no-site-packages env
source env/bin/activate
pip install --upgrade pip
git clone https://github.com/cga-harvard/HHypermap.git
pip install -e HHypermap
```
您需要创建一个名为您的用户名的设置文件
```
cd HHypermap/hypermap
touch settings/_yourusername.py
```
In _yourusername.py you need to add at least the first line, and then the settings specific for your environment, such as preferences about Celery and Solr
```
from settings.default import * # noqa
SITE_URL = 'http://localhost:8000/'
SEARCH_ENABLED = True
SEARCH_TYPE = 'solr'
SEARCH_URL = 'http://127.0.0.1:8983/solr/search'
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'hypermap',
'USER': 'hypermap',
'PASSWORD': 'hypermap',
'HOST': '127.0.0.1',
'PORT': '5432',
}
}
SKIP_CELERY_TASK = True
```
现在同步数据库
./manage.py syncdb # 当请求时创建管理员用户
现在您应该能够启动开发服务器
./manage.py runserver
## 开始使用 Hypermap
登录到主页,http://localhost:8000。它将是空的。您需要添加一些端点
到 Hypermap。所以去到管理界面
http://localhost:8000/admin/
转到服务并添加一个 WMS 类型的服务。作为一个端点,您可以使用这个
http://demo.geonode.org/geoserver/ows?service=wms&version=1.1.1&request=GetCapabilities
保存后,Hypermap 应该开始采集端点。
如果 SKIP_CELERY_TASK = True,则由 Django 服务器执行采集,否则由 Celery 执行。
请注意,采集操作可能耗时,因此如果可能的话,最好设置一个 Celery 进程。