Il y a quelques semaines, je vous ai montré comment configurer votre propre serveur Linux. Maintenant, je vais vous montrer comment ajouter encore plus
fonctionnalité.
Ce guide suppose que vous avez suivi mon précédent tutoriel, Comment configurer un serveur Web dédié gratuitement, ou
que vous avez déjà configuré un serveur similaire.
Dans ce tutoriel, nous allons:
Ces étapes peuvent être accomplies en étant assis devant l’ordinateur et en tapant sur la console, ou pour ceux qui
vous souhaitez utiliser un serveur sans tête, vous pouvez utiliser SSH. Je l'ai couvert dans mon guide précédent, donc si vous n'êtes pas familier avec
la technologie, rendez-vous là-bas pour commencer à l'utiliser. Maintenant, sans plus tarder, commençons!
Bien qu'il existe de nombreux systèmes de contrôle de version, Subversion est l'un des plus populaires. Subversion vous permet de conserver plusieurs versions de votre code, ce qui vous permet de toujours revenir en arrière si vous avez besoin d'une version précédente..
Nous allons le télécharger!
Tout d'abord, vous devez vous connecter à votre serveur. Je le fais sur SSH, ainsi mes captures d'écran montreront mon terminal:
Maintenant, tapez ceci et appuyez sur Entrée:
sudo aptitude install subversion
Il vous demandera votre mot de passe. tapez-le et appuyez sur Entrée. En outre, il peut vous demander si vous souhaitez continuer, appuyez sur "y" et appuyez sur Entrée.
Votre serveur va maintenant télécharger et installer le serveur Subversion:
Une fois que cela est fait, nous devons le configurer.
Cette partie suivante peut être un peu déroutante. Nous allons créer un nouveau groupe appelé "subversion" qui permettra au serveur Subversion de
écrire en toute sécurité sur vos référentiels sur votre serveur Web, mais rien d’autre. Pour ce faire, entrez les commandes suivantes en remplaçant USERNAME par votre nom d'utilisateur actuel..
sudo addgroup subversion sudo usermod -a -G subversion USERNAME sudo usermod -a -G subversion www-data
Dans l'ordre, ces commandes: ajoutent un nouveau groupe appelé "subversion", ajoutent votre compte d'utilisateur au nouveau groupe et ajoutent l'utilisateur du serveur Web au groupe..
Nous devons maintenant créer un emplacement pour vos référentiels. Techniquement, cela peut être placé n'importe où, mais je le stocke toujours dans / var:
sudo mkdir / var / svn
Enfin, créez le dossier du projet et le référentiel:
sudo mkdir / var / svn / project sudo svnadmin créer / var / svn / project
Et donnez au serveur Web (et à tous les membres du groupe Subversion) un accès:
sudo chown -R www-data: sous-version / var / svn / project sudo chmod -R 770 / var / svn / project
Jusqu'à présent, nous avons créé le groupe Subversion, créé un emplacement pour nos référentiels, créé un nouveau référentiel appelé "projet" et donné au serveur Web l'accès à ce projet..
La dernière chose à faire est de permettre à Apache de servir les référentiels. Pour ce faire, nous devons installer une nouvelle bibliothèque Apache, appelée libapache2-svn. A présent, vous devriez savoir comment
faire ceci:
sudo aptitude installe libapache2-svn
Ensuite, ouvrez le fichier de configuration Apache SVN:
sudo nano /etc/apache2/mods-available/dav_svn.conf
Faites défiler jusqu'en bas et ajoutez ce qui suit:
DAV svn SVNParentPath / var / svn SVNListParentPath sur AuthType Basic AuthName "Subversion" AuthUserFile / etc / subversion / passwd Require un utilisateur valide
Enregistrez le fichier (Control-O puis entrez) et fermez-le (Control-X). (remarque pour les utilisateurs Mac et Linux: quels que soient les paramètres de votre système d'exploitation, il s'agit toujours de contrôle, pas de commande ni de super.)
En gros, ce qui s’est passé, c’est que vous ayez dit à Apache que, lorsque l’URL se termine par "/ svn",
une liste de vos référentiels de subversion situés dans "/ var / svn". Vous avez alors dit que vous ne
veux que les personnes listées dans "/ etc / subversion / passwd" puissent voir ces dépôts.
Maintenant, pour appliquer ces modifications, rechargez la configuration d’Apache:
sudo /etc/init.d/apache2 force-reload
Ceci fait, ouvrez votre navigateur Web favori et accédez à http: //.votre adresse serveur/ svn. Il vous demandera de vous connecter, mais peu importe ce que vous mettez, vous obtiendrez
une erreur de serveur interne:
Ne t'inquiète pas! C'est parce que nous n'avons pas encore défini d'utilisateurs dans / etc / subversion / passwd. Faisons cela maintenant:
sudo htpasswd -c / etc / subversion / passwd USERNAME
Cela créera une nouvelle entrée pour USERNAME avec le mot de passe que vous spécifiez. VEUILLEZ NE PAS utiliser le mot de passe de votre compte habituel car ce mot de passe est envoyé de manière non sécurisée
l'intercepte, vous ne voulez pas qu'ils aient un accès root à votre machine. Ensuite, retournez à cette page (http: //votre adresse serveur/ svn) et rafraîchissez-le. Il devrait maintenant demander votre nom d'utilisateur
et mot de passe à nouveau:
Mettez-les dedans, et le tour est joué! Vous pouvez maintenant voir tous vos référentiels (dans ce cas, juste projet) et vous êtes prêt à l'utiliser pour le contrôle de version!
Pour ajouter plus d'utilisateurs, exécutez cette commande en remplaçant USERNAME par le nouveau nom d'utilisateur..
sudo htpasswd / etc / subversion / passwd USERNAME
Maintenant que vous avez ce serveur sophistiqué qui fait toutes ces choses différentes, ne serait-il pas agréable de pouvoir le gérer facilement? Dites bonjour à Webmin, une interface Web géniale pour
configuration du système, surveillance, etc. Cela fait des choses très agréables, comme envoyer un SMS à votre téléphone si votre serveur tombe en panne. La meilleure partie: c'est totalement gratuit. Alors, installons-le!
Tout d’abord, nous devons télécharger le dernier paquet Webmin debian sur leur site. Au moment de la rédaction de cet article, la version actuelle est 1.450. Alors, lancez cette commande pour télécharger le fichier:
wget http://prdownloads.sourceforge.net/webadmin/webmin_1.450_all.deb
Cependant, avant de pouvoir l'installer, nous devons satisfaire certaines dépendances (nous devons installer les programmes utilisés par Webmin):
sudo aptitude installe perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl libmd5-perl
Une fois cette opération terminée, installez Webmin à l'aide du fichier que nous venons de télécharger:
sudo dpkg -i webmin_1.450_all.deb
Maintenant, laissez cela finir, et une fois que c'est fait, Webmin a été installé! Ouvrez votre navigateur Web préféré et accédez à https: //.votre adresse serveur: 10000 / (remarquez que c'est https). Vous devriez voir la page suivante: (Si cela ne fonctionne pas, continue de lire)
Connectez-vous en utilisant vos informations habituelles. les mêmes informations que vous utilisez pour vous connecter au serveur.
Pour ceux d'entre vous qui ne peuvent pas se connecter, (probablement la plupart d'entre vous), lisez la section suivante. Pour ceux qui le peuvent, sautez la section suivante.
Pour ceux qui ne peuvent pas se connecter, bien. Cela signifie que votre pare-feu fait son travail. Cependant, dans ce cas, nous voulons avoir accès au port 10000, nous devons donc ajouter une nouvelle règle de pare-feu. Ces instructions sont explicitement pour ceux qui ont suivi mon guide précédent. Ouvrez votre fichier de règles Shorewall:
sudo nano / etc / shorewall / rules
Ajoutez cette ligne juste en haut où il est écrit #LAST LINE:
ACCEPTER net FW TCP 10000
Enregistrez le fichier (Control-O puis entrez) et fermez-le (Control-X).
À titre de comparaison, voici les règles de pare-feu d’AlexVillmann.com: (j’ai plus de règles que celle que nous ajoutons, mais vous voyez l’image)
Maintenant, redémarrez Shorewall:
sudo /etc/init.d/shorewall restart
Enfin, retournez dans votre navigateur Web et revenez à Webmin (https: //votre adresse serveur: 10000 /) et ça devrait marcher cette fois.
Toutes nos félicitations! Vous avez tout configuré Webmin! Il y a un million de choses que vous pouvez faire avec, mais toutes sortent du cadre de cet article. Personnellement, je voudrais juste jouer avec jusqu'à ce qu'il fasse les choses que vous voulez aussi. C'est assez explicite, et pour tout le reste, il y a la documentation Webmin. S'amuser!
En suivant ce guide, vous avez configuré le contrôle de version et une application de gestion Web performante. J'aimerais pouvoir entrer dans les détails sur Webmin, mais c'est un article à lui tout seul. Quoi qu'il en soit, j'espère que cela vous aidera à avancer dans l'aventure de votre serveur Linux!
Pour ceux qui recherchent plus d'informations sur les sujets que j'ai abordés, voici quelques liens intéressants: