Aller au contenu principal

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

Comment ajouter une cron

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

DossierUtilisation
/home/votreutilisateur/backupContient les fichiers de restauration de backup (lors d’une demande de restauration)
/home/votreutilisateur/htdocsContient les dossiers de vos applications
/home/votreutilisateur/logsContient les logs de vos applications
/home/votreutilisateur/tmpRépertoire mis à votre disposition pour des fichiers temporaires
/home/adminvotreutilisateur/sites-enabledContient les fichiers de configuration de vos applications
/home/adminvotreutilisateur/sslContient les certificats SSL