GNU/Linux >> Tutoriels Linux >  >> Linux

Quelle quantité de Linux dois-je apprendre pour déployer des sites Web à l'aide de LAMP ?

De prime abord, vous devrez :

  1. Apprenez à vous familiariser avec le système de fichiers.
  2. Découvrez comment démarrer/arrêter les processus (services) que vous utilisez.
  3. Trouver ou apprendre un éditeur de texte de base (Vim, JOE ou Pico)
  4. Apprenez à vérifier les processus pour voir si les choses fonctionnent (ps, top)
  5. Si vous assurez la maintenance du serveur, vous devrez apprendre à installer des packages.

Ce ne sont que les bases. L'étape suivante consiste à réaliser quand vous avez un problème et à savoir où vous pouvez vous adresser pour obtenir plus d'informations à ce sujet. Même avec tout cela, cela ne fait qu'effleurer la surface et beaucoup de choses peuvent ne pas avoir de sens. C'est un bon début.


80% de vos problèmes seront des permissions. Windows les fait différemment; si vous vous connectez en tant que root (ou avec des privilèges de type root), vous pouvez contourner les autorisations. Apache ne peut pas et ne veut pas.

  • Découvrez comment définir correctement la propriété des fichiers et des répertoires. N'importe quel livre Unix couvrira cela :assurez-vous de bien le comprendre -- ce n'est pas la sécurité Windows orthographiée différemment -- c'est un modèle de sécurité différent.

Parmi les problèmes restants, 80 % seront des problèmes PATH. PHP n'a pas un problème PATH aussi important que Java et Python, mais ils utilisent tous un paramètre PATH pour trouver des composants et des bibliothèques. Vous vous tromperez régulièrement. Windows a un PATH, mais il a aussi un registre, ce qui rend les choses super faciles ou super secrètes. Unix n'a aucun secret.

  • Découvrez les variables d'environnement utilisées par PHP et MySQL. Assurez-vous de savoir où et comment ils sont installés. Apache s'exécute dans son propre environnement particulier et dispose de commandes pour fournir des paramètres d'environnement d'exécution via mod_php . Ecrire court echo $PATH scripts shell pour révéler ce qui se passe.

Parmi les problèmes restants, 80 % seront liés à la base de données. Après avoir trié les autorisations de la base de données, vous devrez toujours vous connecter, et les éléments "canal nommé" par rapport à "localhost" seront erronés de manière obscure et déroutante. MySQL est très indulgent, mais vous ferez quelques erreurs ici.

  • Essayez chaque connexion alternative, sachez comment elles fonctionnent. N'en choisissez pas un parce qu'il ressemble à Windows ou "plus simple". En fait, exercez chacun d'eux. La façon dont vous transmettez les noms d'utilisateur et les mots de passe de l'application Web au serveur de base de données est également importante. Apache s'exécute en tant que "personne" - et vous ne voulez pas leur donner un accès par défaut à quoi que ce soit. Votre application doit établir une connexion intentionnelle à la base de données sans utiliser les valeurs par défaut.

Parmi les problèmes restants, 80 % seront des configurations Apache. Apache est vraiment simple, mais a un million d'options. Il y a quatre façons de tout faire, et vous en essayerez toujours deux qui ne fonctionnent pas du tout, et vous vous contenterez de la troisième qui sera dégueulasse. Le quatrième, qui est beaucoup plus simple, ne vous viendra jamais à l'esprit.

  • Lisez BEAUCOUP sur la configuration d'Apache. Le site httpd.apache.org contient de nombreuses informations. Cherchez la simplicité. Copiez les exemples existants et utilisez-les. N'inventez pas les exigences ou les implémentations souhaitées en fonction de l'expérience IIS ou de l'expérience de bureau Windows. Copiez quelque chose qui fonctionne.

Parmi les problèmes restants, 80 % seront liés à l'utilisation du système de fichiers par les applications. Si vous essayez d'ouvrir, de lire ou d'écrire des fichiers locaux, vous constaterez que (a) les autorisations ne sont pas correctes sur le répertoire que vous essayez d'utiliser [voir ci-dessus] et (b) les chemins de fichiers Unix sont différents. Pas très différent, mais suffisamment différent pour que quelque chose se brise de manière obscure.

  • Tous les livres de programmation sous Unix/Linux traitent de cela. Ce n'est pas très différent de Windows, juste assez différent pour vous faire trébucher la première fois. Écrivez des pages PHP de type "hello world" pour augmenter la version la plus simple possible des téléchargements ou des téléchargements juste pour vous assurer que tous les éléments sont en place. Corrigez ensuite votre application complète pour le faire correctement.

Parmi les problèmes restants, 80 % seront la création de sous-processus. Windows le fait différemment. L'une des choses les plus importantes sous Unix est de se rappeler que votre sous-processus est votre enfant et que vous devez en fait attendre qu'il se termine pour que le système d'exploitation puisse nettoyer. Si vous considérez un sous-processus comme une chose parallèle "lancer et oublier", vous aurez des processus zombies et serez obligé de faire des redémarrages périodiques.

  • Écrivez des pages PHP très simples pour améliorer la gestion des sous-processus. La règle d'or est de gérer vos enfants et de nettoyer après eux. Corrigez ensuite votre application complète pour le faire correctement.

Les problèmes restants seront une logique d'application triviale, mais en raison des différences de plate-forme, vous blâmerez Unix avant de rechercher le bogue dans l'application PHP.

  • Mettez au point vos tests unitaires et votre journalisation afin de pouvoir déboguer efficacement.

Linux
  1. Comment déboguer des programmes C sous Linux à l'aide de gdb

  2. Comment créer un utilisateur Linux avec Ansible

  3. Comment redémarrer Linux en utilisant la ligne de commande

  4. Comment tuer un processus sous Linux en utilisant la commande ?

  5. Comment apprendre les composants internes du système Linux

Quelle quantité d'échange devriez-vous utiliser sous Linux ?

Comment renommer des fichiers en utilisant la ligne de commande sous Linux

Comment télécharger et installer XAMPP sur Linux

Comment lister les systèmes de fichiers sous Linux à l'aide de Lfs

Comment installer le navigateur Web Falkon sur Ubuntu Linux

Comment installer ou mettre à niveau LAMP :Linux, Apache, MySQL et PHP avec Yum