transfert de fichier par ftp
Vous avez besoin d’une solution économique pour le déploiement de votre application, faites confiance à nos ingénieurs qui vous accompagnent pas à pas dans la mise à niveau de votre serveur dans cet article.
Vous avez fini avec le développement de votre application Spring-boot et souhaitez désormais déployer cette application sur un serveur afin qu’elle soit disponible sur internet ? Dans cette article, nous allons vous présenter de bout en bout la méthode la plus économique pour aller au bout de cette mission passionnante.
Prérequis:
Avoir un accès root sur un serveur privé ou un serveur virtuel privé ayant Ubuntu. En savoir plus sur comment configuré un compte root sur votre serveur.
Commençons pas installer le serveur d’application Tomcat.
Apache tomcat ou simplement tomcat est un serveur d'applications, plus précisément un conteneur web libre de servlets et jsp. C’est sur ce serveur que notre application va être déployée.
Apache Tomcat existe depuis un certain temps et reste l'un des conteneurs de serveurs d'applications et de servlets les plus populaires disponibles. Il s'agit d'une implémentation open source de plusieurs technologies de la plateforme Jarkarta EE et son utilisation est gratuite par tous.
Installation JDK
La première chose à faire est d'installer Java, en particulier OpenJDK 11 Apache en aura besoin pour fonctionner. Pour ce faire, connectez-vous à votre instance Ubuntu et exécutez la commande :
sudo apt-get install openjdk-11-jdk -y
Une fois l’installation terminée, vérifiez-la à l’aide de la commande :
java --version
Installation de Apache Tomcat
Heureusement, il existe une version d'Apache Tomcat trouvée dans les référentiels standards. Vous pouvez savoir exactement quelle version en exécutant la commande :
sudo apt-cache search tomcat
La sortie devrait montrer que la version tomcat9 est disponible, et c'est ce que nous allons installer. Pour installer la version 9 d'Apache Tomcat, exécutez la commande :
sudo apt-get install tomcat9 tomcat9-admin -y
Vous devrez maintenant ouvrir le port 8080 dans votre pare-feu avec la commande :
sudo ufw allow from any to any port 8080 proto tcp
Nous devons maintenant configurer Apache Tomcat afin que vous puissiez vous connecter à l'interface graphique Web avec les autorisations appropriées pour utiliser les outils d'administration. Ouvrez le fichier de configuration avec :
sudo nano /etc/tomcat9/tomcat-users.xml
Dans ce fichier, vous verrez une section en bas qui ressemble à ceci :
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
Ajouter la ligne ci-dessous avec vos informations de connexion juste après la spécification des rôles.
<user username="username" password="changepassword" roles="manager-gui,manager-script,manager-jmx,manager-status">
Enregistrez et fermez le fichier.
Redémarrez Apache Tomcat avec :
sudo systemctl restart tomcat9
Si vous avez spécifié que vous allez produire l’artéfact de votre application en .jar lors de l’initialisation du projet, il est important d’effectuer quelques modifications pour avoir l’artéfact en war. Ci-dessous la précédure.
Configurer la Classe Principale : Vous devez configurer la classe principale de votre application Spring Boot pour qu'elle puisse être déployée en tant que WAR. Cela implique d'étendre la classe SpringBootServletInitializer et de remplacer la méthode configure pour spécifier la classe principale de l'application. Créez un fichier nommé ServletInitializer.java un à la racine de votre projet avec le contenu ci-dessous.
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
public class ServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(SpringbootApplication.class);
}
}
Cette classe permet d'exécuter une SpringApplication à partir du déploiement d'un WAR.
Générer le Fichier WAR : Une fois que la classe principale est configurée, vous pouvez générer le fichier WAR à l'aide de Maven. En exécutant la commande mvn clean package, le fichier WAR sera généré dans le répertoire target de votre projet. Par exemple, le fichier WAR sera généré sous le chemin target/spring-boot-tomcat.war si l'artifactId de Maven est spring-boot-tomcat.
Connectez-vous avec le mot de passe défini dans le fichier de configuration de tomcat à l’aide du lien ci-dessous: http://YOUR-UBUNTU-IP-SERVER:8080/manager/html/
Si tout se passe bien, vous allez accéder à la page ci-dessous.
Dépuis cette page, vous pouvez simplement déployer votre fichier war généré précédement en suivant les étapes suivantes:
a) À la section Fichier War à déployer, cliquez sur le bouton “choisur un fichier” puis cliquez sur déployer.
Cette action va vous permettre d’importer votre fichier war depuis votre machine.
b) Démarrez votre application après déploiement
À la fin du déployement, vous avez une ligne suplémentaire qui s’ajoute à la liste des applications déployées mais, vous devez la démarrer pour qu’elle soit disponible sur internet, pour cela cliquez juste sur le bouton démarrer indiqué ci-dessous.
c) Ouvez votre application, sur le navigateur.
Une fois démarrer, vous pouvez accéder aux différents interface sur en cliquant sur le chemin de votre application listé dans le liste des applications déplyées comme indiqué dans la capture ci-dessus.
Apache est disponible dans les référentiels de logiciels par défaut d'Ubuntu, ce qui permet de l'installer à l'aide d'outils de gestion de packages conventionnels.
Commencez par mettre à jour l'index du package local pour refléter les dernières modifications en amont :
sudo apt update
Ensuite, installez le apache2package :
sudo apt install apache2
Après avoir confirmé l'installation, aptinstallera Apache et toutes les dépendances requises.
Nb: Avant de tester Apache, il est nécessaire de modifier les paramètres du pare-feu pour autoriser l'accès extérieur aux ports Web par défaut si vous avez un par-feu actif sur votre serveur.
Assurez-vous que le service est actif en exécutant la commande pour le systemdsystème d'initialisation :
sudo systemctl status apache2
Comme le confirme cette sortie, le service a démarré avec succès. Cependant, la meilleure façon de tester cela est de demander une page à Apache.
Vous pouvez accéder à la page de destination Apache par défaut pour confirmer que le logiciel fonctionne correctement via votre adresse IP. Si vous ne connaissez pas l'adresse IP de votre serveur, vous pouvez l'obtenir de différentes manières à partir de la ligne de commande.
Essayez d'écrire ce qui suit à l'invite de commande de votre serveur :
hostname -I
Lorsque vous disposez de l'adresse IP de votre serveur, saisissez-la dans la barre d'adresse de votre navigateur :
http://your-ip-adress
Vous verrez la page Web Ubuntu Apache par défaut comme suit :
Nous allons créer un hôte virtuel et le personnaliser afin qu’il pointe nous notre application déployé ci-dessous.
Créez le répertoire pour votre_domaine comme suit :
sudo mkdir /var/www/votre_domaine
Ensuite, attribuez la propriété du répertoire à l'utilisateur auquel vous êtes actuellement connecté, comme avec la $USER variable d'environnement :
sudo chown -R USER:USER /var/www/votre_domain
Permettons au propriétaire de notre fichier de lire, d’écrire et d’exécuter tout en accordant uniquement des autorisations de lecture et d'exécution aux groupes et autres, vous pouvez saisir la commande suivante :
sudo chown -R 755 /var/www/your_domain
Ensuite, créez un exemple index.html de page à l'aide nano de ou de votre éditeur préféré :
sudo nano /var/www/your_domain/index.html
À l’intérieur, ajoutez l’exemple HTML suivant :
<html>
<head>
<title>Welcome to Your_domain!</title>
</head>
<body>
<h1>Success! The your_domain virtual host is working!</h1>
</body>
</html>
Enregistrez et fermez le fichier lorsque vous avez terminé. Si vous utilisez nano, vous pouvez le faire en appuyant sur CTRL + X, puis Yet ENTER.
Pour qu'Apache puisse servir ce contenu, il est nécessaire de créer un fichier hôte virtuel avec les directives correctes. Au lieu de modifier le fichier de configuration par défaut situé /etc/apache2/sites-available/000-default.confdirectement sur, créez-en un nouveau sur :/etc/apache2/sites-available/your_domain.conf
sudo nano /etc/apache2/sites-available/your_domain.cong
Ajoutez le bloc de configuration suivant, qui est similaire à celui par défaut, mais mis à jour pour votre nouveau répertoire et nom de domaine :
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName your_domain
ServerAlias www.your_domain
DocumentRoot /var/www/your_domain
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Notez que nous avons mis à jour le DocumentRoot vers notre nouveau répertoire et ServerAdmin vers un e-mail auquel l’administrateur du site your_domain peut accéder. Nous avons également ajouté deux directives : ServerName, qui établit le domaine de base qui correspondra à cette définition d'hôte virtuel, et ServerAlias, qui définit d'autres noms qui correspondront comme s'il s'agissait du nom de base.
Enregistrez et fermez le fichier lorsque vous avez terminé.
Activez maintenant le fichier avec l'outil a2ensite:
sudo a2ensite your_domain.cong
Désactivez le site par défaut défini dans 000-default.conf
sudo a2dissile ooo-default.com
Ensuite, testez les erreurs de configuration :
sudo apache2ctl donfigtest
Vous devriez recevoir le résultat suivant :
Output
. . .
Syntax OK
Redémarrez Apache pour implémenter vos modifications :
sudo systemctl restart apache2
Apache servira désormais votre nom de domaine. Vous pouvez tester cela en accédant à http://your_domain , où vous verrez quelque chose comme ce qui suit :
Notez que nous avons mis à jour le DocumentRoot vers notre nouveau répertoire et ServerAdmin vers un e-mail auquel l’administrateur du site your_domain peut accéder. Nous avons également ajouté deux directives : ServerName, qui établit le domaine de base qui correspondra à cette définition d'hôte virtuel, et ServerAlias, qui définit d'autres noms qui correspondront comme s'il s'agissait du nom de base.
Enregistrez et fermez le fichier lorsque vous avez terminé.
Activez maintenant le fichier avec l'outil a2ensite:
<VirtualHost IP:80>
ServerName your_domain
ServerAlias www.your_domain
ProxyRequests on
ProxyPreserveHost on
ProxyPass / http://127.0.0.1:8080/chemin_application
ProxyPassReverse / http://127.0.0.1:8080/chemin_application
</VirtualHost>
chemin_application est le chemin de l’application indiqué sur tomcal. Il ne nous reste que le redémarage de Apache Tomcat et tout est ok.
Redémarrez Apache pour implémenter vos modifications :
sudo systemctl restart apache2
Si vous avez bien suivi ce tuto, Apache servira désormais votre nom de domaine. Vous pouvez tester cela en accédant à http://your_domain.
Ce tuto à lui seul et suffisant pour vous accompagner dans le déploiement de votre application Spring-boot sur un serveur Ubuntu 20.04, 22.04 à l’aide de Tomcat et Apache.
transfert de fichier par ftp
Installation Php sur Ubuntu