Configurare Tomcat7 in una macchina virtuale Linux con AzureSet up Tomcat7 on a Linux virtual machine with Azure

Apache Tomcat (o semplicemente Tomcat, precedentemente chiamato anche Jakarta Tomcat) è un server Web e contenitore di servlet open source sviluppato da Apache Software Foundation (ASF).Apache Tomcat (or simply Tomcat, also formerly called Jakarta Tomcat) is an open source web server and servlet container developed by the Apache Software Foundation (ASF). Tomcat implementa le specifiche Java Servlet e Java Server Pages (JSP) di Sun Microsystems.Tomcat implements the Java Servlet and the JavaServer Pages (JSP) specifications from Sun Microsystems. Tomcat fornisce un ambiente server Web HTTP Java puro in cui eseguire codice Java.Tomcat provides a pure Java HTTP web server environment in which to run Java code. Nella configurazione più semplice, Tomcat viene eseguito in un singolo processo del sistema operativo.In the simplest configuration, Tomcat runs in a single operating system process. Questo processo esegue una macchina virtuale Java (JVM).This process runs a Java virtual machine (JVM). Ogni richiesta HTTP da un browser a Tomcat viene elaborata nel processo di Tomcat come un thread separato.Every HTTP request from a browser to Tomcat is processed as a separate thread in the Tomcat process.

Importante

Azure offre due diversi modelli di distribuzione per creare e usare le risorse: Azure Resource Manager e classico.Azure has two different deployment models for creating and working with resources: Azure Resource Manager and classic. Questo articolo descrive come usare il modello di distribuzione classica.This article covers how to use the classic deployment model. Per le distribuzioni più recenti si consiglia di usare il modello di Resource Manager.We recommend that most new deployments use the Resource Manager model. Per informazioni su come usare un modello di Resource Manager per distribuire una VM Ubuntu con Openjdk e Tomcat, vedere questo articolo.To use a Resource Manager template to deploy an Ubuntu VM with Open JDK and Tomcat, see this article.

A partire dal 15 novembre 2017, le macchine virtuali saranno disponibili solo nel portale di Azure.Starting November 15, 2017, Virtual Machines will be available only in the Azure portal. L'accesso dal portale classico non sarà più supportato.Access from the classic portal will no longer be supported.

In questo articolo si installerà Tomcat7 su un'immagine Linux e la si distribuirà in Azure.In this article, you will install Tomcat7 on a Linux image and deploy it in Azure.

Si acquisiranno le nozioni seguenti:You will learn:

  • Come creare una macchina virtuale in Azure.How to create a virtual machine in Azure.
  • Come preparare la macchina virtuale per Tomcat7.How to prepare the virtual machine for Tomcat7.
  • Come installare Tomcat7.How to install Tomcat7.

La procedura presuppone che l'utente disponga già di una sottoscrizione di Azure.It is assumed that you already have an Azure subscription. In caso contrario è possibile registrarsi per una versione di valutazione gratuita sul sito Web di Azure.If not, you can sign up for a free trial at the Azure website. Se si ha un abbonamento MSDN, vedere Offerte speciali di Microsoft Azure: vantaggi per i membri di MSDN, MPN e Bizspark.If you have an MSDN subscription, see Microsoft Azure Special Pricing: MSDN, MPN, and BizSpark Benefits. Per altre informazioni su Azure, vedere Cos'è Microsoft Azure?.To learn more about Azure, see What is Azure?.

Questo articolo presuppone che l'utente abbia una conoscenza pratica di base di Tomcat e Linux.This article assumes that you have a basic working knowledge of Tomcat and Linux.

Fase 1: creare un'immagine.Phase 1: Create an image

In questa fase si creerà una macchina virtuale usando un'immagine Linux in Azure.In this phase, you will create a virtual machine by using a Linux image in Azure.

Passaggio 1: generare una chiave di autenticazione SSHStep 1: Generate an SSH authentication key

SSH è uno strumento importante per gli amministratori di sistema.SSH is an important tool for system administrators. Non è consigliabile tuttavia configurare la protezione di accesso in base a una password stabilita da una persona fisica.However, configuring access security based on a human-determined password is not recommended. Con un nome utente e una password debole, il sistema può essere esposto all'attacco da parte di utenti malintenzionati.Malicious users can break into your system based on a username and a weak password.

