De CodeIgniter a Symfony2

kraneok

Hola gente, voy a dar el salgo de CodeIgniter a Symfony2.
La razón por la que posteo es por que utilizo xampp, y al instalar el Symfony este me obliga a modificar el archivo de apache donde sitúa la ruta de las páginas web.
Symfony2 me obliga a apuntar hacia la carpeta donde está instalado, sin embargo, si hago esto, el resto de los proyectos web que tengo dejarían de ser accesibles, y la verdad, paso de estar cambiado la directira de ruta todo el rato.
¿ Hay alguna solución para esto ?, ¿ recomendaciones ?, etc..

Un saludo.

NickNack

No estoy seguro de que sea la manera... pero creando un alias en xammp (modulo apache) especifico para cada directorio debería funcionar

1 respuesta
kraneok

#2 Eso casi que también sería una cabronada xddd

1 respuesta
Gif

virtual hosts


NameVirtualHost dev.dominio.com:80
<VirtualHost dev.dominio.com:80>
	ServerAdmin [email protected]
	DocumentRoot "F:/xampp/htdocs/dominio"
	ServerName dev.dominio.com
 <Directory "F:/xampp/htdocs/dominio">
	Options -Indexes +FollowSymLinks
	Order allow,deny
	allow from all
	AllowOverride All
 </Directory>
 <Directory "F:/xampp/htdocs/web/private">
 	Options -Indexes
	Order deny,allow
	allow from 192.168.1.252/32
	deny from all
 </Directory>
	ErrorLog "F:/xampp/htdocs/dominio.com-error.log"
</VirtualHost>

NameVirtualHost localhost:80
<VirtualHost localhost:80>
	ServerAdmin [email protected]
	DocumentRoot "F:/xampp/htdocs/SymfonyProject/Web"
	ServerName localhost
 <Directory "F:/xampp/htdocs/SymfonyProject/Web">
	Options -Indexes +FollowSymLinks
	Order allow,deny
	allow from all
	AllowOverride All
 </Directory>
	ErrorLog "F:/xampp/htdocs/default.log"
</VirtualHost>


NickNack

#3 Por que? Tendrías dos alias, por ejemplo localhost para symfony y localhost/xammp tu carpeta htdocs de apache

1 respuesta
kraneok

Y a la hora de pasar el proyecto a un entorno de producción...¿ que pasaría ?, tanto habría que liar, dios, se me están quitando las ganas xddd

#5 Ah, claro, con dos alias sería suficiente, uno para sym y otro para los restantes?, que podría n estar todos dentro de una carpeta dentro de htdocs no?

1 respuesta
NickNack

#6 Efectivamente, y luego a la hora de deployear es lo mismo, tu localhost/ALGO es tu directorio raiz asi que si luego lo cambiases a localhost solo por ejemplo o lo subieses a un servidor, mientras mantengas las rutas relativas a la raiz de la aplicación todo irá bien.

1 respuesta
kraneok

#7 De acuerdo, gracias, voy a probar y a empezar con Symfony, a ver el bombo que le dan si es cierto xd

Stricken

Échale un ojo a Vagrant si puedes, una vez te acostumbres no querrás volver atrás.

2 4 respuestas
kraneok

#9 Como mandes, de todos modos, el tema de empezar en Symfony aparte de ser por mis proyectos personales y como freelance, por el tema de que veo que es el mas demandado profesionalmente en empresas.

1 respuesta
txandy

#10 Sobretodo paciencia, y como dice #9 vagrant es tu amigo

1 respuesta
kraneok

#11 Es una aplicación de hostings virtuales?

1 respuesta
txandy

#12 Es una maquina virtual, la configuras una vez y la usas mil veces.

solo con editar el host y poner pepito.dev y el vhost de la maquina lo configuras y ale

https://puphpet.com/

1 1 respuesta
DarkSoldier

#9 2 me gustas, el de txandy y el mio XDDD #13 venía a decir eso xD eres un grande futuro jefe!

Cobre

Lo malo de instalar el vagrant con windows es que relentiza mas la carga de la web, te aconsejo que te instales un linux, las cargas pasa de 2000ms a a 200!

2 respuestas
txandy

#15 había escuchado que en esta última version de vagrant habían solucionado un poco ese problema.

RaymaN

#15 llevo varios meses con vagrant en windows y no sufro ese problema.

kraneok

#9 Hola amigo, estoy probando Vagrant, pero tengo una dudilla.
¿ Como sueles trabajar tu con el servidor ?, ¿ SSH a pelo ?, ¿ control de versiones ?, ¿ algún IDE con plugin para subir ficheros mientras los editas ?.

Un saludo y gracias ;:D.

1 respuesta
Stricken

#18 Lo bueno de vagrant es que puedes compartir en tiempo real el directorio en el que desarrollas de forma que con hacer CTRL+S en tu IDE favorito los cambios se verán reflejados de forma instantánea.

Te recomiendo que utilices este Vagrantfile
https://raw.githubusercontent.com/fideloper/Vaprobash/master/Vagrantfile

Descomenta lo que necesites y cambia

  config.vm.synced_folder ".", "/vagrant",
            id: "core",
            :nfs => true,
            :mount_options => ['nolock,vers=3,udp,noatime']

