Puis-je dupliquer mes parameters de server Apache sur une nouvelle installation Linux?

J'ai un server Apache 2 mis en place sur mon ordinateur que j'utilise pour les tests locaux. Pour être clair, il n'héberge pas de sites sur Internet. C'est juste pour le debugging local et la design.

J'utilisais Ubuntu Linux, mais maintenant j'ai un nouvel ordinateur utilisant Linux Mint. Ce que je voudrais faire est de prendre tous les sites Apache et les parameters que j'ai sur l'ancienne machine Ubuntu et de les reproduire sur la nouvelle machine Linux Mint.

Je ne sais comment faire cela manuellement, un site à la fois, à partir de zéro. Créer un file pour chaque site dans le directory sites-available sur le sites-available et les activer avec a2ensite . Et puis faire des modifications à tous les files de configuration, comme append quelques lignes à mon file php.ini pour activer Xdebug, et en espérant que je n'ai rien oublié.

Je suis sûr que je le fais de manière inefficace et d'une manière qui est sujette à l'erreur humaine.

Est-il impossible de copyr l'intégralité des parameters et des sites Apache 2 sur ma machine Ubuntu et de les mettre sur ma machine Linux Mint en une seule fois? Ou du less, dans un minimum d'étapes, c'est less que de recréer chaque site et chaque paramètre à partir de zéro?

S'il vous plaît noter que je suis plus d'un concepteur que d'un administrateur, donc s'il vous plaît assumer ma connaissance des commands Linux et les parameters du server est minime.

Les parameters de votre server, comme tous les parameters du programme à l'échelle du système, se trouvent sous /etc L'location exact dépend de la dissortingbution, mais /etc/apache ou /etc/apache2 sont de bons paris. Ubuntu et Mint utilisent tous deux /etc/apache2 .

Si les mêmes plug-ins sont installés et que les versions d'Apache ne sont pas trop éloignées, vous pouvez simplement copyr le directory /etc/apache2 sur la nouvelle machine. Vous devrez également copyr vos racines de document, bien sûr.

Si vous utilisez des applications Web, vous devrez également les migrer. Cela peut ou peut ne pas être aussi simple que la copy de certains files, cela dépend fortement de l'application. En particulier, si une database est impliquée, vous devrez installer le même logiciel de database (généralement MySQL), vider la database sur l'ancienne machine et restaurer le vidage sur la nouvelle machine.

Est-il impossible de copyr l'intégralité des parameters et des sites Apache 2 sur ma machine Ubuntu et de les mettre sur ma machine Linux Mint en une seule fois?

En supposant qu'ils ne sont pas très différentes versions Apache, oui. Les dissortingbutions prédéfinissent Apache avec des différences mineures (par exemple, l'location de la racine Web), mais si vous copyz dans votre configuration et mettez tout au même endroit, faites-le en gros. Comme pour écraser la configuration, ne pas tourner en l'éditant de la même façon. Sachez que l'location des files conf d'apache est compilé dans le binary apache, et peut différer de distro en distro. Ce qui est dans les files de conf, cependant, est portable, vous devriez donc être en mesure de simplement replace les files avec le vôtre. Outre l'location du file conf, le comportement d'apache est déterminé par ce qui se trouve dans le (s) file (s) conf, donc si vous le remplacez, la racine web sera déterminée par votre "nouvelle" configuration. Un autre détail ici, comme vous avez attrapé, est le truc dans /etc/hosts .

Apache utilise parfois des parties semi-indépendantes (par exemple php) qui ont leur propre configuration. Si vous savez que vous utilisez quelque chose comme ça, vous devez faire un peu de travail pour find les détails.

Cela soulève la question de la façon dont vous gardez le server sauvegardé ; si vous le faites de manière cohérente, il suffit de déployer la sauvegarde sur une autre machine (c'est-à-dire, comme si elle avait été totalement fubarred). Par "sauvegarde du server", je ne parle pas de l'set de votre système de files, ni du binary apache, qui est déjà sauvegardé car il s'agit d'un packageage distro. Je veux dire tout dans la racine web (par exemple /var/www ) – tous les files de données, scripts, etc. que le server utilise – et la configuration, qui est probablement quelque part dans /etc ; comme mentionné, cet location est variable mais compilé dans Apache, ce qui signifie que si vous souhaitez déployer sur une autre dissortingbution, vous devrez peut-être placer le ou les files conf dans un endroit différent.

Comment exactement vous faites cela dépend de la nature de votre server. Si vous servez diverses choses qui sont en eux-mêmes des projets autonomes, ces projets devraient être soutenus indépendamment; cela devrait inclure une certaine documentation sur la façon dont ils devraient être déployés et ce dont ils ont besoin, y compris éventuellement des extraits de config apache, le cas échéant. Cela signifie que le projet peut être facilement installé dans n'importe quel apache. Si le server est dédié à une chose, vous pouvez simplement sauvegarder l'intégralité de la racine Web. Dans le premier cas (divers projets indépendants), utiliser une forme de VCS est bon (ce sont de bonnes choses à apprendre à utiliser, ma preference personnelle est git mais il y en a beaucoup d'autres), dans ce dernier (une racine web mégalithique) quelque chose comme rsync – mais ce ne sont que des suggestions. Le point est que vous devriez avoir un outil qui vous convient pour ce genre de choses (sauvegarder sélectivement des sous-arborescences de directorys dans un système de files). Le moyen le plus simple sur une petite installation est probablement juste tar (ou zip).

Si vous utilisez une database back-end avec Apache, vous voulez sauvegarder les mêmes données – datatables et la configuration, mais si la database est utilisée par différents projets qui sont sauvegardés de manière indépendante, leurs données doivent être sauvegardées avec eux.

Donc, si vous effectuez une sauvegarde de ce type, il suffit d'installer apache, puis de déployer la sauvegarde – vous décompressez, rsync, git clone, peu importe les différentes parties, copyz la configuration dans le bon endroit, et presto.

Vous pouvez alors avoir un problème avec le logiciel manquant – les dissortingbutions peuvent regrouper les modules Apache différemment, vous avez besoin de SQL, etc – mais c'est assez simple.