sábado, 8 de septiembre de 2018

Establecer permisos a la carpeta HTDOCS en XAMPP Linux


Al instalar XAMPP en Fedora, viene con permisos preestablecidos, dichos permisos son para el correcto funcionamiento, y sólo se asigna el permiso que corresponde, ya que los demonios lanzados para el servidor apache, requiere de acceso a algunas funciones del SO, por lo tanto no es recomendable asignarle permisos más de los que necesita.


Sin embargo, si en el usuario en el que se esté modificando un desarrollo web, no tiene los permisos correctos, no es posible guardar los cambios, crear directorios, etc., en pocas palabras, es necesario asignarle ciertos permisos al directorio htdocs.

El directorio htdocs almacena los desarrollos que creados por uno mismo, y es en esta carpeta donde se deben colocar dichos archivos.

En mi caso particular, me gusta crear un enlace de la carpeta htdocs, que se instala en /opt/lampp/htdocs/ y en mi carpeta personal con el nombre de www 

Con el siguiente comando se realiza lo siguiente:

sudo ln -s /opt/lampp/htdocs /home/linuxitos/www

**linuxitos: es el nombre del usuario de ejemplo en este post, reemplazarlo por su nombre de usuario

Listo, ahora ya se tiene un enlace al directorio htdocs, ésto facilita porque no es necesario ir /opt/lamp/htdocs, para realizar alguna modificación.

1.- Es recomendable asignar los permisos requeridos por cada proyecto desarrollado, y no asignar los permisos directamente sobre todo el directorio de www (recordar que www es un enlace a htdocs).

2.- Los permisos deben asignarse por defecto al grupo y al usuario, para que sea posible crear directorios desde el desarrollo, en caso de ser necesario, o si se requiere subir archivos.

Por default, el grupo y usuario de xampp al instalarlo es daemon, por lo tanto, se asignaría de la siguiente manera:

Entrar a www

cd ~/www
Asignar el grupo y usuario que puedan modificar el directorio del proyecto.

sudo chown -R daemon:linuxitos developer_dir

Asignar los permisos al directorio del desarrollo:

sudo chmod -R 775 developer_dir

Con esos permisos se podrá modificar los archivos, crear directorios, y sub directorios que sean necesarios.

De éste modo, es posible editar los archivos desde algún editor de texto el contenido del desarrollo, sin ningún problema.

En caso de que no se le asignen éstos permisos, u algún otro permiso, al querer guardar los cambios realizados sobre algún archivo del proyecto, siempre pedirá la contraseña del usuario para guardar los cambios (ver imagen de abajo):




Alguno podrán decir que es más fácil asignar permisos 777 y ya, pero las buenas prácticas siempre son bienvenidas.

Además, no quiero imaginar lo que pasaría si al servidor en producción se suben archivos con permisos de ejecución o cosas por el estilo.


Cualquier comentario o corrección son bienvenidos, como siempre he dicho, "en gustos se rompen géneros".

Algunas fuentes revisadas:

miércoles, 5 de septiembre de 2018

Usar fuentes desde archivo otf en LaTeX


Usar otro tipo de fuente en los documentos elaborados con LaTeX,es una necesidad bastante usual. Aquí una manera fácil de hacerlo.

Agregar tipos de fuentes al documento agregando el archivo otf al proyecto, tiene como mayor ventaja que en cualquier equipo en el que se abra, las fuentes se visualizarán correctamente. Incluso aunque no estén instaladas en el equipo.

Pasó 1:
Descargar el siguiente archivo de ejemplo:


Paso 2:
Para poder compilar un archivo con una tipografía diferente a la que viene por defecto, es necesario utilizar el paquete fontspec.
Ver el siguiente gif para configurar el editor TexStudio, el cual es el que utilizo yo para mis documentos en LaTeX.

Gif elaborado con peek.
Paso 3:
Compilar el proyecto como se visualiza en el gif de abajo.



Espero que sea de utilidad. Gracias por visitar.

sábado, 1 de septiembre de 2018

Configurar dos cuentas de Gitlab en un mismo equipo: Fedora



Hace unos días en el trabajo estaba actualizando los repositorios de código en gitlab en mi laptop, y al llegar a casa y revisar mis códigos de proyectos personales, intenté actualizarlos, pero no funcionó. Resulta que por la configuración del correo de gitlab del trabajo, no era posible actualizar los repositorios, por lo tanto me fue necesario configurar ambas cuentas.

Ésta configuración la realicé en Fedora 28 x86_64 y utilizando zsh como interprete de comandos linux.

Paso 1:

Primero se deben generar las dos claves para los correos y obviamente darlas de alta en gitlab.com.

Para generar las claves, se utilizan el siguiente comando:

 ssh-keygen -t rsa -C "correo@personal.com" -b 4096
ssh-keygen -t rsa -C "correo@trabajo.com" -b 4096
Al generar las claves se crean dos archivos uno con la llave pública  (.pub)y otro con la llave privadas (rsa)

Para dar de alta una clave en gitlab, se accede al link https://gitlab.com/profile/keys

Paso 2:


Crear un archivo de config dentro la carpeta .ssh que está en la carpeta personal. Con la siguiente configuración:

En el archivo se agregan los dos correos que se utilizarán para la conexión.

Host gitlab.com-personal
 HostName gitlab.com
 User git
 IdentityFile ~/.ssh/rsa@cuenta.personal
 
Host gitlab.com-trabajo
    HostName gitlab.com
    User git
    IdentityFile ~/.ssh/rsa@cuenta.trabajo

Una vez agregado el archivo de configuración, se procede a realizar un prueba de conexión con el siguiente comando:

ssh -T git@gitlab.com-personal
ssh -T git@gitlab.com-trabajo

El mensaje que debe mostrar en caso de ser correcto, es el siguiente por cada cuenta configurada:

Welcome to GitLab, @Nombre-del-usuario-de-gitlab!

Paso 3:

Configurar cada repositorio para cada cuenta, los proyectos se pueden clonar de manera normal, pero para realizar una actualización, es necesario ir al proyecto, y buscar la carpeta .git y editar el archivo config de la siguiente manera:

Por ejemplo, el siguiente código es configuración para que se conecte con la cuenta de trabajo:

[core]
 repositoryformatversion = 0
 filemode = true
 bare = false
 logallrefupdates = true
[remote "origin"]
 url = git@gitlab.com-trabajo:nom_repo/nom_deb_v3.0.git
 fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
 remote = origin
 merge = refs/heads/master
[user]
 name = Nombre de Usuario
 email = cuenta@trabajo.com

Por ejemplo, el siguiente código es configuración para que se conecte con la cuenta de personal:

[core]
 repositoryformatversion = 0
 filemode = true
 bare = false
 logallrefupdates = true
[remote "origin"]
 url = git@gitlab.com-personal:nom_repo/nom_deb_v3.0.git
 fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
 remote = origin
 merge = refs/heads/master
[user]
 name = Nombre de Usuario
 email = cuenta@personal.com

Y con eso, se pueden hacer las actualizaciones de manera independiente de cada repositorio.

Si por ejemplo, se quiere clonar un proyecto con una cuenta en específica, se puede utilizar de la siguiente manera:

git@gitlab.com-personal:username1/test-project.git


Fuentes: