Acabo de instalar Ubuntu Server 10.04 con una configuración LAMP. Quiero alojar un sitio web allí, pero no estoy seguro de cuál es la mejor manera de obtener / editar mis archivos en el servidor. Buscar en Google ofrece muchas opciones, pero no estoy seguro de cuál es el mejor.
A menos que haya una mejor opción, me gustaría crear las páginas en otra PC (Windows o Linux) y usar SFTP para sincronizar los cambios en el servidor, pero ¿hago esto en una carpeta enlazada en ~ / o cambiando los derechos? en la carpeta / var / www /?
Respuestas:
Cada configuración es diferente. Para mí, tengo muchos usuarios en un servidor que cada uno aloja sitios web; para usted, es probable que no necesite crear más de un usuario en el sistema. Sin embargo, si administra varios sitios web en este servidor, esta configuración lo ayudará a administrar, configurar y depurar cada dominio de una manera más fácil que una configuración LAMP estándar. Para que eso suceda, utilizo varios dispositivos de Apache para evitar errores de permisos.
Primero, esta es la estructura del documento que uso:
Cada usuario tiene su propia cuenta con una carpeta de dominios (que agregué para
/etc/skel
que se cree cada vez. Cada dominio tiene su propia carpeta en ladomains
carpeta con unahtml
carpeta (tengo mis razones para esto, principalmente para que los dominios puedan tener archivos web fuera) del ámbito público). Siéntase libre de modificar esta estructura como mejor le parezca, solo recuerde llevar esos cambios a lo largo de esta publicación.En segundo lugar, alojo muchos sitios PHP, así que uso suPHP en mi configuración. Por defecto, el paquete de archivo estándar no tiene habilitado el indicador de compilación adecuado, lo que da como resultado una versión menos segura de suPHP. Hice mi propio paquete suPHP que utilizo en mis servidores, las instrucciones de instalación a continuación. suPHP le permite definir a qué scripts PHP de usuario se deben ejecutar (entre otras cosas, incluyendo: php.ini personalizado para cada sitio, etc.). También habilito suExec para Apache, eliminando aún más la necesidad de tener propiedad del usuario www-data (un usuario que desprecio).
Primero asegúrese de tener Apache y todos los demás servicios instalados en su servidor. Asegúrese de que al menos estén trabajando. Después de eso, recomiendo instalar suphp-common y el módulo libapache2-mod-suphp requerido (Más información: ¿Qué son los PPA y cómo los uso? ). Luego, después de instalarlos, active suPHP y suexec usando
a2enmod
Luego vendrá el archivo de configuración. He creado varias herramientas que generan automáticamente los archivos de configuración cada vez que agrego un nuevo sitio; Sin embargo, aquí está la plantilla básica que uso:
Esto configura el registro para ese dominio, la raíz del documento y todas las demás necesidades básicas para que el dominio funcione. Coloco estos archivos en
/etc/apache2/sites-available/
nombres típicamente[USER]-[DOMAIN]
y los habilito / deshabilitoa2ensite
así:Después de cada modificación en los archivos de configuración, Apache deberá recargarse con
Si bien puede parecer mucho configurar la cantidad de flexibilidad obtenida, en mi opinión, supera con creces el tiempo de configuración. Aunque solo necesita un servidor web de un solo usuario, en el futuro si alguna vez quisiera algo más que un servidor web de un solo usuario, necesitaría realizar más acciones (o simplemente abandonar la seguridad por completo) para hacerlo.
fuente
Sftp es muy fácil de instalar. Simplemente instale el paquete
openssh-server
y tendrá sftp. Asegúrese de que su usuario tenga una buena contraseña si puede acceder a ella desde Internet. (8+ caracteres, no una palabra del diccionario, tiene símbolos y números).Para los permisos, generalmente hago esto
sudo adduser <username> www-data
sudo chown -R www-data:www-data /var/www
sudo chmod -R g+rw /var/www
. Luego, debería poder publicar páginas conectándose con sftp (usando su nombre de usuario y contraseña) y luego yendo a la carpeta / var / www y colocando sus archivos allí.
fuente
Yo uso webdav. Es muy fácil de instalar en Ubuntu Server. Si tiene instalado Apache, ya casi ha terminado. Justo
sudo a2enmod dav; service apache2 restart
. Tendrá que hacer una pequeña configuración de su sitio virtual. Aquí hay un ejemplo que estoy usando en producción:Puede poner esto en / srv / etc / apache2 / sites-available / mysite y luego hacerlo
sudo a2ensite mysite; sudo service apache2 reload
.Lo que está sucediendo aquí es que has creado dos sitios virtuales. Uno es www.mysite.com y el otro es webdav.mysite.com. PHP ha sido deshabilitado en webdav.mysite.com, lo cual es importante.
Ahora puede acceder a su sitio a través de http en Ubuntu, Windows y MacOS. Los tres han incorporado soporte webdav. Aquí hay instrucciones sobre cómo agregar una ubicación de red webdav en Ubuntu .
fuente
mkdir -p /srv/mysite/www; chown -R www-data.www-data /srv/mysite
.Le daría permisos de escritura a / var / www a los datos de www y agregaría su usuario a ese grupo. De esa manera, sería fácil controlar qué usuarios pueden escribir en ese directorio.
fuente
¿Está utilizando algún marco para su sitio? Drupal, Wordpress, etc. Drupal, por ejemplo, tiene herramientas para cargar mediante la interacción del navegador.
¿Has mirado en Samba? Puede configurar un recurso compartido Samba (y hay toneladas de recursos en la web para ellos) y simplemente usar el Explorador de Windows para abrir / editar / guardar / eliminar. Configure / var / www para compartir y luego asigne la "unidad de red" a Windows.
¿Es este un trabajo o un ambiente hogareño? Suena como en casa, pero si está en un entorno de trabajo ... puede emparejar Samba con Active Directory con herramientas como Likewise-Open. Tengo una configuración de servidor / sitio web para que aquellos en la tienda de TI puedan iniciar sesión en cualquier lado del servidor (Linux o sitio web) a través de sus credenciales de AD.
También sugeriría buscar algo como Mercurial. Cree un repositorio en el servidor y sincronícelo con Windows a través de algo como TortiseHG. Supongo que es como rsync, pero tendría versiones, copias de seguridad, capacidad de distribución, etc. (SVN, Mercurial, Git, etc. todas las opciones)
fuente
Puedes usar sshfs. https://help.ubuntu.com/community/SSHFS
fuente
¿Estás buscando algo como esto?
fuente