{"id":663,"date":"2010-05-13T11:19:00","date_gmt":"2010-05-13T05:49:00","guid":{"rendered":"https:\/\/2thenew.xyz\/blog\/?p=663"},"modified":"2010-06-09T15:25:07","modified_gmt":"2010-06-09T09:55:07","slug":"how-to-allow-non-root-user-to-startstop-apache-process-on-a-nix-server","status":"publish","type":"post","link":"https:\/\/2thenew.xyz\/blog\/how-to-allow-non-root-user-to-startstop-apache-process-on-a-nix-server\/","title":{"rendered":"How to allow non-root user to start\/stop Apache process on a *nix server"},"content":{"rendered":"<p>Recently, I had to write a script to deploy a Grails application on a cluster of 7 servers without prompting for any kind of passwords. The load balancer was configured so as NOT to direct any request to the node, if the Apache process is not running on the server.<\/p>\n<p>So, my script to do the deployment on all the servers one by one is very simple &#8212; (a) stop Apache (b) deploy new version of the app on Tomcat using deploy.sh script lying on the server (c)\u00a0 start Apache<\/p>\n<pre lang=\"bash\">\r\nSERVER_IPS=\"10.20.30.40 10.20.30.41 10.20.30.42\"\r\nfor i in `echo $SERVER_IPS`\r\ndo\r\n     echo \"Deploying on Web Host $i\"\r\n     ssh applicationUser@$i \"cd; apache2ctl stop; .\/deploy.sh; sleep 30; apache2ctl start\"\r\ndone\r\n<\/pre>\n<p>The only hiccup is that the applicationUser does not have rights to start\/stop Apache.\u00a0 After looking around for a while, I came to know about <strong><a href=\"http:\/\/en.wikipedia.org\/wiki\/Setuid\">setuid<\/a><\/strong> which allow users to run an executable with the permissions of the executable&#8217;s owner or group.<\/p>\n<p>So, all I had to do in order to allow\u00a0 applicationUser to bounce apache process is :<\/p>\n<pre lang=\"bash\">sudo u+s \/usr\/sbin\/apache2\r\nsudo u+s \/usr\/sbin\/apache2ctl\r\n<\/pre>\n<p>I also had to set the trusted relationship between the production servers and my machine in order to allow password-less SSH login.<\/p>\n<p>After I did the above steps, I could deploy my application to all nodes in the cluster with a single command.<\/p>\n<p>-Deepak<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Recently, I had to write a script to deploy a Grails application on a cluster of 7 servers without prompting for any kind of passwords. The load balancer was configured so as NOT to direct any request to the node, if the Apache process is not running on the server. So, my script to do [&hellip;]<\/p>\n","protected":false},"author":12,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":21,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-663","post","type-post","status-publish","format-standard","hentry","category-technology"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"Recently, I had to write a script to deploy a Grails application on a cluster of 7 servers without prompting for any kind of passwords. The load balancer was configured so as NOT to direct any request to the node, if the Apache process is not running on the server. So, my script to do\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Deepak Mittal\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/2thenew.xyz\/blog\/how-to-allow-non-root-user-to-startstop-apache-process-on-a-nix-server\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"TO THE NEW BLOG\" \/>\n\t\t<meta property=\"og:type\" content=\"blog\" \/>\n\t\t<meta property=\"og:title\" content=\"How to allow non-root user to start\/stop Apache process on a *nix server | TO THE NEW Blog\" \/>\n\t\t<meta property=\"og:description\" content=\"Recently, I had to write a script to deploy a Grails application on a cluster of 7 servers without prompting for any kind of passwords. The load balancer was configured so as NOT to direct any request to the node, if the Apache process is not running on the server. So, my script to do\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/2thenew.xyz\/blog\/how-to-allow-non-root-user-to-startstop-apache-process-on-a-nix-server\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/2thenew.xyz\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/2thenew.xyz\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@tothenew\" \/>\n\t\t<meta name=\"twitter:title\" content=\"How to allow non-root user to start\/stop Apache process on a *nix server | TO THE NEW Blog\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Recently, I had to write a script to deploy a Grails application on a cluster of 7 servers without prompting for any kind of passwords. The load balancer was configured so as NOT to direct any request to the node, if the Apache process is not running on the server. So, my script to do\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/2thenew.xyz\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/how-to-allow-non-root-user-to-startstop-apache-process-on-a-nix-server\\\/#article\",\"name\":\"How to allow non-root user to start\\\/stop Apache process on a *nix server | TO THE NEW Blog\",\"headline\":\"How to allow non-root user to start\\\/stop Apache process on a *nix server\",\"author\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/dmittal\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\"},\"datePublished\":\"2010-05-13T11:19:00+05:30\",\"dateModified\":\"2010-06-09T15:25:07+05:30\",\"inLanguage\":\"en-US\",\"commentCount\":5,\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/how-to-allow-non-root-user-to-startstop-apache-process-on-a-nix-server\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/how-to-allow-non-root-user-to-startstop-apache-process-on-a-nix-server\\\/#webpage\"},\"articleSection\":\"Technology\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/how-to-allow-non-root-user-to-startstop-apache-process-on-a-nix-server\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.tothenew.com\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/technology\\\/#listItem\",\"name\":\"Technology\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/technology\\\/#listItem\",\"position\":2,\"name\":\"Technology\",\"item\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/technology\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/how-to-allow-non-root-user-to-startstop-apache-process-on-a-nix-server\\\/#listItem\",\"name\":\"How to allow non-root user to start\\\/stop Apache process on a *nix server\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/how-to-allow-non-root-user-to-startstop-apache-process-on-a-nix-server\\\/#listItem\",\"position\":3,\"name\":\"How to allow non-root user to start\\\/stop Apache process on a *nix server\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/category\\\/technology\\\/#listItem\",\"name\":\"Technology\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\",\"name\":\"TO THE NEW Blog\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/dmittal\\\/#author\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/dmittal\\\/\",\"name\":\"Deepak Mittal\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/how-to-allow-non-root-user-to-startstop-apache-process-on-a-nix-server\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0707e9f5d93472c1d7bc0afaf21c81e0d6df62135f7e1426eb9e78bdd944f149?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Deepak Mittal\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/how-to-allow-non-root-user-to-startstop-apache-process-on-a-nix-server\\\/#webpage\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/how-to-allow-non-root-user-to-startstop-apache-process-on-a-nix-server\\\/\",\"name\":\"How to allow non-root user to start\\\/stop Apache process on a *nix server | TO THE NEW Blog\",\"description\":\"Recently, I had to write a script to deploy a Grails application on a cluster of 7 servers without prompting for any kind of passwords. The load balancer was configured so as NOT to direct any request to the node, if the Apache process is not running on the server. So, my script to do\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/how-to-allow-non-root-user-to-startstop-apache-process-on-a-nix-server\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/dmittal\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/author\\\/dmittal\\\/#author\"},\"datePublished\":\"2010-05-13T11:19:00+05:30\",\"dateModified\":\"2010-06-09T15:25:07+05:30\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/\",\"name\":\"TO THE NEW Blog\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.tothenew.com\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"How to allow non-root user to start\/stop Apache process on a *nix server | TO THE NEW Blog","description":"Recently, I had to write a script to deploy a Grails application on a cluster of 7 servers without prompting for any kind of passwords. The load balancer was configured so as NOT to direct any request to the node, if the Apache process is not running on the server. So, my script to do","canonical_url":"https:\/\/2thenew.xyz\/blog\/how-to-allow-non-root-user-to-startstop-apache-process-on-a-nix-server\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/2thenew.xyz\/blog\/how-to-allow-non-root-user-to-startstop-apache-process-on-a-nix-server\/#article","name":"How to allow non-root user to start\/stop Apache process on a *nix server | TO THE NEW Blog","headline":"How to allow non-root user to start\/stop Apache process on a *nix server","author":{"@id":"https:\/\/2thenew.xyz\/blog\/author\/dmittal\/#author"},"publisher":{"@id":"https:\/\/2thenew.xyz\/blog\/#organization"},"datePublished":"2010-05-13T11:19:00+05:30","dateModified":"2010-06-09T15:25:07+05:30","inLanguage":"en-US","commentCount":5,"mainEntityOfPage":{"@id":"https:\/\/2thenew.xyz\/blog\/how-to-allow-non-root-user-to-startstop-apache-process-on-a-nix-server\/#webpage"},"isPartOf":{"@id":"https:\/\/2thenew.xyz\/blog\/how-to-allow-non-root-user-to-startstop-apache-process-on-a-nix-server\/#webpage"},"articleSection":"Technology"},{"@type":"BreadcrumbList","@id":"https:\/\/2thenew.xyz\/blog\/how-to-allow-non-root-user-to-startstop-apache-process-on-a-nix-server\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/2thenew.xyz\/blog#listItem","position":1,"name":"Home","item":"https:\/\/2thenew.xyz\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/2thenew.xyz\/blog\/category\/technology\/#listItem","name":"Technology"}},{"@type":"ListItem","@id":"https:\/\/2thenew.xyz\/blog\/category\/technology\/#listItem","position":2,"name":"Technology","item":"https:\/\/2thenew.xyz\/blog\/category\/technology\/","nextItem":{"@type":"ListItem","@id":"https:\/\/2thenew.xyz\/blog\/how-to-allow-non-root-user-to-startstop-apache-process-on-a-nix-server\/#listItem","name":"How to allow non-root user to start\/stop Apache process on a *nix server"},"previousItem":{"@type":"ListItem","@id":"https:\/\/2thenew.xyz\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/2thenew.xyz\/blog\/how-to-allow-non-root-user-to-startstop-apache-process-on-a-nix-server\/#listItem","position":3,"name":"How to allow non-root user to start\/stop Apache process on a *nix server","previousItem":{"@type":"ListItem","@id":"https:\/\/2thenew.xyz\/blog\/category\/technology\/#listItem","name":"Technology"}}]},{"@type":"Organization","@id":"https:\/\/2thenew.xyz\/blog\/#organization","name":"TO THE NEW Blog","url":"https:\/\/2thenew.xyz\/blog\/"},{"@type":"Person","@id":"https:\/\/2thenew.xyz\/blog\/author\/dmittal\/#author","url":"https:\/\/2thenew.xyz\/blog\/author\/dmittal\/","name":"Deepak Mittal","image":{"@type":"ImageObject","@id":"https:\/\/2thenew.xyz\/blog\/how-to-allow-non-root-user-to-startstop-apache-process-on-a-nix-server\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/0707e9f5d93472c1d7bc0afaf21c81e0d6df62135f7e1426eb9e78bdd944f149?s=96&d=mm&r=g","width":96,"height":96,"caption":"Deepak Mittal"}},{"@type":"WebPage","@id":"https:\/\/2thenew.xyz\/blog\/how-to-allow-non-root-user-to-startstop-apache-process-on-a-nix-server\/#webpage","url":"https:\/\/2thenew.xyz\/blog\/how-to-allow-non-root-user-to-startstop-apache-process-on-a-nix-server\/","name":"How to allow non-root user to start\/stop Apache process on a *nix server | TO THE NEW Blog","description":"Recently, I had to write a script to deploy a Grails application on a cluster of 7 servers without prompting for any kind of passwords. The load balancer was configured so as NOT to direct any request to the node, if the Apache process is not running on the server. So, my script to do","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/2thenew.xyz\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/2thenew.xyz\/blog\/how-to-allow-non-root-user-to-startstop-apache-process-on-a-nix-server\/#breadcrumblist"},"author":{"@id":"https:\/\/2thenew.xyz\/blog\/author\/dmittal\/#author"},"creator":{"@id":"https:\/\/2thenew.xyz\/blog\/author\/dmittal\/#author"},"datePublished":"2010-05-13T11:19:00+05:30","dateModified":"2010-06-09T15:25:07+05:30"},{"@type":"WebSite","@id":"https:\/\/2thenew.xyz\/blog\/#website","url":"https:\/\/2thenew.xyz\/blog\/","name":"TO THE NEW Blog","inLanguage":"en-US","publisher":{"@id":"https:\/\/2thenew.xyz\/blog\/#organization"}}]},"og:locale":"en_US","og:site_name":"TO THE NEW BLOG","og:type":"blog","og:title":"How to allow non-root user to start\/stop Apache process on a *nix server | TO THE NEW Blog","og:description":"Recently, I had to write a script to deploy a Grails application on a cluster of 7 servers without prompting for any kind of passwords. The load balancer was configured so as NOT to direct any request to the node, if the Apache process is not running on the server. So, my script to do","og:url":"https:\/\/2thenew.xyz\/blog\/how-to-allow-non-root-user-to-startstop-apache-process-on-a-nix-server\/","og:image":"https:\/\/2thenew.xyz\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png","og:image:secure_url":"https:\/\/2thenew.xyz\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png","twitter:card":"summary","twitter:site":"@tothenew","twitter:title":"How to allow non-root user to start\/stop Apache process on a *nix server | TO THE NEW Blog","twitter:description":"Recently, I had to write a script to deploy a Grails application on a cluster of 7 servers without prompting for any kind of passwords. The load balancer was configured so as NOT to direct any request to the node, if the Apache process is not running on the server. So, my script to do","twitter:image":"https:\/\/2thenew.xyz\/blog\/wp-content\/themes\/ttn\/images\/social-logo.png"},"aioseo_meta_data":{"post_id":"663","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"limit_modified_date":false,"created":"2021-04-29 15:07:30","updated":"2024-02-29 09:26:22","focus_keyword":null,"additional_keywords":null,"truseo_locale":null,"ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/2thenew.xyz\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/2thenew.xyz\/blog\/category\/technology\/\" title=\"Technology\">Technology<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tHow to allow non-root user to start\/stop Apache process on a *nix server\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/2thenew.xyz\/blog"},{"label":"Technology","link":"https:\/\/2thenew.xyz\/blog\/category\/technology\/"},{"label":"How to allow non-root user to start\/stop Apache process on a *nix server","link":"https:\/\/2thenew.xyz\/blog\/how-to-allow-non-root-user-to-startstop-apache-process-on-a-nix-server\/"}],"_links":{"self":[{"href":"https:\/\/2thenew.xyz\/blog\/wp-json\/wp\/v2\/posts\/663","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/2thenew.xyz\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/2thenew.xyz\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/2thenew.xyz\/blog\/wp-json\/wp\/v2\/users\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/2thenew.xyz\/blog\/wp-json\/wp\/v2\/comments?post=663"}],"version-history":[{"count":0,"href":"https:\/\/2thenew.xyz\/blog\/wp-json\/wp\/v2\/posts\/663\/revisions"}],"wp:attachment":[{"href":"https:\/\/2thenew.xyz\/blog\/wp-json\/wp\/v2\/media?parent=663"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/2thenew.xyz\/blog\/wp-json\/wp\/v2\/categories?post=663"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/2thenew.xyz\/blog\/wp-json\/wp\/v2\/tags?post=663"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}