L'aspetto positivo è che esiste un modo per lasciare aperto l'accesso remoto e non doversi preoccupare delle password.The good news is that there is a way to leave remote access open and not worry about passwords. Il metodo consiste nell'autenticazione con crittografia asimmetrica.This method consists of authentication with asymmetric cryptography. La chiave privata dell'utente è quella che concede l'autenticazione.The user’s private key is the one that grants the authentication. È anche possibile bloccare l'account dell'utente per impedire l'autenticazione tramite password.You can even lock the user’s account to not allow password authentication.

Un altro vantaggio di questo metodo è che non sono necessarie password diverse per accedere a server diversi.Another advantage of this method is that you do not need different passwords to sign in to different servers. È possibile autenticarsi tramite la chiave privata personale in tutti i server, perciò non è necessario ricordare diverse password.You can authenticate by using the personal private key on all servers, which prevents you from having to remember several passwords.

Attenersi a questa procedura per generare la chiave di autenticazione SSH.Follow these steps to generate the SSH authentication key.

  1. Scaricare e installare PuTTYgen dal percorso seguente: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.htmlDownload and install PuTTYgen from the following location: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
  2. Eseguire Puttygen.exe.Run Puttygen.exe.
  3. Fare clic su Generate per generare le chiavi.Click Generate to generate the keys. Nel processo è possibile aumentare la casualità spostando il puntatore del mouse sull'area vuota della finestra.In the process, you can increase randomness by moving the mouse over the blank area in the window.
    Schermata di PuTTY Key Generator che mostra il pulsante per generare una nuova chiavePuTTY Key Generator screenshot that shows the generate new key button
  4. Dopo il processo di generazione Puttygen.exe visualizzerà la nuova chiave pubblica.After the generate process, Puttygen.exe will show your new public key.
    Schermata di PuTTY Key Generator che mostra la nuova chiave pubblica e il pulsante per salvare la chiave privata
  5. Selezionare e copiare la chiave pubblica e salvarla in un file denominato publicKey.pem.Select and copy the public key, and save it in a file named publicKey.pem. Non fare clic su Save public key, poiché il formato di file della chiave pubblica salvata è diverso dalla chiave pubblica richiesta.Don’t click Save public key, because the saved public key’s file format is different from the public key we want.
  6. Fare clic su Save private key e salvarla in un file denominato privateKey.ppk.Click Save private key, and save it in a file named privateKey.ppk.

Passaggio 2: creare l'immagine nel portale di AzureStep 2: Create the image in the Azure portal

  1. Nel portale fare clic su Nuovo nella barra delle applicazioni per creare un'immagine.In the portal, click New in the task bar to create an image. Scegliere quindi l'immagine Linux in base alle esigenze.Then choose the Linux image that is based on your needs. Il seguente esempio usa l'immagine Ubuntu 14.04.The following example uses the Ubuntu 14.04 image. Schermata del portale che mostra il pulsante NuovoScreenshot of the portal that shows the New button

  2. In Nome host specificare il nome per l'URL che verrà usato dall'utente e dai client Internet per accedere a questa macchina virtuale.For Host Name, specify the name for the URL that you and Internet clients will use to access this virtual machine. Definire l'ultima parte del nome DNS, ad esempio tomcatdemo.Define the last part of the DNS name, for example, tomcatdemo. Azure genera quindi l'URL tomcatdemo.cloudapp.net.Azure will then generate the URL as tomcatdemo.cloudapp.net.

  3. In Chiave di autenticazione SSH copiare il valore della chiave dal file publicKey.pem che contiene la chiave pubblica generata da PuTTYgen.For SSH Authentication Key, copy the key value from the publicKey.pem file, which contains the public key generated by PuTTYgen.
    Casella Chiave di autenticazione SSH nel portaleSSH Authentication Key box in the portal

  4. Configurare altre impostazioni in base alle esigenze, quindi fare clic su Crea.Configure other settings as needed, and then click Create.

Fase 2: preparare la macchina virtuale per Tomcat7Phase 2: Prepare your virtual machine for Tomcat7

