Cómo configurar los permisos CHMOD

Estándar

CHMOD (Change Mode o Cambiar modo) es el sistema de permisos de archivo utilizado por los servidores basados en UNIX que utiliza Neolo.com. Los permisos se presentan como un conjunto de 3 números en fila. En orden de aparición, los números representan los niveles de usuario, grupo y otro acceso.

Sin entrar en demasiados detalles, he aquí algunos ejemplos básicos de los permisos de uso más frecuente.

  • 755 = pueden ser vistos y ejecutados por cualquier persona, pero sólo pueden ser modificados por el usuario.
    Esto se utiliza generalmente en las carpetas y se puede utilizar como un sustituto de 777 en nuestros servidores.
  • 644 = Pueden ser vistos por cualquier persona, pero sólo pueden ser modificados por el usuario.
    Esto se usaría para php, html y otros tipos de archivos.
  • 444 = Pueden ser vistos por cualquier persona, pero no pueden ser modificados sin cambiar el CHMOD.
    Esto se usaría para proteger los archivos de configuración.
    Nota: Este permiso no se puede establecer a través de FTP

Otro nivel de permisos que se utiliza a menudo erróneamente es el 777. El uso de este nivel de permisos es muy peligroso porque significa que cualquiera puede leer, ejecutar y cambiar el archivo. De hecho, hemos evitado la ejecución de los archivos que tienen grupo u otro acceso de escritura, para su seguridad. Al intentar utilizar permisos 777, 757 o 775, se producirá un error 500 al intentar acceder a ese archivo desde un navegador. Puede confirmar esto comprobando el registro de errores siteadmin / cPanel. Verás entradas similares a lo siguiente.

[Mon Jan 24 12:49:42 2015] [error] [client 76.120.232.238] SoftException in Application.cpp:264: File “/home/user/public_html/test.php” is writeable by others

Nota: Si un script o aplicación solicita que utilice permisos 777, puedes sustituirlo por 755 en nuestros servidores y debería funcionar correctamente.

¿Por qué un sitio web puede consumir demasiado?

Estándar

Demasiado significa que el sitio web consume más recursos (CPU, RAM, Disco) que el 95% restante de los sitios web que están en un servidor. Es decir, que se encuentra dentro del 5% de los sitios que más consumen.

Y a veces, la cantidad de visitas no llegan a ser cientos ni miles por día.

Pero esto puede ocurrir, cuando se utilizan plataformas que no están preparadas de fábrica para recibir grandes cantidades de visitantes, por ejemplo los WordPress, Joomla, Magento y Moodle.

programación web

En este sentido, para comprender el motivo de una caída o lentitud de tu sitio web, es fundamental primero tener en cuenta que un sitio web no depende sólo del web hosting, sino que también está constituido por varios componentes fundamentales:

  • Web Hosting: Son los servidores responsables que el sitio web -que son un conjunto de archivos- funcionen correctamente, según la capacidad del servidor. El Web Hosting también es encargado del funcionamiento del servidor de correos electrónicos, de las bases de datos, entre otros servicios web 🙂
  • Programación del sitio web: Es el conjunto de códigos y archivos que dan como resultado a todo lo que se “visualiza” de un sitio web y todo aquello que es permite interacción.
    Por dar un ejemplo, existen distintas formas de programar un sitio web para que muestre la página principal, no es lo mismo mostrar una vez una foto y luego que la misma quede almacenada en caché (sistema de memoria temporal), a que sea mostrada cada vez al visitante (por lo tanto cada vez vuelve a pedirle al servidor la información generando más utilización de la memoria y capacidad del servidor), tampoco es lo mismo tener una base de datos sin índices que con índices, dado que esto modifica sustancialmente el consumo de los recursos (RAM, CPU, etc) del servidor de web hosting.
  • Cantidad de visitantes: Usualmente se dice que un sitio web tiene “5.000 visitas diarias” pero no es lo mismo recibir 5.000 visitas distribuídas equitativamente en 24 horas, que recibir 4.000 visitas en 30 minutos y el resto a lo largo del resto del día.
    Asimismo, tampoco es lo mismo recibir 5.000 visitas en un sitio web programado de forma optimizada que no optimizada. Tampoco es lo mismo recibir una visita que ingresa y se retira de la web, que otra que navega por todos los contenidos de la misma. El consumo que realice cada visita, que interactuará con la programación del sitio web y con el servidor de web hosting, generará un consumo específico. Para darte una idea, en NEOLO.COM tenemos muchísimos clientes que prefieren pagar VPS 5 teniendo en su web “sólo” 1.000 visitas diarias en vez de optimizar la programación del sitio web, mientras que otros tienen 9.000 visitas diarias y tienen un VPS 2. Otros tienen 3.000 visitas diarias en un hosting compartido pero con una web hiper optimizada por programadores expertos. Es una decisión completamente personal, nosotros acompañamos a cada cliente para que tome la decisión que desee, sin que se perjudiquen los servidores de web hosting.

