Páginas

miércoles, 20 de enero de 2016

Comandos basicos para trabajar con Apache en Ubuntu Server


Método #1

Inicia el Servidor : 3 formas
  • # /etc/init.d/apache2 start
  • sudo /etc/init.d/apache2 start
  • sudo service apache2 start 
Reinicia el Servidor : 3 formas
  • # /etc/init.d/apache2 restart 
  •  $ sudo /etc/init.d/apache2 restart
  • $ sudo service apache2 restart 

Detiene el Servidor: 3 formas
  • # /etc/init.d/apache2 stop
  • $ sudo /etc/init.d/apache2 stop
  • $ sudo stop apache2  


There are processes named 'apache2' running which do not match your pid file which are left untouched in the name of safety, Please review the situation by hand.

* Hay procesos nombrados correr 'apache2 "que no responden a su archivo pid que se deja intacto en nombre de la seguridad, por favor revisar la situación a mano.

Este error me ocurrió en Apache, Corriendo sobre un Servidor con Ubuntu Server, la solución fue ejecutar desde la consola la siguiente instrucción:  

kill -9 $(ps -e | grep apache2 | awk '{print $1}') 



Que mata el proceso apache2.


Luego ejecutamos :

sudo service apache2 restart

Y Listo nuestro Apache corriendo de forma correcta.

domingo, 11 de octubre de 2015

Configurar Zona horaria en Ubuntu Server y PHP

En uno de mis desarrollo frecuentes en PHP y Ubunto Server me encontré con un problema;

La hora del sistema se almacenaba en my base de datos MySQL con una hora de adelanto.

Lo primero en que pensé fue en que el servidor tenia mala la zona horaria y lo solucione de la siguiente manera:

desde la consola de Ubuntu Server:
$ dpkg-reconfigure tzdata

una ves presionen enter se abre un asistente en el cual seleccionado nuestra zona horaria en mi caso Bogota-Colombia. 

Lugo precione en la misma consola
# date

y el resultado fue el esperado la fecha y hora actual de mi país, pero en la base de datos se seguía almacenando la hora con 1 hora de mas. Entonces pensé en que el problema podría estar en la configuración de PHP, por lo tanto después de un tiempo buscando en Google logre encontrar la forma de configurar la Zona Horaria en PHP.:

  1. Abrimos nuestro php.ini (sudo pico /etc/php5/apache2/php.ini)
  2. Buscamos la linea date.timezone 
  3. Si se encuentra comentada ( ; ) eliminamos el punto y coma
  4. le asignamos nuestra zona horaria a esta sentencia 
date.timezone = America/Bogota

En  http://php.net/manual/es/timezones.america.php encontramos todas las zona horarias del planeta. 


echo lo anterior simplemente no queda resetear nuestro servidor apache; con el siguiente comando desde la consola:



# /etc/init.d/apache2 restart



sábado, 3 de octubre de 2015

Virtual Hosts en XAMPP

Configurar Hosts virtuales me facilita las pruebas de mis aplicaciones Web de una forma fácil, intentare explicar lo pasos que seguí para configurarlo en XAMPP en my MacBook.


Editamos el siguiente archivo con un editor de Texto plano

/Applications/XAMPP/xamppfiles/etc/httpd.conf

 Buscamos la linea

# Virtual hosts
#Include etc/extra/httpd-vhosts.conf

y la descomentamos quitando el # de la que dice Include.

Editamos el siguiente archivo

/Applications/XAMPP/xamppfiles/etc/extra/httpd-vhosts.conf.

al Final agregamos o modificamos las lineas
# localhost
<VirtualHost *:80>
    ServerName localhost
    DocumentRoot "/Applications/XAMPP/xamppfiles/htdocs"
    <Directory "/Applications/XAMPP/xamppfiles/htdocs">
        Options Indexes FollowSymLinks Includes execCGI
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

Para que localhost siga funcionando igual, y las siguientes lineas para que funcione nuestro Virtual Host.

# davidweb.com
<VirtualHost *:80>
    ServerName local.davidweb.com
    DocumentRoot "/Users/miguellopezariza/Dropbox/davidweb"
    <Directory "/Users/miguellopezariza/Dropbox/davidweb">
       Options Indexes FollowSymLinks Includes execCGI
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

Por ultimo editamos el archivos /etc/hosts 
y agregamos 


#Virtual Hosts
127.0.0.1 local.davidweb.com

 

Guardamos y reiniciamos en XAMPP y listo nuestro Host Virtual creado.

