如何在Ubuntu 18.04 LTS上安装Apache Tomcat 9
Apache Tomcat是由Apache软件基础开发的Web服务器和servlet容器。
它实现了多种Java EE技术,包括Java Servlet,JavaServer Pages,Java Websocket和Java表达语言。
在教程中,我们将向我们展示如何使用Oracle Java 8安装和配置Apache Tomcat 9.
第1步)安装Oracle Java
在终端中的一段时间输入以下命令以添加Java存储库,更新系统并安装Java。
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-set-default
为协议选择"是",并继续安装。
安装完成后,安装后可以查看Java版本和Java主页如下:
sudo java -version
sudo echo $JAVA_HOME
步骤2)为Tomcat创建用户
通常,我们不建议我们在root用户下运行Tomcat以供安全目的。
相反,我们建议我们创建一个新的用户和组。
此外,我们将安装Tomcatto"/opt/tomcat"文件夹以用作Tomcat用户主目录。
从创建组和用户开始。
sudo groupadd tomcat
sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
第3步)下载并安装Tomcat
Tomcat 9可以从官方下载页面下载二进制版本。
我们可以从"核心"部分下载"zip"或者"tar.gz"文件下载"zip"或者"tar.gz"文件。
我们将将Tomcat安装到"/opt"目录。
所以我们将下载到该位置。
将目录更改为/opt
cd /opt
在下面的wget命令中复制下载URL并粘贴它以下载Tomcat包:
sudo wget https://www-eu.apache.org/dist/tomcat/tomcat-9/v9.0.14/bin/apache-tomcat-9.0.14.tar.gz
提取焦油包。
sudo tar -xvzf apache-tomcat-9.0.14.tar.gz
将提取的文件重命名为Tomcat。
sudo mv apache-tomcat-9.0.14 tomcat
修改Tomcat文件夹的所有权和权限。
sudo chown -R tomcat: tomcat
执行"bin"目录的执行权限。
sudo chmod o+x /opt/tomcat/bin/
步骤4)为Tomcat服务管理创建"SystemD"文件
要启动和停止Tomcat服务,我们将在"/etc/systemd/system"中创建一个名为"tomcat.service"的文件。
sudo vim /etc/systemd/system/tomcat.service
将以下内容添加到文件中。
[Unit] Description=Tomcat 9 Server After=network.target [Service] Type=forking User=tomcat Group=tomcat Environment="JAVA_HOME=/usr/lib/jvm/java-8-oracle" Environment="JAVA_OPTS=-Xms512m -Xmx512m" Environment="CATALINA_BASE=/opt/tomcat" Environment="CATALINA_HOME=/opt/tomcat" Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid" Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC" ExecStart=/opt/tomcat/bin/startup.sh ExecStop=/opt/tomcat/bin/shutdown.sh UMask=0007 RestartSec=10 Restart=always [Install] WantedBy=multi-user.target
然后保存和退出文件。
重新启动"systemctldeamon"。
sudo systemctl daemon-reload
启动Tomcat服务。
sudo systemctl start tomcat
监控Tomcat Logfile。
tail -f /opt/tomcat/logs/catalina.out
如果没有错误,我们将获得类似于以下输出:
检查Tomcat服务状态。
sudo systemctl status tomcat
Tomcat状态
启用系统启动的Tomcat服务:
sudo systemctl enable tomcat
默认Tomcatport是"8080",因此需要允许在Ubuntu防火墙上允许该端口。
sudo ufw allow 8080/tcp
检查防火墙状态:
sudo ufw status
步骤5)配置Tomcat Web管理界面
编辑Tomcat-Users文件,如下所示,将以下内容添加到"</tomcat-users>"之前。
显然,我们必须在以下命令中替换根据需要的角色名称,用户名和密码:
sudo vim /opt/tomcat/conf/tomcat-users.xml
<role rolename="admin-gui" <role rolename="manager-gui" <user username="tomcatadmin" password="abc123" roles="admin-gui,manager-gui"
重新启动Tomcat以获取新配置以生效。
sudo systemctl restart tomcat
第6步)测试Tomcat
如果我们成功地制作了这一点,我们应该能够浏览Tomcat服务器。
在浏览器中启动以下URL。
http://serverIp:8080
单击Manager应用程序或者主机管理器。
我们应该看到用户名和密码的提示。
输入在步骤5中的"Tomcat-Users.xml"文件上创建的Tomcat用户名和密码。
如果一切顺利,你应该得到"访问被拒绝"错误。
这是完全正常的。
此错误背后的推理是Tomcat Web管理界面配置为仅从LocalHost限制对Apps Manager和主机管理器的访问。
因此,应启用远程IP访问。
这不建议使用生产环境。
但是,这里是如何删除这些限制并启用我们的公共IP。
打开以下文件以获取管理应用程序设置:
sudo vim /opt/tomcat/webapps/manager/META-INF/context.xml
对于主机管理器配置:
sudo vim /opt/tomcat/webapps/host-manager/META-INF/context.xml
在下面的命令中使用"yourip"将公共IP中的以下部分修改以下部分。
<Context antiResourceLocking="false" privileged="true" > <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|yourIP" <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter$LruCache(?:\)?|java\.util\.(?:Linked)?HashMap" </Context>
重新启动Tomcat,然后再次浏览Tomcat,以后通过单击Manager App或者Host Manager。
你现在应该看看没有问题。
sudo systemctl restart tomcat