{"id":112,"date":"2025-07-01T02:05:39","date_gmt":"2025-07-01T02:05:39","guid":{"rendered":"https:\/\/info.kpuc.dev\/?p=112"},"modified":"2025-11-09T21:03:43","modified_gmt":"2025-11-09T21:03:43","slug":"tutoriel-complet-installation-de-wordpress-sur-debian-12","status":"publish","type":"post","link":"https:\/\/info.kpuc.dev\/index.php\/2025\/07\/01\/tutoriel-complet-installation-de-wordpress-sur-debian-12\/","title":{"rendered":"Tutoriel complet : installation de WordPress sur Debian 12"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"112\" class=\"elementor elementor-112\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c45f5b5 e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-equal-height-no e-con e-parent\" data-id=\"c45f5b5\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c4eb5e1 elementor-widget elementor-widget-html\" data-id=\"c4eb5e1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div style=\"\r\n  background-color: #2c2f36;\r\n  border-radius: 8px;\r\n  padding: 20px;\r\n  margin: 20px 0;\r\n  box-shadow: 0 0 10px rgba(0,0,0,0.5);\r\n  color: #f0f0f0;\r\n  font-family: Arial, sans-serif;\r\n\">\r\n  <h2 style=\"\r\n    border-bottom: 2px solid #4CAF50;\r\n    padding-bottom: 10px;\r\n    margin-bottom: 20px;\r\n    color: #4CAF50;\r\n  \">Descriptions pr\u00e9liminaires<\/h2>\r\n\r\n  <p><strong style=\"color: #4CAF50;\">WordPress<\/strong><br>\r\n  WordPress est un syst\u00e8me de gestion de contenu (CMS) open-source qui permet de cr\u00e9er facilement des sites web et des blogs. Il est \u00e9crit en PHP et utilise une base de donn\u00e9es MySQL ou MariaDB pour stocker ses donn\u00e9es.<\/p>\r\n\r\n  <p><strong style=\"color: #4CAF50;\">PHP<\/strong><br>\r\n  PHP (Hypertext Preprocessor) est un langage de programmation c\u00f4t\u00e9 serveur, utilis\u00e9 principalement pour le d\u00e9veloppement web dynamique.<\/p>\r\n\r\n  <p><strong style=\"color: #4CAF50;\">MySQL \/ MariaDB<\/strong><br>\r\n  MySQL est un syst\u00e8me de gestion de base de donn\u00e9es relationnelle (SGBDR) open-source.<br>\r\n  MariaDB est un fork de MySQL, totalement compatible, cr\u00e9\u00e9 pour rester libre apr\u00e8s l\u2019acquisition de MySQL par Oracle. Sur Debian, MariaDB est g\u00e9n\u00e9ralement install\u00e9 \u00e0 la place de MySQL.<\/p>\r\n<\/div>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-8fc9116 e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-equal-height-no e-con e-parent\" data-id=\"8fc9116\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-50d2f46 elementor-widget elementor-widget-html\" data-id=\"50d2f46\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html lang=\"fr\">\r\n<head>\r\n  <meta charset=\"UTF-8\">\r\n  <title>Installation WordPress sur Debian 12<\/title>\r\n  <style>\r\n    body {\r\n      background-color: #1e1e1e;\r\n      color: #f0f0f0;\r\n      font-family: Arial, sans-serif;\r\n      padding: 20px;\r\n    }\r\n    h2, h3 {\r\n      color: #4CAF50;\r\n    }\r\n    .code-block {\r\n      position: relative;\r\n      background-color: #2d2d2d;\r\n      border-radius: 8px;\r\n      padding: 15px;\r\n      margin: 20px 0;\r\n      font-family: Consolas, Monaco, monospace;\r\n    }\r\n    .code-block pre {\r\n      margin: 0;\r\n      overflow-x: auto;\r\n      white-space: pre-wrap;\r\n    }\r\n    .copy-button {\r\n      position: absolute;\r\n      top: 10px;\r\n      right: 10px;\r\n      background: #4CAF50;\r\n      color: white;\r\n      border: none;\r\n      border-radius: 4px;\r\n      padding: 5px 8px;\r\n      cursor: pointer;\r\n      font-size: 0.9em;\r\n    }\r\n    .copy-button:hover {\r\n      background: #45a049;\r\n    }\r\n  <\/style>\r\n<\/head>\r\n<body>\r\n\r\n<h2>Installation de WordPress sur Debian 12<\/h2>\r\n\r\n<h3>1. Mettre \u00e0 jour le syst\u00e8me<\/h3>\r\n<div class=\"code-block\">\r\n  <button class=\"copy-button\" onclick=\"copyToClipboard(this)\">\ud83d\udccb<\/button>\r\n  <pre>sudo apt update\r\nsudo apt upgrade -y<\/pre>\r\n<\/div>\r\n\r\n<h3>2. Installer Apache<\/h3>\r\n<div class=\"code-block\">\r\n  <button class=\"copy-button\" onclick=\"copyToClipboard(this)\">\ud83d\udccb<\/button>\r\n  <pre>sudo apt install apache2 -y<\/pre>\r\n<\/div>\r\n<p><strong>V\u00e9rification :<\/strong><\/p>\r\n<div class=\"code-block\">\r\n  <button class=\"copy-button\" onclick=\"copyToClipboard(this)\">\ud83d\udccb<\/button>\r\n  <pre>sudo systemctl status apache2<\/pre>\r\n<\/div>\r\n<p><strong>R\u00e9sultat attendu :<\/strong> Le service doit \u00eatre actif (active (running)).<\/p>\r\n\r\n<h3>3. Installer PHP<\/h3>\r\n<div class=\"code-block\">\r\n  <button class=\"copy-button\" onclick=\"copyToClipboard(this)\">\ud83d\udccb<\/button>\r\n  <pre>sudo apt install php libapache2-mod-php php-mysql php-cli php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip unzip php-imagick imagemagick -y<\/pre>\r\n<\/div>\r\n<p><strong>V\u00e9rification :<\/strong><\/p>\r\n<div class=\"code-block\">\r\n  <button class=\"copy-button\" onclick=\"copyToClipboard(this)\">\ud83d\udccb<\/button>\r\n  <pre>php -v<\/pre>\r\n<\/div>\r\n<p><strong>R\u00e9sultat attendu :<\/strong> La version de PHP install\u00e9e s'affiche.<\/p>\r\n\r\n<h3>4. Installer MariaDB<\/h3>\r\n<div class=\"code-block\">\r\n  <button class=\"copy-button\" onclick=\"copyToClipboard(this)\">\ud83d\udccb<\/button>\r\n  <pre>sudo apt install mariadb-server -y<\/pre>\r\n<\/div>\r\n<p><strong>V\u00e9rification :<\/strong><\/p>\r\n<div class=\"code-block\">\r\n  <button class=\"copy-button\" onclick=\"copyToClipboard(this)\">\ud83d\udccb<\/button>\r\n  <pre>sudo systemctl status mariadb<\/pre>\r\n<\/div>\r\n<p><strong>R\u00e9sultat attendu :<\/strong> Le service doit \u00eatre actif (active (running)).<\/p>\r\n\r\n<h3>5. S\u00e9curiser MariaDB<\/h3>\r\n<div class=\"code-block\">\r\n  <button class=\"copy-button\" onclick=\"copyToClipboard(this)\">\ud83d\udccb<\/button>\r\n  <pre>sudo mysql_secure_installation<\/pre>\r\n<\/div>\r\n\r\n<p><strong>R\u00e9ponses recommand\u00e9es et explications :<\/strong><\/p>\r\n<ul>\r\n  <li>Enter current password for root (enter for none): <strong>Appuie sur Entr\u00e9e<\/strong> (pas de mot de passe par d\u00e9faut).<\/li>\r\n  <li>Switch to unix_socket authentication [Y\/n]: <strong>Y<\/strong> (am\u00e9liore la s\u00e9curit\u00e9 locale).<\/li>\r\n  <li>Change the root password? [Y\/n]: <strong>Y<\/strong> (d\u00e9finis un mot de passe root s\u00e9curis\u00e9).<\/li>\r\n  <li>Remove anonymous users? [Y\/n]: <strong>Y<\/strong> (supprime les utilisateurs anonymes).<\/li>\r\n  <li>Disallow root login remotely? [Y\/n]: <strong>Y<\/strong> (emp\u00eache la connexion root distante).<\/li>\r\n  <li>Remove test database and access to it? [Y\/n]: <strong>Y<\/strong> (supprime la base de test).<\/li>\r\n  <li>Reload privilege tables now? [Y\/n]: <strong>Y<\/strong> (applique imm\u00e9diatement les changements).<\/li>\r\n<\/ul>\r\n\r\n<h3>6. Cr\u00e9er un utilisateur et une base de donn\u00e9es MariaDB<\/h3>\r\n<div class=\"code-block\">\r\n  <button class=\"copy-button\" onclick=\"copyToClipboard(this)\">\ud83d\udccb<\/button>\r\n  <pre>sudo mariadb<\/pre>\r\n<\/div>\r\n\r\n<p>Dans la console MariaDB :<\/p>\r\n<div class=\"code-block\">\r\n  <button class=\"copy-button\" onclick=\"copyToClipboard(this)\">\ud83d\udccb<\/button>\r\n  <pre>CREATE USER 'wordpress'@'localhost' IDENTIFIED BY 'YourStrongPasswordHere';\r\nCREATE DATABASE wordpress;\r\nGRANT ALL PRIVILEGES ON wordpress.* TO 'wordpress'@'localhost';\r\nFLUSH PRIVILEGES;\r\nEXIT;<\/pre>\r\n<\/div>\r\n\r\n<p><strong>Explications :<\/strong><\/p>\r\n<ul>\r\n  <li><code>CREATE USER<\/code> : cr\u00e9e l'utilisateur \"wordpress\" avec un mot de passe s\u00e9curis\u00e9.<\/li>\r\n  <li><code>CREATE DATABASE<\/code> : cr\u00e9e la base de donn\u00e9es nomm\u00e9e \"wordpress\".<\/li>\r\n  <li><code>GRANT ALL PRIVILEGES<\/code> : donne tous les droits \u00e0 l'utilisateur sur la base de donn\u00e9es.<\/li>\r\n  <li><code>FLUSH PRIVILEGES<\/code> : recharge les privil\u00e8ges pour appliquer les changements.<\/li>\r\n  <li><code>EXIT;<\/code> : quitte la console MariaDB.<\/li>\r\n<\/ul>\r\n\r\n<h3>7. T\u00e9l\u00e9charger WordPress<\/h3>\r\n<div class=\"code-block\">\r\n  <button class=\"copy-button\" onclick=\"copyToClipboard(this)\">\ud83d\udccb<\/button>\r\n  <pre>cd \/var\/www\/html\r\nsudo wget https:\/\/wordpress.org\/latest.zip\r\nsudo unzip latest.zip\r\nsudo rm latest.zip<\/pre>\r\n<\/div>\r\n\r\n<h3>8. Configurer wp-config.php<\/h3>\r\n<p>Ouvre le fichier wp-config.php et entre tes identifiants de base de donn\u00e9es.<\/p>\r\n<div class=\"code-block\">\r\n  <button class=\"copy-button\" onclick=\"copyToClipboard(this)\">\ud83d\udccb<\/button>\r\n  <pre>cd wordpress\r\ncp wp-config-sample.php wp-config.php\r\nnano wp-config.php<\/pre>\r\n<\/div>\r\n\r\n<p>Il devrait contenir :<\/p>\r\n<div class=\"code-block\">\r\n  <button class=\"copy-button\" onclick=\"copyToClipboard(this)\">\ud83d\udccb<\/button>\r\n  <pre>\/\/ ** Database settings - You can get this info from your web host ** \/\/\r\n\/** The name of the database for WordPress *\/\r\ndefine( 'DB_NAME', 'wordpress' );\r\n\r\n\/** Database username *\/\r\ndefine( 'DB_USER', 'wordpress' );\r\n\r\n\/** Database password *\/\r\ndefine( 'DB_PASSWORD', 'YourStrongPasswordHere' );<\/pre>\r\n<\/div>\r\n\r\n<h3>9. Configurer les permissions<\/h3>\r\n<div class=\"code-block\">\r\n  <button class=\"copy-button\" onclick=\"copyToClipboard(this)\">\ud83d\udccb<\/button>\r\n  <pre>sudo chown -R www-data:www-data wordpress\/\r\ncd wordpress\/\r\nsudo find . -type d -exec chmod 755 {} \\;\r\nsudo find . -type f -exec chmod 644 {} \\;<\/pre>\r\n<\/div>\r\n\r\n<h3>10. Configurer Apache pour WordPress<\/h3>\r\n<div class=\"code-block\">\r\n  <button class=\"copy-button\" onclick=\"copyToClipboard(this)\">\ud83d\udccb<\/button>\r\n  <pre>sudo nano \/etc\/apache2\/sites-available\/wordpress.conf<\/pre>\r\n<\/div>\r\n\r\n<p>Ajoute :<\/p>\r\n<div class=\"code-block\">\r\n  <button class=\"copy-button\" onclick=\"copyToClipboard(this)\">\ud83d\udccb<\/button>\r\n  <pre>&lt;VirtualHost *:80&gt;\r\n    ServerAdmin webmaster@localhost\r\n    DocumentRoot \/var\/www\/html\/wordpress\r\n    ServerName ton_domaine_ou_ip\r\n\r\n    &lt;Directory \/var\/www\/html\/wordpress\/&gt;\r\n        Options Indexes FollowSymLinks\r\n        AllowOverride All\r\n        Require all granted\r\n    &lt;\/Directory&gt;\r\n\r\n    ErrorLog ${APACHE_LOG_DIR}\/error.log\r\n    CustomLog ${APACHE_LOG_DIR}\/access.log combined\r\n&lt;\/VirtualHost&gt;<\/pre>\r\n<\/div>\r\n\r\n<h3>11. Activer le site et le module rewrite<\/h3>\r\n<div class=\"code-block\">\r\n  <button class=\"copy-button\" onclick=\"copyToClipboard(this)\">\ud83d\udccb<\/button>\r\n  <pre>sudo a2ensite wordpress\r\nsudo a2enmod rewrite\r\nsudo systemctl reload apache2<\/pre>\r\n<\/div>\r\n\r\n<h3>12. Finaliser l'installation via le navigateur<\/h3>\r\n<p>Acc\u00e8de \u00e0 <code>http:\/\/ton_domaine_ou_ip<\/code> et compl\u00e8te l'installation WordPress.<\/p>\r\n\r\n<script>\r\nfunction copyToClipboard(button) {\r\n  const code = button.nextElementSibling.innerText;\r\n  navigator.clipboard.writeText(code).then(() => {\r\n    button.innerText = \"\u2705 Copi\u00e9\";\r\n    setTimeout(() => {\r\n      button.innerText = \"\ud83d\udccb\";\r\n    }, 1500);\r\n  }).catch(err => {\r\n    console.error('Erreur lors de la copie : ', err);\r\n  });\r\n}\r\n<\/script>\r\n\r\n<\/body>\r\n<\/html>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Descriptions pr\u00e9liminaires WordPress WordPress est un syst\u00e8me de gestion de contenu (CMS) open-source qui permet de cr\u00e9er facilement des sites web et des blogs. Il est \u00e9crit en PHP et&hellip;<\/p>\n","protected":false},"author":1,"featured_media":113,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8,12],"tags":[],"class_list":["post-112","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux","category-service"],"_links":{"self":[{"href":"https:\/\/info.kpuc.dev\/index.php\/wp-json\/wp\/v2\/posts\/112","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/info.kpuc.dev\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/info.kpuc.dev\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/info.kpuc.dev\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/info.kpuc.dev\/index.php\/wp-json\/wp\/v2\/comments?post=112"}],"version-history":[{"count":45,"href":"https:\/\/info.kpuc.dev\/index.php\/wp-json\/wp\/v2\/posts\/112\/revisions"}],"predecessor-version":[{"id":236,"href":"https:\/\/info.kpuc.dev\/index.php\/wp-json\/wp\/v2\/posts\/112\/revisions\/236"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/info.kpuc.dev\/index.php\/wp-json\/wp\/v2\/media\/113"}],"wp:attachment":[{"href":"https:\/\/info.kpuc.dev\/index.php\/wp-json\/wp\/v2\/media?parent=112"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/info.kpuc.dev\/index.php\/wp-json\/wp\/v2\/categories?post=112"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/info.kpuc.dev\/index.php\/wp-json\/wp\/v2\/tags?post=112"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}