# A2.Wordpress - servidor web amb php (i mysql) ### De Erik Llorens ## 1.Informació General WordPress és el sistema de blocs i CMS de codi obert més popular a la web. Està basat en PHP i MySQL. Les funcions es poden ampliar amb milers de complements i temes gratuïts. ## 2.Instalarem les dependencies El instalarem les dependencies amb **sudo apt update** **sudo apt install** *apache2 \ ghostscript \ libapache2-mod-php \ mysql-server \ php \ php-bcmath \ php-curl \ php-imagick \ php-intl \ php-json \ php-mbstring \ php-mysql \ php-xml \ php-zip* ![image](https://hackmd.io/_uploads/SyjRubTV6.png) ## 3.Instalarem el Wordpress ![image](https://hackmd.io/_uploads/SkiGiZa4a.png) Amb *sudo mkdir -p /var/www/blogsmxb.erik.conf* estem crean una carpeta en www, i amb *sudo chown www-data /var/www/blogsmxb.erik.conf* canviem el propietari que sigui el propi sistema per que pugui accedir el apache2. I seguidament executem el *sudo curl https://wordpress.org/latest.tar.gz | sudo -u www-data tar zx -C /srv/www --strip-components=1* Amb el curl ens descarguem una pagina web, i si el posem amb --strip-components=1 quitem la carpeta en la que ve tot i necesitarem sudo er descargarlo i utilitzamen el ls per veure si se ha descargat. ![image](https://hackmd.io/_uploads/H1yXkzp46.png) ## 4. Configuració de Apache per WordPress En aquesta part anirem a on tenim les plantilles, anirem amb *cd /etc/apache2/sites-avariables/* i farem una copia de la plantilla 000-default.conf, el farem utilitzan la comana de *cp 000-default.conf (i aqui el nom deseat)* i amb el nano editadem la nova plantilla que hem fet, també podem editar amb sudo vi. ![image](https://hackmd.io/_uploads/rk9AZM6N6.png) Una vegada dins, editadem el ServerName i posarem el seguent dins del document. *DocumentRoot /srv/www/wordpress <Directory /srv/www/wordpress> Options FollowSymLinks AllowOverride Limit Options FileInfo DirectoryIndex index.php Require all granted </Directory> <Directory /srv/www/wordpress/wp-content> Options FollowSymLinks Require all granted </Directory>* ![image](https://hackmd.io/_uploads/HJGQVGpN6.png) I ens quedara aixi una vegada hem editat tot be i hara utilitzarem la comana de *sudo a2ensite (nom del teu arxiu.conf)* i no reiniciarem encada sino executarem *sudo a2enmod rewrite* aixó per posar un modul en apache2. ![image](https://hackmd.io/_uploads/BJVqrfp4T.png) I desactivarem la plantilla de 000-default amb sudo a2dissite i hara si reiniciarem. ![image](https://hackmd.io/_uploads/S1h4LzTET.png) ## 5. Configuracio de la base de dades Per configurar WordPress, necessitem crear una base de dades MySQL. Executarem *sudo mysql -u root* per aixi accedirem a un cmd de mysql i crearem la nostra base de dades executan en aquest cmd de mysql, executarem *CREATE DATABASE wordpress;*. ![image](https://hackmd.io/_uploads/BJdrPzaVa.png) Hara per crear un usuari que necesitem, executem *CREATE USER (aqui posem el nostre nom per un usuari)@localhost IDENTIFIED BY '<(aqui posem la nostra contrasenya)>';* i tinrem que executar la seguent secuencia de comanes. ![image](https://hackmd.io/_uploads/BJGQFf64p.png) mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER -> ON wordpress.* -> TO (aqui el nom de la maquina)@localhost; Query OK, 1 row affected (0,00 sec) ![image](https://hackmd.io/_uploads/SkZ3YMaVT.png) mysql> FLUSH PRIVILEGES; Query OK, 1 row affected (0,00 sec) mysql> quit Bye I ja el donem permisos i ens despedim. ![image](https://hackmd.io/_uploads/BkYjiGpET.png) I hara habilitem el mysql *sudo service mysql start* ## 6. Configureu WordPress per connectar-vos a la base de dades Ara, configurar WordPress per utilitzar aquesta base de dades. Primer, copieu el fitxer de configuració de mostra a wp-config.php: ![image](https://hackmd.io/_uploads/r1RpafTNT.png) A continuació, configureu les credencials de la base de dades al fitxer de configuració ( no les reemplaceu o en les ordres a continuació. Reemplaceu-les amb la database_name_herecontrasenya username_herede la seva<your-password> base de dades): *sudo -u www-data sed -i 's/database_name_here/wordpress/' /srv/www/wordpress/wp-config.php sudo -u www-data sed -i 's/username_here/wordpress/' /srv/www/wordpress/wp-config.php sudo -u www-data sed -i 's/password_here/<your-password>/' /srv/www/wordpress/wp-config.php* Hara ya fet aixo, anirem a aquest document *sudo -u www-data nano /srv/www/wordpress/wp-config.php* i eliminarem las seguents lineas: **define( 'AUTH_KEY', 'put your unique phrase here' ); define( 'SECURE_AUTH_KEY', 'put your unique phrase here' ); define( 'LOGGED_IN_KEY', 'put your unique phrase here' ); define( 'NONCE_KEY', 'put your unique phrase here' ); define( 'AUTH_SALT', 'put your unique phrase here' ); define( 'SECURE_AUTH_SALT', 'put your unique phrase here' ); define( 'LOGGED_IN_SALT', 'put your unique phrase here' ); define( 'NONCE_SALT', 'put your unique phrase here' );** Hara el sustituirem amb les claves que ens donara aquesta pagina https://api.wordpress.org/secret-key/1.1/salt/ i una vegada que terminem guardem. ## 7. Configurar WordPress Anitem a la nostra pagina web, asegureobos de tenir el /etc/hosts actualitzat amb la IP i el domini del server, i una vegada entrem tenim que escogir un idioma, i rellenarem tot aixo. ![image](https://hackmd.io/_uploads/r1j_TmRVT.png) I hara podrem accedir al wordpress per poder editarlo. ![image](https://hackmd.io/_uploads/S17QR70Ep.png)