Skip to content

Commit 542f289

Browse files
authored
Merge pull request #62 from Azure-App-Service/dev
ant 84
2 parents c50a8d8 + b507c80 commit 542f289

20 files changed

+324
-834
lines changed

5.6-apache/Dockerfile

Lines changed: 37 additions & 120 deletions
Original file line numberDiff line numberDiff line change
@@ -1,140 +1,57 @@
1-
FROM php:5.6.40-apache
1+
FROM mcr.microsoft.com/oryx/php:5.6-20190708.2
22
LABEL maintainer="Azure App Services Container Images <[email protected]>"
33

4-
ENV PHP_VERSION 5.6.40
5-
COPY apache2.conf /bin/
4+
ENV PHP_VERSION 5.6
5+
66
COPY init_container.sh /bin/
77
COPY hostingstart.html /home/site/wwwroot/hostingstart.html
88

9-
RUN a2enmod rewrite expires include deflate
10-
11-
# install the PHP extensions we need
12-
RUN apt-get update \
13-
&& apt-get install -y --no-install-recommends \
14-
libpng-dev \
15-
libjpeg-dev \
16-
libpq-dev \
17-
libmcrypt-dev \
18-
libldap2-dev \
19-
libldb-dev \
20-
libicu-dev \
21-
libgmp-dev \
22-
libmagickwand-dev \
23-
libc-client-dev \
24-
libtidy-dev \
25-
libkrb5-dev \
26-
libxslt-dev \
27-
unixodbc-dev \
28-
openssh-server \
29-
vim \
30-
curl \
31-
wget \
32-
tcptraceroute \
33-
&& chmod 755 /bin/init_container.sh \
9+
RUN chmod 755 /bin/init_container.sh \
10+
&& mkdir -p /home/LogFiles/ \
3411
&& echo "root:Docker!" | chpasswd \
35-
&& echo "cd /home" >> /etc/bash.bashrc \
36-
&& ln -s /usr/lib/x86_64-linux-gnu/libldap.so /usr/lib/libldap.so \
37-
&& ln -s /usr/lib/x86_64-linux-gnu/liblber.so /usr/lib/liblber.so \
38-
&& ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h \
39-
&& rm -rf /var/lib/apt/lists/* \
40-
&& pecl install imagick-beta \
41-
&& docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr \
42-
&& docker-php-ext-configure imap --with-kerberos --with-imap-ssl \
43-
&& docker-php-ext-configure pdo_odbc --with-pdo-odbc=unixODBC,/usr \
44-
&& docker-php-ext-install gd \
45-
mysqli \
46-
opcache \
47-
pdo \
48-
pdo_mysql \
49-
pdo_pgsql \
50-
pgsql \
51-
ldap \
52-
intl \
53-
mcrypt \
54-
gmp \
55-
zip \
56-
bcmath \
57-
mbstring \
58-
pcntl \
59-
calendar \
60-
exif \
61-
gettext \
62-
imap \
63-
tidy \
64-
shmop \
65-
soap \
66-
sockets \
67-
sysvmsg \
68-
sysvsem \
69-
sysvshm \
70-
pdo_odbc \
71-
wddx \
72-
xmlrpc \
73-
xsl \
74-
&& docker-php-ext-enable imagick
75-
76-
# install odbc php ext
77-
RUN apt-get update \
78-
&& apt-get install unixodbc-dev
12+
&& echo "cd /home/site/wwwroot" >> /etc/bash.bashrc \
13+
&& ln -s /home/site/wwwroot /var/www/html \
14+
&& mkdir -p /opt/startup
7915

80-
RUN set -x \
81-
&& docker-php-source extract \
82-
&& cd /usr/src/php/ext/odbc \
83-
&& phpize \
84-
&& sed -ri 's@^ *test +"\$PHP_.*" *= *"no" *&& *PHP_.*=yes *$@#&@g' configure \
85-
&& ./configure --with-unixODBC=shared,/usr \
86-
&& docker-php-ext-install odbc
16+
# configure startup
17+
COPY sshd_config /etc/ssh/
18+
COPY ssh_setup.sh /tmp
19+
RUN mkdir -p /opt/startup \
20+
&& chmod -R +x /opt/startup \
21+
&& chmod -R +x /tmp/ssh_setup.sh \
22+
&& (sleep 1;/tmp/ssh_setup.sh 2>&1 > /dev/null) \
23+
&& rm -rf /tmp/*
8724

88-
RUN \
89-
rm -f /var/log/apache2/* \
90-
&& rmdir /var/lock/apache2 \
91-
&& rmdir /var/run/apache2 \
92-
&& rmdir /var/log/apache2 \
93-
&& chmod 777 /var/log \
94-
&& chmod 777 /var/run \
95-
&& chmod 777 /var/lock \
96-
&& chmod 777 /bin/init_container.sh \
97-
&& cp /bin/apache2.conf /etc/apache2/apache2.conf \
98-
&& rm -rf /var/www/html \
99-
&& rm -rf /var/log/apache2 \
100-
&& mkdir -p /home/LogFiles \
101-
&& ln -s /home/site/wwwroot /var/www/html \
102-
&& ln -s /home/LogFiles /var/log/apache2
25+
ENV PORT 8080
26+
ENV SSH_PORT 2222
27+
EXPOSE 2222 8080
28+
COPY sshd_config /etc/ssh/
10329

104-
RUN { \
105-
echo 'opcache.memory_consumption=128'; \
106-
echo 'opcache.interned_strings_buffer=8'; \
107-
echo 'opcache.max_accelerated_files=4000'; \
108-
echo 'opcache.revalidate_freq=60'; \
109-
echo 'opcache.fast_shutdown=1'; \
110-
echo 'opcache.enable_cli=1'; \
111-
} > /usr/local/etc/php/conf.d/opcache-recommended.ini
30+
ENV WEBSITE_ROLE_INSTANCE_ID localRoleInstance
31+
ENV WEBSITE_INSTANCE_ID localInstance
32+
ENV PATH ${PATH}:/home/site/wwwroot
11233

34+
RUN sed -i 's!ErrorLog ${APACHE_LOG_DIR}/error.log!ErrorLog /dev/stderr!g' /etc/apache2/apache2.conf
35+
RUN sed -i 's!User ${APACHE_RUN_USER}!User www-data!g' /etc/apache2/apache2.conf
36+
RUN sed -i 's!User ${APACHE_RUN_GROUP}!Group www-data!g' /etc/apache2/apache2.conf
11337
RUN { \
114-
echo 'error_log=/var/log/apache2/php-error.log'; \
38+
echo 'DocumentRoot /home/site/wwwroot'; \
39+
echo 'DirectoryIndex default.htm default.html index.htm index.html index.php hostingstart.html'; \
40+
echo 'ServerName localhost'; \
41+
echo 'CustomLog /dev/stderr combined'; \
42+
} >> /etc/apache2/apache2.conf
43+
RUN rm -f /usr/local/etc/php/conf.d/php.ini \
44+
&& { \
45+
echo 'error_log=/dev/stderr'; \
11546
echo 'display_errors=Off'; \
11647
echo 'log_errors=On'; \
11748
echo 'display_startup_errors=Off'; \
11849
echo 'date.timezone=UTC'; \
50+
echo 'zend_extension=opcache'; \
11951
} > /usr/local/etc/php/conf.d/php.ini
12052

121-
ENV PORT 8080
122-
ENV SSH_PORT 2222
123-
EXPOSE 2222 8080
124-
COPY sshd_config /etc/ssh/
125-
126-
ENV APACHE_RUN_USER www-data
53+
RUN rm -f /etc/apache2/conf-enabled/other-vhosts-access-log.conf
12754

128-
# setup default site
129-
RUN mkdir -p /opt/startup
130-
COPY generateStartupCommand.sh /opt/startup/generateStartupCommand.sh
131-
RUN chmod 755 /opt/startup/generateStartupCommand.sh
132-
133-
ENV WEBSITE_ROLE_INSTANCE_ID localRoleInstance
134-
ENV WEBSITE_INSTANCE_ID localInstance
135-
ENV PATH ${PATH}:/home/site/wwwroot
136-
137-
WORKDIR /var/www/html
55+
WORKDIR /home/site/wwwroot
13856

13957
ENTRYPOINT ["/bin/init_container.sh"]
140-

5.6-apache/apache2.conf

Lines changed: 0 additions & 61 deletions
This file was deleted.

5.6-apache/generateStartupCommand.sh

Lines changed: 0 additions & 14 deletions
This file was deleted.

5.6-apache/init_container.sh

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,24 @@ cat /etc/motd
1717
# Get environment variables to show up in SSH session
1818
eval $(printenv | sed -n "s/^\([^=]\+\)=\(.*\)$/export \1=\2/p" | sed 's/"/\\\"/g' | sed '/=/s//="/' | sed 's/$/"/' >> /etc/profile)
1919

20+
# starting sshd process
2021
sed -i "s/SSH_PORT/$SSH_PORT/g" /etc/ssh/sshd_config
21-
service ssh start
22-
sed -i "s/{PORT}/$PORT/g" /etc/apache2/apache2.conf
23-
mkdir /var/lock/apache2
24-
mkdir /var/run/apache2
22+
/usr/sbin/sshd
2523

26-
echo "$@" > /opt/startup/startupCommand
27-
/opt/startup/generateStartupCommand.sh
28-
chmod 755 /opt/startup/startupCommand
24+
appPath="/home/site/wwwroot"
25+
runFromPath="/tmp/webapp"
26+
startupCommandPath="/opt/startup/startup.sh"
27+
userStartupCommand="$@"
28+
if [ -z "$userStartupCommand" ]
29+
then
30+
userStartupCommand="apache2-foreground";
31+
else
32+
userStartupCommand="$userStartupCommand; apache2-foreground;"
33+
fi
2934

30-
STARTUPCOMMAND=$(cat /opt/startup/startupCommand)
31-
echo "Running $STARTUPCOMMAND"
32-
eval "exec $STARTUPCOMMAND"
35+
oryxArgs="-appPath $appPath -output $startupCommandPath \
36+
-bindPort $PORT -startupCommand '$userStartupCommand'"
37+
38+
echo "Running oryx $oryxArgs"
39+
eval oryx $oryxArgs
40+
$startupCommandPath

5.6-apache/ssh_setup.sh

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
#!/bin/sh
2+
3+
if [ ! -f "/etc/ssh/ssh_host_rsa_key" ]; then
4+
# generate fresh rsa key
5+
ssh-keygen -f /etc/ssh/ssh_host_rsa_key -N '' -t rsa
6+
fi
7+
8+
if [ ! -f "/etc/ssh/ssh_host_dsa_key" ]; then
9+
# generate fresh dsa key
10+
ssh-keygen -f /etc/ssh/ssh_host_dsa_key -N '' -t dsa
11+
fi
12+
13+
if [ ! -f "/etc/ssh/ssh_host_ecdsa_key" ]; then
14+
# generate fresh ecdsa key
15+
ssh-keygen -f /etc/ssh/ssh_host_ecdsa_key -N '' -t dsa
16+
fi
17+
18+
if [ ! -f "/etc/ssh/ssh_host_ed25519_key" ]; then
19+
# generate fresh ecdsa key
20+
ssh-keygen -f /etc/ssh/ssh_host_ed25519_key -N '' -t dsa
21+
fi
22+
23+
#prepare run dir
24+
if [ ! -d "/var/run/sshd" ]; then
25+
mkdir -p /var/run/sshd
26+
fi

0 commit comments

Comments
 (0)