信息收集参考

查看版本信息

cat /etc/lsb-release
cat /etc/issue

刷新本地更新源并升级操作系统

sudo apt update

初始化安装

务必先重启后再安装

apt-get update -y
apt-get install net-tools -y
apt-get install psmisc -y
apt-get install tcpdump -y
apt-get install unzip -y
apt-get install wget -y
apt-get install sudo -y
apt-get install lrzsz -y
ls

务必重启,检查网络是否正常

设置时区

sudo timedatectl set-timezone Asia/Shanghai

下载安装包


mkdir -p /opt/data
chmod 777 /opt/data
mkdir -p /opt/data/upload
chmod 777 /opt/data/upload

cd /opt/data
curl -k -o apache-tomcat-9.0.107.tar.gz "https://39.105.48.69:27990/down/hqaWu9ijYYme?fname=/softwares/apache-tomcat-9.0.107.tar.gz"

curl -k -o jdk-8u451-linux-x64.tar.gz "https://39.105.48.69:27990/down/hqaWu9ijYYme?fname=/softwares/jdk-8u451-linux-x64.tar.gz"

curl -k -o GxCC-linux_x86_64-3.10.336.zip "https://39.105.48.69:27990/down/hqaWu9ijYYme?fname=3.10.336/install/GxCC-linux_x86_64-3.10.336.zip"

安装 Java 8

解压缩


mkdir /usr/java
cd /opt/data
tar -zxvf jdk-8u451-linux-x64.tar.gz
mv jdk1.8.0_451/ /usr/java/java8
cd /usr/java/java8
ls

环境配置

sed -i 's/securerandom.source=file:\/dev\/random/securerandom.source=file:\/dev\/urandom/g' /usr/java/java8/jre/lib/security/java.security
cat >>~/.bashrc<<EOF
export JAVA_HOME=/usr/java/java8
export JRE_HOME=/usr/java/java8/jre
export CLASSPATH=.:\$JAVA_HOME/lib:\$JRE_HOME/lib:\$CLASSPATH
export PATH=/usr/java/java8/bin:\$PATH
EOF
source ~/.bashrc
java -version
ls

实际手动配置(参考)

vi ~/.bashrc
export JAVA_HOME=/usr/java/java8
export JRE_HOME=/usr/java/java8/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=/usr/java/java8/bin:$PATH

安装 tomcat 9

解压缩

