GNU/Linux >> Tutoriales Linux >  >> Panels >> Panels

Uso de WebDAV con ISPConfig 3 en Ubuntu 9.10

Usando WebDAV con ISPConfig 3 en Ubuntu 9.10

Esta guía explica cómo configurar y usar WebDAV en un sitio web creado con ISPConfig 3 en un servidor Ubuntu 9.10. WebDAV significa Creación y control de versiones distribuidas basadas en la web y es un conjunto de extensiones del protocolo HTTP que permite a los usuarios editar archivos directamente en el servidor Apache para que no sea necesario descargarlos/cargarlos a través de FTP. Por supuesto, WebDAV también se puede utilizar para cargar y descargar archivos.

¡No emito ninguna garantía de que esto funcione para usted!

1 nota preliminar

Estoy usando un servidor Ubuntu 9.10 con el nombre de host server1.example.com aquí.

Debido a que debemos ejecutar todos los pasos de este tutorial con privilegios de root, podemos anteponer todos los comandos en este tutorial con la cadena sudo, o convertirnos en root ahora mismo escribiendo

sudo su 

Supongo que ISPConfig 3 ya está instalado (según The Perfect Server - Ubuntu 9.10 [ISPConfig 3]). Activaré WebDAV para el sitio web www.example.com/example.com (que se creó con ISPConfig 3) que tiene la raíz del documento /var/www/clients/client1/web1/web (o /var/www/example .com/web que es un enlace simbólico a /var/www/clients/client1/web1/web).

El vhost www.example.com/example.com actualmente tiene el siguiente aspecto:

cat /etc/apache2/sites-available/example.com.vhost 

2 Habilitación de WebDAV

Podemos habilitar los módulos WebDAV de la siguiente manera:

a2enmod dav_fs
a2enmod dav

Reiniciar Apache:

/etc/init.d/apache2 restart

3 Configure el host virtual para WebDAV

Ahora creamos el archivo de contraseña de WebDAV /var/www/clients/client1/web1/passwd.dav con la prueba de usuario (el modificador -c crea el archivo si no existe):

htpasswd -c /var/www/clients/client1/web1/passwd.dav test

Se le pedirá que escriba una contraseña para la prueba de usuario.

(No use el interruptor -c si /var/www/clients/client1/web1/passwd.dav ya existe porque esto recreará el archivo desde cero, lo que significa que perderá todos los usuarios en ese archivo).

Ahora cambiamos los permisos del archivo /var/www/clients/client1/web1/passwd.dav para que solo root y los miembros del grupo www-data puedan acceder a él:

chown root:www-data /var/www/clients/client1/web1/passwd.dav
chmod 640 /var/www/clients/client1/web1/passwd.dav

Ahora vamos a la pestaña Opciones del sitio web www.example.com/example.com en ISPConfig 3 y agregamos las siguientes líneas en el campo de directivas de Apache:

<Directory /var/www/example.com>
    AllowOverride None
    Order Deny,Allow
    Deny from all
</Directory>

<VirtualHost *:80>
      DocumentRoot /var/www/example.com/web

    ServerName example.com
    ServerAlias www.example.com
    ServerAdmin [email protected]

    ErrorLog /var/log/ispconfig/httpd/example.com/error.log

    ErrorDocument 400 /error/400.html
    ErrorDocument 401 /error/401.html
    ErrorDocument 403 /error/403.html
    ErrorDocument 404 /error/404.html
    ErrorDocument 405 /error/405.html
    ErrorDocument 500 /error/500.html
    ErrorDocument 503 /error/503.html

    <Directory /var/www/example.com/web>
        Options FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
    <Directory /var/www/clients/client1/web1/web>
        Options FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>

    # mod_php enabled
    AddType application/x-httpd-php .php .php3 .php4 .php5
    php_admin_value sendmail_path "/usr/sbin/sendmail -t -i [email protected]"
    php_admin_value upload_tmp_dir /var/www/clients/client1/web1/tmp
    php_admin_value session.save_path /var/www/clients/client1/web1/tmp
    php_admin_value open_basedir /var/www/clients/client1/web1/web:/var/www/clients/client1/web1/tmp:/usr/share/php5


</VirtualHost>

La directiva Alias ​​hace (junto con ) que cuando llama a /webdav, se invoca WebDAV, pero aún puede acceder a la raíz del documento completo del vhost. Todas las demás URL de ese vhost siguen siendo HTTP "normales".

Después de unos momentos (ISPConfig 3 necesita reescribir el vhost primero), el vhost final debería verse así:

