Fedora 16で/var/www/を/srv/www/に移動します。

Fedora 16で/var/www/を/srv/www/に移動します。

私はLinux、Apache、PHP、mysqlを設定する方法を学んでいます。

私はこれに従ったスピード。 /var/www/ 以下のファイルとフォルダに対する root:www-dev の権限を設定する方法

今、私は/var/www/ディレクトリを移動する方法を知りたいと思い、私が設定した権限が維持されると仮定します。私はApacheに、そのディレクトリの場所が変更されたことを知らせるためにいくつかのApache設定を編集する必要があると確信しています。

mysqlがどこにあるのかよくわかりません。また、phpがapacheモジュールなので、/var/www/のどこかにあると仮定します。

私は一般的なLinuxと簡単なWebサーバーの設定方法を理解しようとしています。


現在の設定は、私が設定した権限を除いてデフォルトです。

# yum install httpd
# yum install mysql mysql-server
# yum install php php-mysql

答え1

安全な方法でやってください!

cp -pr /var/www /srv/www

フルアクセス権(-pスイッチ)を維持しながら、/ var / wwwの内容を新しいフォルダ/ srv / wwwに再帰的に(-rスイッチ)コピーします。

あなたは変わらなければなりません

DocumentRoot 

WebサイトまたはWebホスティング構成ファイルの設定。

どのphpモジュールやmysqlモジュールがあなたの状況に適しているか心配する必要はありません。

答え2

/varとが/srv同じファイルシステムにある場合は、ディレクトリをあるwwwファイルシステムから別のファイルシステムにアトミックに移動できます。

mv /var/www /srv/

これにより、ファイルが開いているすべてのプロセスでwwwファイルが開いたままになります。

/var他のファイルシステムにある場合は、ファイルのコピー後に削除中に移行期間があるため、ファイルを移動する前にそのファイルを使用するサービスを停止することをお勧めします/srvwww

この場合、ダウンタイムを最小限に抑えるには、次の手順を実行します。

  1. 権限を考慮してファイルをコピーします。

    cp -a /var/www /srv/
    
  2. /srv/www代わりにを指すように設定ファイルを編集します/var/www
  3. 以下のファイルを削除してください/var/www

最初にコピーしてから削除すると、ファイルのコピーが2つ存在する移行期間があります。したがって、www移行中にこのディレクトリに何も記録されないようにする必要があります。そうしないと、両方のレプリカが同期されず、一部のデータが失われる可能性があります。

変更する必要があることを確認してください。

  • 以下の参照のために、以下のファイルまたは/etcそれ/var/www自体の下のファイルを検索してください/var/www

    grep -r '/var/www' /etc /var/www
    
  • 参照されている絶対シンボリックリンクを見つけます/var/www

    find /etc /var/www -lname '/var/www*'
    

答え3

これを変更する必要がありますDocumentRootが、次のようにすることもできます。

ln -si /var/www /srv/www

これにより、最初から2番目のシンボリックリンクが生成されます。あるいは、kajiが言ったように、/var/wwwを/srv/wwwにシンボリックリンクするのではなく、上記のコマンドで2つのパラメータを変更するだけです。

関連情報