Bonjour,
Ce matin, j’ai un serveur web Ă mettre ne place, j’ai le temps, alors, je vais basiquement retranscrire ce que je fais sur cette article.  Le serveur Ă©tant dĂ©jĂ en production sur d’autres applications, je ferai quelque chose concernant la la mise en place de base plus tard ;)
Pour cette aide, on admettra que l’ip du serveur est 10.10.10.101
Etape s :
- Mises Ă jours
- Installation des packets & test
- Configuration Apache2
- Le reste
1 Mises Ă jours
Comme un serveur doit ĂŞtre Ă jour, on fait simplement :
1 2 3 |
aptitude update #Récupère la liste des mises à jour aptitude safe-upgrade #Effectue les mises à jour des packets déjà installé aptitude dist-upgrade #Similaire à safe upgrade, il arrive que cette procédure installe de nouveaux packets |
2 Installation des packet
1 |
aptitude install apache2 php5 mysql-server phpmyadmin proftpd |
Oui, on met apache2, faut pas dĂ©conner non plus, les hĂ©bergeur qui tournent sur apache1… Bah, il en reste, comme MH (enfin, je m’arrĂŞte lĂ avant que ça tourne au dĂ©montage d’hoster !)
Durant cette Ă©tape, on vous demandera le mot de passe root de MySQL, choisissez en un solide. Pour contrĂ´ler que ça s’est bien dĂ©roulĂ©, on ouvre un explorateur quelconque et on entre l’ip, normalement, on doit tomber sur “It Works !”.
De mĂŞme, pour phpMyAdmin, on rentre http://10.10.10.101/phpmyadmin, on en profite aussi pour tester le compte root de MySql.
On test également php, comme on est connecté en ssh, ne nous prenons pas la tête, faites ce qui suit :
1 2 3 4 5 |
touch /var/www/info.php && vi /var/www/info.php <?php phpinfo($_GET['x']); ?> # :wq |
Dans l’ordre, on a crĂ©er un fichier info.php dans le rĂ©pertoire /var/www/ (rĂ©pertoire web par dĂ©faut), et on l’Ă©dite avec vi. On y a mis le contenu (php) puis on a sauvegardĂ© et quittĂ©. Maintenant, il faut aller sur http://10.10.10.101/info.php?x=-1 et on regarde un peu les variables, ce qui est installĂ©, ce qui ne l’est, ce qui manque en fonctionne des contraintes et besoin des applications qui seront dĂ©ployĂ©e sur le serveur.
Nota : Pourquoi  pas phpinfo(QuelqueChose) ?
C’est propre Ă chacun, personnellement, dans beaucoup de cas, je veux juste telle ou telle variable de php sans pour autant me taper tout le reste, je dĂ©fini donc x en fonction de ce que je veux voir.
-1 (ou INFO_ALL)Â Â Affiche TOUT ^^
1 (ou INFO_GENERAL) Le chemin vers le php.ini, date de compilation, le serveur, le systèmes, que du général
2 (ou INFO_CREDITS) Les crĂ©dits (lĂ , je dois dire, qu’on s’en fiche complètement, pas le temps de faire du tourisme social
4 (ou INFO_CONFIGURATION)Â Les valeurs et directives courantes, voir aussi ini_get()
8 (ou INFO_MODULES)Â Les modules et leur configuration.
16 (ou INFO_ENVIRONMENT)Â L’environnement, toutes les $_ENV
32 (ou INFO_VARIABLES) Les variables prédéfinies, des méthodes GET et POST, les cookies (non, lâches cette gamelle de suite !) et le serveur.
64 (ou INFO_LICENSE) Affiche la licence, comme c’est votre première (si vous ĂŞtes sur cet article, ce n’est pas parce que vous ĂŞtes admin sys :p)
Pour ceux qui savent compter, ça fait : -1 1 2 4 6 8 16 32 64 (mais c’est quoi ?! hum hum ^^)
3 Configuration d’Apache
Ici, Marc a déjà pondu un bon article, je vous laisse donc entre ses mains :
Hey, ne me regardez pas comme ça, ses mains sont lĂ … Mais non ici :
Linux : Mise en place d’un serveur web (2) by Marc
Maintenant que vous avez configurer apache, on y retourne… avec les mods. Apache est une plateforme libre et fonctionnelle, ce qui implique que beaucoup de dĂ©veloppeurs gravitent autour et produisent des amĂ©liorations, gĂ©nĂ©ralement des mods. Ces derniers peuvent avoir diffĂ©rentes fonctionnalitĂ©, par exemple BW permet de limiter la bande passante sur un VHost, qui peut ĂŞtre couplĂ© avec CBand qui limite la bande passante par utilisateur  etc… A vous de chercher, avant de vous lacher comme ça, je vous dis quand mĂŞme comment activer/dĂ©sactiver un mod :
1 2 3 4 5 6 |
a2enmod <modName> a2enmod <modName> # ça veut dire : Apache2 Enable Mod et Apache2 Disable Mod ;) # de base, vous avez ça de disponible (à date de l'article bien entendu) a2enmod #tab tab Your choices are: actions alias asis auth_basic auth_digest authn_alias authn_anon authn_dbd authn_dbm authn_default authn_file authnz_ldap authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cern_meta cgi cgid charset_lite dav dav_fs dav_lock dbd deflate dir disk_cache dump_io env expires ext_filter file_cache filter headers ident imagemap include info ldap log_forensic mem_cache mime mime_magic negotiation php5 proxy proxy_ajp proxy_balancer proxy_connect proxy_ftp proxy_http rewrite setenvif speling ssl status substitute suexec unique_id userdir usertrack version vhost_alias |
4 Le reste
Je n’ai toujours pas reparler de ProFTPd, et c’est normal puisqu’en l’installant comme ça, tous les comptes utilisateurs du serveur vont bĂ©nĂ©ficiĂ© un compte ftp (avec leur login et mot de passe) et d’un accès Ă leur rĂ©pertoire /home/$userName/ dans lequel ils pourront polluer (pardon, peupler) le serveur !
Plus tard… Quand j’en aurai le courage, je passerai sur les points suivants :
- Configuration d’un serveur Debian (fail2ban, ssh, iptables…)
- .bashrc
- Optimisation MySQL
- Postfix (même si je pense plutôt vous donner des adresses de gens qui ont déjà pondu des merveilles de tutos !)
- RoundCube (le webmail)
- Scripts de backup
- et… bah, je verrai !
Ps : Cet article est un premier jet, au matin, donc, il y a certainement des erreurs, des oublis, faites moi savoir dès que vous en trouverez un (oui, je suis sĂ»r qu’il y en a !)
En fait, je n’ai pas vraiment Ă©crit ce que je faisais, je me suis laissĂ© aller sur l’Ă©criture de ce truc… LĂ , je vais l’installer :p
I think this is one of the most vital info for me. And i am glad reading your article. But want to remark on some general things, The site style is great, the articles is really great : D. Good job, cheers
Great blog. I enjoy reading your blogs. Thanks :-)
Thank you for posting this info. It’s totally good start for my new website. Please keep posting articles like this.