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