Con tener un mal uso o abuso de una sola de esas variables o componentes el servicio de web, bases de datos, mails, etc, dejará de funcionar.

Pero la causa más frecuente es una ineficiente programación web. Sistemas como WordPress o Joomla entre otros además de padecer millones de fallas de seguridad (ver fallas wordpress, verfallas joomla), no están preparados de manera predeterminada para recibir miles de visitas diarias. Asimismo por más que las versiones futuras de esos sistemas ya vengan preparadas para recibir miles o decenas de miles de visitas diarias en un hosting compartido, quizás los plugins o themes (diseños) que se instalen al WordPress o Joomla no lo estén.

Cada uno de esos sistemas posee millones de líneas de código, pero una sola podría hacer que todo el sitio funcione lentamente y que incluso consuma todos los recursos del servidor.

Es decir, tener muchas visitas no te obligará a disponer de un mayor servicio de hosting o de VPS, porque una sola visita con una programación web mal realizada, podría saturar un servidor web utilizando todos los recursos del mismo.

¿Como mejoro la programación de mi sitio web?

Hay un refrán que señala “zapatero a sus zapatos”, y significa que cuando hay un problema, lo tiene que resolver un especialista con varios años de experiencia. Sin embargo te brindaremos algunos consejos generales que no aseguran que resuelvan el problema de inestabilidad causado por el tráfico a tu sitio web pero quizás podrá ayudar:

Si utilizas WordPress instala el WP-Cache que es un excelente plugin que transformará las páginas y posts dinámicos (en PHP) de tu blog a HTML. Pero si tienes otra plataforma o bien ya lo has instalado y tu sitio web sigue saturando al servidor de web hosting, es recomendable que contrates a un programador PHP con varios años de experiencia y que sepa optimizar queries al MySQL -es decir, las solicitudes que desde el navegador web de cada usuario se lanzan a través del PHP hacia la base de datos MySQL-

¿Algunos consejos de programación PHP para optimizar el código de mi sitio web?

Desde Maestrosdelweb nos dan algunos consejos muy puntuales:

  • No suprimas errores con @, es muy lento.
  • La función mt_rand es más rápida que rand
  • La función mt_srand es más rápida que srand
  • La función getrandmax es más lenta que mt_getrandmax.
  • Utiliza pocos accesos a la base de datos. Al realizar una consulta selecciona solo los campos que necesites. No utilices “SELECT * FROM tabla” si no lo necesitas, utiliza “SELECT campo, campo FROM tabla”.
  • La programación orientada a pbjetos (POO) es muy útil, y mucho más cuando nuestra aplicación cuenta con gran cantidad de códigos, la POO nos permite obtener un mayor aprovechamiento reutilizando nuestro código.
  • Comprueba el tiempo que demora tu aplicación en cargar.
  • Realiza validaciones de formularios mediante javascript. No valides con PHP después de realizar un POST. El usuario tendría que esperar que se cargue nuevamente la web para que le valide el formulario.

¿En dónde encuentro más información para optimizar el código PHP / MySQL de mi sitio web?

http://www.lostiemposcambian.com/blog/php/5-consejos-de-micro-optimizacion-de-php/
http://www.maestrosdelweb.com/editorial/como-optimizar-tus-aplicaciones-php/
http://www.mdproductions.ca/guides/50-best-practices-to-optimize-php-code-performance
http://phplens.com/lens/php-book/optimizing-debugging-php.php
http://hungred.com/useful-information/php-micro-optimization-tips/

¿Como contrato un servidor de mayor capacidad?

Podrás siempre hacerlo contactando al área de soporte de NEOLO.COM. Igualmente, para nosotros no todo es vender, vender y vender :) por eso te volvemos a recomendar enérgicamente que también busques un programador PHP para optimizar el código de tu sitio web :)

¿La cantidad de visitas es responsable?

Como te comentábamos anteriormente, sólo hasta cierto punto. Una mala programación puede hacer que tu sitio web pueda procesar muy poca cantidad de visitas, mientras que una programación optimizada por un profesional puede soportar cientos de veces más visitas que una no optimizada.

trafico

