JeuWeb - Crée ton jeu par navigateur
Serveur dédié ? Quelle distribution ? - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Serveur dédié ? Quelle distribution ? (/showthread.php?tid=5006)

Pages : 1 2 3 4 5


RE: serveur dédié? quelle distrib? - jldbaro - 01-10-2010

Moi, perso, j'ai deux serveurs chez ovh. Avec debian lenny et ispconfig comme contrôleur web...

Il faut pas trop se casser la tête la configuration des sites se fait directement via leur panel etc...

Mais il te faudra toujours des connaissances plus approfondies en linux pour te lancer pleinement.

Ex: Adapter la mémoire mysql a tes requêtes et taille de BD etc...


RE: serveur dédié? quelle distrib? - php_addict - 25-03-2011

salut

je reviens sur mon topic car ca y est j'ai installé LAMP , linux apache2 mysql et php5, sur un vieux i386

je me suis servi du tuto: http://olange.developpez.com/articles/debian/installation-serveur-dedie/

par contre je vais galérer à configurer apache 2 , bind 9, etc...car je trouve ce tuto pas très clair sur ce point, il dit comment faire mais il n'explique rien...

car sites-available , sites-enable etc...

auriez vous un lien vers un tuto qui explique comment configurer apache sur linux pour y heberger plusieurs site internet et qui expliquerait clairement les choses ?

bonne journée


RE: serveur dédié? quelle distrib? - niahoo - 25-03-2011

