Conditions préalables
- Un serveur Vultr fonctionnant sous Arch Linux. Consultez ce guide pour plus d'informations.
- Accès Sudo.
- Les commandes devant être exécutées en tant que root sont préfixées par
#, et celles qui peuvent être exécutées en tant qu'utilisateur normal par $. La façon recommandée d'exécuter des commandes en tant que root est, en tant qu'utilisateur normal, de préfixer chacune d'elles avec sudo.
- Avoir un éditeur de texte installé, et se familiariser avec elle, comme
vi, vim, nano, emacset ainsi de suite.
Installer le serveur Web Apache 2.4
Si vous utilisez un pare-feu, vous devrez activer le trafic TCP entrant vers le port 80.
Installez Apache:
# pacman -S apache
Démarrez Apache et faites-le démarrer après chaque démarrage:
# systemctl enable --now httpd
Testez qu'Apache est en cours d'exécution. Visitez http://YOUR-SERVER-WEB-ADDRESS-OR-IP, et vous verrez une page affichant "Index of /". Exécutez ip addrsi vous avez besoin de connaître l'adresse IP.
Le fichier de configuration d'Apache est /etc/httpd/conf/httpd.conf. Bien qu'Apache soit démarré par l'utilisateur root, User httpil passe immédiatement à l'exécution en tant que cet utilisateur pour des raisons de sécurité. DocumentRoot "/srv/http"définit où il recherchera les fichiers Web. CustomLog "/var/log/httpd/access_log" commondéfinit où les accès à Apache qui réussissent seront enregistrés. ErrorLog "/var/log/httpd/error_log"définit où les accès à Apache seront enregistrés.
Désactivation des index
Par défaut, si Apache reçoit un répertoire qu'il ne trouve pas de fichier d'index avec une extension qu'il est configuré pour utiliser, il générera automatiquement un index montrant le contenu du répertoire. Cela peut être considéré comme une vulnérabilité de sécurité. Pour le désactiver, éditez /etc/httpd/conf/httpd.confet dans <Directory "/srv/http">, depuis Options, supprimez Indexes. Une fois redémarré, Apache donnera un "Accès interdit!" message d'erreur, sauf si un fichier comme /srv/http/index.htmlexiste.
Redémarrez Apache:
# systemctl restart httpd
Répertoires d'utilisateurs
Par défaut, le ~/public_html/répertoire d' un utilisateur sera affiché sur http://YOUR-SERVER-WEB-ADDRESS-OR-IP/~USERNAME/. Mais, l'utilisateur httpdoit avoir un accès en bits exécutables au répertoire utilisateur et à son public_htmlrépertoire:
$ mkdir ~/public_html
$ chmod o+x ~/
$ chmod o+x ~/public_html
De plus, l'utilisateur httpdoit avoir un accès en lecture aux fichiers individuels. Si nécessaire, exécutez la commande suivante:
$ chmod o+r ~/public_html/<FILES>
Si vous souhaitez désactiver les public_htmlrépertoires de l' utilisateur sur votre serveur Web, indépendamment des autorisations de répertoire et de fichier, commentez cette ligne (ajoutez #au début) dans /etc/httpd/conf/httpd.conf:
Include conf/extra/httpd-userdir.conf
Redémarrez Apache:
# systemctl restart httpd
Hôtes virtuels
Vous pouvez héberger plusieurs noms de domaine à partir du même serveur Apache et leur fournir un contenu différent.
Créez un dossier pour contenir vos configurations d'hôte virtuel:
# mkdir /etc/httpd/conf/vhosts
Créez un fichier de configuration pour chaque hôte virtuel, tel que /etc/httpd/conf/vhosts/YOUR-DOMAIN-NAME.com:
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/srv/YOUR-DOMAIN-NAME.com"
ServerName YOUR-DOMAIN-NAME.com
ServerAlias YOUR-DOMAIN-NAME.com
ErrorLog "/var/log/httpd/YOUR-DOMAIN-NAME.com-error_log"
CustomLog "/var/log/httpd/YOUR-DOMAIN-NAME.com-access_log" common
<Directory "/srv/YOUR-DOMAIN-NAME.com">
Require all granted
</Directory>
</VirtualHost>
Créez le répertoire de service de l'hôte virtuel:
# mkdir /srv/YOUR-DOMAIN-NAME.com
À la fin de /etc/httpd/conf/httpd.conf, incluez chacun de ces fichiers de configuration d'hôte virtuel:
Include conf/vhosts/YOUR-DOMAIN-NAME.com
Redémarrez Apache:
# systemctl restart httpd
Les demandes reçues par Apache YOUR-DOMAIN-NAME.comseront traitées /srv/YOUR-DOMAIN-NAME.com. Notez que les demandes adressées à Apache ne correspondent pas à une adresse IP spécifique, ServerNameou ServerAliassimplement à l'adresse IP ou à un autre nom de domaine résolvant votre adresse IP, seront toujours servies à partir du premier hôte virtuel inclus. Cela dit, vous devriez toujours considérer que tout ce DocumentRootqui est par défaut, en général , est /srv/httpaccessible.