Me estoy frustrando ahora porque eliminé todos los vhosts predeterminados e hice todos los cambios necesarios, pero Main DocumentRoot se niega a funcionar.
root@example:/etc/apache2# apache2ctl -S
VirtualHost configuration:
*:80 dev.example.com (/etc/apache2/sites-enabled/dev.example.com.conf:1)
*:443 dev.example.com (/etc/apache2/sites-enabled/dev.example.com.ssl.conf:2)
ServerRoot: "/etc/apache2"
Main DocumentRoot: "/var/www"
Main ErrorLog: "/var/log/apache2/error.log"
Mutex mpm-accept: using_defaults
Mutex watchdog-callback: using_defaults
Mutex rewrite-map: using_defaults
Mutex ssl-stapling: using_defaults
Mutex ssl-cache: using_defaults
Mutex default: dir="/var/lock/apache2" mechanism=fcntl
PidFile: "/var/run/apache2/apache2.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="www-data" id=33
Group: name="www-data" id=33
no tengo nada predeterminado
root@example:/etc/apache2# ls -lha sites-enabled/
total 8.0K
drwxr-xr-x 2 root root 4.0K May 5 15:12 .
drwxr-xr-x 9 root root 4.0K May 5 15:03 ..
lrwxrwxrwx 1 root root 48 May 5 15:01 dev.example.com.conf -> ../sites-available/dev.example.com.conf
lrwxrwxrwx 1 root root 52 May 5 15:12 dev.example.com.ssl.conf -> ../sites-available/dev.example.com.ssl.conf
y declaré que quiero que DocumentRoot esté en los vhosts
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName dev.dev.example.com
Redirect permanent / https://dev.dev.example.com/
<Directory />
Options +FollowSymLinks
AllowOverride All
</Directory>
DocumentRoot /var/www/owncloud
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
y
<VirtualHost *:443>
# ServerAdmin webmaster@localhost
ServerName dev.dev.example.com
DocumentRoot /var/www/owncloud
# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn
<Directory />
Options +FollowSymLinks
AllowOverride All
</Directory>
...
...
...
</VirtualHost>
Aquí está owncloud.conf
Alias / "/var/www/owncloud/"
<Directory "/var/www/owncloud">
Options +FollowSymLinks
AllowOverride All
<IfModule mod_dav.c>
Dav off
</IfModule>
SetEnv HOME /var/www/owncloud
SetEnv HTTP_HOME /var/www/owncloud
</Directory>
<Directory "/var/www/owncloud/data/">
# just in case if .htaccess gets disabled
Require all denied
</Directory>
Entonces, ¿qué hago ahora? Porque el DocumentRoot principal no desaparece.
Respuesta1
Primero queremos asegurarnos de que tenga un sitio web funcional antes de que podamos continuar. Aquí hay algunos pasos que me gustaría que siguieras para que podamos probarlo.
Primero vaya a la /var/www/
carpeta y cambie el nombre de owncloud a owncloud-test. Crea una nueva carpeta llamada owncloud. abra esa carpeta y cree un archivo llamado index.html. Abra ese archivo, escriba "Esto es una prueba" y guárdelo.
Ahora asegúrese de que los permisos estén configurados correctamente en la carpeta www, escriba lo siguiente en la terminal:
sudo chown -R www-data:www-data /var/www
Una vez hecho esto, escriba
sudo service apache2 restart
Luego abra un navegador web y vaya a
http://localhost
Debería aparecer una página en blanco que diga "esto es una prueba".
Si no es así, hágame saber qué errores le da la página en el navegador y verifique /var/log/apache2/error.log y vea si hay errores enumerados allí.
Si funciona, avíseme e intentaré ayudar a que owncloud funcione en ese momento.
La comunicación se detuvo en este punto, así que consideraré que funcionó y explicaré cómo volver a colocar el owncloud original y asegurarme de que el propietario sea el adecuado en la carpeta para que, con suerte, owncloud funcione.
Vuelva a la /var/www
carpeta... elimine la carpeta owncloud que acabamos de crear. Cambie el nombre de la carpeta owncloud-test a owncloud. Ejecute sudo chown -R www-data:www-data /var/www
nuevamente solo para asegurarse de que el propietario no haya cambiado cuando cambió el nombre o cambió algo.
Y ahora debería estar listo para comenzar... cuando vaya, http://localhost
debería iniciarse con la pantalla de inicio de sesión de owncloud. Debería poder acceder a él a través de cualquier computadora conectada a su red mediante la dirección IP local de su computadora, como... si la dirección local de su computadora en su red es 192.168.0.20, entonces cualquier otra computadora en su red podría acceder a owncloud usando http://192.168.0.20
If Si quieres que sea accesible desde la red, tendrás que abrir los puertos adecuados en tu enrutador, algo que no abordaré aquí.