postinst 3.2 KB

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