安装Apache Tomcat 9 Linux的循序渐进指南

Apache Tomcat是用于运行Java应用程序的开源Web服务器和servlet容器。它是与Java Web应用程序一起使用的最流行的应用程序服务器。有数百家公司使用它,包括eBay,阿里巴巴和麻省理工学院。

本教程是下载Tomcat 9.0.45的分步指南。此处的代码已在Debian 10上进行了测试。这意味着,如果您使用的是任何基于Debian的发行版,如Ubuntu或Kali Linux(或Debian本身),则可以继续进行。

Apache Tomcat 9的先决条件

您需要成为具有sudo特权的用户。如果您不是sudo / root用户,则可以执行以下操作以获取该用户特权:

a)创建一个新用户

root用户身份登录,然后在您的终端中输入以下命令:

 $ adduser newuser

系统将提示您输入密码。确保它牢固且安全。您还将被要求提供其他信息,例如您的姓名和电话号码。这是可选的且琐碎的。您只需按Enter键即可跳过。

b)将用户添加到sudo组

$ usermod -aG sudo newuser

现在,您有了一个名为newuser的sudo用户。

相关:将用户添加到Sudoers组

步骤1:安装OpenJDK

要安装Tomcat 9,您将需要安装Java Standard Edition(SE)8或更高版本。通过安装OpenJDK(Java SE和Java开发工具包(JDK)的开源实现)来实现此目的。

首先,您需要更新我们的apt软件包:

 $ sudo apt update

然后下一个:

 $ sudo apt install default-jdk

在撰写本文时,OpenJDK14是OpenJDK的最新版本。安装完成后,通过检查以下Java版本来进行验证:

 $ java -version

步骤2:建立Tomcat使用者

您可以将Tomcat作为root用户使用,但这构成了严重的安全威胁。因此,您需要创建一个新用户,该用户将使用/ opt / tomcat主目录运行该服务。该目录是您安装Tomcat的位置,该目录使用/ bin / false外壳程序创建,因此没有人可以登录到该目录。

运行以下命令以执行此操作:

 $ sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcat

步骤3:安装Tomcat

可以从Tomcat下载页面获得Tomcat的官方二进制发行

您可以使用wget命令将Tomcat zip文件下载到/ tmp目录(一个临时文件夹位置)。

 $ cd /tmp
$ wget https://mirror.kiu.ac.ug/apache/tomcat/tomcat-9/v9.0.45/bin/apache-tomcat-9.0.45.tar.gz

如果您在使用wget时遇到问题,则可以选择使用curl命令下载Tomcat。首先,下载curl

 $ sudo apt install curl

然后将curl与从Tomcat网站获得的链接一起使用:

 $ curl -O https://mirror.kiu.ac.ug/apache/tomcat/tomcat-9/v9.0.45/bin/apache-tomcat-9.0.45.tar.gz

注意:如果您使用了wget ,那么也不需要使用curl 。他们都实现了相同的目标。

下载完成后,将存档解压缩到/ opt / tomcat目录:

 $ sudo mkdir /opt/tomcat
$ tar -xf apache-tomcat-9.0.45.tar.gz
$ sudo mv apache-tomcat-9.0.45 /opt/tomcat/

Tomcat会定期发布有关安全修补程序和补丁的更新。为了确保您对这些更新有更多的控制权,请创建一个指向最新的符号链接,该链接指向安装目录。

 $ sudo ln -s /opt/tomcat/apache-tomcat-9.0.45 /opt/tomcat/latest

获得更新后,您要做的就是解压缩下载文件,并使符号链接指向该文件。

接下来,更新权限。以下命令将权限授予Tomcat用户和组:

 $ sudo chown -R tomcat: /opt/tomcat

您需要使Tomcat的bin目录中的shell脚本可执行:

 $ sudo sh -c 'chmod +x /opt/tomcat/latest/bin/*.sh'

步骤4:创建单位文件

您将需要将Tomcat作为服务运行,而不是使用Shell脚本。这需要/ etc / systemd / system /目录中的systemd单元文件:

 $ sudo nano /etc/systemd/system/tomcat.service

现在,将配置粘贴到下面。

 
[Unit]
Description=Tomcat 9.0 servlet container
After=network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/usr/lib/jvm/default-java"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"
Environment="CATALINA_BASE=/opt/tomcat/latest"
Environment="CATALINA_HOME=/opt/tomcat/latest"
Environment="CATALINA_PID=/opt/tomcat/latest/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"
ExecStart=/opt/tomcat/latest/bin/startup.sh
ExecStop=/opt/tomcat/latest/bin/shutdown.sh
[Install]
WantedBy=multi-user.target

保存并关闭文件。然后重新加载systemctl以确保系统确认了新的更改:

 $ sudo systemctl daemon-reload

现在启动Tomcat服务:

 $ sudo systemctl start tomcat

检查应用程序是否已启动且没有任何错误:

 $ sudo systemctl status tomcat

以上输出确认Tomcat服务器已启动并正在运行。

您始终可以像其他任何systemd服务一样管理Tomcat服务:

 $ sudo systemctl start tomcat
$ sudo systemctl stop tomcat
$ sudo systemctl restart tomcat

步骤5:配置防火墙设置

您可能需要从本地网络访问服务器。为此,请调整防火墙设置并打开端口8080。

 $ sudo ufw allow 8080/tcp

修改防火墙权限后,您现在可以通过在Web浏览器中转到your-ip-address:8080来访问默认的Tomcat页面。在此阶段,请勿单击Manager应用程序的链接,因为将拒绝您的访问(您可以稍后进行配置)。

如果希望在启动时自动启动Tomcat服务,请使用:

 $ sudo systemctl enable tomcat

步骤6:配置管理界面

此时,由于尚未定义Tomcat用户及其角色,因此无法访问Web管理界面。 tomcat-users.xml是描述符文件。如下所示在您的终端中打开它:

 $ sudo nano /opt/tomcat/latest/conf/tomcat-users.xml

打开文件后,您将看到包含注释和示例的默认文本。

</ tomcat-users>上方的底部添加以下代码

 <role rolename="admin-gui"/>
<role rolename="manager-gui"/>
<user username="admin" password="admin_password" roles="admin-gui,manager-gui"/>
</tomcat-users>

现在,新用户将可以访问Web界面(manager-gui和admin-gui)。确保将密码更改为更安全的密码。

步骤7:测试安装

首先,重新启动您的应用程序:

 $ sudo systemctl restart tomcat

然后在浏览器中,键入localhost:8080。获得下面的页面后,您将知道安装成功。

可以在http:// localhost:8080 / manager / html上访问Tomcat应用程序管理器仪表板。从这里,您可以开始管理(启动,停止,重新加载,部署和取消部署)您的应用程序。

可以通过http:// localhost:8080 / host-manager / html访问虚拟主机管理器仪表板您可以从此处管理Tomcat虚拟主机。

Tomcat已准备好运行

现在,您的安装已完成,您可以部署Java应用程序,并开始使用JSP(Java服务器页面),Servlet等。

此时,您的Tomcat数据是完全未加密的。您的敏感数据(例如密码)以纯文本形式发送,并且可能被不需要的各方查看。为了保护自己,您可以使用SSL加密连接。

您也可以访问Apache Tomcat官方文档,以了解有关Tomcat功能的更多信息。如果您发现很难遵循,可以随时从充满活力的在线开发者社区寻求帮助,例如Stack Overflow。