Servidor Web Linux Ubuntu y CodeIgniter

PinVa

He seguido este tutorial para montar el servidor web:

http://blog.desdelinux.net/como-instalar-lamp-en-ubuntu/

Y tengo un codeigniter que hice yo con wamp ya funcionando y va perfectamente.

Entonces lo subo al servidor lo pongo en el directorio al que apunta el virtual-host etc, etc, todo muy bonito, cambio la configuración de codeigniter, como la base de datos, el host, etc.

Y nada.

Me aparece el siguiente mensaje:

404 Page Not Found

The page you requested was not found.

Es el 404 de codeigniter y no se porque sale eso, llevo ya unos dias y nada no hay manera.

Gracias!!

DarkSoldier

es relativamente sencillo, es un problema de configuración seguro, revisate toda la configuración bien, mirate el .htaccess de CI, si en local funciona y servidor no y encima con error 404..

xMarston

#1 ¿Htaccess?

Mujiwara

Te faltara el modulo de Apache "rewrite_module"

sudo a2enmod rewrite
sudo service apache2 restart
1 1 respuesta
PinVa

#4 Negativo, yo no se cuantas veces lo he puesto ya.

A demás por ejemplo cuando pones CI "virgen", con el welcome no tiene .htaccess y tienes que poner index.php/controller..

Entonces cuando quieres quitar el index.php pones el .htaccess y haces eso de sudo .. etc.

Y probé primero in .htaccess, después probé poniéndoselo como te dije pero nàh!

He echo ya 3 maquinas virtuales siguiendo manuals diferentes después toqueteando lo que ya se etc y nadA!

Un wordpress si me deja, pero el CI no, y se que la sensación que da es de la configuración pero no se el que si se configuran 4 cosas.

RaymaN

Lo primero que deberías hacer es mirar el error.log

1 respuesta
PinVa

#6 error.log donde esta?

El de codeigniter o apache?

1 respuesta
D

#7 pega la configuración del VirtualHost de Apache aquí.

1 respuesta
PinVa

#8 A ver no se que virtualhost exactamente te refieres pero te paso el fichero

/etc/apache2/sites-available/000-default.conf que es el que yo edito para el virtualhost:

<VirtualHost *:80>
     ServerAdmin webmaster@localhost
     DocumentRoot /var/www/api

</VirtualHost>

Y en /etc/apache2/apache2.conf te digo los directorios que hay :

...

<Directory />
   Options FollowSymLinks
   AllowOverride None
   Require all denied
</Direcotry>

<Directory /usr/share>
   AllowOverride None
   Require all granted
</Direcotry>


<Directory /var/www>
   Options Indexes FollowSymLinks
   AllowOverride None
   Require all granted
</Direcotry>
1 respuesta
Stricken

AllowOverride all, lo tenes en none :>

2 respuestas
PinVa

#10 Lo probe todo lo pongo all y nada!

Quien lo adivine es un puto crack

Edit:

Nada lamento informar que es imposible he probado de todo y nah no quiere funcionar.

D

#9 pasa el enlace de la web que te da el error 404

1 respuesta
RaymaN

En serio, estáis queriendo montar un mueble de Ikea sin mirar el manual.

ERROR.LOG

1 respuesta
PinVa

#13 #12 Si mire el manual, lo he echo muchas veces en local, pero ahora estoy poniéndolo en apache y no hay manera.

La pagina esta en una maquina virtual, pero esta noche la pongo en un servidor que tengo.

No hay ningún error.log, ya pregunte por hay arriba donde estaba ese fichero.

Como hago para que aparezca error.log? gracias a todos.

1 respuesta
RaymaN

#14 http://lmgtfy.com/?q=apache+error+log+location

1 1 respuesta
PinVa

#15 Ya mire el error.log y no aparece nada sobre eso solo core:notice de esas diciendo que me hemetido por openssh, y que lo he reinicado.

También aparece de anoche que estaba trasteando, algo como esto AH01630: client denied by server configuration /var/www/api pero ya no aparece sera algo que trastee probando pero ya no me da error.

Si el caso que no es un error de apache creo, porque puse un wordpress y funciona todo bien y eso, pero es que de codeigniter no se por donde tirar porque todo lo que hay que configurar para que funcione y tal esta bien que son 4 cosas en config.php y autoload.php

Y no se si seria por el base_url que hay que poner el dominio o donde esta puesto pero tengo puesto localhost y no funcionaba, puse la ip y tampoco, puse el dominio y nah.

Y me sale el 404 de 404_error.php de codeigniter.

