martes, 7 de junio de 2016

Inslar let s ecrypt windows apache

How to Setup "Let's Encrypt" for Apache on Windows

Let's Encrypt is an effort by the Internet Security Research Group (ISRG) to provide free SSL certificates in order to encourage website owners to secure their websites with encryption. It is gaining in popularity and recently issued its two-millionth certificate.
There are many benefits of enabling SSL encryption on a website, including securing user information if they need to login to the site and getting a higher ranking on Google Search.
If you currently run Apache (or the other distributions such as XAMPP and WampServer) on Windows, then this guide is for you.

(A) Download the tools (letsencrypt-win-simple)

The official letsencrypt-auto script does not support Windows at this point of writing. Nevertheless, there is another third party tool called letsencrypt-win-simple created for Windows platform.
Download the latest version from the letsencrypt-win-simple release page here: https://github.com/Lone-Coder/letsencrypt-win-simple/releases
At this point of writing, the latest release is v1.9.0 and this is the direct link to the binary download in zip format:https://github.com/Lone-Coder/letsencrypt-win-simple/releases/download/v...
Extract the zip into a folder which you will keep permanently and have write access. If you are unsure, the folder "C:\letsencrypt-win-simple\" should be a good choice.

(B) Obtain an SSL certificate (Test Run)

Open the command prompt and navigate to the previous letsencrypt-win-simple folder.
cd C:\letsencrypt-win-simple
Then run the letsencrypt tool to generate a certificate for your domain in test mode. By using the test mode, the generated certificates will not count against the rate limit.
letsencrypt.exe --manualhost  --webroot  --test
Replace  with the actual domain name which you want to create the certificate for.
Replace  with the htdocs or www folder of Apache.
For example:
letsencrypt.exe --manualhost www.commaster.net --webroot "C:\xampp\htdocs" --test
If the certificate generation is successful, a message similar to the following will appear.
Authorizing Identifier  Using Challenge Type http-01
 Writing challenge answer to \.well-known/acme-challenge/
 Answer should now be browsable at /.well-known/acme-challenge/
 Submitting answer
 Refreshing authorization
 Authorization Result: valid

Requesting Certificate
 Request Status: Created
 Saving Certificate to C:\Users\\AppData\Roaming\letsencrypt-win-simple\httpsacme-stage.api.letsencrypt.org\-crt.der
 Saving Issuer Certificate to D:\Users\\AppData\Roaming\letsencrypt-win-simple\httpsacme-stage.api.letsencrypt.org\ca--crt.pem
 Saving Certificate to D:\Users\\AppData\Roaming\letsencrypt-win-simple\httpsacme-stage.api.letsencrypt.org\-all.pfx

You can safely skip the below to Section C if your test generation is successful.
In order to authorize itself, the letsencrypt tool will answer the HTTP challenge from Let's Encrypt server, by placing the challenge file under the folder /.well-known/. Therefore, it's important that the .well-known folder can be publicly accessed through http://. A usual problem for many users of PHP or Python framework is that the framework redirect the root path of the domain url to their own processing script. In this case, you need to place an alias in your Apache configuration file such as below:
Alias /.well-known /.well-known
Replace domain-root accordingly. For example:
Alias /.well-known "C:/xampp/htdocs/.well-known"
Restart Apache server and attempt the test generation above again.

(C) Obtain an SSL certificate (Actual Run)

If your test generation has been successful, proceed to generate the actual certificate by removing the --test argument from the command.
letsencrypt.exe --manualhost  --webroot 
The tool will ask you for some information. Answer accordingly.
Lastly, the tool will setup a schedule task which runs every 9.00am in the morning. Let's Encrypt certificates are issued with a validity of 90 days. This task will help to renew the certificates within 30 days before expiry, so you will never have to worry about certificate expiry anymore.
From the output of the tool, note the path of the certificate file and issuer certificate file.

(D) Configure Apache to use the SSL certificate

You need to configure an SSL-enabled virtual host for your domain name. Refer to the Apache docs on how to do that. In the virtual host configuration, specify the path to the certificate file, certificate key file, and the certificate chain (issuer certificate) file, which you note down from the output actual generation in Section C (not test generation in Section B). Besides, it is recommended that you redirect all the http traffic to the https site with the correct domain name of your certificate.
Here is an example of a partial Apache configuration.
On the non-SSL virtual host:

    ServerAdmin admin@commaster.net
    ServerName www.commaster.net
    ServerAlias commaster.net
    
    RewriteEngine On
    # Redirect to the HTTPS site
    RewriteCond %{HTTPS} off
    RewriteRule ^/?(.*)$ https://commaster.net/$1 [NE,L,R=301]

On the SSL virtual host:

    ServerAdmin admin@commaster.net
    ServerName www.commaster.net
    ServerAlias commaster.net
    
    RewriteEngine On
    # Redirect to the correct domain name
    RewriteCond %{HTTP_HOST} !^commaster.net$ [NC]
    RewriteRule ^/?(.*)$ https://commaster.net/$1 [NE,L,R=301]

    Alias /.well-known C:/xampp/htdocs/.well-known

    SSLEngine on
    SSLCertificateFile "C:/Users//AppData/Roaming/letencrypt-win-simple/httpsacme-v01.api.letsencrypt.org/-crt.pem"
    SSLCertificateKeyFile "C:/Users//AppData/Roaming/letencrypt-win-simple/httpsacme-v01.api.letsencrypt.org/-key.pem"
    SSLCertificateChainFile "C:/Users//AppData/Roaming/letsencrypt-win-simple/httpsacme-v01.api.letsencrypt.org/ca--crt.pem"
Note that the alias for /.well-known path must be copied to the SSL virtual host because it is needed for future certificate renewals.
Restart Apache server so that the new configuration will take effect.

https://commaster.net/content/how-setup-lets-encrypt-apache-windows

miércoles, 21 de octubre de 2015

martes, 30 de junio de 2015

6 preguntas que debemos hacernos antes de instalar un plugin de WordPress

Los plugins de wordpress son grandes complementos ya que pueden ahorrar mucho tiempo, mejorar la velocidad del sitio, el SEO, y muchas más. Los plugins perminten a los diseñadores y desarrolladores la capacidad de crear sitios web sofisticados de forma más rápida y con mejores prestaciones. Con más de 20,000 plugins y más de 340 millones de descargas desde el repositorio de WordPress, no hay duda de los plugins son un componenete importante dentro del ecosistema de wordpress.
Pero hay ciertas desventajas al utilizar los plugins de wordpress. Confiar demasiado en estos pueden exponer a nuestros sitios a una variedad de riesgos cada vez más amplia.
Vamos a ver el problema que podemos tener con los plugins y los aspectos que debemos considerar antes de instalar uno.

El problema de los plugins.
Viendo un sitio web montado con wordpress se apreciaba que el proceso de carga era bastante lento y el cliente no sabia muy bien por qué. Entonces nos pidió que le echaramos un ojo.
Inmediatamente nos dimos cuenta de un retraso significativo en la capacidad de respuesta de la página web. Fuimos directamente a la lista de plugins para confirmar la sospecha de lo que podría ser la causa. Efectivamente, había a una lista con más de 40 plugins activos.
escritorio de plugins
Después de esto es muy importante saber que el número de plugins en wordpress puede no ser el problema. Aunque si es cierto que un gran número de plugins aumenta la probabilidad de dificultades.
Sabiendo esto algunos plugins mal desarrollados son la causa más común de los problemas.
Algunos de estos problemas más comunes que nos enfrentamos al tratar con plugins son:
  • La velocidad disminuye
  • Aumentan las vulnerabilidades de seguridad
  • La exposición a riesgos a largo plazo (por ejemplo, un plugin que no está actualizado)
Disminuye la velocidad
Los problemas de velocidad que se relacionan con los plugins es causada por aspectos como las malas prácticas de desarrollo por parte del autor del plugin.
Aquí hay dos posibles razones por las que un plugin de wordPress pueden ralentizar un sitio:
  • Duplicar las librerías de JavaScript: El plugin podría solicitar estas librerías de código abierto (por ejemplo, jQuery, MooTools, etc) sin comprobar si ya han sido solicitadas. Se trata de un problema de rendimiento en la web bastante común. Un buen plugin debe hacer uso de wp_enqueue_script para cargar las librerías de JavaScript y asegúrese de que no hay solicitudes redundantes.
  • Innecesarias peticiones HTTP: Otra mala práctica es incluir los archivos del sitio cuando no se necesitan. Por ejemplo, puede que sólo tenga un formulario de contacto en una o dos páginas de su sitio, pero el código JavaScript y CSS del plugin que está utilizando actua en el wp_head y ahora están siendo solicitadas por todas las páginas web. Para evitar esto, estos archivos deben añadirse condicionalmente sólo cuando la función del plugin lo necesite.
Vulnerabilidades de seguridad
Otro gran problema con los plugins poco desarrollados es el alto riesgo a vulnerabilidades de seguridad. Hay pocas cosas peores que recibir una llamada de un cliente acerca de que su sitio ha sido hackeado.
Estas son algunas de las vulnerabilidades de seguridad comunes en los plugins de WordPress:
  • Librerías vulnerables: A finales de 2011, una vulnerabilidad de seguridad fue encontrada en TimThumb , esta librería PHP es utilizada en muchos plugins de WordPress y las plantillas, lo que da lugar a muchos sitios afectados por WordPress. Este es un ejemplo de cómo el uso de plugins pueden abrir el sitio a problemas de seguridad.
  • La falta de datos de una buena desinfección y validación: Otra práctica que produce fallos de seguridad es al limpiar inadecuadamente y validar los datos, lo que puede dar lugar a inyecciones hacia MySQL y vulnerabilidades de cross-site scripting (XSS). Un buen plugin debe seguir las mejores prácticas en materia de saneamiento de datos y validación. (Para los desarrolladores de wordPress, hay un tutorial sobre saneamiento de datos y validación en Wptuts + que podría ser útil.)
Riesgos a largo plazo
Basándonos en un plugin de WordPress durante un largo período de tiempo, se pueden exponer a estos riesgos:
  • El desarrollo se parará: La mayoría de los plugins son de código libre. Con el tiempo, el interés por el desarrollador del plugin puede desaparecer y se abandonan, especialmente para los plugins menos populares.
  • Los plugins se actualizan demasiado tarde: Un riesgo importante es una vulnerabilidad de seguridad que se encuentra en un plugin, si el desarrollador no es capaz de publicar una actualización con la suficiente rapidez. Un plugin que hace uso de funciones obsoletas también corre el riesgo de no trabajar en futuras versiones de wordPress.
  • Las funciones del plugin son sustituidas por wordpress: Un plugin normalmente se desarrolla para resolver una necesidad que no está siendo cumplida por WordPress. Con las nuevas versiones de WordPress, pueden dejar de ser necesarios y el desarrollo y mantenimiento del plugin se puede detener. Cuando esto sucede, el autor del plugin puede recomendar maneras de desactivar el plugin y cambiar la función del nuevo núcleo, sin embargo, no hay garantía de que esto suceda. Es posible que no puedas deshacerte del plugin y lo tengas ahí para siempre.
Preguntas que debemos hacernos antes de instalar un plugin de WordPress
Ahora que hemos identificado los problemas potenciales del uso de plugins en WordPress, podriamos pensar en evaluar si realmente necesitamos un plugin o no.
A continuación veremos algunas preguntas que sugiero re preguntes antes de utilizar un plugin de WordPress.
cuestionario plugins wordpress
¿Necesito este plugin?
Cuando buscamos a través del directorio de plugins de WordPress, lo primero que debe determinar es si hay realmente es necesario. ¿Es este complemento fundamental para mi sitio ?
Debemos averiguar si realmente necesitamos un plugin en especial y si es importante instalarlo cuando navegamos por el directorio de plugins más importantes de WordPress , ya que podría tener la tentación de instalar alguno, simplemente porque muchos otros sitios parecen utilizarlo también.
¿Puedo hacer lo que necesito sin este plugin?
La idea de hacer clic en el botón “Instalar” y que todo empiece a trabajar de forma automática es muy atractivo.
Para los no-desarrolladores, utilizan estos plugin para las más sencillas funciones. Sin embargo, si eres desarrollador con buenos conocimientos de PHP, MySQL, las prácticas recomendadas para el desarrollo utilizando un poco de nuestro tiempo, es escribir nuestro propio código en functions.php, esto podría ser la mejor opción para evitar dependencias de terceros.
Por ejemplo, la búsqueda de “Facebook Like” en el directorio de plugins de WordPress devuelve más de 700 resultados. Si su único objetivo es añadir un botón de “Me Gusta” de Facebook en nuestro sitio, es fácil conseguir el código de la documentación oficial de Facebook Developers, y luego incluirlo en el lugar adecuado de la plantilla single.php o functions.php.
¿Es este plugin mejor que otro plugin de la competencia?
La idea es conseguir una buena lista de opciones antes de comprometerse con un plugin en concreto. Comience por buscar en el directorio de plugins y arma una lista rápida. Haz una investigación en cada uno, en busca de comentarios de cada plugin.
Aquí están algunas cosas a tener en cuenta a la hora de realizar una investigación sobre los plugins de WordPress:
  • ¿Cuándo fue la información publicada? Las cosas cambian rápidamente en el mundo de WordPress, así que asegúrate de que la revisión sigue siendo reciente.
  • No pases por alto los plugins premium de WordPress. Hay muy buenas opciones de pago que no tienen por que estar en la parte superior de los resultados de tu búsqueda, o no ser tan popular en comparación con sus homólogos libres de código abierto. Te recomiendo evaluarlas también. Estos también vienen con el apoyo activo del desarrollador del plugin en caso de tener problemas.
  • Revisa periódicamente la lista de plugins. Recopilar una buena lista de plugins requiere de algún tiempo. Debido a lo rápido que cambian las cosas, te recomiendo que revises regularmente tu lista (recomendable al menos dos veces al año).