In questa fase si configurerà un endpoint per il traffico in Tomcat e ci si connetterà alla nuova macchina virtuale.In this phase, you will configure an endpoint for Tomcat traffic, and then connect to your new virtual machine.

Passaggio 1: aprire la porta HTTP per consentire l'accesso webStep 1: Open the HTTP port to allow web access

Gli endpoint di Azure sono costituiti da un protocollo TCP o UDP, insieme a una porta pubblica e privata.Endpoints in Azure consist of a TCP or UDP protocol, along with a public and private port. La porta privata è la porta ascoltata dal servizio sulla macchina virtuale.The private port is the port that the service is listening to on the virtual machine. La porta pubblica è la porta ascoltata esternamente dal servizio cloud di Azure per il traffico in ingresso basato su Internet.The public port is the port that the Azure cloud service listens to externally for incoming, Internet-based traffic.

La porta TCP 8080 è la porta predefinita su cui Tomcat è in ascolto.TCP port 8080 is the default port number that Tomcat uses to listen. Se si apre questa porta con un endpoint di Azure, l'utente e altri client Internet potranno accedere alle pagine Tomcat.If this port is opened with an Azure endpoint, you and other Internet clients can access Tomcat pages.

  1. Nel portale di Azure fare clic su Sfoglia > Macchine virtuali e quindi fare clic sulla macchina virtuale che è stata creata.In the portal, click Browse > Virtual machines, and then click the virtual machine that you created.
    Schermata della directory Macchine virtualiScreenshot of the Virtual machines directory
  2. Per aggiungere un endpoint alla macchina virtuale, scegliere la casella Endpoint .To add an endpoint to your virtual machine, click the Endpoints box. Schermata che mostra la casella EndpointScreenshot that shows the Endpoints box
  3. Fare clic su Aggiungi.Click Add.

    1. In Endpoint digitare un nome per l'endpoint, quindi digitare 80 nel campo Porta pubblica.For the endpoint, enter a name for the endpoint in Endpoint, and then enter 80 in Public Port.

      Se la porta viene impostata su 80, non occorre includere il numero di porta nell'URL che si usa per accedere a Tomcat.If you set it to 80, you don’t need to include the port number in the URL that is used to access Tomcat. Ad esempio, http://tomcatdemo.cloudapp.net.For example, http://tomcatdemo.cloudapp.net.

      Se si imposta la porta su un altro valore, come 81, è necessario aggiungere il numero di porta all'URL per accedere a Tomcat.If you set it to another value, such as 81, you need to add the port number to the URL to access Tomcat. Ad esempio http://tomcatdemo.cloudapp.net:81/.For example, http://tomcatdemo.cloudapp.net:81/.

    2. Digitare 8080 in Porta privata.Enter 8080 in Private Port. Per impostazione predefinita Tomcat è in ascolto sulla porta TCP 8080.By default, Tomcat listens on TCP port 8080. Se è stata modificata la porta di ascolto predefinita di Tomcat, è necessario aggiornare la porta privata in modo che corrisponda alla porta di ascolto di Tomcat.If you changed the default listen port of Tomcat, you should update Private Port to be the same as the Tomcat listen port.
      Schermata dell'interfaccia utente che mostra il comando Aggiungi, Porta pubblica e Porta privataScreenshot of UI that shows Add command, Public Port, and Private Port
  4. Fare clic su OK per aggiungere l'endpoint alla macchina virtuale.Click OK to add the endpoint to your virtual machine.

Passaggio 2: effettuare la connessione all'immagine creataStep 2: Connect to the image you created