¿En dónde puedo encontrar más tips para optimizar la programación de mi sitio web? ¿O un programador PHP que pueda optimizar mi sitio web?

En NEOLO.COM creamos NEOLO.COM/PRO. Es un sitio donde podrás encontrar profesionales independientes que realizan trabajos de manera freelance. Sino podés buscar también consultando a amigos o preguntando en otras webs como Workana o  TrabajoFreelance.

En resumen: ¿Si un sitio web funciona lento o consume muchos recursos, qué hacer?

Opción A: Optimizas la programación del sitio web buscando un programador en NEOLO.COM/PRO o en otro sitio.

Opción B: Realizas upgrade a un VPS de mayor capacidad o a un servidor dedicado.

Opción C: A+B :) :)

 

Las 10 Pesadillas De Los Programadores En Cada Trabajo

Estándar

acelerar la carga sitio web1) Explicar lo que se hace o lo que no se hace

Es muy complejo lograr que las personas que no saben programar, entiendan qué es el trabajo que uno realiza, esto incluye a clientes, jefes y colegas.

2) Crear nombres

Indicar nombres para variables, funciones, objetos y clases suele ser siempre un dolor de cabeza.

3) Estimar el tiempo para realizar las tareas

Es prácticamente imposible conocer todos los nuevos problemas que pueden aparecer cuando se está desarrollando una tarea.

4) Tratar con otras personas

Siempre será mucho más simple preguntarle y obtener una respuesta de una máquina que de una persona. Lo mismo para la realización de tareas.

5) Trabajar con el código de otra persona

El principal inconveniente es que no hay dos programadores iguales y antes de modificar un código, es necesario comprenderlo en su totalidad y eso implica una tarea difícil y lenta.

6) Agregar funciones que no estaban contempladas

Esto implica romper con la estructura lógica con la que se venía desarrollando, toda clase de agregados o nuevas funciones es parte del trabajo que nadie quiere hacer por lo tedioso y poco profesional que resulta.

7) Desarrollar documentación

La mayoría de la documentación nunca será leída por nadie, sin embargo los programadores se ven obligados a escribirlas.

8) Realizar pruebas

Hacer testing de los productos que uno mismo desarrolla es parte del trabajo que muchas veces los programadores tienen que realizar y sin embargo no es su principal habilidad ni deseo.

9) Diseñar soluciones

Resolver cómo ir del punto A al punto Z esquivando los puntos intermedios suele ser algo frecuente y muy molesto.

10) Recibir el pago en tiempo y forma

Los programadores freelance en general, son pagos fuera de tiempo y fuera de forma.

Cómo mejorar la velocidad de carga de un sitio web

Estándar

La velocidad de carga de un sitio web debe ser menor a los 3 segundos. Ese es el tiempo promedio que una persona logra enfocar su atención en un sitio web, y si en esos 3 segundos no logramos convencerlo de clickear en donde deseemos, o continuar leyendo, entonces lo hemos perdido y es casi seguro que abandonará la página.

Sin embargo, existen herramientas que permiten facilitar la tarea optimizar el código, las imágenes y las peticiones para la carga de página:

Además, es recomendable utilizar Cloudflare para cachear contenidos.

Si utilizas además WordPress, puedes tener en cuenta lo siguiente:

Si eres dueño de un VPS:

  • Instala nginx
  • Mide la RAM y CPU a través de SSH para identificar qué archivos son los que generan más consumo y consulta con un programador para optimizar el código

¿Cómo acelerar la carga de un sitio web?

Estándar

La conectividad promedio internet ha mejorado mucho el último tiempo y cada vez más sitios y más pesados cargan en una fracción de segundo. ¿El resultado? Los internautas son cada vez más intolerantes con los tiempos de carga alta de sitios web. Quieren sitios web para cargar más rápido y si estás interesado en proporcionar un gran contenido o productos, es todo lo que importa. Los siguientes son consejos para acelerar la carga de un sitio web:

1. Usar plugin de caché

El uso de un plugin de caché es el primer y más importante paso.

Con un buen plugin de caché como W3 Total Cache, DB caché Reloaded Fijar etc, un sitio web que recibe el tráfico pesado puede escalar y también mantener los picos de tráfico abruptos sin tener que experimentar lentitud.

Con una multitud de opciones como la caché de páginas, caché del navegador, caché DB, memoria caché de objetos y CDN (Content Delivery Network) de integración, un buen plugin de caché configurado así puede ayudar a acelerar una página web por un gran margen, sin tener que pasar horas de tiempo mirando a través de código (que por supuesto que lo tienes que hacer por resultados superiores).

