이번 글에서는 테스트용 서버를 구동하는 방법을 설명하도록 하겠습니다.
1. 의존성 설치
(라즈베리 파이에서)
sudo apt-get install sqlite3 libsqlite3-dev ruby-dev ruby curl libicu-dev
sudo apt-get install zlib1g-dev libprotobuf-dev libexpat1-dev libgd2-xpm-dev
sudo gem install json sqlite3 sinatra sinatra-r18n rack-contrib thin
========== 코드 설명 ==========
1. 패키지를 설치한다.
2. 패키지를 설치한다.
3. gem을 이용해 패키지를 설치한다.
2. 데이터베이스 생성
데이터베이스를 만들기 전에, 편의를 위해 DB 파일을 옮기는 작업을 sh 파일로 구현하겠습니다.
(라즈베리 파이에서)
cd ~/osm/taginfo/sources/
nano move_db.sh
========== 코드 설명 ===========
1. ~/osm/taginfo/sources/로 이동한다.
2. move_db.sh라는 이름의 텍스트 파일을 생성하고, 연다.
파일 안에 다음 내용을 입력해 주세요.
mv $1/taginfo-*.db $1/*/taginfo-*.db ../../data/
cp ../../data/taginfo-history.db $1/
mv $1/download/*.bz2 ../../download/
cp taginfo-chronology.db $1/chronology/
(라즈베리 파이에서)
chmod 755 move_db.sh
mkdir -r files/chronology
wget https://taginfo.openstreetmap.org/download/taginfo-chronology.db.bz2
bunzip2 taginfo-chronology.db.bz2
rm taginfo-chronology.db.bz2
./move_db.sh files/
./update_all.sh files/
./update_all.sh files/
./move_db.sh files/
========== 코드 설명 ==========
1. move_db.sh 파일을 누구나 실행할 수 있도록 한다.
2. files 디렉토리를 만들고, 그 안에 chronology 디렉토리를 만든다.
3. Taginfo 홈페이지에서 taginfo-chronology.db.bz2 파일을 다운로드한다.
4. 다운로드한 파일의 압축을 푼다.
5. 압축 파일을 삭제한다.
6, 9. 매개변수로 'files/'를 전달해 move_db.sh 파일을 실행한다.
7 ~ 8. 매개변수로 'files/'를 전달해 update_all.sh 파일을 실행한다.
./updage_all.sh 두 번, ./move_db.sh 한 번은 매일 데이터베이스를 업데이트할 때마다 해 줍니다.
그런 다음 개인 컴퓨터에 있는 DB 파일을 라즈베리 파이로 옮겨 줍니다.
3. 서버 구동
(라즈베리 파이에서)
cd ../web
thin start
========== 코드 설명 ==========
1. ../web으로 이동한다.
2. thin을 이용해 서버를 구동한다.
서버가 정상적으로 구동되었으면, (라즈베리 파이의 ip 주소):3000을 웹 브라우저에 입력합니다(ex. 192.168.0.15:3000). taginfo 사이트가 뜨면 성공입니다.
이 글까지만 읽어도 공개용 서버를 구축하는 것이 가능합니다만, 실제로는 Nginx를 추가로 이용하는 것이 좋습니다. thin으로 서버를 열고(3000번 포트), nginx를 이용해 80번 포트를 3000번 포트로 리다이렉트하는 방식으로 하면 됩니다.
'오픈스트리트맵(OpenStreetMap) > 오픈스트리트맵' 카테고리의 다른 글
인스타그램 지도로 보는 오픈스트리트맵의 역할과 매핑의 필요성 (0) | 2021.08.15 |
---|---|
Make my own Taginfo instance - (4) Running a server with Ruby on Rails (0) | 2020.11.26 |
Make my own Taginfo instance - (3) Clone the project from Github (0) | 2020.11.26 |
나만의 Taginfo 구축하기 - (3) Github에서 파일 가져오기 및 설정 (0) | 2020.11.26 |
Make my own Taginfo instance - (2) Connecting Wi-Fi, Updating the package and Connecting ssh, sftp (0) | 2020.11.24 |