Alors deja bind c'est un serveur DNS donc tu n'en a pas besoin. (enfin si, mais tout marchera bien sans l'installer)

Avec la commande « tail /etc/apache2/apache2.conf » tu devrais normalement voir ça:
Code :
# Include of directories ignores editors' and dpkg's backup files,
# see README.Debian for details.

# Include generic snippets of statements
Include /etc/apache2/conf.d/

# Include the virtual host configurations:
Include /etc/apache2/sites-enabled/[^.#]*

La dernière ligne indique que apache, au démarrage, va aussi lire les fichiers de config qui sont dans le dossier /etc/apache2/sites-enabled ; c'est une expression régulière.

Jusque là, tout va bien. La subtilité est que ce dossier sites-enabled ne contient pas des fichiers de config mais des liens vers des fichiers de config qui sont dans 'sites-available'.

(au cas où: available=disponible, enabled=activé)

Donc en gros tu configure tes virtual hosts dans site available, et quand tu veux que apache les prenne en compte, tu mets un lien vers eux dans sites-enabled.

Pour créer un virtual host généralement je copie celui par défaut. (edit bon en fait non mais j'en copie un qui me sert de modèle)

Code :
cp /etc/apache2/sites-available/default /etc/apache2/sites-available/exemple-php_addict

ensuite, tu édites ce nouveau fichier. Clairement tu peux tout supprimer si tu ne connais pas, et te retrouver avec un truc genre ça: (mais il faudra apprendre à utiliser le reste des directives)

Code :
<VirtualHost *:80>

        ServerName nom-de-domaine-de-ton-site.com # <-- penses à ajouter ça
        # tu indiques la racine de ton site
        DocumentRoot /web/racine/de/ton/site/www
        # Tu décris des options pour ce dossier.
        # Tu peux le faire pour tout dossier de ton ordi, logiquement qui seront des sous-dossiers du dossier racine
        <Directory /web/racine/de/ton/site/www>
                Options Indexes FollowSymLinks MultiViews # <-- voir la doc apache. ici ont est clairement dans un environnement de dev et pas en production
                AllowOverride All # <-- all permet de 'overrider' (redéfinir, surcharger, etc..) les options ici présentes dans des .htaccess
                Order allow,deny # <-- se renseigner là dessus. dans cet ordre, on est interdit d'accès par défaut, sauf règle contraire.
                allow from all # <-- voilà la règle contraire, ici elle autorise tout le mode à passer
        </Directory>

Ya des trucs à changer en production …

voila après il faut dire à ton ordi que le host concerné est hébergé en local. (ou alors installer bind)
Pour ce faire, tu ajoutes une ligne au fichier hosts.
Code :
echo "127.0.0.1 nom-de-domaine-de-ton-site.com" > /etc/hosts
Tu peux consulter le fichier ainsi modifié:
Code :
cat /etc/hosts

Ensuite, ajouter un lien vers ton site configuré pour que apache le prenne en compte dans sites-enabled vers sites-available
Code :
ln -s /etc/apache2/sites-available/exemple-php_addict /etc/apache2/sites-enabled/exemple-php_addict

le '-s' signifie qu'on fait un lien symbolique. je sais pas si c'est obligatoire.

pour 'voir' les liens:
Code :
ls /etc/apache2/sites-enabled -l

relancer apache
Code :
/etc/init.d/apache2 restart



RE: serveur dédié? quelle distrib? - Sephi-Chan - 25-03-2011

Je ne connais pas de tel tutorial. L'apprentissage de l'administration système se fait souvent pas à pas, sur le terrain.

Par exemple, tu as dû lire que pour héberger plusieurs sites avec Apache, on utilisait les Virtual Hosts. Tu as d'ailleurs dû lire ce terme dans le fichier de configuration d'Apache (/etc/apache2/apache2.conf, ou parfois httpd.conf), sous forme de commentaires.
En plus de ces commentaires très instructifs (à lire, quitte à ne pas tout comprendre), la documentation de Apache est plutôt bonne et est même disponible en français si tu galères à lire l'anglais (exemple : Documentation sur les serveurs virtuels Apache).

Tu cites les répertoires sites-available et sites-enabled de Apache, mais l'article que tu nous présente traite plutôt bien le sujet.

Le répertoire sites-available contient des fichiers de configuration d'Apache propre à chaque site hébergé sur le serveur.
Le répertoire sites-enabled contient des liens symboliques vers les fichiers dans sites-available, ce qui permet de mettre rapidement un site hors ligne (en supprimant le lien) sans pour autant supprimer le fichier de configuration (celui-ci reste intact dans sites-available).

Pour bien organiser son travail, on crée un fichier de configuration par site hébergé. Par convention, on le nomme souvent d'après le nom d'hôte du site. Par exemple sur le serveur que je loue et qui héberge JeuWeb, j'ai un fichier /etc/apache2/sites-available/jeuweb.org.conf qui contient quelque chose comme :


<VirtualHost *:80>
ServerName jeuweb.org
DocumentRoot /home/jeuweb/public_html
</VirtualHost>

<VirtualHost *:80>
ServerName wiki.jeuweb.org
DocumentRoot /home/jeuweb/public_html/wiki
</VirtualHost>

Et dans notre dossier /etc/apache2/sites-enabled, on a un lien symbolique :

Citation :jeuweb.org.conf -> /etc/apache2/sites-available/jeuweb.org.conf

Tu peux créer/détruire ce lien à la main en créant un lien symbolique (symlink) :


$ cd /etc/apache2/sites-enabled
$ ln -s /etc/apache2/sites-available/jeuweb.org.conf jeuweb.org.conf

Ou utiliser la commande a2ensite jeuweb.org.conf (pour "add to enabled sites", qui crée le lien) ou a2dissite jeuweb.org.cong (pour "add to disabled site", qui détruit le lien).


Sephi-Chan


RE: serveur dédié? quelle distrib? - niahoo - 25-03-2011

ah tiens sympa a2ensite !

sinon je me suis fait ce script *SUPER À L'ARRACHE*


#/usr/bin/bash

## Version pour apache


## Configuration du script
## --------------------------------------------------

## Ce script peut contenir des informations sensibles
## protégez-en l'accès

## Server user
serveruser=www-data

## Dossier ou sont stockés les virtual hosts d'apache
vhdir=/etc/apache2/sites-available

## Dossier ou sont liés les virtual hosts activés
vhenabledir=/etc/apache2/sites-enabled

## Fichier des hosts
hostsfile=/etc/hosts

## Dossier parent du dossier racine du site
rootbase=/web

## Commande pour mysqladmin
cmd_mysqladmin=/usr/bin/mysqladmin

## Commande pour mysql
cmd_mysql=/usr/bin/mysql
## --------------------------------------------------

echo "Création d'un site de développement"
echo -n "Identifiant du site (atom): "
read login;

echo -n "Nom du domaine: "
read domain;


echo
echo "Domaine : $domain"
echo "Compte : $login"
echo -n "Est-ce correct ? (o/[n]) "
read ans
if [ _$ans != _o -a _$ans != _O ]
then
echo "Interrompu" ; exit
fi

echo "Création du fichier virtual hosts"
echo "
<VirtualHost *:80>
ServerName $domain
DocumentRoot $rootbase/$login/www
<Directory $rootbase/$login/www/>
AllowOverride All
Order Deny,Allow
Allow from all
</Directory>
</VirtualHost>

" >> $vhdir/$login
chown $serveruser:$serveruser $vhdir/$login -v
chmod 0440 $vhdir/$login -v
echo "Création du fichier ok"
echo "Activation du host par lien symbolique"
ln -s $vhdir/$login $vhenabledir/$login -v
chown $serveruser:$serveruser $vhenabledir/$login -v --no-dereference
echo "ok"

echo "Ajout de l'dresse ip au virtual hosts"
echo "Backup du fichier de hosts vers $HOME/hosts.bak"
cp $hostsfile $HOME/hosts.bak -v
echo "127.0.0.1 $domain" >> $hostsfile
echo "ok"

echo "Création du dossier de base du site"
mkdir $rootbase/$login

mkdir $rootbase/$login/www


echo "Application des droits d'accès aux dossiers"
chown $USER:$serveruser $rootbase/$login -vR
chmod 0770 $rootbase/$login -vR
echo "ok"

echo "Souhaitez vous configurer une base de données mysql ? (o/[n])"
read ansmysql
if [ _$ansmysql != _o -a _$ansmysql != _O ] ; then
echo "Pas de base de données"
else

echo -n "Login mysql pour la création (par exemple root): "
read mysqllogin
echo -n "Password pour $mysqllogin : "
read mysqlpass
echo "Création d'une base de données"
$cmd_mysqladmin -u $mysqllogin -p$mysqlpass create $login
echo "ok"

echo "Création d'un utilisateur"
$cmd_mysql -u $mysqllogin -p$mysqlpass mysql <<ENDTAG
GRANT ALL PRIVILEGES ON $login.* TO "$login"@"localhost" IDENTIFIED BY '$login';
FLUSH PRIVILEGES;
ENDTAG
echo "ok, compte utilisateur mysql: $login, password: $login."
$cmd_mysqladmin -u $mysqllogin -p$mysqlpass reload
echo "compte activé"
fi



echo "
Pensez à redémarrer apache."

edit: tiens, cette ligne devrait planter le truc normalement. pourtant ça marche alors que le fichier n'existe pas.
" >> $vhdir/$login
bon de toute façon ce script est une compile de copier-coller assez hasardeuse.


RE: serveur dédié? quelle distrib? - php_addict - 25-03-2011

merci pour vos explications, ca parraissait clair sur le moment, mais face à ma consoles c'est pas la même...

j'ai compris le principe, et je vais tenter ceci ce script automatisé : http://olange.developpez.com/articles/debian/installation-serveur-dedie/?page=page_7

par contre pour vous quelles sont les configurations à changer entre un serveur de devellopement et un serveur de production ?

PS: pour le moment je n'ai que la page html 'par default' (le fameux "It works")


RE: serveur dédié? quelle distrib? - php_addict - 29-03-2011

alors là il y a comme un mystère...

quand j'essaie de rajouter des lignes dans apache2.conf il se passe un truc etrange...

- j'ouvre apache2.conf avec nano (le fichier fait 7Kb)
- J'ajoutes une ligne (genre DirectoryIndex index.php index.html index.html)
- je sauvegarde

et crac! le fichier fait 34 Kb et ca me plante apache2, j'ai essayer de desinstaller apache2 et de réinstaller rien n'y fait ...ca foire
j'ai donc réinstallé debian et du coup je me suis fais un fichier backup....grrr

je ne comprends pas pourquoi quand je rajoute une pauvre ligne pourrie dans apache2.conf ce fichier passe de 7Kb à 34Kb et me plante tout...

auriez vous une idée ?



RE: serveur dédié? quelle distrib? - Viciousity - 29-03-2011

Encodage ?


RE: serveur dédié? quelle distrib? - php_addict - 05-04-2011

(29-03-2011, 09:21 PM)Viciousity a écrit : Encodage ?

non en fait comme je ne savais pas me servir de nano, j'ai fais le con...:$

maintenant je bloque sur l'instalation d'un service ftp: vsftpd

- j'ai bien installé vsftpd

par contre j'ai eu beau lire tout les tuto sur vsftpd je n'arrive toujours pas à faire ceci:

créer un compte utilisateur ftp qui me permette d'uploader des fichiers (php) dans mon repertoire virtualhost /var/www/monsite.com et si possible sans utiliser de base de donnée berkley

encore un petit coup de pouce svp?

PS: je ne comprends pas pourquoi tout les tutos linux sur les dédiés sont aussi mal fichus, vous avez du pas mal galérer aussi non ???







RE: serveur dédié? quelle distrib? - niahoo - 05-04-2011

heu non j'ai suivi à la lettre et vsftpd marche a merveille Smile

Mais bon je fais tous mes transferts en SFTP…