Por

config.vm.synced_folder ".", "/vagrant",
            id: "core",
            :mount_options => ['nolock,vers=3,udp,noatime']

Ya que en Windows el NFS no va muy bien y tienes que hacer algún que otro apaño.

Una vez hayas instalado todo accede desde http://192.168.33.10.xip.io/ :]

1 respuesta
kraneok

#19 Ah joder, que maravilla entonces :D. Una cosila mas, no consigo acceder al servidor web apache una vez instalado, con que IP sale la máquina, al hacer ifconfig, me sale una tal 10.0.2.x, pero por esta no sale nada. En el fichero Vagrantfile me da la opcíon de crear una red interna con una IP 192.168.x.x, que tampoco es accesible desde fuera. He pensado que quizás tenga que abrir puertos en iptables. ¿ Que estoy haciendo mal ?

Stricken

La IP es la que configuras en el Vagrantfile:

server_ip = "192.168.33.10"

Luego te creas el virtual host:


  <VirtualHost *:80>
      ServerAdmin webmaster@localhost
      ServerName 192.168.33.10.xip.io
 
  DocumentRoot /vagrant/public
 
  <Directory /vagrant/public>
      Options -Indexes +FollowSymLinks +MultiViews
      AllowOverride All
      Require all granted
  </Directory>
 
  ErrorLog ${APACHE_LOG_DIR}/192.168.33.10.xip.io-error.log
 
  # Possible values include: debug, info, notice, warn, error, crit,
  # alert, emerg.
  LogLevel warn
 
  CustomLog ${APACHE_LOG_DIR}/192.168.33.10.xip.io-access.log combined
 
  </VirtualHost>

... a2ensite nombrevhost
... service apache2 reload

Y accedes desde http://192.168.33.10.xip.io

xip.io
2 respuestas
kraneok

#21 Vale muchísimas gracias, voy a ponerme al lío, a ver si consigo echarlo a andar xDD

codek0rZ

Aprovecho este post (espero que no importe) para preguntar una duda que me ha surgido amí. Resulta que también trabajo con S2 pero siempre desde Windows + xampp, ya que trabajo más agusto en Linux decidi crearme una VM con Debian 7 + Apache2 + MySQL + php5 + vsftpd... y todo configurado, mi problema es el siguiente:

  • Cuando subo un proyecto de symfony me dice que no tiene acceso para escribir los logs y demás, por lo tanto tengo que hacer un "chown -R www-data:www-data" para acceder, pero cuando hago esto desde el FTP ya no tengo permisos para modificar lo subido y tengo que dar el permisos de nuevo a mi usuario FTP para subir archivos al directorio del proyecto para subir y luego cambiar los permisos de nuevo para el usuario del navegador.

¿Alguién sabe como solucionarlo? Intente seguír la guía de symfony pero ni "chmod +a" ni ACL me funciona correctamente.

gracias!

kraneok

#21 Pues tío, ya había echado a andar el price64 que me pasaste y ahora de repente, al intentar arrancar me da un Connection timeout todo el rato, así que no puedo conectarme al SSH, que cosa mas rara.

kraneok

Hola, solo levanto el post para decir que estoy flipando con Symfony2, nada mas xd.

1 respuesta
DarkSoldier

#25 pero di el porq! XD

1 respuesta
kraneok

#26 Aparentemente, viniendo de CodeIgniter, cuando comencé a leerme el libro entero de Symfony2 creía que me iba a dar algo. Nada mas lejos de la realidad, cuando empiezo a practicar y a usarlo, lo primero que noto, es que ni de lejos es complicado comenzar a programar en Symfony2, de hecho, está todo tan bien organizado, que cuando te quieres dar cuenta, tienes andando una página web simple,
El sistema de Routing de Symfony2, es la gloria bendita, quizás a las primeras de cambio algo liosa o "aparentemente liosa", de nuevo, en cuanto haces una ruta, SOLO UNA, te das cuenta del potencial que tiene la forma en que Synfony2 casa las rutas que viene por GET.
Siguiendo un poco así por lo alto, la librería que incorpora "Doctrine" como ataque a base de datos, es la gloria bendita también, aparte de que te simplicada todo, todo y todo lo que quieras, utilizando ORM como inherente, te quita el hacer todas las mierdas que tuvieses que hacer antes, eso sin mencionar que Symfony2 te da la posibilidad de no tener por que usar Doctrine.
Con el motor de plantillas ( Twig ), mas de la mismo, facilísimo crear plantaillas y parsearlas con los datos extraídos de la base de datos.
Si hay algo que quizás no me guste, es que puedes almacenar la información de conexión a la base de datos en archivos YML y XML, pero como también te da la opción de hacerlo en PHP, pues nada.
De momento no he tocado mucho mas, pero vamos, que en cuanto termine las cositas que estoy haciendo, el siguiente proyecto va en Symfony2 de cabeza and bye bye CodeIgniter.

eXtreM3

Pareces comercial de S2 colega xD

DarkSoldier

lástima que no pueda etiquetar a personas que no hayan posteado... pero si me lee.. Err3... es tu turno... ATACA! jajaja

1 respuesta
kraneok

#29 Que pasa? Xd

2 respuestas