在CentOS 6.7上安装OSM地图服务器。
安装环境:CentOS-6.7-x86_64-minimal.iso
安装PostgreSQL数据库和PostGIS
curl -O https://download.postgresql.org/pub/repos/yum/9.4/redhat/rhel-6-x86_64/pgdg-centos94-9.4-3.noarch.rpm
sudo rpm -ivh pgdg-centos94-9.4-3.noarch.rpm
sudo rpm -ivh https://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
sudo yum install postgresql94-server postgis22_94 postgresql94-devel
初始化数据库:
初始化,开启,添加到启动项
service postgresql-9.4 initdb
service postgresql-9.4 start
chkconfig postgresql-9.4 on
更改GCC版本
下载GCC4.9,编译安装
参考http://blog.techbeta.me/2015/10/linux-centos6-5-upgrade-gcc/
安装C和C++的静态库
yum install -y glibc-static libstdc++-static
安装旧版本的gcc、c++编译器
yum install gcc gcc-c++
安装wget:
yum install wget
wget ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.9.0/gcc-4.9.0.tar.bz2
tar jxvf gcc-4.9.0.tar.bz2
cd gcc-4.9.0
下载一些必备的依赖程序
./contrib/download_prerequisites
./configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
make -j4
sudo make install
更改libstdc++动态连接库
参考https://itbilu.com/linux/management/NymXRUieg.html
寻找动态链接库
sudo find / -name "libstdc++.so*"
找到以后复制
sudo cp /home/zhao/gcc-4.9.0/stage1-x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.20 /usr/lib64
cd /usr/lib64
sudo rm -rf libstdc++.so.6
sudo ln -s libstdc++.so.6.0.20 libstdc++.so.6
strings /usr/lib64/libstdc++.so.6 | grep GLIBC
结果显示有GLIBCXX_3.4.20
检查GCC版本,gcc –version显示为4.9即可
编译Boost
Boost版本使用1.50,这个是经过多次尝试以后确定的。Boost编译时候要带上with-python选项。
tar -zxvf boost_1_50_0.tar.gz
./bootstrap.sh
./b2 ./b2 -j4 --with-python
sudo ./b2 -j4 --with-python install
sudo bash -c "echo '/usr/local/lib' > /etc/ld.so.conf.d/boost.conf"
sudo ldconfig
如果后续仍有环境变量问题,加入环境变量
export LD_LIBRARY_PATH=/usr/local/lib/:$LD_LIBRARY_PATH
如果需要卸载的话,移除默认的头文件目录/usr/local/include /boost和库文件目录/usr/local/lib/
安装Apache
sudo yum install httpd httpd-devel
service httpd start
service httpd stop
service httpd restart
sudo chkconfig httpd on
安装mapnik
在mapnik目录下面./configure一下,需要安装很多依赖,使用yum或者源码编译安装。如果全部解决了,./configure会提示可以编译了。
需要的依赖有
sudo yum install git
sudo yum install libicu-devel libtiff-devel libpng-devel libjpeg-devel zlib-devel proj proj-devel cairo pycairo cairo-devel pycairo-devel libxml2-devel freetype freetype-devel python-devel gdal gdal-devel
如果Boost库没有加载,将其加入环境变量:
export LD_LIBRARY_PATH=/usr/local/lib/:$LD_LIBRARY_PATH
安装时候的参考