install.sh 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. #!/bin/bash
  2. # Functions for logging
  3. section(){
  4. echo "=> Starting Section \"$@\"";
  5. }
  6. log(){
  7. echo "|-> $@";
  8. }
  9. sublog(){
  10. echo "|--> $@";
  11. }
  12. info(){
  13. echo "|-> INFO: $@";
  14. }
  15. subinfo(){
  16. echo "|--> INFO $@";
  17. }
  18. install(){
  19. apt-get -qq install $@;
  20. }
  21. updatesudo(){
  22. if visudo -q -c -fdata/etc/$@;then
  23. cp data/etc/$@ /etc/$@;
  24. fi;
  25. }
  26. # Make sure the script is running as root
  27. if [ "$(id -u)" != "0" ]; then
  28. sudo $0;
  29. exit;
  30. fi;
  31. # Actually run the install
  32. section "Package Installation";
  33. log "LAMP Stack";
  34. install lamp-server^;
  35. log "Node.js"
  36. install nodejs;
  37. log "SSH Server";
  38. install ssh;
  39. log "Git";
  40. install git;
  41. log "htop";
  42. install htop;
  43. section "Custom Packages";
  44. log "Omnimaga-Server-Utils";
  45. sublog "Creating directories";
  46. mkdir /opt/omnimaga/bin -p;
  47. chown root:users /opt/omnimaga/bin;
  48. sublog "Adding to path";
  49. echo "export PATH=$PATH:/opt/omnimaga/bin;" > /etc/profile.d/omnimaga-server-utils.sh;
  50. . /etc/profile.d/omnimaga-server-utils.sh;
  51. sublog "getting files";
  52. rm -rf /opt/omnimaga/bin;
  53. git clone https://github.com/Omnimaga/server-utils.git /opt/omnimaga/bin/;
  54. chmod a+x /opt/omnimaga/bin/*;
  55. subinfo "Add users to the group omnimaga-utils to allow access";
  56. section "Config";
  57. log "Setting up sudoers";
  58. updatesudo sudoers;
  59. log "Setting up groups";
  60. sublog "web";
  61. groupadd -f web;
  62. updatesudo sudoers.d/web;
  63. sublog "ircd";
  64. groupadd -f ircd;
  65. updatesudo sudoers.d/ircd;