ローカルテストに使用するApache 2サーバーを自分のコンピューターにセットアップしました。明確に言うと、それはnotインターネット上のホスティングサイトです。これは、ローカルでのデバッグと設計のためのものです。
私はUbuntu Linuxを使用していましたが、今はLinux Mintを使用する新しいコンピューターを持っています。私がしたいことは、古いUbuntuマシンにあるすべてのApacheサイトと設定を取得し、それらを新しいLinux Mintマシンで再現することです。
私はこれを手動で行う方法のみを知っています。各サイトのファイルをsites-available
ディレクトリに作成し、a2ensite
でアクティブ化します。次に、構成ファイルを編集します。たとえば、php.ini
ファイルにXdebugを有効にするための行を追加し、見逃していないことを期待しています。
私はこれを非能率的に、そして人為的ミスを起こしやすい方法で行っていると確信しています。
何らかの方法で、Apache 2の設定とサイト全体をUbuntuマシンにコピーして、Linux Mintマシンに一度に配置することはできませんか?または、少なくとも、各サイトを再作成して最初から設定するよりも少ない手順で?
私は管理者というよりデザイナーであることに注意してください。Linuxコマンドとサーバー設定に関する私の知識は最小限であると想定してください。
システム全体のプログラム設定と同様に、サーバー設定は/etc
の下にあります。正確な場所はディストリビューションによって異なりますが、/etc/Apache
または/etc/Apache2
が適しています。 UbuntuとMintはどちらも/etc/Apache2
を使用しています。
同じプラグインがインストールされており、Apacheのバージョンが離れすぎていない場合は、/etc/Apache2
ディレクトリ全体を新しいマシンにコピーするだけです。もちろん、ドキュメントルートもコピーする必要があります。
一部のWebアプリケーションを実行している場合は、それらも移行する必要があります。これは、一部のファイルをコピーするのと同じくらい簡単な場合とそうでない場合があります。アプリケーションに大きく依存します。特に、データベースが関係している場合は、同じデータベースソフトウェア(通常はMySQL)をインストールし、古いマシンにデータベースをダンプして、新しいマシンにダンプを復元する必要があります。
何らかの方法で、Apache 2の設定とサイト全体をUbuntuマシンにコピーして、Linux Mintマシンに一度に配置することはできませんか?
はい、そうです。Apacheのバージョンが大きく異なるわけではありません。ディストリビューションは、Apacheをわずかな違い(Webルートの場所など)で事前設定しますが、設定をコピーしてすべてを同じ場所に配置する場合は、卸売りしてください。構成の上書きと同様に、同じ方法で編集をいじらないでください。 Apacheのconfファイルの場所はApacheバイナリにコンパイルされており、ディストリビューションによって異なる場合があることに注意してください。ただし、confファイルの内容は移植可能であるため、ファイルを独自のものに置き換えるだけで十分です。 confファイルの場所に加えて、Apacheの動作はconfファイルの内容によって決定されるため、それを置き換えた場合、たとえば、Webルートは「新しい」構成によって決定されます。ここでもう1つ詳しく説明しますが、/etc/hosts
の内容です。
Apacheは、独自の設定を持つ半独立部分(phpなど)を使用することがあります。あなたがそのようなものを使用していることを知っているなら、詳細を知るために少しの宿題をしなければなりません。
これは、サーバーのバックアップをどのように維持するかの疑問を引き起こします。それを首尾一貫して行う場合、それはバックアップを別のマシンに展開するの問題です(つまり、まるで完全に機能しなくなったかのように)。 「サーバーバックアップ」とは、ファイルシステム全体やApacheバイナリを意味するものではありません。これは、ディストリビューションパッケージであるため、すでに効果的にバックアップされています。つまり、Webルートのすべて(例:/var/www
)-サーバーが使用するすべてのデータファイル、スクリプトなど-と、おそらく/etc
のどこかにある構成です。前述のとおり、この場所は可変ですが、Apacheにコンパイルされます。つまり、別のディストリビューションにデプロイする場合は、confファイルを別の場所に配置する必要がある場合があります。
どのように正確にするかは、サーバーの性質によって異なります。それ自体がスタンドアロンプロジェクトであるさまざまなものを提供する場合は、それらのプロジェクトを個別にバックアップする必要があります。これには、それらがどのようにデプロイされ、何が必要であるかに関するドキュメントが含まれているはずです。適切な場合は、Apache configのスニペットも含まれる可能性があります。つまり、プロジェクトは任意のApacheに簡単にインストールできます。サーバーが1つの専用サーバーである場合は、Webルート全体をバックアップできます。前者の場合(さまざまな独立したプロジェクト)、何らかの形式の [〜#〜] vcs [〜#〜] を使用するのが適切です(これらは使用方法を学ぶのに適したものです。私の個人的な好みはgit
ですが、他にもたくさんありますが)後者(1つの巨石Webルート)ではrsync
のようなものですが、これらは単なる提案です。重要なのは、このようなことを快適に行えるツールを用意することです(ファイルシステムのディレクトリサブツリーを選択的にバックアップします)。小規模なインストールで最も簡単な方法は、おそらくtar
(またはZip)だけです。
Apacheでバックエンドデータベースを使用している場合は、それも同じようにデータと構成に沿ってバックアップする必要がありますが、データベースが独立してバックアップされているさまざまなプロジェクトで使用されている場合は、それらのデータをバックアップする必要があります。彼らと一緒に。
したがって、この種のバックアップを保持している場合、「Apacheの複製」を行うには、Apacheをインストールして、バックアップを展開するだけです- untar、rsync、git cloneなど、さまざまな部分を行い、構成を適切な場所にコピーして、プレストします。
次に、不足しているソフトウェアで問題が発生する可能性があります-ディストリビューションでは、Apacheモジュールが異なる方法でバンドルされている可能性があり、SQLが必要などです-しかし、それは非常に簡単です。