Netbeans en Digital Ocean usando SSHFS y SFTP

Acá se explicará como montar un directorio a través de SSHFS y SFTP en un servidor DigitalOcean. Si bien el servidor es transversal, lo recomiendo para desarrollo debido al costo que este posee. La máquina cliente es un computador con Ubuntu y el servidor también.

La razón del no utilizar la conexión remota de netbeans es debido a que cuando se hacen cambios en el código remoto, estos no son cambiados automáticamente, lo que genera conflictos en el código si desarrollas en más de un lugar.

Si tienes la posibilidad de usar una herramienta de manejo de versiones como GIT lo recomiendo antes que esto.

Antes que todo asegurarse de tener un droplet ( maquina virtual de digitalocean ) funcionando con SSH. Este viene por defecto por lo cual no debería ser un problema.

Ahora, instalar en la máquina cliente SSHFS, que es un sistema de ficheros basado en SSH lo que hace que sea transparente su uso. Es simplemente una carpeta más.

sudo apt-get install sshfs

Una vez instalado simplemente creamos una carpeta donde queramos dejar nuestro contenido y luego montamos el directorio remoto. En mi caso simplemente montaré la carpeta donde se encuentran los archivos para la web por defecto.

sudo mkdir /mnt/droplet
sudo sshfs [email protected]:/var/www/html /mnt/droplet/

Si tienes problemas de permisos luego de montar lo anterior, utiliza este otro comando. La diferencia es que permite el acceso a personas que no sean dueñas de las conexión.

sudo sshfs -o allow_other [email protected]:/var/www/html /mnt/droplet/

Ahora teniendo la carpeta montada, simplemente creamos un nuevo proyecto en esa dirección con netbeans, y eso es todo.

Netbeans Droplet Directorio
Netbeans Droplet Directorio

¿ Cómo saber el usuario que ejecuta apache desde PHP ?

Cuando estamos ejecutando nuestra web puede que nos encontremos en más de una ocasión con problemas de permisos para ejecutar los archivos o simplemente acceder a ello. En muchos de estos casos la solución es bastante sencilla, y es que el usuario que ejecuta el servicio web ( en mi caso apache ) no tiene privilegios de ejecución, lectura o escritura del archivo con problemas.

Para solucionarlo existen varias formas, solo comentaremos 3 de ellas.

La primera y más sencilla, es crear un archivo php e incluir la función de phpinfo() para ver las variables de entorno y revisar cual es el usuario que las ejecuta.

echo phpinfo();

En la página resultante revisamos las variables de entorno y buscamos el usuario y su grupo que ejecutan el servicio.

Enviroment Variables PHP
Enviroment Variables PHP

En este caso, tanto el usuario como el grupo es www-data, que es lo normal si apache se ejecuta en modo seguro.

También existe una forma de acceder directamente a las variables de entorno del servidor, por lo que podemos ejecutarlas de manera directa.

$user = getenv('APACHE_RUN_USER');
$group = getenv('APACHE_RUN_GROUP');
echo $user.":";
echo $group."
";

El código anterior nos da como resultado el usuario «dos puntos » y el grupo. En mi caso «www-data:www-data».

Por último, y solo disponible para linux, es preguntarle directamente al sistema operativo quién lo está ejecutando. Igual lo haremos dentro de un archivo php.

echo exec('whoami');

Lo cual nos retorna el usuario que lo ejecuta, en mi caso también «www-data».

Bueno, y esas son 3 formas de saber cual es el usuario que está ejecutando el servicio web.

Como desbloquear un «Secured» PDF

Gracias a Ubuntu esto es muy sencillo. Simplemente: Abrimos el documento con Evince ( Lector de PDF ) Hacemos click en imprimir. Seleccionamos Imprimir a archivo Como formato de salida seleccionamos PDF Seleccionamos donde guardarlo. El por defecto es ~/Documentos/salida.pdf Imprimimos! El resultado es un PDF con el mismo contenido pero sin «ASEGURAR». Saludos

Probar la velocidad de lectura y escritura de un pendrive / flashdrive en Linux

En más de una ocasión podemos ver pendrives de muchas capacidades a valores que encontramos que pueden ser muy baratos y otros bastante caros. La verdad es que una de las características que hacen que estos productos tengan un valor tan diferente es su velocidad. Aquí simplemente posteo un par de soluciones ( Hay muchas! … Leer más

Ubuntu Server / Ubuntu Business 12.04 arreglando el autocompletado en la terminal

Me pareció bastante extraño que en mis servidores de Ubuntu y ahora en mi Ubuntu Business Remix el autocompletado por consola no funcionara de manera correcta. Revisando el archivo bash de la terminal ( .bashrc ) pude notar que el autocompletado estaba funcionando, lo que me pareció aún más extraño. Revisando aún más descubrí que … Leer más