Si por algún motivo se nos muestra un error de acceso prohibido! Error 403, realizamos lo siguiente.

Abrimos el archivo /Applications/XAMPP/xamppfiles/etc/httpd.conf 
y Buscamos la linea 
User daemon
Group daemon


y donde dice User remplazamos daemon por nuestro usuario del sistema, reiniciamos apache y listo.




 

lunes, 18 de mayo de 2015

Publicar App Android echa en Xamarin al PlayStore

Para publicar una app en el PlayStore de Google, debería ser un proceso muy facil hacerlo desde el ID de Xamarin, y al principio así me precio, pero después de un tiempo empecé a notar que los posibles usuarios de mi app se encontraban con este problema al intentar instalar en algunos teléfonos android.


Entonces después de buscar en mucho foros, por fin logre corregir ese error, consiste en crear el keystore desde la consola ya sea de Windows o Mac y luego utilizar jarsigner para firmar el Apk con la keystore.  

Los Pasos que realize fueron los Siguientes.


  • Verificar que tenemos el JDK 6 de Java instalado en nuestro sistema y configurado el PATH de este corectamente; todas la pruebas que realize con otras versiones del JDK no funcionaron, ni JDK 7 ni JDK 8. 

  • Creamos nuestra Keystore para poder firmar la App. 
$ keytool -genkey -v -keystore <filename>.keystore -alias <key-name> -keyalg RSA -keysize 2048 -validity 10000. 

  • Generar el APK desde el IDE de Xamarin, Abrimos la solucion en Xamarin, luego colocamos en "Release" el tipo de compilacion, luego damos click derecho sobre nuestra solucion y seleccionamos Construir App, con esto conseguimos que nuestro IDE genere nuestro Apk listo para se firmado con  jarsigner, este archivo lo localizamos la ruta donde esta nustra Solucion y entramos a la Carpeta Bin y  dentro de ella entramos a Release y aqui encontraremos el .apk de nuestra app, lo copiamos y lo colocamos en la misma carpeta donde tenemos nuestra keystore.
  • Firmar nuestra Apk con la keystore
     Jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1
     -keystore mi-release-key.keystore my_application.apk nombre_alias
 
     Jarsigner -verify -verbose -certs my_application.apk
 
     Zipalign -v 4 your_project_name.apk-your_project_name unaligned.apk  
 
Con esto ya tenemos nuestra App lista para subirla al PlayStore, y sobre 
todo instalarce en cualquier Telefono Android.
 
 
 

jueves, 19 de marzo de 2015

sendmail in Mac OS X Yosemite + mail de PHP

En ocasiones queremos enviar email desde nuestro equipo (localhost) desde un archivo php
Ejemplo :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
<?php 
 echo "Mandamos Email<br>";
 
    error_reporting(-1);
    ini_set('display_errors', 'On');

    $headers = array("From: from@example.com",
    "Reply-To: replyto@example.com",
    "X-Mailer: PHP/" . PHP_VERSION
    );
    $headers = implode("\r\n", $headers);
    $didhappen = mail('graficoapp@gmail.com', 'test', 'test', $headers);

     if($didhappen) {
        echo 'true';
     } else {
        echo 'false';
     }
 
 ?>

y nos encontramos con la sorpresa de que el email no fue enviado pues el código nos imprime en pantalla false, para solucionar este problema los pasos son lo siguientes.

  1. Editamos el archivo /Applications/XAMPP/etc/php.ini 
  2. descimentaríamos la linea ";sendmail_path" quitandole el ;
  3. La linea quedaria de la siquiente forma 
              sendmail_path = "env -i /usr/sbin/sendmail -t -i"

Lo guardamos y listo ya podremos enviar email desde PHP en nuestro Mac

domingo, 15 de marzo de 2015

Error 500 al subir pagina joomla de localhost a tu hosting compartido

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, webmaster@miweb.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

Additionally, a 500 Internal Server Error error was encountered while trying to use an ErrorDocument to handle the request.


El error es ocasionado por una cuestión de permisos en las carpetas de la pagina web en el servidor remoto (public_html);


La solución es asignar los permisos de la siguiente forma:

Las carpetas: 755

Los archivos que están por fuera de estas carpetas: 644

La carpeta Administrator deve estar 755
Las carptas dentro de Administrator 755
y el index.php que estan dentro de Administrator 644



esto solo se hace sobre las carpetas y los directorios que están en public_html no en los subdirectorios.