
自宅のネットワークにテスト サーバーをセットアップして、Web サイトをローカルで開発し、問題が解決したら Web サイトを更新できるようにしたいと考えていました。この夏から PHP を学び始めました (通っている大学の学生です)。職場では、Web サイトを Subversion リポジトリにセットアップしています。その後、ライブ サイトとは異なる開発サイトで作業を行います。ライブ サイトを更新するとき、上司がリポジトリ データをライブ サイトに「コピー」します (正確にはわかりません)。上司はコード内のリンクなどを変更する必要がないようです。「そのまま動作する」と思う理由は、サイトで作業する全員が異なる URL を使用して開発サイトにアクセスするためです。質問は、自分自身でこれと同じ (または同様の) サーバー セットアップを実現するにはどうすればよいかということです。ご参考までに、私は Ubuntu 9.04 デスクトップ エディションと (正しくインストールされていると想定される) LAMP サーバーを使用しています。
答え1
「舞台裏」には、リポジトリから最新の更新を取得して一部のデータを置き換えるスクリプトがあると思います。たとえば、開発サイトが dev.net で、運用サイトが prod.net の場合、スクリプトは dev.net のすべての出現を prod.net に置き換えます。また、スクリプトはデータベースへの接続が適切なデータベース サーバーを指しているかどうかを確認する必要があります。
答え2
ウェブサイトのホスティングには Apache を使用します。Apache、mysql、php のいずれかが不足している場合は、apt-get または synaptic を使用してインストールできます。絶対リンクではなく相対リンクが使用されているため、コピーするだけでウェブサイトが機能します。
例えば、フォルダa内のフォルダbにリンクしたい場合、2つの方法があります。
<a href="b/other.php"> Link </a>
そして
<a href="http://localhost/a/b/other.php"> Link </a>
最初のリンクは相対リンクで、2 番目は絶対リンクです。相対リンクのみを使用してサイトを準備すると、コピー アンド ペーストで問題なくサイトが機能します。
答え3
リンクを変更する必要がないのは、おそらくアプリケーション内のすべてが相対 URL を使用しているためでしょう。したがって、ページへのリンクは「/services.html」ではなく「http://www.mydomain.com/services.html「」。
ライブ サイトも実際にはリポジトリ内にある可能性があります。その場合、上司は開発リポジトリから本番リポジトリに最新バージョンをダウンロードし、本番リポジトリをコミットするスクリプトを持っている可能性があります。