¿Qué autor de un plugin tiene más credibilidad?
Cuando se elige un plugin, estamos depositando la confianza en su autor. Es importante haber elegido una autoridad que tiene el mayor nivel de credibilidad.
Determinar la credibilidad puede ser difícil. Un desarrollador nuevo en la escena puede ser la mejor opción, pero puede carecer de la publicidad y la reputación de un desarrollador más conocido.
No es una ciencia exacta responder a esta pregunta, pero aquí hay algunas cosas a tener en cuenta:
Revisa la actividad del plugin. Para los complementos dentro del directorio de plugins de wordPress, podemos echarle un vistazo a las últimas relaciones de tickets de soporte contestadas, digamos unos dos meses para determinar cómo responde el desarrollador.
soporte all in one seo pack
Se puede ver rápidamente cuántos tickets se resuelven en la columna y cuando fué la última vez que un ticket fue respondido.
Si es un plugin premium, mira sus foros de soporte oficiales (si es posible) y comprueba cómo muchas de las preguntas son respondidas y el tiempo que transcurre entre las respuestas.
Trata de averiguar por qué el desarrollador creó el plugin. ¿Qué los motivó a hacer el trabajo inicial? ¿Qué los motiva a seguir trabajando en el plugin? La respuesta no siempre es evidente y las aparentemente respuestas “obvias” pueden estar equivocados. Tal vez sea para poner en practica sus conocimientos. Si se trata de una afición de tiempo libre que el desarrollador adquirió por diversión o por experimentar, estos pueden estar en riesgo de caer su interés en su proyecto. Si el desarrollo del plugin es un esfuerzo a tiempo completo (como es el caso de algunos de los plugins de primera calidad), entonces el motivo del desarrollador es continuar con el desarrollo y el apoyo sigue siendo alto.
Determinar, lo mejor que pueda, el nivel de experiencia de los desarrolladores. ¿Es este su primer o único plugin? ¿Qué tipo de trabajo realizan para ganarse la vida? ¿Han hecho contribuciones al núcleo de wordPress? Aunque la experiencia no es la única que mide el talento, muchas veces, es un punto de partida seguro.
¿Qué plugin tiene el registro mejor registro de actualizaciones?
Al reducir la lista de plugins, considera la frecuencia de actualización del plugin. Para los plugins alojados en el directorio de plugins, mire la ficha notas para ver los cambios que se hicieron en cada actualización.
cambios akismet
También, dirigete a la pestaña de Developers (desarrolladores) y mira el registro de desarrollo para ver cuánto tiempo ha transcurrido entre las actualizaciones.
desarrolladorakismet
trac akismet
Al revisar esta información vemos algunas aspectos a tener en cuenta considerando lo siguiente:
  • Evaluar los tipos de cambios realizados en el plugin. Hay una larga lista de correcciones de errores, aunque está bien para tenerlos resueltos, pueden sugerir descuidadas prácticas de codificación por parte del desarrollador y el riesgo de que exista más errores.
  • Evaluar la cantidad de tiempo que ha transcurrido entre las actualizaciones del plugin. Hay que tener en cuenta la naturaleza de cada plugin, ya que existen algunos quee son alta calidad pero simples y no necesitan muchas actualizaciones. Un factor importante es la consistencia. Las actualizaciones por meses son mejores que las actualizaciones a diario durante un mes seguido y después seis meses de silencio.
