Estoy usando Ubuntu y Windows. Cuando uso Windows, no puedo acceder a mi archivo en var/www
mi 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 chmod
no 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-data
usuario, busque la www-data
identificación del usuario y reemplácela uid=1000
con 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.dev
desde 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.
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.