-> Topic Serveurs@home pour les nuls

-> Topic Serveurs@home pour les nuls - Tutoriels - Réseaux grand public / SoHo

Marsh Posté le 27-11-2008 à 10:54:18    

Bonjour les amis,

 

je me suis fait un petit mémo en installant mon serveur à la maison, je le mets ici, car j'ai eu du mal à réunir toutes les infos et ça peut peut-être aider d'autres personnes comme moi.

 

J'ai eu besoin d'un petit serveur de développement à la maison pour mon futur site pro, ça va me permettre de démarrer, de me faire la main, de tester et de cerner mes besoins pour l'hébergement en serveur dédié. Afin de ne pas multiplier les machines à la maison, j'ai installé le serveur su une machine virtuelle sous vmware sur un pc qui me sert de mediabox sous la télé (windows xp, athlon X2 1.9ghz, ram 2Go), J'ai choisi ubuntu-server pour sa communauté et sa facilité d'accès. le serveur est accessible par vmware de mon portable, et les fichiers du site sont accessibles par samba (on les voit dans les favoris réseau et on peut les éditer directement). C'est pour un développement php5/mysql.

 

Vmware est assez simple d'utilisation et fonctionne bien, la configuration du réseau est automatique qu'en on choisi "bridged", la machine est alors directement sur votre réseau local

 

Infos / Liens utiles :

  • les commandes de base linux
  • télécharger VMware server, j'utilise la version 1.08. il faut se crée un compte pour avoir un numéro de licence.
  • les commandes fondammentales de linux : http://www.linux-france.org/articl [...] linux.html
  • pour l'éditeur nano : Ctrl+W -> recherche de texte, Ctrl+O -> pour enregistrer, Ctrl+X pour quiter
  • pour lister le contenu d'un répértoire : "ls -l /monrepertoire", si le contenu du répertoire et trop long pour être lu , faire "ls -l /monrepertoire | less", ça permet de faire défiler comme on veut (taper "q" pour sortir)
  • commande "top" pour voir ce qui tourne / "df" pour voir la taille et l'occupation des disques
  • Vous pouvez prendre la main sur votre serveur à distance sous windows en installant PUTTY, c'est plus pratique que de bricoler dans la console VMware.
  • Pour connaitre les options d'une commande de linux il faut taper man "commande", par exemple :

# man ls

 


---------------------------------------------------------------------------------------------------------

 

DEBIAN + LIGHTTPD + PHP5 + MYSQL + phpmyadmin + proftpd + ...

 

Après m'être fait un peu la main sur le serveur ubuntu ci dessous, j'ai cherché à avoir quelque chose de plus léger (le serveur ubuntu prend 140 mo de ram au démarrage contre 90 mo pour cette installation, sans samba cependant). Dans l'éventualité d'une part de serveur virtuel (256mo) chez Gandi ça compte !

 

-- Installation de l'OS :
prendre l'iso chez debian, j'ai pris (debian-40r6-i386-businesscard.iso) faire l'installation minimale
puis se logguer en root

 

-- Installer SSH, pour avoir l'accés sécurisé (crypté) pour PUTTY et le FTP :
# apt-get install ssh openssh-server
avec putty vous pouvez faire des clicks droit pour coller du texte, c'est très pratique.

 

-- Mettre à jour :
# apt-get update
# apt-get upgrade

 

-- Francisation :
# apt-get install manpages-fr
# dpkg-reconfigure locales
puis choisir "  fr_FR.UTF-8" et "en_US.UTF-8"
ensuite choix de :"  fr_FR.UTF-8"
taper :
# export LANGUAGE="fr_FR.UTF-8"
# export LC_ALL="fr_FR.UTF-8"
# export LANG="fr_FR.UTF-8"
# locale-gen

 

-- Nettoyage :
Enlever les fichiers de langue inutiles :
# apt-get install localepurge
# localepurge
Nettoyage des services inutiles lancés au démarrage
# update-rc.d -f acpid remove (gestion de l'energie)
# update-rc.d -f exim4 remove (c'est pour les mails)
# update-rc.d -f nfs-common remove (partage de fichier)
# update-rc.d -f apache2 remove (remplacer par lighttpd)
et peut -être (pas sur debian4) :
//update-rc.d -f pcmciautils remove
//update-rc.d -f pcmcia remove
//update-rc.d -f bluetooth remove
//update-rc.d -f bluez-utils remove
//update-rc.d -f hotkey-setup remove
//update-rc.d -f laptop-mode remove
//update-rc.d -f hplip remove
//update-rc.d -f dns-clean remove
//update-rc.d -f mdadm remove
//update-rc.d -f mdadm-raid remove
//update-rc.d -f lvm remove
//update-rc.d -f evms remove
//update-rc.d -f fetchmail remove
et desinstaller les paquets correspondants :
# apt-get remove laptop-detect
# apt-get remove --purge acpid
# apt-get remove --purge exim4
# apt-get remove --purge nfs-common
vous pouvez enlever aussi quelques terminaux virtuels dans /etc/inittab en commentant les lignes comme ça :

# Note that on most Debian systems tty7 is used by the X Window System,
# so if you want to add more getty's go ahead but skip tty7 if you run X.
#
1:2345:respawn:/sbin/getty 38400 tty1
2:23:respawn:/sbin/getty 38400 tty2
#3:23:respawn:/sbin/getty 38400 tty3
#4:23:respawn:/sbin/getty 38400 tty4
#5:23:respawn:/sbin/getty 38400 tty5
#6:23:respawn:/sbin/getty 38400 tty6

 


