É possível criar um host virtual em uma partição NTFS?

É possível criar um host virtual em uma partição NTFS?

Estou usando Ubuntu e Windows. Quando uso o Windows, não consigo acessar meu arquivo na var/wwwminha partição Linux. Então tento criar host virtual e DirectoryRoot na minha partição NTFS.

Vou combinar o diretório WAMP no Windows e o diretório raiz do host virtual no Ubuntu, mas não funciona. Sempre aparece error 403 forbidden access. E quando eu mudo as permissões, chmodnada muda.

O que devo fazer?

Responder1

Configurações para partição NTFS

Primeiro você precisa acessar sua partição NTFS via Ubuntu. Execute as etapas a seguir, se ainda não o fez.

sudo apt-get install ntfs-3g

Encontre o nome da(s) sua(s) partição(ões) NTFS. Exemplo:

sudo fdisk -l | grep NTFS

Obtenha o UUID da sua partição NTFS.

$ sudo blkid
/dev/sda1: LABEL="windows" UUID="4ED2A451B2A23F59" TYPE="ntfs"

Configure a partição em /etc/fstab (faça um backup por precaução).

sudo cp /etc/fstab /etc/fstab.bak
sudo vim /etc/fstab

Eu criei o meu da seguinte maneira (com base no UUID. As opções a seguir definem permissões de leitura, gravação, execução e uid = 1000 define você como o usuário da partição NTFS durante a inicialização do sistema operacional. Isso também garantirá que o usuário Apache possa acessar seu host virtual direção (foi isso que resolveu meu problema).

/dev/disk/by-uuid/4ED2A451B2A23F59 /media/windows ntfs-3g defaults,permissions,users,uid=1000,utf8  0 0

Se você deseja montar a partição como www-datausuário, encontre o www-dataID do usuário e substitua uid=1000por ele:

id -u www-data

Observe que pode ser necessário criar o diretório /media/windows se ele não existir.

cd /media
sudo mkdir windows
sudo chown sagun:users windows

Reinicie o computador e confirme se a unidade NTFS é montada automaticamente com permissões de leitura, gravação e execução habilitadas.

Configurações para configurar o Virtual Host no Apache

Crie diretórios para colocar seus arquivos de log (se desejar):

sudo mkdir /var/log/apache2/projects.dev

Crie um novo arquivo de configuração dentro do diretório /etc/apache2/sites-available. Exemplo:

sudo vim /etc/apache2/sites-available/projects.dev.conf

Defina sua configuração semelhante a esta e salve o arquivo:

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName projects.dev
    ServerAlias projects
    DocumentRoot /media/windows/Users/sagun/Dropbox/projects
    <Directory />
        Options FollowSymLinks
        AuthType None
        AllowOverride None
        Order deny,allow
        Deny from all
    </Directory>
    <Directory /media/windows/Users/sagun/Dropbox/projects/>
        Require all granted
        Options Indexes FollowSymLinks MultiViews
        AuthType None
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>
    ErrorLog ${APACHE_LOG_DIR}/projects.dev/error.log
    LogLevel warn
    CustomLog ${APACHE_LOG_DIR}/projects.dev/access.log combined
</VirtualHost>

Em seguida, edite o arquivo /etc/hosts.

sudo vim /etc/hosts

Adicione a seguinte linha e salve:

127.0.0.1   projects.dev

Ative o host com o seguinte comando:

sudo a2ensite projects.dev

Reinicie o Apache

sudo service apache2 restart

Finalmente consegui acessar http://projects.devmeu navegador com todo o meu código residindo na partição NTFS do Windows e do Ubuntu. Espero que alguém ache isso útil. Saúde!

Responder2

Isso é o que você precisa para resolver o problema

https://stackoverflow.com/questions/89118/apache-gives-me-403-access-forbidden-when-documentroot-points-to-two- Different-d

Basicamente você precisa de uma entrada como esta no seu arquivo httpd.conf

<Directory "physical path to the directory">
    Order Allow,Deny
    Allow from All
    # Any other directory-specific stuff
</Directory>

Responder3

A melhor solução para mim foi mudar o usuário do Apache, isso pode ser um pouco arriscado, mas funcionou bem para mim.

sudo vim /etc/apache2/envvars

Responder4

Se você configurou seu disco rígido para ser montado automaticamente, provavelmente o processo de edição para envvars não funcionará porque a partição estará em /mnt.

Este procedimento pode não ser tão seguro, mas funcionou por min. Deixei o usuário www-data mesmo em envvars e adicionei o usuário apache ao grupo raiz.

sudo usermod -G root www-data

Como funciona apenas localmente, acredito que não há grandes riscos.

informação relacionada