addUserSite.sh 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. #!/bin/sh
  2. # bachir soussi chiadmi
  3. echo '\033[35m
  4. __ _______ __________
  5. / / / / ___// ____/ __ \
  6. / / / /\__ \/ __/ / /_/ /
  7. / /_/ /___/ / /___/ _, _/
  8. \____//____/_____/_/ |_|
  9. \033[0m'
  10. echo "\033[35;1mCreate new user (you will be asked a user name and a password) \033[0m"
  11. sleep 3
  12. while [ "$user" = "" ]
  13. do
  14. read -p "Enter user name: " user
  15. if [ "$user" != "" ]; then
  16. read -p "is user $user correcte [y|n] " validated
  17. if [ "$validated" = "y" ]; then
  18. break
  19. else
  20. user=""
  21. fi
  22. fi
  23. done
  24. adduser "$user"
  25. mkdir /home/$user/logs
  26. mkdir /home/$user/public_html
  27. mkdir /home/$user/backups
  28. echo '\033[35m
  29. __ __
  30. _ __/ /_ ____ _____/ /_
  31. | | / / __ \/ __ \/ ___/ __/
  32. | |/ / / / / /_/ (__ ) /_
  33. |___/_/ /_/\____/____/\__/
  34. \033[0m'
  35. echo "\033[35;1mVHOST install \033[0m"
  36. while [ "$_host_name" = "" ]
  37. do
  38. read -p "enter a hostname ? " _host_name
  39. if [ "$_host_name" != "" ]; then
  40. read -p "is hostname $_host_name correcte [y|n] " validated
  41. if [ "$validated" = "y" ]; then
  42. break
  43. else
  44. _host_name=""
  45. fi
  46. fi
  47. done
  48. cp "$_cwd"/assets/example.org.conf /etc/apache2/sites-available/"$_host_name".conf
  49. sed -ir "s/example\.org/$_host_name/g" /etc/apache2/sites-available/"$_host_name".conf
  50. #set proper right to user will handle the app
  51. chown -R "$user":admin /home/"$user"/public_html
  52. chown -R "$user":admin /home/"$user"/logs
  53. chown -R "$user":admin /home/"$user"/backups
  54. chmod -R g+wr /home/"$user"/public_html
  55. chmod -R g+wr /home/"$user"/logs
  56. mkdir -p /var/www/"$_host_name"
  57. ln -s /home/"$user"/public_html /var/www/"$_host_name"/public_html
  58. ln -s /home/"$user"/logs /var/www/"$_host_name"/logs
  59. #activate the vhost
  60. a2ensite "$_host_name".conf
  61. #restart apache
  62. service apache2 restart
  63. echo "\033[92;1mvhost $_host_name configured\033[Om"