##### Installation/configuration de LIGHTTPD #####

 

-- Je mets un mot de passe pour l'utilisateur "www-data" qui existe déjà et qui est propriétaire du dossier www, pour déposer les fichier par SFTP plus tard :
# passwd -d www-data
# passwd www-data

 

-- Créer le repertoire pour le fichiers du site :
# mkdir /var/www/monsite
# chown www-data:www-data /var/www/monsite

 

-- Installation du paquet :
# apt-get install lighttpd

 

-- Puis configuration :
# nano /etc/lighttpd/lighttpd.conf

 

définir l'emplacement des fichiers du site

server.document-root       = "/var/www/monsite"

 

ajouter "mod_fastcgi" dans la liste :

[...]
server.modules              = (
            "mod_access",
            "mod_alias",
            "mod_accesslog",
            "mod_fastcgi",
#           "mod_rewrite",
#           "mod_redirect",
[...]


et à la fin :

[...]
fastcgi.server = ( ".php" => ((
                     "bin-path" => "/usr/bin/php5-cgi",
                     "socket" => "/tmp/php.socket"
                 )))


     
vous pouvez ajouter les types mimes aussi :

## mimetype mapping
#include_shell "/usr/share/lighttpd/create-mime.assign.pl"
##sd
mimetype.assign             = (
  ".rpm"          =>      "application/x-rpm",
  ".pdf"          =>      "application/pdf",
  ".sig"          =>      "application/pgp-signature",
  ".spl"          =>      "application/futuresplash",
  ".class"        =>      "application/octet-stream",
  ".ps"           =>      "application/postscript",
  ".torrent"      =>      "application/x-bittorrent",
  ".dvi"          =>      "application/x-dvi",
  ".gz"           =>      "application/x-gzip",
  ".pac"          =>      "application/x-ns-proxy-autoconfig",
  ".swf"          =>      "application/x-shockwave-flash",
  ".tar.gz"       =>      "application/x-tgz",
  ".tgz"          =>      "application/x-tgz",
  ".tar"          =>      "application/x-tar",
  ".zip"          =>      "application/zip",
  ".mp3"          =>      "audio/mpeg",
  ".m3u"          =>      "audio/x-mpegurl",
  ".wma"          =>      "audio/x-ms-wma",
  ".wax"          =>      "audio/x-ms-wax",
  ".ogg"          =>      "application/ogg",
  ".wav"          =>      "audio/x-wav",
  ".gif"          =>      "image/gif",
  ".jpg"          =>      "image/jpeg",
  ".jpeg"         =>      "image/jpeg",
  ".png"          =>      "image/png",
  ".svg"          =>      "image/svg+xml",
  ".xbm"          =>      "image/x-xbitmap",
  ".xpm"          =>      "image/x-xpixmap",
  ".xwd"          =>      "image/x-xwindowdump",
  ".css"          =>      "text/css",
  ".html"         =>      "text/html",
  ".htm"          =>      "text/html",
  ".js"           =>      "text/javascript",
  ".asc"          =>      "text/plain",
  ".c"            =>      "text/plain",
  ".cpp"          =>      "text/plain",
  ".log"          =>      "text/plain",
  ".conf"         =>      "text/plain",
  ".text"         =>      "text/plain",
  ".txt"          =>      "text/plain",
  ".dtd"          =>      "text/xml",
  ".xml"          =>      "text/xml",
  ".mpeg"         =>      "video/mpeg",
  ".mpg"          =>      "video/mpeg",
  ".mov"          =>      "video/quicktime",
  ".qt"           =>      "video/quicktime",
  ".avi"          =>      "video/x-msvideo",
  ".asf"          =>      "video/x-ms-asf",
  ".asx"          =>      "video/x-ms-asf",
  ".wmv"          =>      "video/x-ms-wmv",
  ".bz2"          =>      "application/x-bzip",
  ".tbz"          =>      "application/x-bzip-compressed-tar",
  ".tar.bz2"      =>      "application/x-bzip-compressed-tar",
  # default mime type
  ""              =>      "application/octet-stream",
 )

 


##### Installation/configuration de PHP5 #######

 

-- Installation des paquets :
# apt-get install php5
# apt-get install php-pear php5-cgi
et ajout de modules supplémentaires :
# apt-get install php5-mcrypt php5-gd

 

-- Créer le repertoire pour les sessions :
# mkdir /var/www/sessions
# chown www-data:www-data /var/www/sessions

 

-- Puis configuration :
# nano /etc/php5/cgi/php.ini
ajouter "cgi.fix_pathinfo = 1"
augmenter la taille de la memoire  --> "memory_limit = 64M"
emplacement sessions --> "session.save_path = /var/www/sessions"

 

##### Accelerer le PHP avec APC (Alternative PHP Cache)###
voir http://www.howtoforge.com/integrat [...] ebian-etch

 

-- Installation des paquets :
# apt-get install php5-dev build-essential
# pecl install apc
et repondre non à ->Use apxs to set compile flags (if using APC with Apache)? [yes] :

 

-- Puis configuration de php:
# nano /etc/php5/cgi/php.ini

 

ajouter :

[APC]
extension=apc.so
apc.enabled=1


--redémarrer lighttpd:
# /etc/init.d/lighttpd restart

 


##### Installation/configuration de MYSQL #######

 

-- Installation des paquets :
# apt-get install mysql-server mysql-client

 

-- Arreter mysql pour déplacer le répetoire de données, ce n'est pas necessaire, c'est jusque que j'ai voulu centraliser toutes les données dans le répertoire www
# /etc/init.d/mysql stop
# mv -v /var/lib/mysql /var/www/mysql
faire un lien symbolique :
# ln -s /var/www/mysql /var/lib/mysql

 

-- Sécuriser Mysql :
démarrer Mysql
# /etc/init.d/mysql start
# mysql_secure_installation
    mettre un mot de passe root = *******
    répondre "yes" aux autres questions

 


##### Installation de PHPMYADMIN #######

 

-- Installation du paquet :
apt-get install phpmyadmin

 

-- Faire un lien symbolique dans le répertoire du site, pour avoir phpmyadmin en tapant l'adresse "http;//www.monsite.com/phpmyadmin".
# ln -s /usr/share/phpmyadmin /var/www/monsite

 


##### Installation de PROFTPD #######

 

-- Installation des paquets :
# apt-get install proftpd proftpd-mysql
choisir une installation "indépendement"

 

puis suivre : http://doc.ubuntu-fr.org/proftpd_et_mysql

 

au démarrage vous aurez peut-être un message d'erreur "Starting ftp server: proftpd - IPv6 getaddrinfo 'monserveur' error: Name or service not known)

 

il faut alors editer le fichier :
#  nano /etc/hosts
et ajouter le nom de votre serveur à la fin de la ligne...

::1     ip6-localhost ip6-loopback monserveur


et redémarrer le réseau :
# /etc/init.d/networking restart

 


##### Monitoring avec MUNIN #######

 

-- Ajouter l'utilisateur "munin"
# adduser munin
défini le pswd

 

-- Installation des paquets :
# apt-get install munin munin-node (yes sur les dépendances)

 

-- Faire un lien symbolique dans le répertoire du site, pour avoir munin en tapant l'adresse "http;//www.monsite.com/munin".
# ln -s /var/www/munin /var/www/monsite

 

pour la personalisation c'est la :
# nano /etc/munin/munin.conf
# nano /etc/munin/munin-node.conf

 


#####  Mettre à l'heure avec NTP  #######

 

-- Installation des paquets :
# apt-get install ntpdate
-- Mettre à l'heure :
# ntpdate ntp.ubuntu.com
-- Consulter l'heure
# date

 

##### Planifier des Tâches avec CRON  #######

 

-- Editer le fichier
# nano /etc/crontab
et ajouter vos lignes :
par exemple, lancer un script php toutes les minutes :
* * * * * www-data /usr/bin/php5-cgi -f /var/www/monsite/monfichier.php
par exemple, lancer un script à 5h17 tout les matin :
17 5 * * * root /bin/bash /monchemin/monscript.sh
par exemple, mettre à l'heure tout les heures :
*/15 * * * * root ntpdate ntp.ubuntu.com
(pour avoir le serveur à l'heure car c'est un peu n'importe quoi avec VMware et XP, pas utile sinon, ça surcharge les serveurs de temps inutilement).

 

remarques :
- Par défaut sur la Debian (etch), le log de cron n'est pas activés. il faut éditer /etc/syslog.conf et decomenter cette ligne : "cron.* -/var/log/cron.log". Sauvez et quittez, puis créez le fichier avec "nano /var/log/cron.log", redémarrez le processus syslog avec "/etc/init.d/sysklogd restart".
- Attention aux droits des fichiers pour executer et pour ecrire dedans (faire un chmod).

 


#####  Sauvegardes avec RSYNC #####

 

-- Installer du paquet :
# apt-get install rsync
--et créer, par exemple, un scripte de sauvegarde :
# nano /srv/data/backup/sauvegarde.sh

#!/bin/bash

 

#copie des fichier de configuration :
rsync /etc/lighttpd/lighttpd.conf /backup/lighttpd.conf
rsync /etc/php5/cgi/php.ini       /backup/php.ini
rsync /etc/hosts                  /backup/hosts
rsync /etc/munin/munin.conf       /backup/munin.conf
rsync /etc/munin/munin-node.conf  /backup/munin-node.conf
rsync /etc/crontab                /backup/crontab
rsync /etc/syslog.conf            /backup/syslog.conf

 

#copie des fichiers de données :
rsync -a -l -p -o -g -t --delete --force /var/www /backup/

 


---------------------------------------------------------------------------------------------------------

 

UBUNTU + APACHE2 + PHP5 + MYSQL+ phpmyadmin + proftpd

 
  • Les répertoires /www et /mysql seront déplacer sous /home (ce n'est pas obligatoire, c'est juste par commodité).
  • "toto" est l'utilisateur définis à l'installation de Ubuntu.


##### Installation de ubuntuserver 8.04.1 amd64 avec LAMP et Samba
#mettre à jour tous les paquets installés vers les dernières versions.

sudo apt-get upgrade

 

##### Déplacement www #######

sudo mv /var/www /home/www
sudo ln -s /home/www /var/www
sudo /etc/init.d/samba stop

 
##### changement droit et propriétaire /home/www

sudo chown -R root.toto /home/www
sudo chmod -R 775 /home/www

 

##### Déplacement mysql #######
# arreter Mysql

sudo /etc/init.d/mysql stop

# deplacer le repertoire :

sudo mv -v /var/lib/mysql /home/mysql

# faire un lien symbolique :

sudo ln -s /home/mysql /var/lib/mysql

# modifier le fichier /etc/apparmor.d/usr.sbin.mysqld

sudo nano /etc/apparmor.d/usr.sbin.mysqld

# et remplacer

/var/lib/mysql/ r,  --> /home/mysql/ r,
/var/lib/mysql/** rwk, --> /home/mysql/** rwk,

# recharger la liste des profils pour apparmor :

sudo invoke-rc.d apparmor reload

 

##### Configuration de samba : #####

sudo /etc/init.d/samba stop
sudo nano /etc/samba/smb.conf


----------le fichier smb.conf----------

Code :
  1. ####### Browsing/Identification #######
  2. workgroup = nom de votre groupe de travail
  3. server string = nom du serveur
  4. dns proxy = no
  5. host allow = adresses ip des pc qui ont accès aux fichiers
  6. log file = /var/log/samba/log.%m
  7. max log size = 1000
  8. syslog = 0
  9. ####### Authentication #######
  10. security = user
  11. encrypt passwords = true
  12. invalid users = root
  13. unix password sync = yes
  14. passwd program = /usr/bin/passwd %u
  15. passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
  16. pam password change = yes
  17. map to guest = bad user
  18. ########## Domains ###########
  19. ########## Printing ##########
  20. ############ Misc ############
  21. socket options = TCP_NODELAY
  22. usershare allow guests = no
  23. #======================= Share Definitions =======================
  24. [www]
  25. comment = dossier www
  26. path = /home/www
  27. available = yes
  28. browseable = yes
  29. public = no
  30. writable = yes
  31. valid users = toto
  32. create mask = 0775
  33. directory mask = 0775
  34. [toto]
  35. comment = dossier home de l'utilisateur toto
  36. path = /home/toto
  37. available = yes
  38. browseable = yes
  39. public = no
  40. writable = yes
  41. valid users = toto
  42. create mask = 0770
  43. directory mask = 0770

# redémarrer samba

sudo /etc/init.d/samba start

-> vous pouvez alors tester votre partage dans windows.

 


##### Configuration/Sécurisation de Apache2 : #######

sudo nano /etc/apache2/apache2.conf

ajouter ServerName 127.0.0.1 sous ServerRoot "/etc/apache2"
Modifier "ServerSignature On" en "ServerSignature Off"
Modifier "ServerTokens Full" en "ServerTokens Prod"

 


##### securiser /var/www #######

sudo nano /etc/apache2/sites-available/default


----------le fichier default----------,

Code :
  1. NameVirtualHost *:80
  2. <VirtualHost *:80>
  3. ServerAdmin toto@toto.com
  4. DocumentRoot /var/www/
  5. <Directory />
  6.  Options FollowSymLinks
  7.  AllowOverride None
  8. </Directory>
  9. <Directory /var/www/>
  10.  Options Indexes FollowSymLinks MultiViews
  11.  AllowOverride None
  12.  Order Allow,Deny
  13.  Allow from all
  14. </Directory>
  15. ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
  16. <Directory "/usr/lib/cgi-bin">
  17.  AllowOverride None
  18.  Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
  19.  Order allow,deny
  20.  Allow from all
  21. </Directory>
  22. ErrorLog /var/log/apache2/error.log
  23. # Possible values include: debug, info, notice, warn, error, crit,
  24. # alert, emerg.
  25. LogLevel warn
  26. CustomLog /var/log/apache2/access.log combined
  27. ServerSignature Off
  28.     Alias /doc/ "/usr/share/doc/"
  29.     <Directory "/usr/share/doc/">
  30.         Options Indexes MultiViews FollowSymLinks
  31.         AllowOverride None
  32.         Order Deny,Allow
  33.         Deny from all
  34.         Allow from 127.0.0.0/255.0.0.0 ::1/128
  35.     </Directory>
  36. </VirtualHost>

Enlever ":80" pour que le site ne soit pas accessible de l'extérieur,

 

#redémarrer apache2

sudo /etc/init.d/apache2 start

vous pouvez alors tester votre serveur http en local avec w3m (commande = "w3m http://localhost", sortir du naviqateur avec "q" )

 


##### securiser mysql #######
# démarrer Mysql

sudo /etc/init.d/mysql start
sudo mysql_secure_installation

Si ce n'est pas fait, mettre un mot de passe root, puis répondre valider les choix proposés.

 


##### Installation phpmyadmin #######

sudo apt-get install phpmyadmin

Attention un bug avec OS 64bit (ça empêche l'importation de bases zipées dans phpmyadmin, voir ici http://www.phenix.gapi.fr/forum/vi [...] 22&t=1452), :

sudo nano /usr/share/phpmyadmin/libraries/unzip.lib.php

et remplacer

if(crc32($vZ) != $aP['CRC']) {

     par      

// crc calc for both 32 and 64 bits systems
$crc = crc32($vZ);
if($crc & 0x80000000) {
$crc ^= 0xffffffff;
$crc += 1;
$crc = -$crc;
}
if($crc != $aP['CRC']) {

phpmyadmin sera accessible à la racine de votre site, par exemple http:\\192.168.1.xxx\phpmyadmin\, il faut se logger avec "root" et le mot de passe défini pour mysql (faire "ifconfig", pour connaitre l'ip du serveur sur votre réseau local).

 

Si besoin et capacités, ajouter de la mémoire pour l'execution du php :

sudo nano  /etc/php5/apache2/php.ini


à la ligne 270 mettre :
memory_limite = 64M (16M par defaut)

 


##### Tache cron  ####### (j'ai besoin d'écrire régulièrement dans un fichier par un script php, c'est les 2 dernières lignes, je le fais en local et sur un serveur distant)

sudo nano /etc/crontab


---------- début fichier crontab ----------

Code :
  1. # /etc/crontab: system-wide crontab
  2. # Unlike any other crontab you don't have to run the `crontab'
  3. # command to install the new version when you edit this file
  4. # and files in /etc/cron.d. These files also have username fields,
  5. # that none of the other crontabs do.
  6. SHELL=/bin/sh
  7. PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
  8. # m h dom mon dow user command
  9. 17 * * * * root    cd / && run-parts --report /etc/cron.hourly
  10. 25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
  11. 47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
  12. 52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
  13. * * * * * root php -f /home/www/...........................php
  14. * * * * * root wget http://www...................................php
  15. #


Attention aux droits des fichiers 755 pour executer, 666 pour ecrire dedans (faire un chmod).

 


##### Temps ntp  ####### (pour avoir le serveur à l'heure, car c'est un peu n'importe quoi avec VMware et XP, voir plus loin car ce n'est pas si simple !)

sudo apt-get install ntpdate


et ajouter dans la crontab une demande de mise à l'heure tout les 15 min

*/15 * * * * root ntpdate ntp.ubuntu.com

 

##### Installation des modules supplémentaires php5 ####### ( j'ai mis que la librairie gd et le client php pour l'instant)

sudo apt-get install php5-gd php5-cli

 

##### Installer les vmware tools ####### (je ne sais pas si c'est bien utile en mode console, mais bon...) http://blog-perso.onzeweb.info/200 [...] ls-ubuntu/
Demander l’installation de VMWare Tools via le menu d’administration de VMWare : VM -> Install VMWare Tools…

sudo apt-get update
apt-get install make gcc
apt-get build-essential
apt-get install linux-headers-$(uname -r)

 

mount /media/cdrom0
cd /tmp
tar xzvf /media/cdrom/VM*.tar.gz
cd vmware-tools-distrib
./vmware-install.pl

 

# Répondre aux questions. Normalement toutes les propositions par défaut sont les bonnes, et une simple validation fera l’affaire.
sauf le chemin des C headers qui est : "/lib/modules/<kernel>/build/include" avec uname -r pour connaitre le kernel

 

puis nettoyer avec :

sudo umount /media/cdrom
sudo rm -Rf /tmp/vmware-tools-distrib

 

Si possible, redémarrer le système :

sudo shutdown -r now

 

Voilà, ce n'est peut-être pas top niveau sécurité, mais ça fonctionne.

 

Si vous voulez que le site soit visible de l'extérieur, dans votre routeur (freebox pour moi) rediriger le port 80 sur l'ip de votre machine virtuelle (faire "ifconfig", pour connaitre l'ip et l'adresse mac du serveur).


Message édité par berlo le 26-02-2009 à 17:09:31
Reply

Marsh Posté le 27-11-2008 à 10:54:18   

Reply

Marsh Posté le 27-11-2008 à 11:12:49    

Bonne initiative, mais pourquoi déplacer les répertoires www et mysql dans le /home ? :??:


---------------
Filmstory : gardez trace des films que vous avez vu ! :D
Reply

Marsh Posté le 27-11-2008 à 14:06:35    

eh bien en fait c'était comme ça dans un tuto de ubuntu. c'est pour avoir une partition en dehors du système avec les données. C'est pour pouvoir refaire le système sans tout casser.
Moi j'aime bien séparer système et données perso. Pour les sauvegardes c'est plus simple de faire un ghost d'une partition. Enfin chacun fait comme il veut.

Reply

Marsh Posté le 27-11-2008 à 17:04:34    

Hello,
 
Ton w3m exécuté par le cron, il ne se quitte jamais si tu fais ça, si? Moi je préfère faire un
/usr/bin/php -f /home/chemin/vers/le/fichier.php


---------------
Un proverbe chinois dit que lorsqu'on a rien à dire d'intéressant, on cite généralement un proverbe chinois.
Reply

Marsh Posté le 27-11-2008 à 19:21:52    

salut,

 

j'ai fais la commande top pour voir les processus, w3m apparait toutes les minutes.
J'ai choisi la méthode avec w3m, car j'appelle la même page sur le site distant (enfin celui chez un hebergeur et pour lequel je ne peux faire de cron toutes les minutes).

 

Y'a t'il une commande pour suivre un programme précis ? j'ai pas vu dans les options de top.


Message édité par berlo le 27-11-2008 à 19:22:27
Reply

Marsh Posté le 27-11-2008 à 19:49:20    

Ah bon, étonnant.. Je ne vois pas pourquoi il se quitterait, mais bon tant mieux. Par contre ça veut dire que si je trouve l'URL de ton script je peux le lancer, eh eh :P


---------------
Un proverbe chinois dit que lorsqu'on a rien à dire d'intéressant, on cite généralement un proverbe chinois.
Reply

Marsh Posté le 27-11-2008 à 22:19:44    

Tu peux faire une partition /var/www aussi hein. C'est l'intéret des points de montages.
 
Et pour tes appels de scripts, vaudrait mieux passer par wget/curl.
 
Et si tu as pompé sur le site d'ubuntu autant y aller direct à la source parce que là je vois pas la valeur ajoutée, surtout que tu dis "faites ça ça ça et ça" avec des indications sommaire sur ce que fais la bloc mais sans dire ce que chaque chose fait, ce qui est loin d'être pédagogique :/

Reply

Marsh Posté le 28-11-2008 à 08:48:11    

Ecoutes je@nb, je n'ai pas envie de reproduire les discussions à la con du topic serveur@home ici, il faut un peu étayer vos remarques. Mais en quoi ça dérange de mettre www sous home, que ce soit /var/www ou /home/www moi je vois pas la différence  :??:  et à la limite je la mets ou tu veux du moment que cela présente un avantage pour moi. Si c'est pour dire "c'est comme ça" et "vas lire le manuel", c'est assez sommaire aussi.
 
Je ne connais pas wget/curl, je vais regarder, peux tu en dire plus, qu'est ce que c'est, qu'est ce que ça fait ?
 
J'ai essayé d'avoir des conseils sur votre topic de geeks élitistes ( :wahoo: ) , mais je n'ai jamais eu de réponse, même, on m'a envoyer péter à chaque fois (bonjour le partage et la pédagogie soit dit en passant, c'est pas très valeur ajoutée non plus...). Après, oui, j'ai pompé sur le forum d'ubuntu et d'autres, c'est ce qu'on appelle une "synthèse". Elle vaut ce qu'elle vaut, mais c'est la mienne et je la partage.
 
Comme je l'ai mis dans le premier post, c'est la transcription d'un memo que je me suis fait au fur à mesure de mon apprentissage, c'est pas un cours, c'est sans prétention, c'est pour partager avec les autres et accessoirement faire avancer le smilblick. Je peux corriger au fur à mesure si des choses ne sont pas judicieuses.

Reply

Marsh Posté le 28-11-2008 à 09:13:29    

Perso j'ai aussi mis mon répertoire www dans mon home, pour ne pas avoir de problèmes de droits quand j'upload des fichiers en FTP. Ensuite, /var/www est un lien symbolique vers /home/utilisateur/www.
C'est vrai que c'est loin d'être la meilleure solution mais j'avais fait comme ça et maintenant c'est un peu tard pour changer :p


---------------
Un proverbe chinois dit que lorsqu'on a rien à dire d'intéressant, on cite généralement un proverbe chinois.
Reply

Marsh Posté le 28-11-2008 à 09:31:14    

moi ce que je voudrais savoir c'est surtout en quoi ça dérange ? c'est juste pour mettre sur une partition séparée. J'ai la partition /home qui contient les répertoires suivants www mysql toto.
 
Par ailleurs j'ai regardé wget et curl, ils sont plus présentés comme des utilitaire de téléchargement !!!? c'est pas ce qui m'intéresse.
 
Je viens de voir que je@nb est modo. ça fait plaisir d'être encouragé par la modération ! si ça continu je vais aller participer et faire vivre d'autre forums, car HFR ça commence à me saouler ! c'est n'importe quoi !

Reply

Marsh Posté le 28-11-2008 à 09:31:14   

Reply

Marsh Posté le 28-11-2008 à 09:47:18    

ruliane -> comment je peux monitorer w3m ?

Reply

Marsh Posté le 28-11-2008 à 09:52:40    

berlo a écrit :

moi ce que je voudrais savoir c'est surtout en quoi ça dérange ? c'est juste pour mettre sur une partition séparée. J'ai la partition /home qui contient les répertoires suivants www mysql toto.


Ben je ne pense pas que ça dérange vraiment, c'est juste pas utile... Après peut-être qu'il y a des problèmes liés à la sécurité. Je ne vois pas trop.
 

Citation :

Par ailleurs j'ai regardé wget et curl, ils sont plus présentés comme des utilitaire de téléchargement !!!? c'est pas ce qui m'intéresse.


Le but de ton cron c'est juste d'exécuter un script à distance non? Dans ce cas effectivement des outils comme wget sont beaucoup plus léger et largement suffisants. w3m est quand même un navigateur! Il interprète les pages, les affiche, ...
 

Citation :

Je viens de voir que je@nb est modo. ça fait plaisir d'être encouragé par la modération ! si ça continu je vais aller participer et faire vivre d'autre forums, car HFR ça commence à me saouler ! c'est n'importe quoi !


Et je me passerai volontiers de vos chamailleries.


---------------
Un proverbe chinois dit que lorsqu'on a rien à dire d'intéressant, on cite généralement un proverbe chinois.
Reply

Marsh Posté le 28-11-2008 à 10:00:36    

1/ Modo ou pas, je poste en tant que Je@nb et pas en tant que modo que je sache. fred45 est modo aussi.
 
Perso ça me dérange pas que tu déplaces ces rep. C'est juste que l'argument "je veux une partition séparée" bah ça tiens pas la route. Tu montes une partition sur le point de montage que tu veux. Perso je vois aucun intéret à déplacer ce rep standard.
 
Quant à wget et curl, le premier sert à télécharger, le 2ème à faire des requêtes HTTP. Dans les 2 cas tu peux rediriger vers /dev/null. Et ton w3m il fait pareil, il télécharge ta page et en plus c'est un navigateur...

Reply

Marsh Posté le 28-11-2008 à 10:46:30    

ouai bah pour des modos (ou pas), c'est pas terrible votre comportement... bref...., ruliane désolé pour les chamailleries, mais j'ai déjà donné sur le topic serveur@home, et j'ai pas envie que ça recommence ici alors que je me crève le cul a participer au forum en faisant un tuto (même si il n'est pas intéressant).
 
j'ai l'habitude de faire des ghosts, et c'est bien plus simple de sauvegarder une partition physique. c'est pour ça, mais franchement ça ne me semble vraiment pas bien important si ça ne cause pas de pb de sécurité supplémentaire.
 
En fait, j'appelle un script php, qui va ouvrir un fichier sur le site (c'est dans le même répertoire d'ailleurs) et écrire dedans puis le fermer. Plus tard ce script devra également parcourir des répertoires pour trouver les nouveaux fichiers déposés par ftp et ranger les données dans la base mysql. je procéderai peut-être autrement, pour l'instant je ne sais que faire comme ça.
 
Ok pour curl, ça me semble plus leger.
 
et pour le monitoring ?
 

Reply

Marsh Posté le 28-11-2008 à 11:00:27    

berlo a écrit :

j'ai l'habitude de faire des ghosts, et c'est bien plus simple de sauvegarder une partition physique. c'est pour ça, mais franchement ça ne me semble vraiment pas bien important si ça ne cause pas de pb de sécurité supplémentaire.

On te dit pas de pas faire de partition, on te dit simplement que c'est con de "déplacer" un dossier de ce type juste pour ça alors que tu pourrais directement faire un point de montage à ce niveau (/var/www ou /var) [:cerveau spamafote]
 
 

berlo a écrit :

En fait, j'appelle un script php, qui va ouvrir un fichier sur le site (c'est dans le même répertoire d'ailleurs) et écrire dedans puis le fermer. Plus tard ce script devra également parcourir des répertoires pour trouver les nouveaux fichiers déposés par ftp et ranger les données dans la base mysql. je procéderai peut-être autrement, pour l'instant je ne sais que faire comme ça.

Si le script php est lui-même sur le serveur, aucun intérêt de lancer une requête distante... php-cli est ton ami ;)

Reply

Marsh Posté le 28-11-2008 à 11:20:25    

"point de montage" ça ne me parle pas beaucoup, je ne sais pas faire.
 
Oui j'avais essayé php-cli, mais ça ne fonctionnait pas, j'avais pas du bien écrire la commande.
En fait il me faut php-cli pour appeler le script local et curl pour appeler le script distant.

Reply

Marsh Posté le 28-11-2008 à 11:22:14    

berlo a écrit :

"point de montage" ça ne me parle pas beaucoup, je ne sais pas faire.


C'est pourtant exactement ce que t'as fait pour ton /home [:cerveau spamafote]

Reply

Marsh Posté le 28-11-2008 à 13:29:22    

pour le home, j'ai définis une partition primaire à l'install, c'est ça ?
 
si j'avais fait la même chose pour /var j'aurais eu une partition supplémentaire et donc moins de flexibilité pour l'espace disque ?

Reply

Marsh Posté le 28-11-2008 à 13:48:44    

par contre pour la mise a l'heure par un serveur de temps, ça ne fonctionne pas bien... j'ai remis le bios à l'heure et 2 minutes plus tard je retrouve un décalage de 10-12 minutes  :??:  bizarre

Reply

Marsh Posté le 01-12-2008 à 11:03:33    

pour la mise à l'heure du serveur, le bug subsiste :
 
j'ai trouvé plusieurs pistes :
- modifier grub : ajouter notsc à la fin de la ligne kernel
- modifier le fichier config.ini  (dans le dossier document ans setting/all users/application data/vmware/vmware server)

 host.cpukHz = 2100000
  host.noTSC = TRUE
  ptsc.noTSC = TRUE

- Avec les VM tools en ajoutant des lignes dans le fichier .vmx de votre serveur.

time.synchronize.tools.enable = "TRUE"
tools.syncTime = "TRUE"


en dernier recours :
- en appelant régulièrement le serveur de temps (ntp)
 
Pour l'instant j'ai fait les 3 premiers à vérifier sur la durée..

Reply

Marsh Posté le 05-02-2009 à 14:22:02    

point de montage sur linux = partition sous windows non?

Reply

Marsh Posté le 05-02-2009 à 15:10:19    

non pas tout a fait, c'est plus une notion de "raccourci"
 
"Notion de point de montage
Les fichiers d'un système UNIX sont organisés dans une arborescence unique. Il est toutefois possible d'avoir plusieurs partitions grâce à un mécanisme appelé montage, permettant de raccorder une partition à un répertoire de l'arborescence principale. Ainsi le fait de monter une partition dans le répertoire /mnt/partition rendra l'ensemble des fichiers de la partition accessible à partir de ce répertoire, appelé «point de montage»".
 
vu ici :
http://www.commentcamarche.net/con [...] iers.php3.
 
perso je ne fais plus de partition, pour l'instant ce n'est pas utile. je mets juste le repertoire de données de  mysql dans "/var/www/" pour avoir toutes les données "web" au même endroit

Reply

Marsh Posté le 05-02-2009 à 15:13:42    

[:vomi]

Reply

Marsh Posté le 05-02-2009 à 15:14:42    

berlo a écrit :

non pas tout a fait, c'est plus une notion de "raccourci"
 
"Notion de point de montage
Les fichiers d'un système UNIX sont organisés dans une arborescence unique. Il est toutefois possible d'avoir plusieurs partitions grâce à un mécanisme appelé montage, permettant de raccorder une partition à un répertoire de l'arborescence principale. Ainsi le fait de monter une partition dans le répertoire /mnt/partition rendra l'ensemble des fichiers de la partition accessible à partir de ce répertoire, appelé «point de montage»".
 
vu ici :
http://www.commentcamarche.net/con [...] iers.php3.
 
perso je ne fais plus de partition, pour l'instant ce n'est pas utile. je mets juste le repertoire de données de  mysql dans "/var/www/" pour avoir toutes les données "web" au même endroit


[:prozac] AUCUN intérêt de faire ça. Et même problèmes de sécurité possible :/


---------------
Filmstory : gardez trace des films que vous avez vu ! :D
Reply

Marsh Posté le 05-02-2009 à 15:56:04    

Je n'ai pas tout dis. Il faudrait que je refasse la première partie.
 
En fait c'est comme ça :
var/www/monsite1/  -> fichier du site web n°1.
var/www/mysql/      -> fichier de la BD
var/www/sessions/ -> stockage des sessions
var/www/munin/    -> le dossier de munin
 
plutôt que critiquer, vous voulez pas mettre vos connaissances en commun et fabriquez le tuto d'une belle installation d'un serveur debian, rapide et bien sécurisé. Car c'est ce que tout le monde recherche finalement.

Reply

Marsh Posté le 05-02-2009 à 17:36:16    

alexis de lattre, debian-administration, il y en a 10 000 des tutos

Reply

Marsh Posté le 05-02-2009 à 18:25:16    

et alors ? ça aurait ça place sur HFR.
 
Un petit tuto en quelques lignes comme le mien pour débuter c'est pas facile à trouver et ce n'est pas sur les sites que tu mentionnes (ou alors je n'ai pas trouvé).

Reply

Marsh Posté le 05-02-2009 à 19:47:49    

berlo a écrit :

non pas tout a fait, c'est plus une notion de "raccourci"
 
"Notion de point de montage
Les fichiers d'un système UNIX sont organisés dans une arborescence unique. Il est toutefois possible d'avoir plusieurs partitions grâce à un mécanisme appelé montage, permettant de raccorder une partition à un répertoire de l'arborescence principale. Ainsi le fait de monter une partition dans le répertoire /mnt/partition rendra l'ensemble des fichiers de la partition accessible à partir de ce répertoire, appelé «point de montage»".
 
vu ici :
http://www.commentcamarche.net/con [...] iers.php3.
 
perso je ne fais plus de partition, pour l'instant ce n'est pas utile. je mets juste le repertoire de données de  mysql dans "/var/www/" pour avoir toutes les données "web" au même endroit


 
Et t'as définit /var/www/ comme DocumentRoot ??

Reply

Marsh Posté le 05-02-2009 à 19:53:10    

J'espère pas :/

Reply

Marsh Posté le 05-02-2009 à 23:06:57    

non quand même pas !
c'est var/www/monsite1/ pour l'instant.
(j'ai pas essayé encore les "virtual host" )

Reply

Marsh Posté le 17-02-2009 à 18:34:18    

J'ai remis la partie Debian à jour

Reply

Marsh Posté le 18-02-2009 à 22:47:47    

hop !  
 
 [:cerveau drapal]


---------------
Why not ?
Reply

Marsh Posté le 19-02-2009 à 12:58:38    

[:michrone]

Reply

Marsh Posté le 23-02-2009 à 12:46:34    

J'ai un pb bizarre avec proftpd
 
le chroot ne fonctionne pas sur la VM chez Gandi, mais fonctionne très bien sur ma VM chez moi.
Pourtant c'est la même installation ...
 
les utilisateurs définis dans la base de données et qui ne sont pas des utilisateurs déclarées dans l'OS n'arrivent plus à ce connecter par FTP.
 
Le log de proftpd me dit :


 : FTP session opened.
 : PAM(user1): User not known to the underlying authentication module.
 : USER user1: Login successful.
 : notice: unable to use '~/' [resolved to '/var/www/user/user1/']: Permission denied$
 : Preparing to chroot to directory '~/'
 : user1 chroot("~/" ): No such file or directory
 : error: unable to set default root directory


 
et sur la VM à la maison avec le même fichier de configuration proftpd.conf et la même base de données ça fonctionne !?

Reply

Marsh Posté le 23-02-2009 à 12:56:10    

tips : notice: unable to use '~/' [resolved to '/var/www/user/user1/']: Permission denied$ :o

Reply

Marsh Posté le 23-02-2009 à 14:22:43    

tu veux me faire comprendre quoi au juste la ?

Reply

Marsh Posté le 23-02-2009 à 14:24:26    

Problème de droits [:spamafoote]


---------------
Filmstory : gardez trace des films que vous avez vu ! :D
Reply

Marsh Posté le 23-02-2009 à 14:31:51    

j'ai fais un chmod 777 -R  sur le dossier /var/www/user/ ça n'a rien changé.

Reply

Marsh Posté le 23-02-2009 à 14:52:19    

C'est très intelligent ça ...

Reply

Marsh Posté le 23-02-2009 à 15:03:19    

c'est juste pour tester ...

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed