Wordpress con wp-cli
Prodecimiento de instalación
$ curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
Meter un enlace en el /usr/bin: ln -s /www/php/bin/wp-cli /usr/bin/wp-cli or wp
Después de haber descargado el core, procedemos al cambio de permisos que es necesario.
sudo -u www-data wp core donwload
Descarga del core
wp core download --locale=es_ES
Creación base de datos
CREATE DATABASE nombredominio_db; CREATE USER 'nombredominio_user'@'localhost' IDENTIFIED BY 'password_complicado'; GRANT ALL ON nombredominio_db.* TO 'nombredominio_user'@'localhost';
==Creación del fichero wp-config.php
sudo -u www-data wp core config --dbname=nombredominio_db --dbuser=nombredominio _user --dbpass=password_complicado
Instalar wordpress
sudo -u www-data wp core install --url=nombredominio --title=flozep --admin_user=admin --admin_password=password_complicado --admin_email=info@nombredominio
Script actualización WP
#!/bin/bash WPPATH="/var/www/public" WP="/usr/local/bin/wp" BACKUPDIR="/var/backup" cd $WPPATH/$i $WP db export --url=wp1.com mv *.sql $BACKUPDIR tar -czf $i.tgz . mv $i.tgz $BACKUPDIR $WP core update --url=wp1.com $WP core update-db --network $WP plugin update --all --url=wp1.com $WP theme update --all --url=wp1.com
Restricciones WP
- Change wp-login.php to something unique; e.g. my_new_login
- Change /wp-admin/ to something unique; e.g. my_new_admin
- Change /wp-login.php?action=register to something unique; e.g. my_new_registeration
- Add the following to the wp-config.php file (at the very end):
- define('DISALLOW_FILE_EDIT', true);
- Quitar el listado en el Directorio principal:
- Options All -Indexes
Con Apache (Restricción del php / bloqueo del xmlrpc.php / Bloque de acceso al wp-admin)
<Directory "/web/nombre_dominio/wp-content/uploads"> php_admin_flag engine off AllowOverride None DirectoryIndex Off RewriteEngine On RewriteRule \.php$ - [F,L] </Directory>
Bloqueo del xmlrpc.php
<Files xmlrpc.php> order deny,allow deny from all </Files>
Bloqueo por IP al admin
<Directory /web/nombre_dominio/wp-admin > AllowOverride All Order Deny,Allow Deny from all Allow from 2.139.214.8 Allow from 217.13.118.104 php_flag display_errors on php_flag log_errors on </directory>
Misma conf con nginx:
location ~* /wp-upload/.*.php$ { deny all; access_log off; log_not_found off; } location /xmlrpc.php { allow 62.43.212.102; allow 213.97.150.34; deny all; } location /wp-admin { allow 62.43.212.102; allow 213.97.150.34; deny all; }