Nginx config para xenforo y phpbb

Nginx vhost para xenforo

server {
    listen   [::]:80;
    server_name  example.com www.example.com;
    root   /var/www/example.com;
    index  index.html index.htm index.php;
    access_log  /var/www/logs/example.com.access.log;  

    location / {
        try_files $uri $uri/ /index.php?$uri&$args;
    }

    location ~ /(internal_data|library) {
         internal;
    }

    location ~ \.php$ {
        fastcgi_pass   unix:/tmp/php.socket;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include fastcgi_params;
    }   
}

Nginx vhots para phpbb

server {
    listen   [::]:80;
    server_name  www.domain.com parkeddomain.com *.parkeddomain.com;
    rewrite ^    http://domain.com$request_uri? permanent;
}

server {
    listen   [::]:80;
    server_name  domain.com;
    root   /var/www/domain.com;
    index  index.php index.html index.htm;
    access_log  /var/logs/domain.com.access.log;

    location ~ /(config\.php|common\.php|cache|files|images/avatars/upload|includes|store) {
        deny all;
        return 403;
    }

    location ~* \.(gif|jpe?g|png|css)$ {
        expires   30d;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass   unix:/tmp/php.socket;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

Los vhost gracias a nginxlibrary.com

Aunque no es muy distinto de los demás, es más que todos los vhost son similares lo que cambia es que nginx no tiene htaccess y se tienen que integrar la reescritura de urls en el vhost directamente, aparte de las rutas de algunos directorios a los que tal vez queremos denegar el acceso, redirigir, pero el principio es el mismo 🙂

LFTP error: Fatal error: Certificate verification: Not trusted

Después de una actualización de LFTP siempre esta saliendo este error:

Fatal error: Certificate verification: Not trusted

La solución al problema es desactivar la versificación del SSL.

Basta con crear un archivo en nuestro home y añadir una linea, esto podemos hacerlo con:

nano ~/.lftp/rc

Y agregamos esto:

set ssl:verify-certificate no

O bien en un solo comando:

echo set ssl:verify-certificate no >> ~/.lftp/rc

Instalar Varnish en Centos 6 con YUM – Repos

Centos siempre pone las cosas complicadas con los repos, no por que sea complicado si no por que nunca tienen nada y cuando no hay tiempo para compilar los repos es la mejor opción.

En este caso los repos de varnish.

Actualmente podemos instalar los repos con este comando:

rpm --nosignature -i http://repo.varnish-cache.org/redhat/varnish-3.0/el6/noarch/varnish-release/varnish-release-3.0-1.el6.noarch.rpm

Mañana puede que ya no, así que si no funciona por que no esta el archivo podemos revisar este otro enlace para ver si a cambiado, ya sea la reversión o lo que sea: Repos varnish

También podemos descargarnos la fuente o bien los RPM desde este otro enlace: RPM de varnish o source code es el mismo enlace de antes solo que un par de niveles más arriba 🙂

Evitar el cacheo en el navegador con htaccess.

Hace tiempo hablamos de como cachear en el navegador o forzar el cacheo del contenido estático por medio de htaccess, podemos verlo aquí: Forzar cacheo de imágenes en el navegador

Si queremos hacer lo contrario podemos usar este otro código:

<FilesMatch "\.(html|htm|js|css)$">
FileETag None
<ifModule mod_headers.c>
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "Wed, 1 han 2000 05:00:00 GMT"
</ifModule>
</FilesMatch>

Con eso evitamos que se cachee el contenido, aunque en el ejemplo solo se previene el cacheo del css, js y los html, esto por ser los archivos más propensos a cambiar y a la vez los que menos ancho de banda gastan, aunque el primer motivo es mas influyente para evitar que se cacheen estos archivos.

Write Cache – HDPARM y SDPARM – RAID – IO Wait, 10 mb /sec

NOTA — esto es un apunte que supongo que servirá para los que buscan info al respecto y saben de que va, si no es mejor hacer caso omiso.

Revisando un nodo con proxmox nuevo vi que la velocidad de lectura era la adecuada pero la velocidad de escritura no subía de 10 MB.

La velocidad era impeorable ( no se si existe esa palabra )

6384+0 records in
16384+0 records out
1073741824 bytes (1.1 GB) copied, 135.238 s, 7.9 MB/s

Revisando los logs me encontré con esto:

Sep 20 12:33:39 xxxx kernel: sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, supports DPO and FUA
Sep 20 12:38:37 xxxx kernel: sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, supports DPO and FUA
Sep 20 17:22:21 xxxx kernel: sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, supports DPO and FUA
Sep 20 17:37:40 xxxxx kernel: sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, supports DPO and FUA
Sep 21 07:35:01 xxxxx kernel: sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, supports DPO and FUA

Supuse que el principal motivo de la velocidad de escritura tan lenta era esa, ya que la lectura era normal:

hdparm -tT /dev/sda

/dev/sda:
 Timing cached reads:   24478 MB in  2.00 seconds = 12252.92 MB/sec
 Timing buffered disk reads: 590 MB in  3.01 seconds = 196.26 MB/sec

Intente con hdparm activa el cache:

 hdparm -W 1 /dev/sda

/dev/sda:
 setting drive write-caching to 1 (on)
 HDIO_DRIVE_CMD(setcache) failed: Invalid argument
 HDIO_DRIVE_CMD(identify) failed: Invalid argument

Así que toco recurrir a SDPARM para activar el cache y no hubo ningún problema:

# sdparm --set WCE=1 /dev/sda
/dev/sda: AMCC   

Y automáticamente el resultado con el test de escritura a mejorado:

16384+0 records in
16384+0 records out
1073741824 bytes (1.1 GB) copied, 6.77504 s, 158 MB/s

Herramientas para revisar los discos duros smartmontools,hdparm y sdparm

Smartmontools

Smart moon tools tiene varias cosas interesantes para revisar discos duros, lo básico es

La instalación:

apt-get install smartmontools 

Uso:

smartctl -i /dev/sda 

Mas info: smartctl –help

El asunto es investigar en el help y sacar la combinación que más necesitemos.

Hdparm

Lo miso instalación:

apt-get install  hdparm 

Uso:

hdparm -i /dev/sdb

SDPARM ver información de discos SATA

En principio hdparm funciona bien con los sata, pero fue diseñado en la era IDE (hd0 etc ) por eso se llama hdparm, luego nacio SD parm funciona bastante bien para los sata, aunque no todos los kernels soportan algunas funciones

Instalamos igual

apt-get install sdparm

Uso

sdparm -a -e /dev/sda
sdparm --page=ca --long /dev/sda

Y más info en la ayuda.

WordPress – Questions 2 Answers – Encoding Error – Error de Codificación

Sin razón aparente en un servidor puede aparecer el encoding error (más bién en alguna web), lo primero es pensar que es problema del mod_deflate o alguna configuración en el htaccess, pero toda la web funciona bien excepto el script questions2answers.

En chrome obtenemos este error:

Código de error: ERR_CONTENT_DECODING_FAILED

En firefox error de codificación

"Content Encoding Error. The page you are trying to view cannot be shown because it uses an invalid or unsupported form of compression."

Esto pasa en algunos script, no es culpa del seridor web puede ser culpa del propio script, en este caso la solución es es editar el archivo qa-config.php y dejar la compresión en off:

define('QA_HTML_COMPRESSION', false);

Si nos pasa en wordpress es muy probable que sea culpa del plugin de cache, muchos comprimen el contenido y lo mandan, aunque es más raro que pase en WP.

Si les pasa en otros scripts y cms, revicen su .htaccess en primera instanacia para ver si no tienen códigos del gzip o mod deflate o directamente quiten el htaccess para hacer pruebas, y si no en sus archivos de configuración, busquen alguna opción que comprima el html o haga un minify.

Nuevo Backup de cPanel – FTP se Deshabilita Solo

A veces el nuevo sistema de backups de cpanel se desconecta solo cuando se hace vía ftp.

Es bastante molesto, a veces llega un email que dice que se a desconectado por que a superado cierto número de errores y esos backups los deja en el servidor local, si se a desconectado llega un email que dice que no esta activado el servidor FTP y que se a espesificado no dejar ninguna copia en local:

The exact error was: The store local backup option is disabled and no active transports exist. Please see «Backup Configuration» in WHM for more information

Se puede desactivar por que dura mucho tiempo ejecutandose y la solución sería aumentar ese tiempo la máximo en

Inicio »
Backup »
Backup Configuration

En la parte de Advanced Settings : Maximum destination timeout 50000 in seconds con eso no debemos de tener problemas, igual si los tenemos no podemos hacer más ya que es valor máximo.

Aunque también podemos cambiarlo vía SSH.

El otro motivo es por que a superado el número de errores, esto lo podemos cambiar en el archivo:

/var/cpanel/backups/config

Aquí cambiamos la opción:

ERRORTHRESHHOLD: 3

Y la podemos dejar en 10, o 20 o algún otro valor más alto, dependiendo de las veces que haya fallado el backup, con 20 a de ir bien.

ERRORTHRESHHOLD: 20

Eso es todo.