Comment créer un nouveau site pour Apache ?
Voici les étapes à suivre afin de créer un nouveau site pour Apache
Se connecter en SSH sur le serveur avec votre compte admin
Mode automatique avec script
Interactif
Une fois connecté en SSH avec votre compte, lancez dans votre terminal la commande ci-dessous puis suivez les instructions
~$ /usr/local/bin/createVhostApache.sh
Non-interactif
Connectez-vous en admin SSH puis lancer dans votre terminal la commande /usr/local/bin/niapache.sh̀̀
Aide
Pour obtenir de l’aide faite
/usr/local/bin/niapache.sh help
Usage: niapache.sh [OPTIONS] [ARGS]...
DESCRIPTION
niapache.sh create apache vhosts.
OPTIONS
[1] create create vhost
[2] list list available php versions
ARGS
create
[1] php version (mandatory)
[2] main domain (mandatory)
[3] domain alias (optional) (multiple entries should be separated by space)
list
no args needed
EXAMPLES
# create vhost
./niapache.sh create 7.4 tagada.com www.tagada.fr mail.tagada.fr
# list php versions
./niapache.sh list
Exemples
Exemple avec php7.4, le domaine principal tagada.com et les alias www.tagada.com mail.tagada.com
~$ /usr/local/bin/niapache.sh create 7.4 tagada.com www.tagada.com mail.tagada.com
Suite
Testez la configuration avec
~$ sudo /usr/sbin/apache2ctl -t
puis, si étape précédente s’est bien déroulée, on redémarre Apache avec
~$ sudo /sbin/service apache2 restart
Mode manuel
Naviguer dans le répertoire des vhosts (/home/admin{code client}/sites-enabled/apache
)
Copier le template de vhost template_vhost.conf.disabled
vers votredomaine.eu.conf
Editer le fichier nouvellement créé (̀votredomaine.eu.conf
) afin d’adapter les valeurs, puis
vérifier la syntaxe à l’aide de la commande
~$ sudo /usr/sbin/apache2ctl -t
Recharger la configuration de Apache à l’aide de la commande
~$ sudo /sbin/service apache2 reload
Comment vérifier les accès et les erreurs sur mon site servi par Apache ?
Chacun de vos sites à ses propres journaux situés dans le répertoire des logs /home/{ votreutilisateur }/logs/apache
. Vous y trouverez des journaux suffixés access et error qui vous permettront d’analyser les accès et les erreurs liés à votre application/site.
Comment ajouter un certificat SSL pour une connexion HTTPS ?
Certificat payant
Commander et générer un certificat payant
OVH ne propose pas actuellement la vente de certificat sur les produits serveurs dediés. Vous pouvez obtenir un certificat auprès de différents fournisseurs, par exemple
Vous trouverez sur ces sites des informations pour générer des CSR.
Ce CSR vous permettra d’obtenir un certificat.
Déployer un certificat payant
Il restera à placer vos fichiers CA, CRT et KEY sur vos serveurs web, dans le dossier SSL de votre répertoire admin personnel et d’adapter la configuration de vos vhosts comme précisé dans le template présent sur le serveur.
Attention : Certains certificats SSL nécéssitent une adresse IP dédiée pour fonctionner, ainsi si vos souhaitez ajouter plusieurs certificats (hors Let’s Encrypt). Vous pouvez contacter le support par mail pour ajouter une IP failover sur votre infrastructure.
Load-balancer
Si vous utilisez un loadbalancer, vous devez faire une demande par ticket au support avec le(s) domaine(s) et nous fournir les fichiers CA, CRT et KEY pour l’ajouter au loadbalancer.
Let’s Encrypt
Let’s Encrypt est un projet OpenSource soutenu par de multiples entreprises, ses certificats sont reconnus par les navigateurs web les plus populaires.
Un certificat généré par Let’s Encrypt est valide pour une durée de 90 jours, ce qui nécessite un renouvellement tous les 3 mois via une cron.
### Générer le certificat
Vous pouvez utiliser certbot depuis votre utilisateur admin SSH sur votre serveur avec la commande suivante :
~$ sudo /usr/bin/certbot
Attention, il existe une limite de validation qui est de 5 échecs par compte, par nom d’hôte et par heure ainsi que d’autres limitations
Le renouveller
Attention pour le renouvellement automatique, il faut ajouter une cron :
~$ 0 0 * * 0 sudo /usr/bin/certbot renew
Load-balancer
Si vous utilisez un loadbalancer, vous devez faire une demande par ticket au support avec le(s) domaine(s).
Activer http2
Http2 requière un certificat SSL.
Pour activer http2 il faut ajouter la ligne suivante dans votre vhost :
Protocols h2 http/1.1
Puis il faut redemarrer apache ensuite.
~$ sudo /sbin/service apache2 reload
Répertoires par défaut
Dossier | Utilisation |
---|---|
/home/votreutilisateur/backup | Contient les fichiers de restauration de backup (lors d’une demande de restauration) |
/home/votreutilisateur/htdocs | Contient les dossiers de vos applications |
/home/votreutilisateur/logs | Contient les logs de vos applications |
/home/votreutilisateur/tmp | Répertoire mis à votre disposition pour des fichiers temporaires |
/home/adminvotreutilisateur/sites-enabled | Contient les fichiers de configuration de vos applications |
/home/adminvotreutilisateur/ssl | Contient les certificats SSL |