postinst 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. #!/bin/sh
  2. set -e
  3. case "$1" in
  4. configure)
  5. # Recupere le nom de domaine
  6. DOMAIN=""
  7. if [ -f /usr/share/debconf/confmodule ];
  8. then
  9. . /usr/share/debconf/confmodule
  10. db_get monsite/domain
  11. DOMAIN="$RET"
  12. fi
  13. # On peut verifier le contenu de debconf avec :
  14. # sudo debconf-show monsite
  15. [ -z "$DOMAIN" ] && DOMAIN="ipsocloud.com"
  16. [ ! -d /etc/ipsocloud ] && mkdir -p /etc/ipsocloud
  17. [ -f /etc/ipsocloud/domain.conf ] && rm /etc/ipsocloud/domain.conf
  18. cat > /etc/ipsocloud/domain.conf <<EOF
  19. DOMAIN=$DOMAIN
  20. EOF
  21. echo "Configuration pour le domaine : $DOMAIN"
  22. # Stoppe le serveur Apache2 s'il est demarre
  23. echo "Stoppe le serveur Apache"
  24. if systemctl is-active --quiet apache2;
  25. then
  26. systemctl stop apache2
  27. fi
  28. # Change le nom de domaine dans le fichier de configuration Apache
  29. echo "Change le domaine dans la configuration Apache"
  30. [ $DOMAIN != "ipsocloud.com" ] && sed -i "s/ipsocloud.com/$DOMAIN/g" /etc/apache2/sites-available/ipsocloud.conf
  31. # Creation et installation des certificats Let's Encrypt
  32. if [ ! -f "/etc/letsencrypt/live/$DOMAIN/fullchain.pem" ];
  33. then
  34. echo "Creation des certificats pour $DOMAIN, api.$DOMAIN, www.$DOMAIN et cro.$DOMAIN"
  35. certbot certonly --non-interactive --agree-tos --email "pjtw@iimt.fr" --standalone -d "$DOMAIN" -d "api.$DOMAIN" -d "www.$DOMAIN" -d "cro.$DOMAIN"
  36. else
  37. echo "Les certificats pour $DOMAIN existent deja"
  38. fi
  39. # Configuration Apache2
  40. echo "Ajoute les modules Apache"
  41. if ! a2query -m headers >/dev/null 2>&1;
  42. then
  43. a2enmod headers
  44. fi
  45. if ! a2query -m rewrite >/dev/null 2>&1;
  46. then
  47. a2enmod rewrite
  48. fi
  49. if ! a2query -m ssl >/dev/null 2>&1;
  50. then
  51. a2enmod ssl
  52. fi
  53. if ! a2query -m proxy >/dev/null 2>&1;
  54. then
  55. a2enmod proxy
  56. fi
  57. if ! a2query -m proxy_http >/dev/null 2>&1;
  58. then
  59. a2enmod proxy_http
  60. fi
  61. echo "Active le site web"
  62. if ! a2query -s ipsocloud >/dev/null 2>&1;
  63. then
  64. a2ensite ipsocloud.conf
  65. fi
  66. # Configuration PHP
  67. echo "Configure PHP"
  68. for i in /etc/php/*/apache2/php.ini;
  69. do
  70. if [ -f ${i} ];
  71. then
  72. ed -s ${i} <<EOF
  73. /upload_max_filesize
  74. s/2M/30M
  75. .
  76. w
  77. EOF
  78. fi
  79. done
  80. # Redemarrage du serveur Apache2
  81. echo "Redemarre le serveur Apache"
  82. systemctl restart apache2
  83. # Configuration de la base de donnees
  84. echo "Configure la base de donnees"
  85. mysql -u root <<EOF
  86. CREATE USER IF NOT EXISTS 'Mcuser'@'localhost';
  87. SET PASSWORD FOR 'Mcuser'@'localhost' = PASSWORD( 'Abracadabra;/2027' );
  88. GRANT ALL PRIVILEGES ON *.* TO 'Mcuser'@'localhost';
  89. FLUSH PRIVILEGES;
  90. exit
  91. EOF
  92. # Ajoute les tables de Math-Cloud
  93. echo "Ajoute les tables de MAthCloud"
  94. if [ -f /tmp/iimt_mathcloud.sql ] &&
  95. [ -f /tmp/iimt_mathcloud_audit.sql ] &&
  96. [ -f /tmp/iimt_mathcloud_shadow.sql ];
  97. then
  98. mysql -u root <<EOF
  99. SOURCE /tmp/iimt_mathcloud.sql
  100. SOURCE /tmp/iimt_mathcloud_audit.sql
  101. SOURCE /tmp/iimt_mathcloud_shadow.sql
  102. exit
  103. EOF
  104. fi
  105. # Mettre les droits d'acces au repertoire storage/
  106. chown -R www-data:www-data /var/www/storage/
  107. chmod 777 /var/www/storage/
  108. chmod 777 /var/www/storage/media/
  109. chmod 777 /var/www/storage/report/
  110. ;;
  111. esac
  112. exit 0