Skip to content

Tag: centos

Montar Proyecto Symfony con Git en servidor Centos

Vamos a dar de alta el proyecto Symfony con composer en nuestra carpeta /var/www/html de nuestro servidor, por defecto apache la coloca ahí pero pudiera darse el caso de tenerla en otra ubicación.

Para instalar composer ejecutamos las siguientes instrucciones:

Con esto deberiamos tener activo el comando composer, ahora creamos el proyecto symfony en la capeta www:

De esa manera empezará la instalación y pedirá algunas opciones de configuración, al finalizar deberías tener la carpeta proyecto_prueba con todos los archivos descargados.

Vamos a pasar nuestro proyecto como repositorio Git, para esto debemos tener Git instalado en el servidor, si no es así sólo ejecuta:

Una vez instalado vamos a inicializar nuestro repositorio desde la capeta del proyecto:

Antes de inicializar el repositorio vamos a renombrar un archivo que es .gitignore, y lo puedes ver en el listado de archivos de proyecto, el parámetro -a es para vel los archivos ocultos:

Ese archivo lo vamos a renombrar a .gitignore_copy, esto es porque cuando creamos el repositorio omite los archivos que vienen en el contenido de .gitignore y no queremos eso, lo que se pretende es hacer el repositorio del proyecto completo:

Ahora si, inicializamos nuestro repositorio, dentro del proyecto ejecutamos:

Luego añadimos todos los archivos al repositorio:

Hacemos el commit para mandar los archivos agregados y el mensaje con la descripción del commit con el parámetro -m.

Con esto tenemos el repositorio listo, pero hay un detalle, este repositorio no lo podemos clonar, para ellos necesitamos un repositorio conocido como “repositorio bare”, este es el que nos va a permitir hacer esto, y se crea a partir del repositorio que acabamos de inicialzar, entonces con el repositorio recien creado ejecutamos:

El repositorio proyecto_prueba.git lo creamos en la raiz del servidor, además es buena practica que el repositorio bare tenga la terminación “.git” para identificarlo más facilmente, si exploramos esta carpeta veremos archivos y carpetas como: branches, hooks, info, objects. Más adelante haremos uso de una de estas carpetas para poder identificar los cambios que se hagan en el repositorio.

Con esto finalizamos la creación del repositorio, podremos clonarlo desde cualquier equipo cliente en un entorno de desarrollo como Eclipse o NetBeans, internamente estos IDE´s ejecutan el comando:

Muchas veces cuando se trabajo en un ambiente web, se requiere que los cambios hechos en el repositorio también se vean reflejados en el servidor donde se encuentra el proyecto en la www, para ello hay que clonar el repositorio bare en la www e indicar en los hooks del repositorio bare que cuando haya cambios los replique al repositorio que se encuentra en la www.

Para ello debemos clonar el repositorio bare en nuestra carpeta www, pero antes vamos a borrar la carpeta original donde inicializamos nuestro primer repositorio del cual generamos el bare.

Los parámetros -rf son para que el borrado sea recursivo y la “f” para forzarlo.

Ahora si clonamos el repositorio en la www:

El siguiente paso es detectar los cambios que se hacen en el repositorio bare para mandarlos al nuevo repositorio que esta en la www, lo que se tiene que hacer es ir a la carpeta del repositorio proyecto_prueba.git y dentro hay una carpeta llamada hooks, en esa carpeta vamos a crear un archivo que se llamara post-update:

Si no tienes nano lo puedes instalar con la instrucción:

Escribe el siguiente contenido en el archivo post-update:

Una breve explicación del archivo, se declara una constante WEB_DIR con la ruta del proyecto en la www, GIT_DIR ahora hará referencia a esta carpeta, pushd nos coloca sobre el directorio del repositorio y se hace el pull para bajar los últimos cambios del repositorio bare, al finalizar quitamos de la pila el $WEB_DIR del pushd anterior.

Guardamos el archivo “control+x” si estás en windows y asignamos permisos de ejecución al archivo:

Con estos pasos se deberían reflejar los cambios cada vez que se hacen modificaciones en el repositorio bare, el script post-update se ejecutara actualizando los archivos en el repositorio que esta en la www, así las personas que tengan el repositorio clonado en cada una de sus máquinas cuando manden sus cambios al repositorio con push también el repositorio que se encuentra en la www será actualizado.

Leave a Comment

Instalación de PHP, MySQL y Git en Centos 6.x

Instalación PHP

Para instalar PHP en Centos sólo es necesario ejecutar el siguiente comando:

Una vez instalado reiniciamos el servicio HTTPD:

 

Instalación MySQL

Ahora para instalar el servidor MySQL ejecutamos lo siguiente:

Iniciamos el servicio de MySQL:

Finalmente utilizamos este comando para establecer las opciones de seguridad de Mysql como asignar contraseña al root entre otras cosas:

 

Acceso Remoto a MySQL

Hay un detalle cuando instalamos MySQL en el servidor, no vamos a poder conectarnos de forma remota, habrá que modificar los permisos del usuario con el que nos conectemos, pondré el ejemplo si quisiera conectarme con el usuario root (lo recomendable es crear un usuario nuevo con esos permisos y asignar las bases de datos a las que tiene acceso), lo haríamos de la siguiente forma en el servidor:

Editamos el archivo de configuración de MySQL llamado my.cnf, lo encontramos por lo general en /etc/mysql/, si no sabes donde esta, búscalo con el siguiente comando linux:

Vamos a editar el archivo con el comando nano o vim, buscamos la línea de bind-address y skip-nerworking y las comentamos:

Reiniciamos MySQL:

Iniciamos el modo consola de MySQL

Dentro de la consola de MYSQL dar permisos de acceso remoto al usuario root con la siguiente consulta:

Sustituir la palabra PASSWORD con su contraseña actual para ese usuario.

Y hacemos un FLUSH para que los privilegios del usuario sean actualizados:

Más detalles en la siguiente liga: http://stackoverflow.com/questions/23733734/how-to-enable-remote-access-of-mysql-in-centos

 

Instalación GIT

Por último para instalar Git ejecutamos el siguiente comando:

Leave a Comment