¿Es posible crear un host virtual en una partición NTFS?

¿Es posible crear un host virtual en una partición NTFS?

Estoy usando Ubuntu y Windows. Cuando uso Windows, no puedo acceder a mi archivo en var/wwwmi partición de Linux. Así que intento crear un host virtual y DirectoryRoot en mi partición NTFS.

Combinaré el directorio WAMP en Windows y el directorio raíz del host virtual en Ubuntu, pero no funciona. Siempre aparece error 403 forbidden access. Y cuando cambio los permisos chmodno cambia nada.

¿Qué tengo que hacer?

Respuesta1

Configuración para la partición NTFS

Primero necesitas poder acceder a tu partición NTFS a través de Ubuntu. Siga los siguientes pasos si no lo ha hecho.

sudo apt-get install ntfs-3g

Busque el nombre de su(s) partición(es) NTFS. Ejemplo:

sudo fdisk -l | grep NTFS

Obtenga el UUID de su partición NTFS.

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

Configure la partición en /etc/fstab (haga una copia de seguridad por si acaso).

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

Creé el mío de la siguiente manera (basado en el UUID. Las siguientes opciones configuran permisos de lectura, escritura y ejecución y uid=1000 lo configura como el usuario de la partición NTFS durante el arranque del sistema operativo. Esto también garantizará que el usuario de Apache pueda acceder a su host virtual dirección (esto es lo que resolvió mi problema).

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

Si desea montar la partición como el www-datausuario, busque la www-dataidentificación del usuario y reemplácela uid=1000con esa:

id -u www-data

Tenga en cuenta que es posible que necesite crear el directorio /media/windows si no existe.

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

Reinicie su computadora y confirme que su unidad NTFS se monte automáticamente con los permisos de lectura, escritura y ejecución habilitados.

Configuraciones para configurar el Host Virtual en Apache

Cree directorios para colocar sus archivos de registro (si lo desea):

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

Cree un nuevo archivo de configuración dentro del directorio /etc/apache2/sites-available. Ejemplo:

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

Establezca su configuración similar a esta y guarde el archivo:

<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>

A continuación, edite el archivo /etc/hosts.

sudo vim /etc/hosts

Agregue la siguiente línea y guarde:

127.0.0.1   projects.dev

Active el host con el siguiente comando:

sudo a2ensite projects.dev

Reiniciar Apache

sudo service apache2 restart

Finalmente pude acceder http://projects.devdesde mi navegador con todo mi código residiendo en la partición NTFS tanto de Windows como de Ubuntu. Espero que alguien encuentre esto útil. ¡Salud!

Respuesta2

Esto es lo que necesitas para solucionar el problema.

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

Básicamente necesitas una entrada como esta en tu archivo httpd.conf

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

Respuesta3

La mejor solución para mí fue cambiar el usuario de Apache, esto puede implicar un poco de riesgo, pero funcionó bien para mí.

sudo vim /etc/apache2/envvars

Respuesta4

Si configura su disco duro para que se monte automáticamente, probablemente el proceso de edición de envvars no funcione porque la partición estará en /mnt.

Puede que este procedimiento no sea tan seguro, pero funcionó durante min. Dejé el usuario www-data incluso en envvars y agregué el usuario apache al grupo raíz.

sudo usermod -G root www-data

Como funciona sólo localmente, creo que no hay mayores riesgos.

información relacionada