¿Qué plugin tiene una mejor acogida?
Considera el uso y la recomendación de un plugin de WordPress a través de las estadísticas. ¿Cuántas descargas tiene? ¿Quién lo recomienda y por qué? ¿Que opiniones tiene el plugin?
Al hacer esas preguntas debemos tener en cuenta que la popularidad de un plugin no significa automáticamente que sea la mejor opción. Aunque si son puntos a favor, en contra a su popularidad debemos ver las respuestas a las otras preguntas que hemos visto sobre el autor del plugin y el historial de actualizaciones.
Es posible encontrar un plugin menos popular pero con un desarrollador sólido detrás de él.
Conclusión
Los plugins son importantes para WordPress. Pero es recomendable mantener su uso bajo mínimos y buscar maneras de lograr más por menos.

lunes, 29 de junio de 2015

FARINSPACE HOME FORUMS ARTICLES WPALCHEMY SIDEKICK PLUGIN WORDPRESS JQUERY DOWNLOADS 3 UTF-8 in MySQL — Solving UTF-8 Issues in MySQL




http://stackoverflow.com/questions/1605760/how-to-best-configure-php-to-handle-a-utf-8-website

http://stackoverflow.com/questions/1691461/what-do-these-php-mbstring-settings-do

UTF-8 in MySQL can be tricky. Sometimes the problem isn’t noticed right away. Here is how I solved my recent encounter with UTF-8 issues and MySQL.
I’ve just fixed an issue where values were not properly being stored as UTF-8 in MySQL. The problem turned out to be the need of a few my.cnf config settings. I don’t claim to know much about the inner workings of MySQL, simply because that is not where most of my time is spent. But I wanted to share the solution that worked in my particular case:
MySQL version: 5.1.41 (Ubuntu Linux)
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci; SET NAMES utf8;'
default-character-set=utf8
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
TIP On Ubuntu I created a utf8 config file at /etc/mysql/conf.d/utf8.cnfwith the above contents and simply restarted mysql using sudo service mysql restart.
I had problems when I did not include skip-character-set-client-handshake. Adding it along with everything else fixed my UTF8 issues.

UTF-8 in MySQL Resources

WordPress and php’s Multibyte String

Last August I was going crazy trying to figure out why WordPress was dropping most of my posts.
The problem happened whenever I used an apostrophe or a quote (‘ or “). Whenever I saved a draft of the post, everything after the first apostrophe or quotation mark would disappear into oblivion. This, in spite of my database collation and wp-config file being matched to the utf-8 character set.
So, for example,
Here’s a little post. Doomed to be chopped off at the first sign of an apostrophe. Alas!
would become:
Here
At the time, I had narrowed the problem down to php’s multibyte string extension. I run my own server, so I could rebuild php without the mbstring extension and everything worked fine. When I rebuilt it again with mbstring back in the mix, the problem reappeared.
And yet…

Disabling mbstring has a few disadvantages.

  • For one thing, it’s one of the php extensions required for WordPress operation. Some very popular plugins (like Jetpack) use it. In fact, without mbstring enabled, Jetpack gives you a warning that certain things, like Twitter widgets, might not work correctly.
  • For another thing, disabling the extension limits WordPress’s language capacity. I might not care that I can’t blog in German or Japanese. But then again, someday I might. And disabling mbstring is obviously not going to work for anyone else who regularly blogs in languages other than English.
  • For a third thing, it’s really hard to disable mbstring if you don’t run your own server. Those settings are loaded when php starts. And, while you can find some advice about disabling them after the fact using your .htaccess file, the solution is less than ideal.
Besides, for a geek like me, the question remained. How can mbstring be a required extension, and millions of WordPresses run just fine on servers all over the place where mbstring is enabled by default? There had to be something else.

And indeed there is a better way!

I’ve been digging a little deeper into the mbstring extension.
There are several settings that come into play, any of which can cause the death of post-apostrophe posts in WordPress. The good news is you can change these settings in your php.inifile.
For those of us who are blogging in languages represented by utf-8 characters, here are the settings you’ll need to check (or if you’re using shared hosting where you don’t have access to the main php.ini file, create your own with a text editor and put it in your root directory with these lines):
mbstring.language = Neutral
Tells the extension to use generic (utf-8) encoding.
mbstring.internal_encoding = "UTF-8"
Tells the extension to use utf-8 for internal processes.
mbstring.http_input = auto
Tells the extension to assume that anything going in (i.e. your post submission when you hit “save”) will be in the language you told it to use in line 1.
mbstring.http_output = "UTF-8"
Tells the extension that after processing spit it all back out in utf-8 encoding.
There are a few other settings you might want to play with. And if you’re blogging in Japanese you might want to check out the settings for that. You can find advice about all this on PHP’s Mbstring Runtime Configuration page.
Now, with any luck, you can have your mbstring and your apostrophes too!