Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Ce tutoriel explique comment utiliser Compute Engine pour déployer un serveur Web Apache sur une instance de machine virtuelle (VM). Pour en savoir plus sur les technologies que vous pouvez utiliser pour la diffusion Web surGoogle Cloud, consultez Choisir une option d'hébergement surGoogle Cloud.
Une VM sur Compute Engine peut être contrôlée comme n'importe quel serveur Linux standard. Déployez un serveur Web Apache pour apprendre les principes de base de l'exécution d'un serveur sur une instance de VM.
Prérequis
Créez une VM Linux qui autorise le trafic HTTP en procédant comme suit :
Facultatif : lors de la création d'une VM Linux, vous pouvez cocher la case Autoriser le trafic HTTP pour ouvrir le port tcp:80 pour le trafic, et la case Autoriser le trafic HTTPS. pour ouvrir le port tcp:443. Toutefois, si vous souhaitez ouvrir un autre port, configurez le pare-feu après avoir créé la VM, puis configurez Apache pour qu'il utilise le pare-feu.
Pour vous connecter à la VM Linux que vous venez de créer, cliquez sur SSH sur la ligne de la VM.
Pour mettre à jour les packages disponibles et installer le package apache2, utilisez le gestionnaire de packages de ce système d'exploitation.
Si vous avez suivi le guide de démarrage rapide, vous allez créer une VM Ubuntu. Pour mettre à jour une VM Ubuntu, exécutez la commande suivante :
sudo apt update && sudo apt -y install apache2
Après l'installation d'Apache, le système d'exploitation lance automatiquement le serveur Apache.
Vérifiez qu'Apache est en cours d'exécution :
sudo systemctl status apache2
Écrasez la page Web par défaut du serveur Web Apache :
Copiez l'adresse IP externe de votre VM sous la colonne Adresse IP externe.
Dans un navigateur, accédez à http://[EXTERNAL_IP]. Ne vous connectez pas à l'aide de https, car cela renvoie une erreur Connection Refused au serveur.
La page "Hello World!" doit s'afficher.
Effectuer un nettoyage
Pour éviter que la VM que vous avez créée ne vous soit facturée, supprimez-la une fois que vous avez terminé les tests. Pour en savoir plus, consultez la section Effectuer un nettoyage.
Dépannage
Réception d'une erreur Connection Refused
Une erreur Connection Refused peut s'afficher dans les cas suivants :
Votre instance de VM n'est pas accessible au public, car la configuration de vos règles de pare-feu ou de vos tags ne respecte pas l'un des paramètres suivants :
L'instance de VM ne dispose pas du tag approprié permettant à Compute Engine d'appliquer les règles de pare-feu associées à votre instance.
Votre projet ne dispose pas d'une règle de pare-feu autorisant le trafic vers l'adresse IP externe de votre instance.
Vous tentez d'accéder à la VM à l'aide d'une adresse https. Vérifiez que votre URL est de type http://[EXTERNAL_IP] et non https://[EXTERNAL_IP].
Pour vous assurer que votre instance de VM dispose des bons tags, procédez comme suit :
Dans la console Google Cloud , accédez à la page Instances de VM.
Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de Compute Engine en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/03 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/09/03 (UTC)."],[[["\u003cp\u003eThis tutorial guides you through deploying an Apache web server on a Compute Engine virtual machine (VM) instance, providing a foundation for running a server on a VM.\u003c/p\u003e\n"],["\u003cp\u003eThe process involves creating a Linux VM, connecting to it via SSH, and installing the \u003ccode\u003eapache2\u003c/code\u003e package using the system package manager, which will automatically start the server.\u003c/p\u003e\n"],["\u003cp\u003eYou can verify Apache is running, overwrite the default web page with custom content, and then test the server by accessing its external IP address in a web browser using \u003ccode\u003ehttp://[EXTERNAL_IP]\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eTroubleshooting steps are provided for resolving "Connection Refused" errors, which often involve checking firewall rules and ensuring that the VM allows HTTP traffic on port 80, along with confirming the correct URL format is used.\u003c/p\u003e\n"],["\u003cp\u003eAfter completion, the guide suggests exploring further options such as hosting a full website or setting up LAMP stack on Compute Engine.\u003c/p\u003e\n"]]],[],null,["# Running a basic Apache web server\n\nThis tutorial shows you how to use Compute Engine to deploy an Apache web\nserver on a virtual machine (VM) instance. To learn more about the technologies\nthat you can use for web serving on\nGoogle Cloud, see [Choosing a hosting option on\nGoogle Cloud](/architecture/web-serving-overview#choosing_an_option).\n\nA VM on Compute Engine can be controlled like\nany standard Linux server. Deploy an Apache web server to learn the\nbasics of running a server on a VM instance.\n\nPrerequisites\n-------------\n\nCreate a Linux VM that allows HTTP traffic by doing the following:\n\n1. Create a new Linux VM. For more information, see [Quickstart using a Linux\n VM](/compute/docs/create-linux-vm-instance).\n\n 1. Optional: While creating a Linux VM, you can select the **Allow HTTP\n traffic** checkbox to open port `tcp:80` for traffic and **Allow HTTPS\n traffic** checkbox to open port `tcp:443`. However, if you want to open a different port, [configure the firewall](/vpc/docs/using-firewalls) after creating the VM, and then [configure Apache](https://httpd.apache.org/docs/2.4/bind.html) to use the firewall.\n2. Connect to the Linux VM. For more information, see [Connect to the\n VM instance](/compute/docs/create-linux-vm-instance#connect_to_the_vm_instance).\n\nInstall Apache\n--------------\n\n1. In the Google Cloud console, go to the **VM Instances** page.\n\n [Go to VM instances](https://console.cloud.google.com/compute/instances)\n2. To connect to the Linux VM you just created, click **SSH** in the row of the VM.\n3. To update the available packages and\n install the `apache2` package, use the system package manager for that operating system.\n If you followed the Quickstart, this creates an Ubuntu VM. To update an\n Ubuntu VM, run the following command:\n\n sudo apt update && sudo apt -y install apache2\n\n After installing Apache, the operating system automatically starts the\n Apache server.\n4. Verify that Apache is running:\n\n sudo systemctl status apache2\n\n5. Overwrite the Apache web server default web page:\n\n echo '\u003c!doctype html\u003e\u003chtml\u003e\u003cbody\u003e\u003ch1\u003eHello World!\u003c/h1\u003e\u003c/body\u003e\u003c/html\u003e' | sudo tee /var/www/html/index.html\n\nTest your server\n----------------\n\nTest that your VM is serving traffic on its external IP.\n\n1. In the Google Cloud console, go to the **VM Instances** page.\n\n [Go to VM instances](https://console.cloud.google.com/compute/instances)\n2. Copy the external IP for your VM under the **External IP** column.\n3. In a browser, navigate to `http://[EXTERNAL_IP]`. Don't connect using `https` because this causes the server to return a `Connection Refused` error.\n\nYou should now see the \"Hello World!\" page.\n\nClean up\n--------\n\nTo avoid incurring charges for the VM after you're done experimenting, delete\nthe VM. For more information, see [Clean up](/compute/docs/create-linux-vm-instance#clean-up).\n\nTroubleshooting\n---------------\n\n**Receiving a `Connection Refused` error**\n\nIf you are seeing a `Connection Refused` error, it is possible that:\n\n- Your VM instance is not publicly accessible because your firewall rules or\n tags are misconfigured in one of the following ways:\n\n - The VM instance does not have the proper tag that allows Compute Engine to apply the appropriate firewall rules to your instance.\n - Your project does not have a firewall rule that allows traffic to the external IP address for your instance.\n- You are trying to access the VM using an `https` address. Check that your\n URL is `http://[EXTERNAL_IP]` rather than `https://[EXTERNAL_IP]`.\n\nTo ensure that your VM instance has the correct tags:\n\n1. In the Google Cloud console, go to the **VM instances** page.\n\n [Go to VM instances](https://console.cloud.google.com/compute/instances)\n2. Click the name of the instance that you are trying to connect to.\n3. Click **Edit** at the top of the page.\n4. Scroll down to **Firewalls** , and make sure the **Allow HTTP traffic** box is checked. If it is not checked, check it.\n5. Save your changes. This ensures that the correct tags are added to the VM instance.\n\nTo ensure that the correct firewall rule exists:\n\n1. In the Google Cloud console, go to the **Firewall rules** page.\n\n [Go to Firewall rules](https://console.cloud.google.com/networking/firewalls)\n2. Look for a firewall rule that allows all IP ranges through tcp:80. Usually, this rule is named the `default-allow-http` rule.\n3. If a rule does not exist, create one.\n 1. Click **Create firewall rule**.\n 2. Enter a name for the rule, such as `default-allow-http`.\n 3. Under **Source IP ranges** , enter `0.0.0.0/0` to allow traffic from all sources.\n 4. Under **Protocols and ports** , check **Specified protocols and ports** and enter `tcp:80`.\n 5. Create your firewall rule.\n\nTest your server again by going to the external IP address of the instance: \n\n http://[EXTERNAL_IP]\n\nWhat's next\n-----------\n\nLearn how to [host a website on Compute Engine](/solutions/web-serving-overview).\n\nLearn how to [set up LAMP on Compute Engine](https://github.com/GoogleCloudPlatform/community/blob/master/archived/setting-up-lamp/index.md).\n\nTry it for yourself\n-------------------\n\n\nIf you're new to Google Cloud, create an account to evaluate how\nCompute Engine performs in real-world\nscenarios. New customers also get $300 in free credits to run, test, and\ndeploy workloads.\n[Try Compute Engine free](https://console.cloud.google.com/freetrial)"]]