È possibile scegliere qualsiasi strumento SSH per connettersi alla macchina virtuale.You can choose any SSH tool to connect to your virtual machine. In questo esempio viene usato PuTTY.In this example, we use PuTTY.

  1. Ottenere il nome DNS della macchina virtuale dal portale.Get the DNS name of your virtual machine from the portal.

    1. Fare clic su Sfoglia > Macchine virtuali.Click Browse > Virtual machines.
    2. Selezionare il nome della macchina virtuale e quindi fare clic su Proprietà.Select the name of your virtual machine, and then click Properties.
    3. Nel riquadro Proprietà osservare la casella Nome di dominio per ottenere il nome DNS.In the Properties tile, look in the Domain Name box to get the DNS name.
  2. Ricavare il numero di porta per le connessioni SSH dalla casella SSH .Get the port number for SSH connections from the SSH box.
    Schermata che mostra il numero di porta della connessione SSHScreenshot that shows the SSH connection port number

  3. Scaricare PuTTY.Download PuTTY.

  4. Dopo il download fare clic sul file eseguibile Putty.exe.After downloading, click the executable file Putty.exe. Nella configurazione di PuTTY impostare le opzioni di base con il nome host e il numero di porta ottenuto dalle proprietà della macchina virtuale.In PuTTY configuration, configure the basic options with the host name and port number that is obtained from the properties of your virtual machine.
    Schermata che mostra le opzioni di configurazione di PuTTY relative a nome host e porta

  5. Nel riquadro a sinistra fare clic su Connessione > SSH > Autenticazione e quindi fare clic su Sfoglia per specificare il percorso del file privateKey.ppk.In the left pane, click Connection > SSH > Auth, and then click Browse to specify the location of the privateKey.ppk file. Il file PrivateKey contiene la chiave privata generata da PuTTYgen in precedenza nella sezione "Fase 1: creare un'immagine" di questo articolo.The privateKey.ppk file contains the private key that is generated by PuTTYgen earlier in the "Phase 1: Create an image" section of this article.
    Schermata che mostra la gerarchia di directory di connessione e il pulsante SfogliaScreenshot that shows the Connection directory hierarchy and Browse button

  6. Fare clic su Apri.Click Open. Si potrebbe ricevere un avviso da una finestra di messaggio.You might be alerted by a message box. Se il nome DNS e il numero di porta sono stati configurati correttamente, fare clic su Yes.If you have configured the DNS name and port number correctly, click Yes. Schermata che mostra la notificaScreenshot that shows the notification

  7. Viene chiesto di inserire il nome utente.You are prompted to enter your username.
    Schermata che mostra dove inserite il nome utente

  8. Inserire il nome utente utilizzato per creare la macchina virtuale nella sezione "Fase 1: creare un'immagine" di questo articolo.Enter the username that you used to create the virtual machine in the "Phase 1: Create an image" section earlier in this article. Verrà visualizzata una schermata simile alla seguente: You will see something like the following:
    Schermata che mostra la conferma dell'autenticazione

Fase 3: installare il softwarePhase 3: Install software

In questa fase saranno installati l'ambiente di runtime Java, Tomcat7 e altri componenti di Tomcat7.In this phase, you install the Java runtime environment, Tomcat7, and other Tomcat7 components.

Ambiente di runtime JavaJava runtime environment

Tomcat è scritto in Java.Tomcat is written in Java. Esistono due tipi di Java Development Kit (JDK): OpenJDK e Oracle JDK.There are two kinds of Java Development Kits (JDKs), OpenJDK and Oracle JDK. È possibile scegliere quello preferito.You can choose the one you want.

Nota

Il codice contenuto dai due JDK per le classi nell'API Java è praticamente identico, mentre il codice per la macchina virtuale è diverso.Both JDKs have almost the same code for the classes in the Java API, but the code for the virtual machine is different. OpenJDK tende a usare librerie aperte mentre Oracle JDK tende a usare librerie chiuse.OpenJDK tends to use open libraries, while Oracle JDK tends to use closed ones. Oracle JDK dispone di più classi e include alcuni bug corretti, inoltre è più stabile di OpenJDK.Oracle JDK has more classes and some fixed bugs, and Oracle JDK is more stable than OpenJDK.

Installare OpenJDKInstall OpenJDK

Usare il comando seguente per scaricare OpenJDK.Use the following command to download OpenJDK.

sudo apt-get update  
sudo apt-get install openjdk-7-jre  
  • Per creare una directory in cui includere i file di JDK:To create a directory to contain the JDK files:

      sudo mkdir /usr/lib/jvm  
    
  • Per estrarre i file di JDK nella directory /usr/lib/jvm/:To extract the JDK files into the /usr/lib/jvm/ directory:

      sudo tar -zxf jdk-8u5-linux-x64.tar.gz  -C /usr/lib/jvm/
    