2. Use un CDN (Content Delivery Network)

Un CDN es una vasta red de centros de datos distribuidos alojados en diferentes lugares de todo el mundo para la entrega rápida y eficiente de contenido a los usuarios de Internet.

Puede presentar contenidos tales como imágenes o infografías a sus usuarios de la web mediante el uso de los servicios gratuitos o de pago de CDN en lugar de servir de todo, desde un servidor local. Un CDN garantiza la entrega de contenido más rápido posible mediante la selección de un servidor basado en algunos parámetros de proximidad de red tal como el tiempo de respuesta y el número de saltos de red en dispositivo de acceso de usuario ruta.

Para empezar, puedes probar algunas CDN gratuitos ofrecidos por Google, Yahoo, Microsoft, Cloudflare y otros gigantes de Internet.

Si es necesario, también puedes considerar el uso de CDN comerciales para acelerar aún más su sitio web.

3. Usando proxy inverso o estático Caching

Las ventajas del uso de proxy inverso o caché estática es servidores web pueden ofrecer páginas estáticas mucho más rápido que las páginas generadas dinámicamente.

En lugar de utilizar sus recursos del servidor web en la generación de cada página de forma dinámica sobre la recepción de nuevas solicitudes de los usuarios, puede crear inteligentemente archivos estáticos y les han entregado en un plazo de tiempo más corto.

Desde el balanceo de carga y una mayor seguridad de los servidores de autenticación, terminación SSL, compresión y reescritura de direcciones URL, invierten proxies se utilizan ampliamente para la amplia gama de beneficios que proporcionan.

Es una técnica excelente para la aceleración de un sitio web, pero el reto es entender realmente cuando debería estar actualizando las páginas estáticas y cómo exactamente algunos componentes dinámicos deben ser manejados.

4. Compresión Gzip

Gzip es un método de compresión populares y ampliamente aceptada en la web.

Es casi un estándar universal con más del 90% del tráfico de Internet manejado por los navegadores que se han incorporado en el apoyo a la compresión Gzip.

Gzipping se puede activar mediante la adición de unas pocas líneas de código al archivo htaccess de su sitio web; puede ayudar a reducir el tiempo de respuesta global de un sitio web por un gran margen. Lo hace mediante la disminución del tamaño total de la respuesta HTTP.

5. Almacenamiento en caché del navegador

Con el almacenamiento en caché habilitado en el navegador mediante la adición de un código en el archivo htaccess, almacena el navegador de un usuario en caché versiones de recursos estáticos en su extremo. Menos de datos tiene que ser descargado del servidor para las solicitudes de repetición, lo que resulta en una mejora de la página web el tiempo de carga. También ayudará a evitar rezagos servidor frecuentes.

6. YSlow Score y Google PageSpeed ​​

YSlow Score y Google PageSpeed ​​no disminuyen exactamente sitio de tiempo de respuesta, pero las sugerencias detalladas que generan pueden ser muy útiles. Estas herramientas se utilizan principalmente para analizar el rendimiento de la página web en ambos sistemas móviles y de escritorio.

Continúa leyendo más en el nuevo artículo.

¿WordPress o Blogger? ¿Cuál es mejor?

Estándar

WordPress es una plataforma para la creación de blogs desarrollada por Automatic, mientras que Blogger ha sido adquirida por Google.

Ambos servicios son diferentes. Uno es más complejo pero con más funcionalidades, recomendado sólo para usuarios expertos (WordPress) mientras que Blogger es aconsejable para todos los usuarios que recién comienzan a familiarizarse con las webs y quieren crear su blog en Internet.

WordPress asimismo es más inseguro dado que su código es abierto y constantemente se encuentran nuevas fallas de seguridad. Asimismo, blogger no puede ser utilizado en otros hosting que no sea el de Google (o sea que estás aprisionado) mientras que WordPress puedes hostearlo donde desees.

Si ninguno de estos servicios te convence, puedes probar también con Oloen.com que combina la facilidad de blogger con la potencia de WordPress 😉

¿Cómo crear un MVP?

Estándar

A la hora de crear un sitio web innovador es importante que podamos darnos cuenta qué características aceptará el mercado como mínimas para que podamos comercializarlo, es decir, facturar (generar dinero).

Por eso, esta imagen de a continuación nos ilustrará que siempre que desarrollemos un Minium Viable Product (MVP), siempre deberemos crearlo de manera funcional desde el inicio, tiene que ser útil y el usuario tiene que poder utilizarlo.

mvp