Pull to refresh

Автоматизация разработки web проектов в среде UNIX

Reading time2 min
Views1.4K
С какого боку не посмотри, а процесс автоматизации всегда важен. Компаниям он помогает экономить уйму времени-денег, администраторов избавляет от рутины, а людей не посвящённых в детали чужой работы от головной боли.
Я хочу поделиться своим решением по задаче частичной оптимизации и снижения производственных издержек. Мне пришлось написать данный bash скрипт по причинам, которые были озвучены выше. Есть ещё причина,
Хочу сразу предупредить непосвящённых о том, что конфигурация Apache, MySQL может отличаться от приведённой ниже( а так скорее всего и будет). Будьте внимательнее в корректировке путей, когда решите адаптировать этот скрипт под свои цели.



Вот некоторые комментарии по данному скрипту:

6,7 отвечают за создание папки под проект
8,9 выставляют права для группы (у меня работают над проектом несколько людей)
13 строка связывает эти папки с записями в конфигах Apache
15 создаём базу данных под новый проект
16 собственно рестарт Apache

  1. #!/bin/bash
  2. if [ $UID -eq 0 ]
  3. then
  4. echo "Enter project name:"
  5. read NAME_OF_PROJECT
  6. mkdir /usr/www/$NAME_OF_PROJECT
  7. mkdir /usr/www/$NAME_OF_PROJECT/htdocs/
  8. chown -R :www_anygroup /usr/www/$NAME_OF_PROJECT/htdocs/
  9. chmod -R g+wrx /usr/www/$NAME_OF_PROJECT/htdocs/
  10.  
  11. add_to_apache_conf=" <VirtualHost 111.111.111.111:80>   ServerAdmin admin@somedomain.com   DocumentRoot \"/usr/www/${NAME_OF_PROJECT}/htdocs\"   ServerName ${NAME_OF_PROJECT}.somedomain.com</VirtualHost>"
  12.  
  13. echo "$add_to_apache_conf" >> /usr/apache/conf/extra/httpd-vhosts.conf
  14.  
  15. /usr/local/mysql/bin/mysql -uroot -p --execute="create database db_${NAME_OF_PROJECT}; GRANT ALL PRIVILEGES ON db_${NAME_OF_PROJECT}.* TO ${NAME_OF_PROJECT}_user@localhost IDENTIFIED by 'anypassword'"
  16. /usr/apache/bin/apachectl restart
  17.  
  18. else
  19. echo "You should be logged by root"
  20. fi
* This source code was highlighted with Source Code Highlighter.
Tags:
Hubs:
Total votes 28: ↑15 and ↓13+2
Comments17

Articles