Browse Source

fix exec permissions

Jan Behrens 4 years ago
parent
commit
5e5a904536
1 changed files with 16 additions and 6 deletions
  1. 16 6
      Dockerfile

+ 16 - 6
Dockerfile

@@ -3,7 +3,7 @@ FROM ubuntu:bionic
 RUN apt-get update && \
     apt-get -y upgrade && \
     DEBIAN_FRONTEND=noninteractive apt-get -y install \
-        apache2 php7.2 libapache2-mod-php7.2 curl cron git
+        apache2 php7.2 libapache2-mod-php7.2 libcap2-bin curl cron git
 
 RUN a2enmod php7.2
 
@@ -16,16 +16,26 @@ ENV APACHE_LOG_DIR /var/log/apache2
 ENV APACHE_LOCK_DIR /var/lock/apache2
 ENV APACHE_PID_FILE /var/run/apache2.pid
 
-RUN touch /var/log/cron.log
+RUN rm -rf /var/www/html/*
+ADD . /var/www/html
+RUN chown -R www-data:www-data /var/www/html
+
+RUN touch /var/log/cron.log && chown www-data /var/log/cron.log && \
+    touch /var/run/crond.pid && chown www-data /var/run/crond.pid && \
+    setcap 'cap_setuid=+ep' /usr/sbin/cron
+
+RUN mkdir -p /var/log/apache2 && chown -R www-data /var/log/apache2 && \
+    mkdir -p /var/run/apache2 && chown -R www-data /var/run/apache2 && \
+    mkdir -p /var/lock/apache2 && chown -R www-data /var/lock/apache2 && \
+    setcap 'cap_net_bind_service=+ep' /usr/sbin/apache2
+
+USER www-data
+
 RUN (crontab -l ; echo "* * * * * cd /var/www/html && php poll_adei_data.php >> /var/log/cron.log") | crontab
 RUN (crontab -l ; echo "* * * * * cd /var/www/html && php poll_HV_data.php >> /var/log/cron.log") | crontab
 
 ADD apache-config.conf /etc/apache2/sites-enabled/000-default.conf
 
-RUN rm -rf /var/www/html/*
-ADD . /var/www/html
-RUN chown -R www-data:www-data /var/www/html
-
 EXPOSE 80
 
 WORKDIR /var/www/html