Installare Oracle JDKInstall Oracle JDK

Usare il comando seguente per scaricare Oracle JDK dal sito Web di Oracle.Use the following command to download Oracle JDK from the Oracle website.

 wget --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u5-b13/jdk-8u5-linux-x64.tar.gz  
  • Per creare una directory in cui includere i file di JDK:To create a directory to contain the JDK files:

      sudo mkdir /usr/lib/jvm  
    
  • Per estrarre i file di JDK nella directory /usr/lib/jvm/:To extract the JDK files into the /usr/lib/jvm/ directory:

      sudo tar -zxf jdk-8u5-linux-x64.tar.gz  -C /usr/lib/jvm/  
    
  • Per impostare Oracle JDK come macchina virtuale Java predefinita:To set Oracle JDK as the default Java virtual machine:

      sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0_05/bin/java 100  
    
      sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.8.0_05/bin/javac 100  
    

Verificare che l'installazione di Java sia riuscitaConfirm that Java installation is successful

Per verificare se l'ambiente di runtime Java è stato installato correttamente, è possibile usare un comando simile al seguente:You can use a command like the following to test if the Java runtime environment is installed correctly:

java -version  

Se è stato installato OpenJDK, si dovrebbe vedere un messaggio simile al seguente: installazione di OpenJDK riuscitaIf you installed OpenJDK, you should see a message like the following: Successful OpenJDK installation message

Se è stato installato Oracle JDK, si dovrebbe vedere un messaggio simile al seguente: installazione di Oracle JDK riuscitaIf you installed Oracle JDK, you should see a message like the following: Successful Oracle JDK installation message

Installare Tomcat7Install Tomcat7

Usare il seguente comando per installare Tomcat7.Use the following command to install Tomcat7.

sudo apt-get install tomcat7  

Se non si usa Tomcat7, modificare il comando in modo appropriato.If you are not using Tomcat7, use the appropriate variation of this command.

Verificare che l'installazione di Tomcat7 sia riuscitaConfirm that Tomcat7 installation is successful

Per verificare se Tomcat7 è stato installato correttamente, passare al nome DNS del server Tomcat.To check if Tomcat7 is successfully installed, browse to your Tomcat server’s DNS name. In questo articolo l'URL di esempio è http://tomcatexample.cloudapp.net/.In this article, the example URL is http://tomcatexample.cloudapp.net/. Se viene visualizzato un messaggio simile al seguente, Tomcat7 è stato installato correttamente.If you see a message like the following, Tomcat7 is installed correctly. Messaggio con l'avviso che l'installazione di Tomcat7 è riuscitaSuccessful Tomcat7 installation message

Installare altri componenti di Tomcat7Install other Tomcat7 components

Esistono altri componenti facoltativi di Tomcat che è possibile installare.There are other optional Tomcat components that you can install.

Usare il comando sudo apt-cache search tomcat7 per visualizzare tutti i componenti disponibili.Use the sudo apt-cache search tomcat7 command to see all of the available components. Usare i seguenti comandi per installare alcuni utili componenti.Use the following commands to install some useful components.

sudo apt-get install tomcat7-admin      #admin web applications

sudo apt-get install tomcat7-user         #tools to create user instances  

Fase 4: configurare Tomcat7Phase 4: Configure Tomcat7

In questa fase si amministra Tomcat.In this phase, you administer Tomcat.

Avviare e arrestare Tomcat7Start and stop Tomcat7

Il server Tomcat7 si avvia automaticamente durante l'installazione.The Tomcat7 server automatically starts when you install it. È possibile anche avviarlo con il seguente comando:You can also start it with the following command:

sudo /etc/init.d/tomcat7 start

Per arrestare Tomcat7:To stop Tomcat7:

sudo /etc/init.d/tomcat7 stop

Per visualizzare lo stato di Tomcat7:To view the status of Tomcat7:

sudo /etc/init.d/tomcat7 status

Per riavviare i servizi Tomcat:To restart Tomcat services:

sudo /etc/init.d/tomcat7 restart

Amministrazione di Tomcat7Tomcat7 administration

È possibile modificare il file di configurazione utente di Tomcat per configurare le proprie credenziali di amministratore.You can edit the Tomcat user configuration file to set up your admin credentials. Usare il comando seguente:Use the following command:

