# asixcloud2024 - wordpress amb RDS [TOC] ## links [wordpress tutorial - en una única instància!!](https://ubuntu.com/tutorials/install-and-configure-wordpress#1-overview) ## infraestructura - vpc amb 2 AZ - 2 subnets públiques i 2 de privades - sg frontal (80, 22) from * - sg rds (3306) from frontal-sg - igw - 1 nat ?? la necessitaràs ?? ## RDS - 1er creació del subnet group (conjunt de AZ on se crearan les instàncies per allotjar el SSGGBBDD (mysql)) - crear el gestor de bbdd (mysql) desactivant tot allò que siga innecessari per a una simple demo. - **NO CREAR LA BBDD** de wordpress (al final del procés) per poder crear-la via script. ## back-end setup (des de la ***ec2 pública***) - creació de la base de dades ``` tee crea-wordpress-db.sql <<EOF CREATE DATABASE wordpressdb01; CREATE USER 'asix01'@'%' IDENTIFIED BY 'Sup3rins3gura!'; GRANT ALL PRIVILEGES ON wordpressdb01.* TO 'asix01'@'%'; FLUSH PRIVILEGES; exit EOF ## compte que ara no estem "dintre" de la instància i per tant ens cal indicar ON està ( -h) cat crea-wordpress-db.sql | sudo mysql -u admin -pUltr4ins3gur4! -h <ssggbbdd.end.point> ## aquestes dues instruccions ja no ens calen doncs no tenim accés ssh a la RDS (afortunadament!!) #sudo sed -i '/addre/s|127.0.0.1|0.0.0.0|' /etc/mysql/mysql.conf.d/mysqld.cnf #sudo systemctl restart mysql.service ``` ## front-end setup (des de la pròpia ec2 pública) - instal·lació de programari ```bash sudo apt update sudo apt install -y apache2 \ ghostscript \ libapache2-mod-php \ mysql-client \ php \ php-bcmath \ php-curl \ php-imagick \ php-intl \ php-json \ php-mbstring \ php-mysql \ php-xml \ php-zip ``` - descàrrega del CMS (wordpress) ``` sudo mkdir -p /srv/www sudo chown www-data: /srv/www curl https://wordpress.org/latest.tar.gz | sudo -u www-data tar zx -C /srv/www ``` - creació web (virtual host a apache) ``` sudo tee /etc/apache2/sites-available/wordpress.conf << EOF <VirtualHost *:80> 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> </VirtualHost> EOF ``` - activació mòduls apache ``` sudo a2ensite wordpress sudo a2enmod rewrite sudo a2dissite 000-default sudo service apache2 reload ``` - creació del fitxer de configuració de wordpress ``` sudo -u www-data cp /srv/www/wordpress/wp-config-sample.php /srv/www/wordpress/wp-config.php ``` ...AMB LES DADES DE LA EC2 privada (mysql) - configuració de wordpress ``` sudo -u www-data sed -i 's/database_name_here/wordpressdb01/' /srv/www/wordpress/wp-config.php sudo -u www-data sed -i 's/username_here/asix01/' /srv/www/wordpress/wp-config.php sudo -u www-data sed -i 's/password_here/Sup3rins3gura!/' /srv/www/wordpress/wp-config.php sudo -u www-data sed -i 's/localhost/posa_ací_l_end_point/' /srv/www/wordpress/wp-config.php ```