Codio y Wordpress

Instalar CMS Wordpress mediante IDE web Cloud9. Configuración de base de datos y otros requerimientos

Codio es un editor (IDE) versión Web. Permite crear proyectos variados, desde Wordpress, AngularJS hasta mucho otros.

En su versión gratis permite tener muchos proyecto públicos y uno privado. Mejor dejo enlace a la web de Codio para que cada uno investigue si le merecería la pena.

En esta tendrá quiero comentar como se puede crear un proyecto Wordpress con Codio, que puede venir muy bien para probar una web antes de sacarla a producción. Los pasos que voy a seguir están indicados en su propia web. La documentación que aporta el editor online Codio en su propia web está bastante bien, con Blog y recursos incluidos.

Será necesario crearse una cuenta, su registro es muy rápido, incluso permite hacerlo con cuenta de GitHub o Bitbucket. Una vez logeados accedemos a Projects y pulsamos sobre Create Project. Y damos nombre al proyecto. De entre todas las posibilidades que nos da Codio para crear un proyecto (Git, Templates, Zip...) elegimos Templates/Empty Project y pulsamos sobre Create. Se abrirá el editor Codio con el proyecto creado. Su aspecto inicial será un menú superior, sidebar del proyecto (vacío) a la izquierda con los archivos que contenga y el editor propiamente dicho a la derecha. Este aspecto es personalizable, tema en el que no voy a entrar. En el menú superior abrimos la consola: Tools -> Terminal

Añadimos Wordpress

wget http://wordpress.org/latest.tar.gz

Descomprimimos

tar -xzvf latest.tar.gz

Instalamos Php,Mysql y Apache

parts install php5 php5-apache2 php5-pdo-mysql php5-zlib mysql

Arrancamos el servidor

parts start apache2 mysql

En la raíz del proyecto creamos un archivo llamado startup.sh (para que arranque el servidor cada vez que abrimos el proyecto. Por defecto estará apagado) y añadimos estas dos línea de código:

parts stop apache2 mysql
parts start apache2 mysql

Para abrir Mysql y crear la base de datos introducimos:

mysql -u root -p

Creamos la base de datos

CREATE DATABASE nombre-base-datos;

Creamos un usuario

CREATE USER usuario-base-datos@localhost;

Damos contraseña al usuario

SET PASSWORD FOR usuario-base-datos@localhost= PASSWORD("pass-elegida");

Decimos que usuario va a manejar la base de datos con todos los privilegios

GRANT ALL PRIVILEGES ON nombre-base-datos.* TO usuario-base-datos@localhost IDENTIFIED BY 'pass-elegida';

Aplicamos cambios

FLUSH PRIVILEGES;

Salimos de Mysql

exit

Ya hemos terminado de usar la consola. Ahora realizamos modificaciones sobre Wordpress. Renombramos el archivo wp-config-sample.php a wp-config.php y lo abrimos y modificamos:

//Línea 19:
define('DB_NAME', 'database_name_here'); --> define('DB_NAME', 'nombre-base-datos');

//Línea 22:
define('DB_USER', 'username_here'); --> define('DB_USER', 'usuario-base-datos');

//Línea 25:
define('DB_PASSWORD', 'password_here'); --> define('DB_PASSWORD', 'pass-elegida');

Cada vez que creamos un proyecto, Codio nos genera una URL que en este caso debemos saber. Y para saberlo... En el menú superior: Project / Box Info. En el pop up localizamos el apartado "WEB: Dynamic Content" y copiamos la URL de tipo HTTP (la HTTPS no la necesitamos). http://unaPalabra-otraPalabra.codio.io

Seguimos editando el fichero anterior wp-config.php y sustituimos "word1-word2" por las palabras nos generó Codio.

//Antes de la línea 19:

define('WP_HOME','http://word1-word2.codio.io:3000/wordpress');
define('WP_SITEURL','http://word1-word2.codio.io:3000/wordpress');

En el menú superior, seleccionamos el ítem más a la derecha llamado Project Index y pinchamos al desplegar Box URL. Ahora se llamará Box URL en vez de Project Index".

Falta terminar hacer la instalación guiada de Wordpress, en el que se pide título de la web, nombre de usuario y contraseña. Una vez instalada, Codio dice que se necesita instalar un plugin llamado permalink-fix-disable-canonical-redirects-pack y activarlo para que corra en el puerto 3000 sin ningún contratiempo. Cada vez que pinchemos sobre BoxURL se ejecutará en nueva pestaña el proyecto.