-> Topic Serveurs@home pour les nuls - Tutoriels - Réseaux grand public / SoHo
Marsh Posté le 27-11-2008 à 11:12:49
Bonne initiative, mais pourquoi déplacer les répertoires www et mysql dans le /home ?
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.
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
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.
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
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
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 ( ) , 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.
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
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 !
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.
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...
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 ?
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)
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
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.
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
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 ?
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
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 |
- Avec les VM tools en ajoutant des lignes dans le fichier .vmx de votre serveur.
time.synchronize.tools.enable = "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..
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
Marsh Posté le 05-02-2009 à 15:14:42
berlo a écrit : non pas tout a fait, c'est plus une notion de "raccourci" |
AUCUN intérêt de faire ça. Et même problèmes de sécurité possible
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.
Marsh Posté le 05-02-2009 à 17:36:16
alexis de lattre, debian-administration, il y en a 10 000 des tutos
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é).
Marsh Posté le 05-02-2009 à 19:47:49
berlo a écrit : non pas tout a fait, c'est plus une notion de "raccourci" |
Et t'as définit /var/www/ comme DocumentRoot ??
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" )
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 :
|
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 !?
Marsh Posté le 23-02-2009 à 12:56:10
tips : notice: unable to use '~/' [resolved to '/var/www/user/user1/']: Permission denied$
Marsh Posté le 23-02-2009 à 14:24:26
ReplyMarsh 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é.
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 :
# 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
##### 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----------
# 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----------,
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 ----------
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