Sergio_Istea

entrypoint.sh

May 19th, 2021 (edited)
145
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #!/bin/bash
  2. set -e
  3.  
  4. # vaciamos directorio /var/www/html
  5.  
  6.  
  7. if [ -f /var/www/html/index.html ]; then
  8.     rm -r /var/www/html/*
  9. fi
  10.  
  11. # Fijarse si el directorio '/etc/apache2' esta vacio
  12.  
  13. if [ -z "$(ls -A /etc/apache2)" ]; then
  14.  
  15.     #echo "El directorio esta vacio, se copian ficheros desde '/app/apache2'"
  16.     cp -r /app/apache2/* /etc/apache2
  17. fi
  18.  
  19. # Modificar los valores del fichero default.conf 'ServerAlias' y 'ServerName'
  20.  
  21. sed -i 's/APPSERVERNAME/'"$APPSERVERNAME"'/' /app/apache2/sites-available/default.conf
  22. sed -i 's/APPALIAS/'"$APPALIAS"'/' /app/apache2/sites-available/default.conf
  23. cp /app/apache2/sites-available/default.conf /etc/apache2/sites-available/default.conf
  24.  
  25. # Activar sitio
  26.  
  27. a2ensite default.conf
  28.  
  29.  
  30. # Bases de datos
  31.  
  32. # Iniciar mysql server para poder ejecutar los comandos posteriores
  33. /etc/init.d/mysql start
  34.  
  35. # Esperamos 5 segundos para que cargue mysql
  36. sleep 5
  37.  
  38. # Contraseña de root
  39. # en bash ls comparaciones se hacen de dos formas
  40. # para enteros '-eq'
  41. # para cadena de caracteres '=='
  42. # -f /fichero comprueba su existencia, si exite devuelve true
  43. if [ ! -f /app/mysql.configured ]; then
  44.     if [ $MYSQL_USER_PASSWORD == "1234" ];then
  45.  
  46.         RPASS=$((10000 + $RANDOM %30000))
  47.  
  48.         mysql -u root -e "CREATE USER '$MYSQL_USER'@'localhost' IDENTIFIED BY '$RPASS';"
  49.        
  50.         touch /app/mysql.configured
  51.  
  52.     else
  53.         mysql -u root -e "CREATE USER '$MYSQL_USER'@'localhost' IDENTIFIED BY '$MYSQL_USER_PASSWORD';"
  54.         touch /app/mysql.configured
  55.     fi
  56. fi
  57. # Crear base de datos
  58.  
  59. if [ ! -f /app/mysql.database.configured ]; then
  60.     if [ $MYSQL_DB_NAME == "wordpress" ];then
  61.    
  62.         mysql -u root -e "CREATE DATABASE $MYSQL_DB_NAME;"
  63.         mysql -u root -e "GRANT ALL PRIVILEGES ON *.* TO '$MYSQL_USER'@'localhost';"
  64.         touch /app/mysql.database.configured
  65.     else
  66.         mysql -u root -e "CREATE DATABASE $MYSQL_DB_NAME;"
  67.         mysql -u root -e "GRANT ALL PRIVILEGES ON *.* TO '$MYSQL_USER'@'localhost';"
  68.         touch /app/mysql.database.configured
  69.     fi
  70. fi
  71.  
  72.  
  73. # Wordpress
  74.  
  75. # descargar wordpress
  76. if [ ! -f /app/wordpress.configured ]; then
  77.  
  78.     cd /var/www/html
  79.     wget -q  https://wordpress.org/latest.tar.gz
  80.     tar xf latest.tar.gz
  81.     mv /var/www/html/wordpress/* /var/www/html/
  82.     rm -r /var/www/html/wordpress
  83.     cp /var/www/html/wp-config-sample.php /var/www/html/wp-config.php
  84.  
  85.     #The name of the database for WordPress
  86.     sed -i 's/database_name_here/'"$MYSQL_DB_NAME"'/' /var/www/html/wp-config.php
  87.     # MySQL database username
  88.     sed -i 's/username_here/'"$MYSQL_USER"'/' /var/www/html/wp-config.php
  89.     #  MySQL database password
  90.     sed -i 's/password_here/'"$MYSQL_USER_PASSWORD"'/' /var/www/html/wp-config.php
  91.     touch /app/wordpress.configured
  92. fi
  93.  
  94. # Inicio de servicios
  95.  
  96. apachectl -D FOREGROUND
  97.  
  98.  
  99. exec "$@"
  100.  
RAW Paste Data Copied