sudo vi  /etc/tomcat7/tomcat-users.xml   

Di seguito è fornito un esempio:Here is an example:
Schermata che mostra l'output del comando sudo vi

Nota

Creare una password complessa per il nome utente dell'amministratore.Create a strong password for the admin username.

Dopo avere modificato questo file, è necessario riavviare i servizi Tomcat7 con il seguente comando per rendere effettive le modifiche:After editing this file, you should restart Tomcat7 services with the following command to ensure that the changes take effect:

sudo /etc/init.d/tomcat7 restart  

Aprire il browser e immettere l'URL http:///manager/html.Open your browser, and enter http:///manager/html as the URL. Ad esempio, in questo articolo l'URL è http://tomcatexample.cloudapp.net/manager/html.For the example in this article, the URL is http://tomcatexample.cloudapp.net/manager/html.

Dopo la connessione, si dovrebbe visualizzare una schermata simile alla seguente: After connecting, you should see something similar to the following:
Schermata di Tomcat Web Application Manager

Problemi comuniCommon issues

Impossibile accedere alla macchina virtuale con Tomcat e Moodle da InternetCan't access the virtual machine with Tomcat and Moodle from the Internet

SintomoSymptom

Tomcat è in esecuzione ma non è possibile visualizzare la pagina predefinita di Tomcat con il browser.Tomcat is running but you can’t see the Tomcat default page with your browser.

Possibile causa principalePossible root cause

  • La porta di ascolto di Tomcat non corrisponde alla porta privata dell'endpoint della macchina virtuale per il traffico in Tomcat.The Tomcat listen port is not the same as the private port of your virtual machine's endpoint for Tomcat traffic.

    Controllare le impostazioni dell'endpoint della porta pubblica e privata e assicurarsi che la porta privata corrisponda alla porta di ascolto di Tomcat.Check your public port and private port endpoint settings and make sure the private port is the same as the Tomcat listen port. Per istruzioni sulla configurazione degli endpoint per la macchina virtuale vedere la sezione di questo articolo "Fase 1: creare un'immagine".See "Phase 1: Create an image" section of this article for instructions on configuring endpoints for your virtual machine.

    Per determinare la porta di ascolto di Tomcat, aprire /etc/httpd/conf/httpd.conf (versione Red Hat) o /etc/tomcat7/server.xml (versione Debian).To determine the Tomcat listen port, open /etc/httpd/conf/httpd.conf (Red Hat release), or /etc/tomcat7/server.xml (Debian release). Per impostazione predefinita la porta di ascolto di Tomcat è 8080.By default, the Tomcat listen port is 8080. Di seguito è fornito un esempio:Here is an example:

    <Connector port="8080" protocol="HTTP/1.1"  connectionTimeout="20000"   URIEncoding="UTF-8"            redirectPort="8443" />  
    

    Se si usa una macchina virtuale come Debian o Ubuntu e si vuole modificare la porta di ascolto di Tomcat predefinita (ad esempio 8081), è necessario aprire la porta anche per il sistema operativo.If you are using a virtual machine like Debian or Ubuntu and you want to change the default port of Tomcat Listen (for example 8081), you should also open the port for the operating system. Aprire innanzitutto il profilo:First, open the profile:

    sudo vi /etc/default/tomcat7  
    

    Rimuovere quindi i commenti dall’ultima riga e modificare “no” in “sì”.Then uncomment the last line and change “no” to “yes”.

    AUTHBIND=yes
    
  • Il firewall ha disabilitato la porta di ascolto di Tomcat.The firewall has disabled the listen port of Tomcat.

    È possibile visualizzare la pagina predefinita di Tomcat solo dall'host locale.You can only see the Tomcat default page from the local host. Molto probabilmente il problema è che la porta su cui è in ascolto Tomcat è bloccata dal firewall.The problem is most likely that the port, which is listened to by Tomcat, is blocked by the firewall. È possibile usare lo strumento w3m per passare alla pagina Web.You can use the w3m tool to browse the webpage. I seguenti comandi consentono di installare w3m e di passare alla pagina predefinita di Tomcat:The following commands install w3m and browse to the Tomcat default page:

    <span data-ttu-id="89e7f-278">sudo yum install w3m w3m-img</span><span class="sxs-lookup"><span data-stu-id="89e7f-278">sudo yum  install w3m w3m-img</span></span>


    <span data-ttu-id="89e7f-279">w3m http://localhost:8080</span><span class="sxs-lookup"><span data-stu-id="89e7f-279">w3m http://localhost:8080</span></span>  

