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.
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.
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.confRemarque : Le répertoire
/etc/apache2est/etc/httpdsur les systèmes basés sur RHEL. Ajustez la commande si nécessaire.Ensuite, utilisez nano ou votre éditeur de texte préféré pour ouvrir ce fichier :
sudo nano /etc/apache2/sites-available/mysite.confModifiez le paramètre
DocumentRootà l’endroit où nous prévoyons d’installer votre site Web Python. Nous utilisons simplementmysitecomme nom de répertoire.DocumentRoot /var/www/mysiteCréez un paramètre pour
ServerNameet 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.comSous 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 .pyCréez également un alias pour le préfixe
www. Ce n’est pas nécessaire si vous utilisez simplement localhost.ServerAlias www.your-site.comVoici à 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.
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.confEnsuite, désactivez le module
mpm_eventet activezmpm_preforketcgipour qu’Apache puisse exécuter notre ou nos fichiers Python.sudo a2dismod mpm_event sudo a2enmod mpm_prefork cgiEnfin, 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.
Créez le répertoire de site nécessaire au cas où il n’existerait pas encore :
sudo mkdir /var/www/mysiteCréez le fichier suivant dans l’éditeur de texte de votre choix :
sudo nano /var/www/mysite/index.pyCollez 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>")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.




