whois 分两种,一种是查询域名,一种是查询ip。我们现在搭建的是查询ip whois。目前网上关于此类的教程仅有一篇而且版本相对较低。本教程将按照最新的版本进行搭建。仅供学习使用。
环境准备:
- 建议使用具有8GB RAM,8GB交换空间和120GB磁盘空间的服务器
- 操作系统:ubuntu (> 18)
- 安装JDK11, Mariadb-Server,Maven 3.63,JMX
下载jdk 11, 需要有oracle账号
https://www.oracle.com/java/technologies/javase-jdk11-downloads.html#license-lightbox
更新源
sudo apt update
安装maradb数据库
apt-get install mariadb-server
安装成功后默认是没有密码(为了方便,密码我没加)
解压下载的jdk
tar -zxvf jdk-11.0.10_linux-x64_bin.tar.gz
将jdk拷贝到/usr/local目录下
mv jdk-11.0.10 /usr/local
配置环境变量
vim /etc/profile
在末尾处添加,然后:wq保存退出
export JAVA_HOME=/usr/local/jdk-11.0.10
export CLASSPATH=.:${JAVA_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
最后让配置文件生效
source /etc/profile
查看JDK是否已经配置成功
使用apt安装maven
sudo apt-get install maven
maven安装成功
使用apt安装gcc,make 等编译工具包
sudo apt install build-essential
确定gcc跟gun make有安装成功
下载jmx(放在/root目录下,后面指令从这里复制,或者自己修改下载路径)
wget https://github.com/jiaqi/jmxterm/releases/download/v1.0.2/jmxterm-1.0.2-uber.jar
安装git
apt-get install git
通过git 下载最新版whois server 源码
git clone https://github.com/RIPE-NCC/whois.git
准备工作结束,开始正餐......
进入项目根目录执行
cd whois
mvn clean install -P release
编译代码的过程有点久,具体时间看服务器性能(我大概编译了十几分钟),期间有一些警告可以忽略,只要不是报错就行;代码编译报错一般是jdk版本低于11或者环境变量配置错误,按上面流程操作一般不会