# asixcloud - sessió 03 - wordpress a 2 ec2 (pub/priv) [TOC] ## links [wordpress tutorial](https://ubuntu.com/tutorials/install-and-configure-wordpress#1-overview) ## desplegament infraestructura - vpc - security groups - ssh - http - mysql - 2 subnets pub / 2 subnets priv - 1 igw - 1 ngw ## back-end setup (des de la pròpia ec2 privada) - instal·lació del programari ``` sudo apt update sudo apt install -y mysql-server ``` - 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 cat crea-wordpress-db.sql | sudo mysql -u root -pPassw0rdRootAcc0unt 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/10\.54\.153\.64/' /srv/www/wordpress/wp-config.php ```