Introducción
En este tutorial, aprenderá cómo instalar WordPress en una instancia recién creada. Demostraré la instalación en un servidor Ubuntu 14.04. Estas instrucciones también pueden funcionar en versiones anteriores de Ubuntu y Debian.
Entonces, comencemos.
Paso uno: actualice los paquetes existentes
apt-get update && apt-get upgrade
Paso dos: instale Nginx
Nginx es un servidor web ligero de alto rendimiento diseñado con el propósito de entregar grandes cantidades de contenido estático con un uso eficiente de los recursos del sistema. A diferencia de Apache, Nginx utiliza un modelo asíncrono controlado por eventos que proporciona un rendimiento más predecible bajo carga.
Agreguemos un repositorio de terceros para instalar la última versión de Nginx (1.6.1).
sudo apt-get install python-software-properties
add-apt-repository -y ppa:rtcamp/nginx
sudo apt-get update
sudo apt-get install nginx
service nginx start
Ahora, probemos si el servidor está funcionando.
http://YOUR-VPS-IP
Debería llevarte a la página de destino predeterminada de Nginx.
Paso tres: Instale PHP 5.5
PHP es un lenguaje de script de uso general de código abierto ampliamente utilizado que es especialmente adecuado para el desarrollo web y puede integrarse en HTML.
Instalemos la última versión de PHP en nuestro servidor.
sudo add-apt-repository ppa:ondrej/php5
sudo apt-get update
sudo apt-get install php5-common php5-mysqlnd php5-xmlrpc php5-curl php5-gd php5-cli php5-fpm php-pear php5-dev php5-imap php5-mcrypt
Si desea verificar su versión de PHP, ejecute el siguiente comando:
php -v
Verás algo como esto.
PHP 5.5.16-1+deb.sury.org~trusty+1 (cli) (built: Aug 25 2014 10:24:59)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
withZendOPcache v7.0.4-dev, Copyright (c) 1999-2014, by Zend Technologies
Ahora, haremos un ligero cambio de configuración para que nuestra configuración sea más segura. Abra el archivo de configuración principal php5-fpm con privilegios de root:
sudo nano /etc/php5/fpm/php.ini
Presione Ctrl + W y busque cgi.fix_pathinfo=
. Descomente (eliminar;) y cambie 1 a 0. Después de los cambios, la línea debería verse así:
cgi.fix_pathinfo=0
Guarde ( Ctrl + O ) y cierre el archivo ( Ctrl + X ).
Ahora, solo necesitamos reiniciar nuestro procesador PHP escribiendo:
sudo service php5-fpm restart
Paso cuatro: instalar MySQL
Para almacenar y administrar bases de datos, necesitamos instalar MySQL. Puede instalarlo fácilmente escribiendo lo siguiente en la consola:
sudo apt-get install mysql-server
Durante el proceso de instalación, se le pedirá que establezca una contraseña de root para MySQL. Una vez que haya configurado la contraseña de root, tendremos que decirle a MySQL que genere la estructura de directorios donde almacenará las bases de datos.
sudo mysql_install_db
Terminemos ejecutando un script de seguridad que modificará algunas inseguridades predeterminadas.
sudo mysql_secure_installation
Simplemente escriba la contraseña de root de MySQL y escriba n
si no desea cambiarla. Después de eso, escriba y
a cada pregunta.
Establecer zona horaria (condicional)
Por defecto, la zona horaria de su servidor es UTC. Si vive en una zona horaria diferente, puede cambiarla escribiendo el siguiente comando:
sudo dpkg-reconfigure tzdata
En este punto, su servidor LEMP está en funcionamiento.
Paso cinco: configurar Nginx para servir Wordpress
Comencemos nuestra instalación de Wordpress creando un bloque de servidor Nginx para nuestro sitio.
sudo nano /etc/nginx/sites-available/wordpress
Pegue el siguiente código allí:
server {
listen 80;
root /var/www/wordpress;
index index.php index.html index.htm;
server_name domain.com;
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location / {
# try_files $uri $uri/ =404;
try_files $uri $uri/ /index.php?q=$uri&$args;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location = /favicon.ico {
access_log off;
log_not_found off;
expires max;
}
location = /robots.txt {
access_log off;
log_not_found off;
}
# Cache Static Files For As Long As Possible
location ~*
\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|css|rss|atom|js|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$
{
access_log off;
log_not_found off;
expires max;
}
# Security Settings For Better Privacy Deny Hidden Files
location ~ /\. {
deny all;
access_log off;
log_not_found off;
}
# Return 403 Forbidden For readme.(txt|html) or license.(txt|html)
if ($request_uri ~* "^.+(readme|license)\.(txt|html)$") {
return 403;
}
# Disallow PHP In Upload Folder
location /wp-content/uploads/ {
location ~ \.php$ {
deny all;
}
}
}
Este es un archivo de configuración de Wordpress bien ajustado con soporte para enlaces permanentes. Guarde ( Ctrl + O ) y cierre el archivo ( Ctrl + X ). Habilitemos el bloqueo del servidor al simular:
sudo ln -s /etc/nginx/sites-available/wordpress /etc/nginx/sites-enabled/wordpress
A continuación, eliminaremos el bloque de servidor predeterminado de Nginx.
sudo rm /etc/nginx/sites-enabled/default
Ahora, ajustaremos el archivo de configuración principal de Nginx:
sudo nano /etc/nginx/nginx.conf
Asegúrese de que la cantidad de procesos de trabajo sea igual a la cantidad de núcleos en su instancia.
user www-data;
worker_processes 1;
pid /run/nginx.pid;
Añadir uso epoll; al bloque de eventos.
events {
worker_connections 4096;
multi_accept on;
use epoll;
}
Agregue client_max_body_size y server_tokens off directive. Establezca keepalive_timeout en 30 segundos.
##
# Basic Settings
##
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 30;
types_hash_max_size 2048;
server_tokens off;
client_max_body_size 100m;
# server_names_hash_bucket_size 64;
# server_name_in_redirect off;
include /etc/nginx/mime.types;
default_type application/octet-stream;
Asegúrese de que todo el bloque de configuración de Gzip se vea así:
##
# Gzip Settings
##
gzip on;
gzip_disable "msie6";
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
Guarde ( Ctrl + O ) y cierre el archivo ( Ctrl + X ). Luego reinicie el servidor:
sudo service nginx restart
Si desea cargar archivos de más de 2 MB en su sitio de WordPress, debe aumentar las variables de tamaño de carga de PHP en php.ini .
sudo nano /etc/php5/fpm/php.ini
Ahora, presione Ctrl + W y busque " upload_max_filesize " y configúrelo en 100m .
upload_max_filesize=100M
Haga lo mismo con post_max_size . post_max_size debe ser del mismo tamaño o mayor que upload_max_filesize .
post_max_size=100M
Reinicia PHP.
sudo service php5-fpm restart
Paso siete: configurar la base de datos MySQL
En este paso, crearemos el usuario y las tablas de la base de datos. Continúe e inicie sesión en el shell de MySQL:
mysql -u root -p
Inicie sesión con su contraseña de root de MySQL. Tendremos que crear una base de datos de WordPress, junto con un usuario en la base de datos. Primero, hagamos la base de datos (siéntase libre de darle el nombre que desee):
CREATE DATABASE wordpress;
Query OK, 1 row affected (0.00 sec)
Después de eso, necesitamos crear un nuevo usuario. Reemplace la base de datos, el nombre y la contraseña con lo que prefiera:
CREATE USER wordpressuser@localhost;
Query OK, 0 rows affected (0.00 sec)
Establezca una contraseña para su nuevo usuario:
SET PASSWORD FOR wordpressuser@localhost= PASSWORD("password");
Query OK, 0 rows affected (0.00 sec)
Termine otorgando todos los privilegios al nuevo usuario. Sin este comando, el instalador de WordPress no podrá iniciarse:
GRANT ALL PRIVILEGES ON wordpress.* TO wordpressuser@localhost IDENTIFIED BY 'password';
Query OK, 0 rows affected (0.00 sec)
Luego actualice MySQL:
FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
Salga del shell de MySQL:
exit
Paso ocho: Instalar los archivos de WordPress
Ya casi hemos terminado. Procedamos a instalar WordPress.
Primero navegue al directorio raíz del sitio:
mkdir /var/www/
cd /var/www/
Ahora, descargue la última versión de WordPress:
wget http://wordpress.org/latest.tar.gz
Extraerlo del archivo:
tar -xzvf latest.tar.gz
Dar los permisos de /var/www/wordpress
al www-data
usuario. Permitirá futuras actualizaciones automáticas de complementos de WordPress y edición de archivos con SFTP.
sudo chown -R www-data:www-data wordpress/
sudo usermod -a -G www-data www-data
Ya terminaste! Su nuevo sitio de WordPress ya está listo. Simplemente navegue a su sitio web y finalice la instalación.