---
# System prepended metadata

title: Wordpress

---

# 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)