1 respuesta
RaymaN

#16 un 404 genera una entrada en el error.log, si no aparece pon el nivel de log al mínimo para capturarlo todo. Trastear con CI sin saber manejar de forma aceptable un servidor web es una pérdida de tiempo.

2 respuestas
PinVa

#17 Ya pero intento aprender no soy de web aunque aprenderé, y tenia que hacer una api REST.

Lo siento.

1 respuesta
RaymaN

#18 si sabes programar en cualquier lenguaje entenderás la importancia de la depuración, es la base para el aprendizaje. Estás pidiendo que te digamos a qué tecla tienes que darle sin interesarte por el entorno donde estás trabajando.

Que no lo digo a malas eh, pero quizá habrías ahorrado bastante tiempo empezando a buscar el error por lo básico.

2 respuestas
PinVa

#19 Claro que te entiendo soy el n1 del debbug, pero me puse hace 4 dias en apache y no se nada he ido aprendiendo y ni sabia que eso daba un debug o un log.

Solo era por si alguien sabia a que se podía deber, mientras yo hago lo que has dicho leer y releer.

He puesto el ErrorLog a error, o no se cual es el nivel que dices que lo pone todo.

Me he metido en /var/log/apahe2/error.log pero me sale solo cuando hago un restart y cosas así.

Voy a cambiar el error level a más cosas a ver, pero no se cual es el "mas bajo".

Gracias.

Edit:

Vale lo puse debug y me dice 192.168... (la ip de mi ordenador) AH01626: authorization result of <RequireAny>: granted

1 respuesta
D

#20 tengo varias preguntas:

  1. ¿Distribución Linux donde estás montando la web?
  2. La web usa PHP? si es así, has instalado el modulo PHP para apache?
  3. En al configuración de Apache, te recomiendo que pongas debajo de ServerAdmin:
ServerName <nombre_de_la_web>

Ejemplo:

ServerName www.miscosas.com
  1. Configura Apache para que te guarde logs de acceso y error para así poder ver donde falla. Debajo de DocumentRoot pon lo siguiente:
ErrorLog /var/log/apache2/nombredelaweb-error.log
CustomLog /var/log/apache2/nombredelaweb-access.log combined

De esta forma se separan los logs de erro ry acceso de la web con los logs del propio apache.

  1. Si nos dices el domain name y la IP, puedo hacer pruebas
1 respuesta
PinVa

#21 Hola!

Si a ver lo pongo arriba

1 Ubuntu 14.04
2 Segui el manual de #1 donde si instale php y hice el phpinfo y funciona.
3 Puse el ServerName y gracias a
#17 vi como ver los logs pero no genera ningun error de apache2 supongo que sera el CI.

Ahora mismo no esta en el dominio pero la pongo en un momento y te aviso por aqui.

PinVa

#22 La ip es 84.121.15.184 ahora mismo es que el dominio de 1&1 tarda cuando la añades a la maquina.

Hay podeis ver el mensaje.

1 respuesta
D

#23 ¿de ServerName que has puesto?

1 respuesta
PinVa

#24 ServerName http://www.chirinex.com

Que es el dominio que por cierto esta mañana no esta operativo -.-

1 respuesta
D

#25 Lo del dominio da igual.

Te editas el /etc/hosts en tu máquina con la IP y el dominio en cuestión y ya puedes hacer pruebas

2 respuestas
PinVa

#26 Ya también lo tengo echo :( pero es que no le da la gana de funcionar el HDP.

PinVa

#26 #19 #10

Edit:

He conseguido que funcione pero ahora no me reconoce como que se envía por POST los datos

Yo por POSTMAN intento insertar una latitud y longitud que es lo que hace mi programa y en php
al hacer isset('latitud') isset('longitud') da false porque no llegan.

Y es porque el servidor no estará configurado para recibir y enviar POST y GET?

porque hago un var_dump($_POST); y me dice que el array es de 0.

Gracias

1 respuesta
D

#28 He probado de acceder y tienes el DocumentRoot mal (diria que apunta a /var/www), ya que me lista los directorios:

api
html
portada

Si entro en api da un 404 majo
Si entro en html, em carga un html de Ubuntu que trae por defecto
Si entro en portada, carga un html pero no carga imágenes

1 respuesta
PinVa

#29 has probado la maquina virtual o la dirección ip?

Yo creo que el que pase si apuntaba a api.

Pero conseguí que me funcionara la api lo único que no funciona de la misma manera que en mi local y dan fallos de programación no se porque.

1 respuesta