Mover / var / www / para / srv / www / no Fedora 16

3

Estou aprendendo como configurar o linux, o apache, o php, o mysql.

Eu segui estas etapas , como definir permissões para o root: www-dev on os arquivos e pastas em / var / www /

Agora eu gostaria de saber como posso mover o diretório / var / www / e presumo que as permissões que defini serão válidas. Tenho certeza que terei que editar algumas configurações do apache para informar ao apache que o diretório mudou de lugar.

Não tenho certeza de onde o mysql está localizado, eu também presumo que o php é um módulo do apache, portanto deve estar em algum lugar em / var / www /

Estou apenas experimentando tentando ter uma idéia do Linux em geral, e como configurar um servidor web simples.

Minha configuração no momento é padrão, exceto pelas permissões que defini.

# yum install httpd
# yum install mysql mysql-server
# yum install php php-mysql
    
por RzK 20.02.2012 / 03:54

3 respostas

7

Faça do jeito seguro!

cp -pr /var/www /srv/www

copiará o conteúdo de / var / www recursivamente (-r switch) com permissão intact (-p switch) para nova pasta / srv / www

Você precisará alterar

DocumentRoot 

configurações no seu site ou arquivo de configuração do host virtual.

Você não precisa se preocupar com o módulo php ou com o módulo mysql para o seu caso.

    
por 20.02.2012 / 04:01
2

Se /var e /srv estiverem no mesmo sistema de arquivos, você poderá mover atomicamente o diretório www de um para o outro:

mv /var/www /srv/

Quando você faz isso, qualquer processo que tenha um arquivo aberto em www manterá esse arquivo aberto.

Se /var e /srv estiverem em sistemas de arquivos diferentes, é melhor parar os serviços que usam os arquivos em www antes de fazer a mudança, porque haverá um período de transição durante o qual os arquivos serão copiado e depois apagado.

Nesse caso, se você quiser minimizar o tempo de inatividade:

  1. Copie os arquivos, respeitando as permissões:

    cp -a /var/www /srv/
    
  2. Edite os arquivos de configuração para apontar para /srv/www em vez de /var/www .
  3. Remova os arquivos de /var/www .

Se você copiar e depois remover, haverá um período de transição durante o qual existem duas cópias dos arquivos. Portanto, você deve certificar-se de que nada seja escrito no diretório www durante o período de transição; caso contrário, as duas cópias ficarão fora de sincronia e alguns dados poderão ser perdidos.

Para ver o que precisa ser alterado:

  • Pesquise arquivos em /etc e, talvez, em /var/www , para encontrar referências a /var/www :

    grep -r '/var/www' /etc /var/www
    
  • Procure por qualquer link simbólico absoluto que faça referência a /var/www .

    find /etc /var/www -lname '/var/www*'
    
por 21.02.2012 / 03:22
1

Você precisa alterar DocumentRoot , mas também pode fazer isso:

ln -si /var/www /srv/www

que criaria um link sym do primeiro para o segundo. Ou, como kaji disse, faça o reverso, mas crie um link simbólico para o / var / www para / srv / www - apenas troque os dois argumentos no comando acima.

    
por 20.02.2012 / 09:33

Tags