Supposons que vous vouliez créer un site local appelé MonSite, dans un dossier /media/www-dev/public/monsite (travailler dans /media permet éventuellement de stocker ses développements sur un support externe qu’il suffira ensuite de monter sur un dossier de /media) de votre serveur apache2 local et accessible via l’URL monsite.local.dev.

  1. Créer l’hôte dans /etc/hosts
    sudo nano /etc/hosts

    (ou utilisez l’éditeur que vous aimez, mais attention, pas de sudo avec un éditeur graphique !)
    Ajouter une ligne

    127.0.0.1 monsite.local.dev
  2. Créer un dossier dans /media/www-dev/public
    mkdir /media/www-dev/public/monsite
  3. Extraire le dossier wordpress que vous aurez téléchargé depuis le site fr.wordpress.org dans /media/www-dev/public/monsite
    créer le user et la base de données monsite/monsite avec phpmyadmin (mot de passe monsite si vous ne voulez pas vous casser la tête, on est en local après tout).
  4. Mettre à jour les droits sur le répertoire :
    cd /var/www/html/public/monsite

    sudo chown www-data :<your_user> -R *

    (www-data est le user qui lance apache2, <your_user> est le groupe de l’utilisateur local à remplacer par le vrai groupe de votre utilisateur)

    sudo chown www-data :<your_user> -R .*

    (pour les .htaccess)

    sudo find . -type f -exec chmod 664 {} \ ;

    (pour tous les fichiers)

    sudo find . -type d -exec chmod 775 {} \ ;

    (pour tous les dossiers)
    Ainsi apache a les droits, et votre user <your_user> aussi via le groupe <your_user>.

  5. Créer le fichier vhost monsite.conf dans /etc/apache2/sites-available :
    sudo nano /etc/apache2/sites-available/monsite.conf

    Et y coller ce qui suit :

    <VirtualHost * :80>
    ServerAdmin webmaster@localhost
    ServerName monsite.local.dev
    ServerAlias monsite.local.dev
    DocumentRoot /var/www/html/public/monsite
    <Directory />
    Options FollowSymLinks
    AllowOverride None
    </Directory>
    <Directory /var/www/html/public/monsite/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
    </Directory>
     
    ErrorLog ${APACHE_LOG_DIR}/monsite-error.log
    # Possible values include : debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn
    CustomLog ${APACHE_LOG_DIR}/monsite-access.log combined
    </VirtualHost>
    
  6. activer le vhost (cette commande crée un lien symbolique sur le fichier monsite.conf dans /etc/apache2/sites-enabled
    sudo a2ensite monsite.conf
  7. recharger la config apache2
    systemctl reload apache2
  8. ouvrir l’adresse monsite.local.dev/wordpress pour installer wordpress (utiliser le user monsite/monsite pour la bdd)

Et voilà !

Source : https ://doc.ubuntu-fr.org/tutoriel/virtualhosts_avec_apache2

Tags :

Classés dans : , ,