mkdir -p /usr/tomcat/tomcat7
cd /opt/data
tar -zxvf apache-tomcat-9.0.107.tar.gz
mv apache-tomcat-9.0.107/* /usr/tomcat/tomcat7
cd /usr/tomcat/tomcat7
rm -rf /opt/data/apache-tomcat-9.0.107
ls

配置

需要根据实际内存选择合适的大小

内存配置

2G内存推荐


sed -i 'N;4i\JAVA_OPTS="$JAVA_OPTS -server -Xms1024m -Xmx1024m -Djava.awt.headless=true -Duser.timezone=Asia/Shanghai"' /usr/tomcat/tomcat7/bin/catalina.sh

4G内存推荐


sed -i 'N;4i\JAVA_OPTS="$JAVA_OPTS -server -Xms2048m -Xmx2048m -Djava.awt.headless=true -Duser.timezone=Asia/Shanghai"' /usr/tomcat/tomcat7/bin/catalina.sh
ls

8G内存推荐


sed -i 'N;4i\JAVA_OPTS="$JAVA_OPTS -server -Xms4096m -Xmx4096m -Djava.awt.headless=true -Duser.timezone=Asia/Shanghai"' /usr/tomcat/tomcat7/bin/catalina.sh
ls

16G内存推荐


sed -i 'N;4i\JAVA_OPTS="$JAVA_OPTS -server -Xms5598m -Xmx5598m -Djava.awt.headless=true -Duser.timezone=Asia/Shanghai"' /usr/tomcat/tomcat7/bin/catalina.sh
ls

24G以上内存推荐


sed -i 'N;4i\JAVA_OPTS="$JAVA_OPTS -server -Xms10240m -Xmx10240m -Djava.awt.headless=true -Duser.timezone=Asia/Shanghai"' /usr/tomcat/tomcat7/bin/catalina.sh
ls

其他配置

sed -i 's/8080/12121/g' /usr/tomcat/tomcat7/conf/server.xml
sed -i 'N;4i\rm -rf /usr/tomcat/tomcat7/sqlit*' /usr/tomcat/tomcat7/bin/catalina.sh
sed -i 'N;4i\rm -rf /usr/tomcat/tomcat7/work' /usr/tomcat/tomcat7/bin/catalina.sh
sed -i 'N;4i\rm -rf /usr/tomcat/tomcat7/webapps/Oms/' /usr/tomcat/tomcat7/bin/catalina.sh
sed -i '/export/a\export CATALINA_BASE=/usr/tomcat/tomcat7\nexport CATALINA_HOME=/usr/tomcat/tomcat7\nexport CATALINA_TMPDIR=/usr/tomcat/tomcat7' /usr/tomcat/tomcat7/bin/catalina.sh
sed -i 'N;4i\#processname: tomcat' /usr/tomcat/tomcat7/bin/startup.sh
sed -i 'N;4i\#description:tomcat auto start' /usr/tomcat/tomcat7/bin/startup.sh
sed -i 'N;4i\#chkconfig: 2345 80 90' /usr/tomcat/tomcat7/bin/startup.sh
sed -i 'N;24i\export JAVA_HOME=/usr/java/java8' /usr/tomcat/tomcat7/bin/setclasspath.sh
ls

自动启动配置

cp /lib/systemd/system/rc-local.service /lib/systemd/system/rc-local.servicebk -n
cat >>/lib/systemd/system/rc-local.service<<EOF

[Install]
WantedBy=multi-user.target
Alias=rc-local.service
EOF

rm -f /etc/rc.local
cat >>/etc/rc.local<<EOF
#!/bin/bash
nohup /usr/tomcat/tomcat7/bin/startup.sh &
exit 0
EOF
chmod +x /etc/rc.local

隐藏版本号

mkdir -p /usr/tomcat/tomcat7/lib/org/apache/catalina/util
cd /usr/tomcat/tomcat7/lib/org/apache/catalina/util
rm -f /usr/tomcat/tomcat7/lib/org/apache/catalina/util/ServerInfo.properties
cat >>/usr/tomcat/tomcat7/lib/org/apache/catalina/util/ServerInfo.properties<<EOF
server.info=Apache Tomcat
server.number=0.0.0.0
server.built=Nov 9 1999 08:32:54 UTC
EOF

去除tomcat9 文件目录索引功能 (新版tomcat默认已添加)

要去除Tomcat 9的文件目录索引功能,可以通过修改Tomcat的配置文件来实现。具体步骤如下:

  1. ==‌找到并编辑web.xml文件‌==:
    打开Tomcat的安装目录,找到conf/web.xml文件。
  2. ==‌修改DefaultServlet的配置‌==:
    web.xml文件中,找到DefaultServlet的配置部分。通常,这部分代码看起来像这样:
<servlet>
    <servlet-name>default</servlet-name>
    <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
    <init-param>
        <param-name>debug</param-name>
        <param-value>0</param-value>
    </init-param>
    <init-param>
        <param-name>listings</param-name>
        <param-value>true</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

<param-name>listings</param-name><param-value>设置为false,以禁用目录索引功能:

<param-value>false</param-value>

禁止 catalina.out 输出

备份配置文件

cd /usr/tomcat/tomcat7/conf/
cp -f logging.properties logging.properties.bak
cd /usr/tomcat/tomcat7/bin/
cp -f catalina.sh catalina.sh.bak

禁止

cd /usr/tomcat/tomcat7/conf/
sed -i 's/\.level =.*/.level = OFF/' logging.properties
rm -f /usr/tomcat/tomcat7/logs/catalina.out
touch /usr/tomcat/tomcat7/logs/catalina.out
chmod 000 /usr/tomcat/tomcat7/logs/catalina.out
cd /usr/tomcat/tomcat7/bin/
sed -i 's/CATALINA_OUT=.*/CATALINA_OUT=\/dev\/null/' catalina.sh

