Je commençais aujourd'hui avec le développement Web Java et je rencontrais des problèmes. J'ai installé mon Tomcat7 sur ma machine Ubuntu. Maintenant, lorsque je navigue sur // localhost: 8080, la page d’accueil par défaut s’affiche:
Ceci est la page d'accueil par défaut de Tomcat. Vous pouvez le trouver sur le système de fichiers local à l'adresse suivante: /var/lib/Tomcat7/webapps/ROOT/index.html
Les vétérans de Tomcat7 pourraient être ravis d'apprendre que cette instance système de Tomcat est installée avec CATALINA_HOME
dans /usr/share/Tomcat7
et CATALINA_BASE
dans /var/lib/Tomcat7
, en respectant les règles de /usr/share/doc/Tomcat7-common/RUNNING.txt.gz
.
Mais étrangement, lorsque j'essaie echo $CATALINA_HOME
, rien ne s'affiche. De plus, je ne peux rien copier/créer dans le répertoire par défaut/var/lib/Tomcat7/ROOT, même s’il s’agit simplement de fournir quelques autorisations, mais je me demandais si c’était la bonne façon de le faire?
Ce que je voudrais faire est de créer un répertoire séparé dans ma maison où je peux mettre mon application Web et Tomcat peut le lire à partir de là. Y a-t-il un moyen de le faire? Dans Apache, je peux le faire en changeant la racine du document et le répertoire, mais je ne sais pas comment le faire pour Tomcat.
Mais étrangement, lorsque j'essaie d'écouter $ CATALINA_HOME, rien ne s'affiche.
En effet, la version fournie définit CATALINA_HOME
juste avant le lancement de Tomcat, après l'avoir lue à partir d'un fichier de configuration (généralement quelque part dans/etc).
De plus, je ne peux rien copier/créer dans le répertoire par défaut/var/lib/Tomcat7/ROOT, même s’il s’agit simplement de fournir quelques autorisations, mais je me demandais si c’était la bonne façon de le faire?
Le problème des autorisations est lié au fait que vous n’êtes pas root (ou à l’utilisateur Tomcat). La plupart des installations Tomcat empaquetées (deb ou RPM) ont tendance à s'installer avec un utilisateur spécifique à l'esprit, et copier des éléments dans un environnement différent ne fonctionne parfois pas.
/usr/share/Tomcat7
est votre répertoire CATALINA_HOME
. Il contient des liens vers d'autres répertoires, tels que /var/lib/Tomcat7/webapps
, /etc/Tomcat7
, etc. Vous ne devez pas copier directement dans une application Web, vous devez en faire un package WAR et le "déployer". Les avantages sont nombreux.
Ce que je voudrais faire est de créer un répertoire séparé dans ma maison où je peux mettre mon application Web et Tomcat peut le lire à partir de là. Y a-t-il un moyen de le faire?
Oui, un est créé lors du "déploiement d'une application Web". Consultez la documentation standard de Tomcat7 et envisagez d'installer l'application Web "manager" si vous préférez une interface sans ligne de commande. Maintenant que vous savez quelle "installation" d'une application Web est appelée, ce sera probablement une tâche plus facile.
Dans Apache, je peux le faire en changeant la racine du document et le répertoire, mais je ne sais pas comment le faire pour Tomcat.
Tomcat a un ensemble d'exigences différent, légèrement plus restrictif, pour une racine de document. Vous devez l'apprendre et accepter l'idée que ce ne sera jamais la même chose. Fondamentalement, sous le répertoire "webapps", se trouve un fichier WAR ou un répertoire développé provenant d'un fichier WAR. Editer sur place n'est pas une bonne idée pour Tomcat, car les équivalents CGI ne sont pas lus à partir du disque, à chaque exécution, mais liés dans la mémoire de Tomcat. Cela signifie qu'une modification du répertoire peut ne pas affecter votre application Web, ce qui constitue une raison suffisante pour ne pas changer les fichiers sur le disque d'une application Web déployée.
Modifiez l'application Web, reconditionnez-la et mettez à jour le déploiement. C'est vraiment la "bonne" voie à suivre avec Tomcat.
Donner l'autorisation 777 au dossier webroot
Sudo chmod -R 777 Webroot
Après avoir déplacé vers le dossier Tomcat
Mais étrangement, lorsque j'essaie d'écouter $ CATALINA_HOME, rien ne s'affiche.
Si vous avez installé Tomcat7 en utilisant cette commande
Sudo apt-get install Tomcat7
/ usr/share/Tomcat7 est votre CATALINA_HOME. Toutefois, vous devez l'ajouter en tant que variable d'environnement dans le fichier /.bashrc.
Sudo vi ~/.bashrc
Vous pouvez ajouter cette information à la fin du fichier:
export Java_HOME=/usr/lib/jvm/default-Java
export CATALINA_HOME=/usr/share/Tomcat7
Enregistrez et quittez .bashrc. Vous pouvez appliquer les modifications en redémarrant le fichier bashrc.
. ~/.bashrc
Maintenant, vous verriez le chemin quand echo $ CATALINA_HOME.