cat /etc/apache2/sites-available/example.com.vhost
<Directory /var/www/clients/client1/web1/web>
                Options +Indexes +MultiViews
</Directory>

Alias /webdav /var/www/clients/client1/web1/web

<Location /webdav>
 DAV On
 AuthType Basic
 AuthName "webdav"
 AuthUserFile /var/www/clients/client1/web1/passwd.dav
 Require valid-user
</Location>

Debido a que mod_dav se ejecuta con los privilegios del usuario y grupo de Apache (ambos www-data en Ubuntu), debemos cambiar el propietario y el grupo de /var/www/clients/client1/web1/web a www-data recursivamente (de lo contrario no podrá crear/editar/eliminar archivos/directorios mediante WebDAV):

chown -R www-data:www-data /var/www/clients/client1/web1/web

Tenga en cuenta que esto podría causar problemas con los archivos PHP si ejecuta PHP a través de FastCGI, CGI o suExec. No hay problema si estás usando mod_php.

Ahora puede comenzar a usar WebDAV como se describe en los capítulos 5, 6 y 7 del tutorial Cómo configurar WebDAV con Apache2 en Ubuntu 9.10. La URL de WebDAV es http://www.example.com/webdav/ para clientes Linux y http://www.example.com:80/webdav/ para clientes Windows.

4 Enlaces

  • WebDAV:http://www.webdav.org/
  • Apache:http://httpd.apache.org/
  • Ubuntu:http://www.ubuntu.com/
  • ISPConfig:http://www.ispconfig.org/

Panels
  1. ¿Usando Ubuntu con una configuración de dos pantallas?

  2. SuPHP en Fedora 7 o CentOS 5 con ISPConfig

  3. Cómo instalar ISPConfig 3 en Ubuntu 18.04

  4. Instale PHP 7.1 con Nginx en Ubuntu 16.04

  5. Instalar WordPress con OpenLiteSpeed ​​en Ubuntu 16.04

Instale Ubuntu 16.04 – Con capturas de pantalla

El servidor perfecto:Ubuntu 11.10 con Nginx [ISPConfig 3]

Cómo usar varias versiones de PHP (PHP-FPM y FastCGI) con ISPConfig 3 (Ubuntu 13.04)

Cómo usar varias versiones de PHP (PHP-FPM y FastCGI) con ISPConfig 3 (Ubuntu 12.10)

Cómo usar varias versiones de PHP (PHP-FPM y FastCGI) con ISPConfig 3 (Ubuntu 12.04 LTS)

Uso de RoundCube Webmail con ISPConfig 3 en Debian Wheezy (nginx)

    <Directory /var/www/example.com>
        AllowOverride None
        Order Deny,Allow
        Deny from all
    </Directory>
    
    <VirtualHost *:80>
          DocumentRoot /var/www/example.com/web
    
        ServerName example.com
        ServerAlias www.example.com
        ServerAdmin [email protected]
    
        ErrorLog /var/log/ispconfig/httpd/example.com/error.log
    
        ErrorDocument 400 /error/400.html
        ErrorDocument 401 /error/401.html
        ErrorDocument 403 /error/403.html
        ErrorDocument 404 /error/404.html
        ErrorDocument 405 /error/405.html
        ErrorDocument 500 /error/500.html
        ErrorDocument 503 /error/503.html
    
        <Directory /var/www/example.com/web>
            Options FollowSymLinks
            AllowOverride All
            Order allow,deny
            Allow from all
        </Directory>
        <Directory /var/www/clients/client1/web1/web>
            Options FollowSymLinks
            AllowOverride All
            Order allow,deny
            Allow from all
        </Directory>
    
        # mod_php enabled
        AddType application/x-httpd-php .php .php3 .php4 .php5
        php_admin_value sendmail_path "/usr/sbin/sendmail -t -i [email protected]"
        php_admin_value upload_tmp_dir /var/www/clients/client1/web1/tmp
        php_admin_value session.save_path /var/www/clients/client1/web1/tmp
        php_admin_value open_basedir /var/www/clients/client1/web1/web:/var/www/clients/client1/web1/tmp:/usr/share/php5
    
    <Directory /var/www/clients/client1/web1/web>
                    Options +Indexes +MultiViews
    </Directory>
    
    Alias /webdav /var/www/clients/client1/web1/web
    
    <Location /webdav>
     DAV On
     AuthType Basic
     AuthName "webdav"
     AuthUserFile /var/www/clients/client1/web1/passwd.dav
     Require valid-user
    </Location>
    </VirtualHost>