MySQL创建数据库

CREATE DATABASE `telcrm` /*!40100 DEFAULT CHARACTER SET utf8mb3 */ /*!80016 DEFAULT ENCRYPTION='N' */;
注意: 不能选择 utf8mb4 否则calllog表升级增加字段会失败

安装国信呼叫中心CTi

解压缩

cd /opt/data
unzip GxCC-linux_x86_64-3.10.336.zip
ls

部署

cd /opt/data
mv configuration /usr/tomcat/tomcat7/  
mv database /usr/tomcat/
rm -rf /usr/tomcat/tomcat7/webapps
mv webapps /usr/tomcat/tomcat7/
mv bin/ /usr/tomcat/
rm -rf /usr/tomcat/tomcat7/logs
mv logs /usr/tomcat/tomcat7/
chmod 777 /usr/tomcat/tomcat7
chmod 777 /usr/tomcat/tomcat7/bin/*.*
chmod 777 /usr/tomcat/bin/*.*
ls

守护脚本配置 1

sudo /usr/tomcat/bin/WatchDog.sh

![[Pasted image 20240105164749.png]]

守护脚本配置 2

cat >>/etc/crontab<<EOF
* * * * * root /usr/tomcat/bin/WatchDog.sh
EOF
crontab /etc/crontab
crontab -l
ls

停止守护进程

service cron stop

启动守护进程

service cron start

守护进程状态

service cron status

启动CTI

cd /usr/tomcat/tomcat7/bin/
./startup.sh

重启CTi

cd /usr/tomcat/bin
./stop_rmi_service.sh
kill -9 $(ps -ef|grep java | grep /usr/tomcat/tomcat7 | awk '{print $2}')
cd /usr/tomcat/tomcat7/bin/
./startup.sh

防火墙放行

查看状态

sudo ufw status

放行端口

sudo ufw allow 12121/tcp
sudo ufw allow 7399/tcp
sudo ufw allow 7397/tcp
sudo ufw allow 3306/tcp
sudo ufw allow 5080/udp
sudo ufw allow 26384:26584/udp

登录CTI OMS前安全IP设置, 默认全部拦截

添加一个安全IP到文件末尾

echo "127.0.0.1" >> /usr/tomcat/tomcat7/configuration/com.mediapbx.pbxbusiness/secured_ips.txt

一键添加SSH客户端的IP到安全IP到文件末尾

echo $SSH_CLIENT | awk '{print $1}' >> /usr/tomcat/tomcat7/configuration/com.mediapbx.pbxbusiness/secured_ips.txt

删除指定的安全IP

awk '!/113.201.131.217/' /usr/tomcat/tomcat7/configuration/com.mediapbx.pbxbusiness/secured_ips.txt > tmp && mv tmp /usr/tomcat/tomcat7/configuration/com.mediapbx.pbxbusiness/secured_ips.txt

一键删除SSH客户端的IP

IP_TO_REMOVE=$(echo "$SSH_CLIENT" | awk '{print $1}')
sudo sed -i "/$IP_TO_REMOVE/d" /usr/tomcat/tomcat7/configuration/com.mediapbx.pbxbusiness/secured_ips.txt

开放登录,不进行IP拦截

rm -f /usr/tomcat/tomcat7/configuration/com.mediapbx.pbxbusiness/secured_ips.txt
touch /usr/tomcat/tomcat7/configuration/com.mediapbx.pbxbusiness/secured_ips.txt
注意: 如果secured_ips.txt为空, 则不再进行IP拦截,任意IP都可以输入用户名密码后登录

安装 ffmpeg

apt-get install ffmpeg libavcodec-extra -y