opensuse:serv_web_sites_perso
no way to compare when less than two revisions
Différences
Ci-dessous, les différences entre deux révisions de la page.
— | opensuse:serv_web_sites_perso [2018/11/17 12:54] (Version actuelle) – créée - modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== Serveur web Apache-PHP-MySQL avec sites " | ||
+ | [édition initiale Tyrtamos; modifié nov 2006; déc 2006] | ||
+ | |||
+ | |||
+ | |||
+ | Application sur openSuse 11 avec bureau KDE | ||
+ | |||
+ | |||
+ | |||
+ | ===== Avertissements ===== | ||
+ | |||
+ | |||
+ | |||
+ | On ne parle ici que d'un serveur web d' | ||
+ | |||
+ | |||
+ | |||
+ | Si ce serveur devait être en ligne en permanence sur internet, il faudrait qu'il soit sur une machine dédiée, et sans graphique (pas de serveur X, ni KDE ni gnome,...), et vous ne pourriez pas appliquer ce tuto qui utilise à fond KDE pour installer le serveur. Et il faudrait dans ce cas travailler beaucoup plus la sécurité. | ||
+ | |||
+ | |||
+ | |||
+ | Pour un serveur professionnel de production, les préoccupations de sécurité deviennent critiques, et nécessitent de recourir à des solutions professionnelles! | ||
+ | |||
+ | |||
+ | |||
+ | Mais même pour un serveur web d' | ||
+ | |||
+ | |||
+ | |||
+ | Attention: je ne suis pas un expert en sécurité des serveurs web (mais je me soigne...). Ce que vous ferez à partir de cette page sera sous votre entière responsabilité! | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Objectifs ===== | ||
+ | |||
+ | |||
+ | |||
+ | Installer un serveur web " | ||
+ | |||
+ | |||
+ | |||
+ | * un site principal, avec ou sans sous-domaine(s) | ||
+ | |||
+ | |||
+ | |||
+ | * des sites persos, avec ou sans sous-domaine(s), | ||
+ | |||
+ | |||
+ | |||
+ | * mise à jour des différents sites à distance grâce à un serveur ftp " | ||
+ | |||
+ | |||
+ | |||
+ | Pour tout cela, on arrive à ne pratiquement pas toucher à la console!!! | ||
+ | |||
+ | |||
+ | ===== Références documentaires ===== | ||
+ | |||
+ | |||
+ | |||
+ | Manuel apache v2.0 (partiellement en français): http:// | ||
+ | |||
+ | |||
+ | |||
+ | Manuel PHP v5.0 (en français): http:// | ||
+ | |||
+ | |||
+ | |||
+ | Manuel MySQL v5.0 (en français): http:// | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Configuration du réseau ===== | ||
+ | |||
+ | |||
+ | |||
+ | On va supposer ici que votre réseau local est correctement configuré, et que vous êtes dans une configuration classique: | ||
+ | |||
+ | |||
+ | |||
+ | * une machine linux sur laquelle vous voulez créer le serveur web | ||
+ | |||
+ | |||
+ | * et une adresse IP locale fixe. | ||
+ | |||
+ | * derrière un routeur qui joue le rôle de passerelle internet, | ||
+ | |||
+ | * votre adresse IP internet peut être fixe, ou réaffectée à chaque nouvelle connexion avec votre FAI. | ||
+ | |||
+ | * vous pouvez avoir ou pas d' | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Installation et configuration d' | ||
+ | |||
+ | |||
+ | |||
+ | * Yast > | ||
+ | * Filtre > Schéma | ||
+ | * Sélectionner " | ||
+ | |||
+ | |||
+ | De cette manière sera installé automatiquement php5, mysql et apache. | ||
+ | |||
+ | Vous allez ajouter le package "// | ||
+ | |||
+ | ====== paramétrage du serveur http ====== | ||
+ | |||
+ | Dans " | ||
+ | |||
+ | * services réseau, | ||
+ | * cliquer sur l' | ||
+ | |||
+ | Un assistant démarre. | ||
+ | |||
+ | ===== Page 1/5 ===== | ||
+ | |||
+ | |||
+ | //Laisser la configuration par défaut ou l' | ||
+ | |||
+ | * port 80 | ||
+ | |||
+ | * écouter les interfaces 127.0.0.1 et x.x.x.x | ||
+ | |||
+ | * ouvrir un port dans le pare-feu = oui s'il doit être accessible sur le web | ||
+ | |||
+ | |||
+ | ===== Page 2/5 ===== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | * Cocher php5 | ||
+ | |||
+ | |||
+ | ===== Page 3/5 ===== | ||
+ | |||
+ | |||
+ | |||
+ | * Adresse mail à modifier par la vôtre | ||
+ | |||
+ | |||
+ | |||
+ | ===== Page 4/5 ===== | ||
+ | |||
+ | |||
+ | * Ne rien changer | ||
+ | |||
+ | |||
+ | ===== Page 5/5 ===== | ||
+ | |||
+ | |||
+ | * Démarrer apache à l' | ||
+ | |||
+ | * cliquez sur " | ||
+ | |||
+ | |||
+ | |||
+ | Cliquer sur " | ||
+ | |||
+ | ====== Les logs ====== | ||
+ | |||
+ | Une consultation régulière de vos logs vous permettra de mieux appréhender votre serveur (au niveau de la résolution des erreurs du serveur). | ||
+ | |||
+ | Les logs se trouvent : | ||
+ | |||
+ | < | ||
+ | |||
+ | __Note__ : | ||
+ | |||
+ | //Prenez pour habitude d' | ||
+ | Faites un « **tail -f / | ||
+ | |||
+ | ====== Démarrer le service http ====== | ||
+ | |||
+ | < | ||
+ | |||
+ | Vous pouvez maintenant accéder à votre serveur web par : | ||
+ | |||
+ | * http:// | ||
+ | * http:// | ||
+ | |||
+ | |||
+ | Une page "It works" devrait apparaître. | ||
+ | |||
+ | |||
+ | La page " | ||
+ | |||
+ | ====== Configuration du serveur Apache ====== | ||
+ | |||
+ | Pour accéder à la configuration détaillé de votre serveur apache, nous allons créer un fichier phpinfo. | ||
+ | |||
+ | Dans " | ||
+ | |||
+ | < | ||
+ | < | ||
+ | phpinfo(); | ||
+ | ?></ | ||
+ | |||
+ | Enregistrer. | ||
+ | |||
+ | Dans votre navigateur, entrer l'url " | ||
+ | |||
+ | ====== Paramétrage de votre base de donnée " | ||
+ | |||
+ | __Verifier que le service Sql est bien installé__ : | ||
+ | |||
+ | < | ||
+ | |||
+ | Vous devriez voir apparaître en regard " | ||
+ | |||
+ | __Pour démarrer le service__ : | ||
+ | |||
+ | < | ||
+ | |||
+ | Par défaut, il n'y a "**pas de mot de passe**" | ||
+ | |||
+ | __Définir un mot de passe " | ||
+ | |||
+ | < | ||
+ | |||
+ | __Note__ : //le mot de passe sera changé pour l' | ||
+ | \\ | ||
+ | __Pour vérifier que le nouveau mot de passe est bien effectif__ : | ||
+ | |||
+ | < | ||
+ | |||
+ | __Note__ : //Une fois le code saisi, vous devriez être connecté à la base de donnée.// | ||
+ | |||
+ | |||
+ | ====== Installation de phpmyadmin ====== | ||
+ | |||
+ | Le package " | ||
+ | |||
+ | Dans " | ||
+ | |||
+ | * Installation de logiciels, | ||
+ | * Sélectionner " | ||
+ | |||
+ | ou | ||
+ | |||
+ | < | ||
+ | |||
+ | |||
+ | Un répertoire " | ||
+ | |||
+ | Pour configurer " | ||
+ | |||
+ | Dans le répertoire " | ||
+ | |||
+ | < | ||
+ | |||
+ | < | ||
+ | |||
+ | Dans le fichier de configuration, | ||
+ | |||
+ | * Redémarrer le serveur apache. | ||
+ | |||
+ | Pour démarrer " | ||
+ | |||
+ | ===== Ajout de sous-domaines (hôtes virtuels) ===== | ||
+ | |||
+ | |||
+ | |||
+ | ==== Sous-domaine: | ||
+ | |||
+ | |||
+ | |||
+ | Vous avez un site http:// | ||
+ | |||
+ | |||
+ | |||
+ | ==== Activation des hôtes virtuels par nom ==== | ||
+ | |||
+ | |||
+ | |||
+ | Dans / | ||
+ | |||
+ | |||
+ | |||
+ | NameVirtualHost 192.168.0.200 | ||
+ | |||
+ | |||
+ | |||
+ | ==== Création des hôtes virtuels ==== | ||
+ | |||
+ | |||
+ | |||
+ | On va créer, par exemple, les sous-domaines " | ||
+ | |||
+ | |||
+ | |||
+ | On crée les répertoires " | ||
+ | |||
+ | |||
+ | |||
+ | On ajoute un nouveau fichier " | ||
+ | |||
+ | |||
+ | |||
+ | # ---> Site principal | ||
+ | |||
+ | < | ||
+ | |||
+ | ServerName nesti.lan | ||
+ | |||
+ | ServerAlias nesti.dyndns.org | ||
+ | |||
+ | DocumentRoot / | ||
+ | |||
+ | </ | ||
+ | |||
+ | # | ||
+ | |||
+ | # ---> Site du sous-domaine " | ||
+ | |||
+ | < | ||
+ | |||
+ | ServerName linux.nesti.lan | ||
+ | |||
+ | ServerAlias linux.nesti.dyndns.org | ||
+ | |||
+ | DocumentRoot / | ||
+ | |||
+ | </ | ||
+ | |||
+ | # | ||
+ | |||
+ | # ---> Site du sous-domaine " | ||
+ | |||
+ | < | ||
+ | |||
+ | ServerName photos.nesti.lan | ||
+ | |||
+ | ServerAlias photos.nesti.dyndns.org | ||
+ | |||
+ | DocumentRoot / | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | Pour éditer ce fichier sous root, restez sous KDE: prenez konqueror en superutilisateur (menu -> système -> gestion de fichiers), clic droit dans le répertoire / | ||
+ | |||
+ | |||
+ | |||
+ | A noter que, dès qu'on met en action des hôtes virtuels, il faut redéfinir le site principal (celui de / | ||
+ | |||
+ | |||
+ | |||
+ | Autre remarque, la ligne de la directive " | ||
+ | |||
+ | |||
+ | |||
+ | Relance du serveur apache avec l' | ||
+ | |||
+ | |||
+ | |||
+ | rcapache2 restart | ||
+ | |||
+ | |||
+ | |||
+ | Vérification (il doit y avoir un fichier index.html ou index.php dans chaque site pour que ça marche!): | ||
+ | |||
+ | |||
+ | |||
+ | * http:// | ||
+ | |||
+ | * http:// | ||
+ | |||
+ | * http:// | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Résolution de nom en local ===== | ||
+ | |||
+ | |||
+ | |||
+ | Quand on a un réseau local, on aimerait bien pouvoir appeler les sites du serveur web qu'on vient de créer (domaine et sous-domaines), | ||
+ | |||
+ | |||
+ | |||
+ | Contrairement à ce qu'on pense, il n'est pas nécessaire d' | ||
+ | |||
+ | |||
+ | |||
+ | C'est simple: la correspondance entre d'un côté les noms de domaines et de sous-domaines, | ||
+ | |||
+ | |||
+ | |||
+ | * /etc/hosts pour linux | ||
+ | |||
+ | |||
+ | |||
+ | * c: | ||
+ | |||
+ | |||
+ | |||
+ | Dans les 2 cas, on doit trouver une ligne comme (pour l' | ||
+ | |||
+ | |||
+ | |||
+ | 192.168.0.200 | ||
+ | |||
+ | |||
+ | |||
+ | Mais il faut faire cela sur TOUTES les machines de votre réseau local! | ||
+ | |||
+ | |||
+ | |||
+ | Si vous aviez plusieurs machines dans votre réseau local, un serveur dns local pourrait vous épargner de mettre à jour tous les fichiers hosts à chaque fois que vous ajoutez 1 sous-domaine supplémentaire. Mais si vous n'avez que 2 ou 3 machines, ça ne vaut pas le coup. | ||
+ | |||
+ | |||
+ | |||
+ | Un vrai serveur dns local, comme bind9, par contre, serait plus rapide pour les échanges au sein de votre réseau local. A défaut, je vous suggère d' | ||
+ | |||
+ | |||
+ | |||
+ | Par ailleurs, si vous avez une adresse IP internet fixe, un vrai serveur dns local vous permettrait d' | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Installation des sites " | ||
+ | |||
+ | |||
+ | |||
+ | On veut ici pouvoir affecter une zone personnelle, | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ==== Faire reconnaitre les comptes utilisateurs par apache ==== | ||
+ | |||
+ | |||
+ | |||
+ | Plutôt que de bricoler les fichiers de configuration, | ||
+ | |||
+ | |||
+ | |||
+ | * yast -> système -> éditeur pour fichier sysconfig -> network -> www -> apache2 | ||
+ | |||
+ | |||
+ | |||
+ | Sélectionner la variable APACHE_CONF_INCLUDE_FILES et lui ajouter: " | ||
+ | |||
+ | |||
+ | |||
+ | Sélectionner la variable APACHE_MODULES et vérifier qu'il y a bien " | ||
+ | |||
+ | |||
+ | |||
+ | Valider. A la sortie, yast fait ce qu'il faut pour relancer la machine. | ||
+ | |||
+ | |||
+ | |||
+ | Modifiez ensuite le fichier de configuration / | ||
+ | |||
+ | |||
+ | |||
+ | UserDir public_html | ||
+ | |||
+ | |||
+ | |||
+ | N' | ||
+ | |||
+ | |||
+ | |||
+ | Comme c'est indiqué dans ce même fichier, vous pouvez restreindre l' | ||
+ | |||
+ | |||
+ | |||
+ | UserDir disabled | ||
+ | |||
+ | UserDir enabled user1 user2 | ||
+ | |||
+ | |||
+ | |||
+ | Vous pouvez aussi ajuster, spécifiquement pour les sites persos, les directives " | ||
+ | |||
+ | |||
+ | |||
+ | Pour des raisons de sécurité, il est hautement déconseillé de permettre à root de faire son site perso! Aussi, laissez décommentée la ligne suivante: | ||
+ | |||
+ | |||
+ | |||
+ | UserDir disabled root | ||
+ | |||
+ | |||
+ | |||
+ | Et relancez apache avec l' | ||
+ | |||
+ | |||
+ | |||
+ | rcapache2 restart | ||
+ | |||
+ | |||
+ | |||
+ | Après ces modif: | ||
+ | |||
+ | |||
+ | |||
+ | * http:// | ||
+ | |||
+ | |||
+ | |||
+ | * http:// | ||
+ | |||
+ | |||
+ | |||
+ | ==== Mise en place des hôtes virtuels ==== | ||
+ | |||
+ | |||
+ | |||
+ | Ici, on veut pouvoir appeler le site http:// | ||
+ | |||
+ | |||
+ | |||
+ | On reprend le fichier des hôtes virtuels construit plus haut, et on ajoute les hôtes virtuels correspondant aux sites perso. Par exemple pour le site perso affecté à Tyrtamos: | ||
+ | |||
+ | |||
+ | |||
+ | < | ||
+ | |||
+ | ServerName tyrtamos.nesti.lan | ||
+ | |||
+ | ServerAlias tyrtamos.nesti.dyndns.org | ||
+ | |||
+ | DocumentRoot / | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | On peut aussi utiliser les sous-domaines à l' | ||
+ | |||
+ | |||
+ | |||
+ | < | ||
+ | |||
+ | ServerName musiques.nesti.lan | ||
+ | |||
+ | ServerAlias musiques.nesti.dyndns.org | ||
+ | |||
+ | DocumentRoot / | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | On aurait pu choisir " | ||
+ | |||
+ | |||
+ | |||
+ | ==== Compléments pour faciliter l' | ||
+ | |||
+ | |||
+ | |||
+ | Par défaut, l' | ||
+ | |||
+ | |||
+ | |||
+ | * / | ||
+ | |||
+ | |||
+ | |||
+ | * / | ||
+ | |||
+ | |||
+ | |||
+ | Si on veut suivre certains sites de manière particulière, | ||
+ | |||
+ | |||
+ | |||
+ | * l' | ||
+ | |||
+ | |||
+ | |||
+ | ServerAdmin tyrtamos@nomdedomaine.com | ||
+ | |||
+ | |||
+ | |||
+ | * et les adresses des fichiers log du site. Exemple (après avoir créé avant le répertoire " | ||
+ | |||
+ | |||
+ | |||
+ | ErrorLog | ||
+ | |||
+ | TransferLog | ||
+ | |||
+ | |||
+ | |||
+ | ==== Relance du serveur apache ==== | ||
+ | |||
+ | |||
+ | |||
+ | Relance du serveur apache avec l' | ||
+ | |||
+ | |||
+ | |||
+ | rcapache2 restart | ||
+ | |||
+ | |||
+ | |||
+ | A noter que si le serveur était un serveur de production en activité, on pourrait se contenter d'un: | ||
+ | |||
+ | |||
+ | |||
+ | rcapache2 reload | ||
+ | |||
+ | |||
+ | |||
+ | ce qui permettrait à apache de tenir compte des nouveaux fichiers de configuration sans arrêter son fonctionnement. | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Installation et configuration du serveur ftp " | ||
+ | |||
+ | |||
+ | |||
+ | Le serveur " | ||
+ | |||
+ | |||
+ | |||
+ | ==== Installation de vsftp ==== | ||
+ | |||
+ | |||
+ | |||
+ | S'il n'est pas déjà installé, faites son installation avec yast. | ||
+ | |||
+ | |||
+ | |||
+ | Il peut être lancé soit en " | ||
+ | |||
+ | |||
+ | |||
+ | Sur la suse 10.1, il est maintenant pré-configuré en standalone, grâce à la ligne " | ||
+ | |||
+ | |||
+ | |||
+ | Si vous préférez qu'il se lance par xinetd, changer la ligne par " | ||
+ | |||
+ | |||
+ | |||
+ | ==== Création de l' | ||
+ | |||
+ | |||
+ | |||
+ | Le serveur vsftp peut accepter 3 types de liaison ftp: | ||
+ | |||
+ | |||
+ | |||
+ | 1. liaisons anonymes | ||
+ | |||
+ | 2. liaison sécurisée (chroot, login, ...) pour ceux qui ont déjà un compte sur la machine linux | ||
+ | |||
+ | 3. liaison sécurisée pour d' | ||
+ | |||
+ | |||
+ | |||
+ | Ici, nous voulons une chose précise: que la liaison ftp puisse permettre la lecture et l' | ||
+ | |||
+ | |||
+ | |||
+ | Il existe déjà un utilisateur système qui s' | ||
+ | |||
+ | |||
+ | |||
+ | Pour créer l' | ||
+ | |||
+ | |||
+ | |||
+ | Pour la partie groupe comme pour la partie utilisateur, | ||
+ | |||
+ | |||
+ | |||
+ | ==== Configuration de vsftp ==== | ||
+ | |||
+ | |||
+ | |||
+ | Nous allons donc configurer notre vsftp pour donner un accès sécurisé à tous les utilisateurs ayant un compte linux, chacun étant chrooté dans son répertoire personnel, et donc aussi à ftpweb pour le site principal. | ||
+ | |||
+ | |||
+ | |||
+ | Si vous voulez empêcher certains utilisateurs d' | ||
+ | |||
+ | |||
+ | |||
+ | La configuration de vsftp sera faite ici par édition (sous root) du fichier / | ||
+ | |||
+ | |||
+ | |||
+ | Il faut permettre l' | ||
+ | |||
+ | |||
+ | |||
+ | write_enable=YES | ||
+ | |||
+ | |||
+ | |||
+ | Il faut ensuite permettre l' | ||
+ | |||
+ | |||
+ | |||
+ | local_enable=YES | ||
+ | |||
+ | local_umask=022 | ||
+ | |||
+ | chroot_local_user=YES | ||
+ | |||
+ | |||
+ | |||
+ | Vous noterez d' | ||
+ | |||
+ | |||
+ | |||
+ | Compte tenu de l' | ||
+ | |||
+ | |||
+ | |||
+ | anonymous_enable=NO | ||
+ | |||
+ | anon_mkdir_write_enable=NO | ||
+ | |||
+ | anon_other_write_enable=NO | ||
+ | |||
+ | |||
+ | |||
+ | Et il est souhaitable d' | ||
+ | |||
+ | |||
+ | |||
+ | syslog_enable=NO | ||
+ | |||
+ | log_ftp_protocol=YES | ||
+ | |||
+ | xferlog_enable=YES | ||
+ | |||
+ | vsftpd_log_file=/ | ||
+ | |||
+ | |||
+ | |||
+ | Si voulez utiliser dans votre site web des fichiers cachés de type .htaccess, .htusers, .htgroups, etc... sachez qu' | ||
+ | |||
+ | |||
+ | |||
+ | force_dot_files=YES | ||
+ | |||
+ | |||
+ | |||
+ | Il existe de nombreux autres paramètres pour configurer plus finement vsftp (faites "man vstpd.conf" | ||
+ | |||
+ | |||
+ | |||
+ | Il faut relancer vsftp afin qu'il utilise les nouvelles données de config. On relance selon le mode d' | ||
+ | |||
+ | |||
+ | |||
+ | * en mode standalone, avec l' | ||
+ | |||
+ | |||
+ | |||
+ | * en mode xinetd, avec xinetd (désactivation/ | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Droit d' | ||
+ | |||
+ | |||
+ | |||
+ | ==== Petit rappel des aspects étranges des droits d' | ||
+ | |||
+ | |||
+ | |||
+ | Rappelons un aspect dont on aura besoin ici: | ||
+ | |||
+ | |||
+ | |||
+ | * les droits d' | ||
+ | |||
+ | |||
+ | |||
+ | * par contre, **le droit de créer, de renommer ou d' | ||
+ | |||
+ | |||
+ | |||
+ | Cela donne des conséquences quelquefois surprenantes: | ||
+ | |||
+ | |||
+ | |||
+ | * sous votre login, et dans un répertoire vous appartenant avec rwxr-xr-x, vous pouvez placer par recopie un fichier root:root avec rw-------, le renommer et même le supprimer! Mais bien sûr, vous ne pouvez ni examiner ni modifier son contenu. | ||
+ | |||
+ | |||
+ | |||
+ | * sous votre login mais dans un répertoire ne vous appartenant pas avec rwxr-xr-x, vous ne pouvez pas y placer un fichier à vous. S'il y est déjà, vous ne pouvez ni le renommer ni le supprimer! Mais vous pouvez consulter son contenu et même le modifier. | ||
+ | |||
+ | |||
+ | |||
+ | Autre aspect qu'il faut rappeler: | ||
+ | |||
+ | |||
+ | |||
+ | * sous votre login, si le fichier vous appartient, vous ne pouvez pas modifier son propriétaire (c'est à dire l' | ||
+ | |||
+ | |||
+ | |||
+ | * sous votre login, si le fichier ne vous appartient pas, et même si vous avez le droit d' | ||
+ | |||
+ | |||
+ | |||
+ | ==== Cas des fichiers du site téléchargés sur le serveur ==== | ||
+ | |||
+ | |||
+ | |||
+ | Les fichiers du site qui sont téléchargés sur le serveur web par liaison ftp, auront comme propriétaire, | ||
+ | |||
+ | |||
+ | |||
+ | * pour le site principal et ses sous-domaines: | ||
+ | |||
+ | |||
+ | |||
+ | * pour les sites utilisateurs et leurs sous-domaines: | ||
+ | |||
+ | |||
+ | |||
+ | Pour ce qui concerne les droits de lecture-écriture, | ||
+ | |||
+ | |||
+ | |||
+ | Cela veut dire que seul ftp pourra écrire, et c'est très bien ainsi! Il y a pas de raison qu'un autre service, même apache lui-même, vienne modifier les fichiers de votre site. En effet, la règle est toujours de donner le minimum de privilèges aux différents services impliqués. | ||
+ | |||
+ | |||
+ | |||
+ | Le répertoire / | ||
+ | |||
+ | |||
+ | |||
+ | Dernier point: si vous avez un accès direct (physique ou par accès à distance type VNC ou FreeNX) au linux qui porte le serveur, évitez d' | ||
+ | |||
+ | |||
+ | |||
+ | ==== Cas des fichiers créés ou modifiés par PHP ==== | ||
+ | |||
+ | |||
+ | |||
+ | Les fichiers .php étant téléchargés comme les autres sur le serveur par ftp, ils auront donc aussi le propriétaire: | ||
+ | |||
+ | |||
+ | |||
+ | Mais qu'en sera-t-il des fichiers créés ou modifiés par PHP? Eh bien, PHP travaille sous le propriétaire et le groupe d' | ||
+ | |||
+ | |||
+ | |||
+ | Prenons un cas concret: un compteur de visite (simpliste): | ||
+ | |||
+ | |||
+ | |||
+ | <?php | ||
+ | |||
+ | $file=@fopen(" | ||
+ | |||
+ | fscanf($file, | ||
+ | |||
+ | $count++; | ||
+ | |||
+ | rewind($file); | ||
+ | |||
+ | fputs($file, | ||
+ | |||
+ | fclose($file); | ||
+ | |||
+ | ?> | ||
+ | |||
+ | <p> <?php echo " | ||
+ | |||
+ | |||
+ | |||
+ | ainsi que le compteur lui-même comme un fichier texte " | ||
+ | |||
+ | |||
+ | |||
+ | Je télécharge les 2 fichiers sur le site par ftp, et j' | ||
+ | |||
+ | |||
+ | |||
+ | Alors, je me dis que si je faisais créer le fichier " | ||
+ | |||
+ | |||
+ | |||
+ | Tout cela pour dire qu'il sera inévitable: | ||
+ | |||
+ | |||
+ | |||
+ | * d' | ||
+ | |||
+ | |||
+ | |||
+ | * et d' | ||
+ | |||
+ | |||
+ | |||
+ | Quand aux applications écrites en PHP (CMS, forum, wiki, etc...), il est important de bien suivre leurs instructions d' | ||
+ | |||
+ | |||
+ | |||
+ | * quand il est demandé de supprimer le répertoire d' | ||
+ | |||
+ | |||
+ | |||
+ | * quand il est demandé de passer certains fichiers en 666 ou certains répertoires en 777: il ne faut le faire que pour les fichiers et répertoires mentionnés! Surtout, ne passez pas tout en 777! | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Appel des sites web par internet ===== | ||
+ | |||
+ | |||
+ | |||
+ | ==== Ouverture du parefeu ==== | ||
+ | |||
+ | |||
+ | |||
+ | Pour atteindre votre serveur web à partir du web, il faut bien sûr ouvrir votre parefeu en entrée pour le port 80 (port par défaut pour le web). Si vous avez un routeur qui vous sert de passerelle pour internet, et qui porte votre parefeu, vous devez en plus indiquer vers quelle machine les requêtes vers le port 80 doivent être redirigée: c'est l' | ||
+ | |||
+ | |||
+ | |||
+ | ==== Adresse IP internet fixe ==== | ||
+ | |||
+ | |||
+ | |||
+ | Si votre fournisseur d' | ||
+ | |||
+ | |||
+ | |||
+ | Si vous voulez qu'on puisse appeler votre site avec le nom de domaine que vous avez acheté chez un registrar, vous avez 2 solutions: | ||
+ | |||
+ | |||
+ | |||
+ | 1er cas: vous enregistrez une redirection chez votre registrar. Auquel cas à chaque fois qu'un navigateur appellera votre nom de domaine, le serveur dns de votre registrar redirigera la demande vers votre adresse IP. Mais c'est votre adresse IP qui sera en haut du navigateur du demandeur, et c'est votre adresse IP qui sera dans ses bookmarks. | ||
+ | |||
+ | |||
+ | |||
+ | 2ème cas: vous avez un vrai serveur dns (bind) sur votre serveur web, et vous faites enregistrer l' | ||
+ | |||
+ | |||
+ | |||
+ | ==== Adresse IP internet variable ==== | ||
+ | |||
+ | |||
+ | |||
+ | Comme il n'y a plus assez d' | ||
+ | |||
+ | |||
+ | |||
+ | Le principe est simple: vous utilisez un nom de type http:// | ||
+ | |||
+ | |||
+ | |||
+ | Il faut d' | ||
+ | |||
+ | |||
+ | |||
+ | Une fois que c'est fait, et dans la mesure ou vous avez ouvert le port 80 de votre parefeu en entrée et en direction de votre machine serveur, et que vous avez un serveur apache en état de marche, un appel http:// | ||
+ | |||
+ | |||
+ | |||
+ | Si vous avez configuré des hôtes virtuels que vous voulez appeler par (par exemple) http:// | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Conclusion ===== | ||
+ | |||
+ | |||
+ | |||
+ | Voilà, c'est fait! vous avez un bon serveur web de base qui vous permettra de porter des sites déjà assez sophistiqués grâce à PHP et à MySQL (blog, forum, wiki, streaming, etc...). | ||
+ | |||
+ | |||
+ | |||
+ | Sa puissance et ses fonctionnalités sont tout à fait comparables à ce que vous pouvez trouver chez des hébergeurs professionnels en tant qu' | ||
+ | |||
+ | |||
+ | |||
+ | * vous pourrez avoir 200Go de données sur votre site si vous voulez, | ||
+ | |||
+ | * mais vous aurez la limite de débit de l' | ||
+ | |||
+ | |||
+ | |||
+ | Vous pouvez aussi héberger les sites de vos amis en leur donnant la possibilité de les administrer eux-mêmes à distance, tout en limitant les risques qu'ils vous abime le système. | ||
+ | |||
+ | |||
+ | |||
+ | Mais rappelez-vous: | ||
+ | |||
+ | |||
+ | |||
+ | Amusez-vous bien! | ||
+ | |||
+ | |||
+ | |||
+ | Tyrtamos |
opensuse/serv_web_sites_perso.txt · Dernière modification : 2018/11/17 12:54 de 127.0.0.1