SoluzioneSolution

  • Se la porta di ascolto di Tomcat non corrisponde alla porta privata dell'endpoint per il traffico nella macchina virtuale, è necessario modificare la porta privata dell'endpoint affinché corrisponda alla porta di ascolto di Tomcat.If the Tomcat listen port is not the same as the private port of the endpoint for traffic to the virtual machine, you need change the private port to be the same as the Tomcat listen port.
  • Se il problema è causato dal firewall o dagli iptable, aggiungere le seguenti righe a /etc/sysconfig/iptables.If the issue is caused by firewall/iptables, add the following lines to /etc/sysconfig/iptables. La seconda riga è necessaria solo per il traffico https:The second line is only needed for https traffic:

    -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT

    -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT

    Importante

    Assicurarsi che le righe precedenti siano posizionate sopra eventuali righe che limiterebbero globalmente l'accesso, come la seguente: -A INPUT -j REJECT --reject-with icmp-host-prohibitedMake sure the previous lines are positioned above any lines that would globally restrict access, such as the following: -A INPUT -j REJECT --reject-with icmp-host-prohibited

Per ricaricare gli iptable, eseguire il seguente comando:To reload the iptables, run the following command:

service iptables restart

Questa installazione è stata effettuata su CentOS 6.3.This has been tested on CentOS 6.3.

Autorizzazione negata quando si caricano i file di progetto in /var/lib/tomcat7/webapps/Permission denied when you upload project files to /var/lib/tomcat7/webapps/

SintomoSymptom

Quando si usa un client FTP sicuro (ad esempio FileZilla) per connettersi alla macchina virtuale e passare a /var/lib/tomcat7/webapps/ per pubblicare il sito, si ottiene un messaggio di errore simile al seguente:When you use an SFTP client (such as FileZilla) to connect to your virtual machine and navigate to /var/lib/tomcat7/webapps/ to publish your site, you get an error message similar to the following:

 status:    Listing directory /var/lib/tomcat7/webapps
 Command:    put "C:\Users\liang\Desktop\info.jsp" "info.jsp"
 Error:    /var/lib/tomcat7/webapps/info.jsp: open for write: permission denied
 Error:    File transfer failed

Possibile causa principalePossible root cause

Non si dispone delle autorizzazioni di accesso alla cartella /var/lib/tomcat7/webapps.You have no permissions to access the /var/lib/tomcat7/webapps folder.

SoluzioneSolution

È necessario ottenere l'autorizzazione dall'account radice.You need to get permission from the root account. È possibile cambiare la proprietà di tale cartella dalla radice al nome utente usato per il provisioning della macchina.You can change the ownership of that folder from root to the username you used when you provisioned the machine. Di seguito è riportato un esempio con il nome dell'account azureuser:Here is an example with the azureuser account name:

 sudo chown azureuser -R /var/lib/tomcat7/webapps

Usare l'opzione -R per applicare le autorizzazioni per tutti i file anche all'interno di una directory.Use the -R option to apply the permissions for all files inside of a directory too.

Questo comando funziona anche per le directory.This command also works for directories. L'opzione -R modifica le autorizzazioni per tutti i file e le directory all'interno della directory.The -R option changes the permissions for all files and directories inside the directory. Di seguito è fornito un esempio:Here is an example:

 sudo chown -R username:group directory  

Questo comando cambia la proprietà (sia utente che gruppo) per tutti i file e le directory che si trovano all'interno della directory stessa.This command changes ownership (both user and group) for all files and directories that are inside the directory.

Il comando seguente modifica l'autorizzazione solo per la directory della cartella.The following command only changes the permission of the folder directory. I file e cartelle all'interno della directory non vengono modificati.The files and folders inside the directory are not changed.

 sudo chown username:group directory