Recherche de site Web

Comment configurer le serveur Python Linux Apache Mysql


Apache, MySQL et Python peuvent être utilisés en tandem pour héberger et servir un site Web à partir d’un système Linux. Cet assortiment de logiciels est connu sous le nom de pile LAMP (Linux, Apache, MySQL, Python), bien que parfois le « P » signifie PHP, qui peut être utilisé en plus ou en remplacement de Python. Apache dessert le site Web, MySQL stocke et récupère des informations à partir d’une base de données, et Python peut générer du HTML et du code associé pour que les visiteurs du site puissent consulter.

Dans ce tutoriel, nous allons passer en revue les instructions étape par étape pour installer Apache, MySQL et Python sur Linux. Le processus d’installation est simple, mais Apache nécessitera une certaine configuration pour lire les scripts Python, et MySQL doit passer par la configuration initiale avant de pouvoir être utilisé. Nous allons créer un simple script Python 'Hello World', puis y accéder depuis notre navigateur Web pour montrer qu’Apache lit le code comme prévu.

LE SAVIEZ-VOUS ?
Python peut également être utilisé pour héberger un site web par lui-même. Cela ne convient pas à un site Web de production, mais peut être utile pour générer un site Web très rapide qui n’est destiné qu’à un usage personnel. Consultez notre tutoriel sur la configuration d’un serveur web simple sous Linux pour voir comment héberger un site web avec Python.

Dans ce tutoriel, vous allez apprendre :

  • Comment installer Apache, MySQL et Python sur toutes les principales distributions Linux
  • Comment exécuter la première configuration de MySQL
  • Comment configurer Apache pour lire les fichiers Python
  • Comment créer un script Python de test et l’héberger avec Apache

Installer Apache, MySQL et Python

La première chose que nous devrons faire est de préparer notre système Linux avec les progiciels appropriés. Les commandes d’installation diffèrent en fonction de la distribution Linux que vous utilisez.

Vous pouvez utiliser la commande appropriée ci-dessous pour installer Apache, MySQL et Python avec le gestionnaire de paquets de votre système.

Pour installer Apache, MySQL et Python sur Ubuntu, Debian et Linux Mint :


sudo apt update
sudo apt install apache2 mariadb-server mariadb-client python3

Pour installer Apache, MySQL et Python sur Fedora, CentOS, AlmaLinux, Red Hat et Rocky Linux :


sudo dnf install httpd mariadb-server python3

Configurer MySQL

L’une des premières choses que nous devrions faire est de préparer notre base de données WordPress. Pour ce faire, nous devons d’abord effectuer une configuration initiale de MySQL. Pour commencer, exécutez la commande suivante dans le terminal :


sudo mysql_secure_installation

Laissez la première réponse vide et appuyez sur Entrée. Vous devez répondre par y (oui) aux autres invites et configurer un mot de passe root lorsque vous êtes invité à le faire. Cette configuration ne prend qu’un instant.

Configurer Apache

Apache doit déjà être installé et en cours d’exécution à ce stade, et cela peut être vérifié en ouvrant un navigateur et en naviguant vers l’adresse de bouclage 127.0.0.1 ou simplement localhost sur votre système.

Bien qu’Apache héberge déjà notre site (ou qu’il n’y en ait pas), il est préférable de configurer un nouveau fichier d’hôte virtuel Apache pour notre site Web. Cela vous permettra plus de flexibilité à l’avenir si vous souhaitez héberger plusieurs sites Web ou apporter des modifications à l’emplacement d’installation du répertoire de votre site Web, etc.

  1. Copiez la configuration Apache par défaut dans un nouveau fichier à l’aide de la commande suivante. Nous appelons notre nouveau fichier web monsite.conf :

    
    sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/mysite.conf
    

    Remarque : Le répertoire /etc/apache2 est /etc/httpd sur les systèmes basés sur RHEL. Ajustez la commande si nécessaire.

  2. Ensuite, utilisez nano ou votre éditeur de texte préféré pour ouvrir ce fichier :

    
    sudo nano /etc/apache2/sites-available/mysite.conf
    
  3. Modifiez le paramètre DocumentRoot à l’endroit où nous prévoyons d’installer votre site Web Python. Nous utilisons simplement mysite comme nom de répertoire.

    
    DocumentRoot /var/www/mysite
    
  4. Créez un paramètre pour ServerName et entrez le nom de domaine complet de votre site Web. Si vous n’en avez pas, laissez-le en tant qu’hôte local.

    
    ServerName your-site.com
    
  5. Sous ces paramètres, nous devons ajouter les lignes suivantes. Cela indique à Apache de rechercher un fichier index.py (Python), et les lignes ExecCGI sont nécessaires pour qu’Apache sache exécuter les fichiers.

    
    <Directory /var/www/mysite>
        Options +ExecCGI
        DirectoryIndex index.py
    </Directory>
    AddHandler cgi-script .py
    
  6. Créez également un alias pour le préfixe www. Ce n’est pas nécessaire si vous utilisez simplement localhost.

    
    ServerAlias www.your-site.com
    

    Voici à quoi devrait ressembler votre fichier de configuration lorsque vous avez terminé. Notez que nous avons commenté la ligne alias dans notre config puisque nous n’hébergeons que localement.

  7. Enregistrez vos modifications et quittez le fichier. Vérifiez que votre configuration Apache ne contient pas d’erreurs. Ensuite, activez le site dans Apache et désactivez le site par défaut.

    
    apachectl configtest
    sudo a2ensite mysite.conf
    sudo a2dissite 000-default.conf
    
  8. Ensuite, désactivez le module mpm_event et activez mpm_prefork et cgi pour qu’Apache puisse exécuter notre ou nos fichiers Python.

    
    sudo a2dismod mpm_event
    sudo a2enmod mpm_prefork cgi
    
  9. Enfin, redémarrez Apache pour que les nouvelles modifications prennent effet.

    
    sudo systemctl restart apache2
    OR:
    sudo systemctl restart httpd
    

Créer une page web Python

Maintenant, nous allons créer un script Python simple, le placer dans le répertoire du site Web, puis naviguer vers notre site Web pour voir si la page que nous avons créée en Python s’affiche comme prévu.

  1. Créez le répertoire de site nécessaire au cas où il n’existerait pas encore :

    
    sudo mkdir /var/www/mysite
    
  2. Créez le fichier suivant dans l’éditeur de texte de votre choix :

    
    sudo nano /var/www/mysite/index.py
    
  3. Collez le code suivant, puis enregistrez et quittez le fichier :

    
    #!/usr/bin/python3
    print ("Content-Type: text/html")
    print()
    print ("<html><head>")
    print ("</head><body>")
    print ("Hello World!")
    print ("</body></html>")
    
  4. Configurez les autorisations correctes :

    
    sudo chown -R www-data:www-data /var/www/mysite
    sudo chmod 755 /var/www/mysite/index.py
    

Vous pouvez maintenant naviguer sur votre site web et voir qu’Apache affiche le contenu de notre fichier Python :

Réflexions finales

Dans ce tutoriel, nous avons vu comment configurer un serveur web sur un système Linux à l’aide d’Apache, MySQL et Python. Cela nous permet de servir du contenu qui a été écrit avec des scripts Python, tout en récupérant et en stockant des informations dans une base de données MySQL. Python peut interagir avec MySQL et afficher des informations à partir de bases de données, ou être utilisé pour générer du code HTML et d’autres codes Web connexes.

Articles connexes: