Comment créer un serveur Web Apache, PHP 5 et Mysql à partir de zéro

Table des matières
Nous allons développer comment installer, configurer et optimiser un serveur web sous Linux. Le tutoriel est valable pour toute distribution en modifiant les commandes correspondantes pour installer ou mettre à jour les fichiers. Dans ce cas cela sera fait pour une distribution CentOS.

Image envoyée

La première étape consiste à se connecter à notre serveur en utilisant ssh depuis le terminal.
Lorsque nous accédons au serveur, nous procédons à l'installation d'Apache.
root @ server1: ~ # yum install httpd
Ensuite, nous installons php, soyez prudent avec la version que nous installons car si elle est toute nouvelle de nombreuses applications web pourraient devenir obsolètes et ne pas fonctionner.
root @ server1 : ~ # miam apt-get install libapache2-mod-php5 php5-cli php5-common php5-cgi
Nous installons Mysql
root @ server1: ~ # yum install mysql mysql-server
Afin de gérer Mysql, nous pouvons installer phpmyadmin
racine @ serveur1 : ~ # miam installer phpmyadmin
Configuration et optimisation du service serveur
La première chose que nous allons faire est qu'Apache démarre automatiquement avec le système, sinon nous devrions le démarrer manuellement
root @ server1: ~ # yum chkconfig --level 235 httpd on
Nous redémarrons ou démarrons le service apache manuellement (Redémarrer ou Démarrer)
root @ server1: ~ # miam /etc/init.d/httpd start
Nous dirons également à mysql de démarrer automatiquement et de démarrer le service
root @ server1: ~ # yum chkconfig --level 235 mysqld on
root @ server1: ~ # miam /etc/inti.d/mysqld start
Pour tester si le serveur est installé et fonctionne, nous pouvons visiter l'adresse IP du serveur et la page apache devrait répondre

Image envoyée

Optimiser Apache
Cachez la version et les informations sensibles du public. Des utilisateurs malveillants peuvent utiliser ces informations pour attaquer votre serveur.
racine @ serveur1 : ~ # nano /etc/httpd/conf/httpd.conf
Ajoutez cette directive ou remplacez-la par la suivante
Signature du serveur désactivée
ServerTokens Prod

Désactiver la navigation dans les répertoires
Options -Index
Ensuite, enregistrez les modifications et redémarrez Apache
racine @ serveur1 : ~ # /etc/init.d/httpd redémarrer
Configurez les variables httpd.conf suivantes
racine @ serveur1 : ~ # grand frère /etc/httpd/conf/httpd.conf
Temps libre définit, en secondes, le temps que le serveur attendra pour recevoir et transmettre pendant la communication. 60 et 300 secondes, Cela interfère dans l'envoi de fichiers par formulaires, requêtes TCP, GET, etc. Il doit donc être défini en fonction de l'utilisation du serveur.
Les clients de Max établit une limite au nombre total de processus serveur ou de clients connectés simultanément, qui peuvent être exécutés en même temps, selon l'utilisation, les performances du serveur varient.
KeepAliveTimeout définit le nombre de secondes que le serveur attendra après avoir répondu à une demande et fermé la connexion, généralement de 10 à 15 secondes.
Optimiser et configurer MYSQL
Pour optimiser et configurer mysql, nous allons
racine @ serveur1 : ~ # nano /etc/mon.cnf
Certaines variables à optimiser et à configurer sont :
Créez un journal où les requêtes sont enregistrées qui prend plus de 2 secondes pour les optimiser
log-slow-queries = / var / log / mysql-slow-queries.log
long_query_time = 2 (en secondes)
Déconnectez tout client inactif en x secondes, l'empêchant ainsi d'occuper une connexion
wait_timeout = 30
connect_timeout = 10
Le cache mémoire et la taille du tampon peuvent également être configurés, ce qui dépendra des besoins du serveur.
Optimiser php
La chose la plus importante à propos de php est d'optimiser php.ini, dans ce cas cela dépendra des besoins de vos applications
racine @ serveur1 : ~ # grand frère /etc/php.ini
max_execution_time - Cela détermine le temps qu'un script peut prendre pour s'exécuter, si vous utilisez des scripts gourmands en ressources, vous voudrez peut-être ajuster cela de la manière la plus pratique.
limite_mémoire - Si votre script utilise beaucoup de mémoire pour s'exécuter efficacement, puisque certains des services d'hébergement partagé n'autorisent que 16 Mo, si vous pouvez le configurer, il vaut mieux le définir sur 32 Mo.
post_max_size - Si vous avez un site où les utilisateurs peuvent télécharger des fichiers sur le serveur, vous pouvez configurer ici la limite maximale de la taille des fichiers pouvant être téléchargés, à partir de la méthode POST, pour les tâches d'importation ou de téléchargement de fichiers et d'images.Avez-vous aimé et aidé ce tutoriel ?Vous pouvez récompenser l'auteur en appuyant sur ce bouton pour lui donner un point positif
wave wave wave wave wave