Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

releasing zendserver 2018.0.3 9.1.8 8.5.12 #5752

Merged
merged 5 commits into from
Apr 24, 2019
Merged

releasing zendserver 2018.0.3 9.1.8 8.5.12 #5752

merged 5 commits into from
Apr 24, 2019

Conversation

andrus7k
Copy link
Contributor

releasing zendserver 2018.0.3 9.1.8 8.5.12

@yosifkit

This comment has been minimized.

@yosifkit
Copy link
Member

+    && wget http://downloads.zend.com/zendserver/2018.0.3/ZendServer-2018.0.3-RepositoryInstaller-linux.tar.gz \

On the 2018.0 Dockerfile, this needs improvement to include as much verification as possible as described here. Similar to the later line that downloads and verifies zs-init.tar.gz

It looks like the tar.gz as well as its extracted contents are left in the image; if unneeded, they should be deleted in the layer they are created.

@yosifkit

This comment has been minimized.

@tianon
Copy link
Member

tianon commented Apr 22, 2019

+    && ./install_zs.sh 7.2 --automatic \
-      zend-server-php-7.2=2018.0.0+b464 \

It appears that this loses the previous version pinning, so it won't be possible for us to rebuild this properly if there's a newer 2018.0.0+bNNN release later unless that .tar.gz file will also be updated for every version bump. Is that something you're OK with?

+    && echo "8b17143a1611a1d7a17d5494876079e300ee730e4e9b585c1b1a821777de2cc2 ZendServer-2018.0.3-RepositoryInstaller-linux.tar.gz" | sha256sum -c - \

This technically works as-is, but it should be either two spaces between or should include a * before the filename, ala:

    && echo "8b17143a1611a1d7a17d5494876079e300ee730e4e9b585c1b1a821777de2cc2 *ZendServer-2018.0.3-RepositoryInstaller-linux.tar.gz" | sha256sum -c - \

Or better yet:

    && echo "8b17143a1611a1d7a17d5494876079e300ee730e4e9b585c1b1a821777de2cc2 *ZendServer-2018.0.3-RepositoryInstaller-linux.tar.gz" | sha256sum --strict --check - \

Also, this whole script seems kind of insane -- why are we downloading a big tarball that contains an installation script that amounts to just apt-key add && apt-get install?

@yosifkit
Copy link
Member

Diff:
diff --git a/php-zendserver_8.5/Dockerfile b/php-zendserver_8.5/Dockerfile
index d9ba0d2..120e6ba 100644
--- a/php-zendserver_8.5/Dockerfile
+++ b/php-zendserver_8.5/Dockerfile
@@ -1,14 +1,23 @@
 # Zend Server
 #
-# Version 0.2
+# Version 8.5.12+b817
 
-FROM ubuntu:14.04
+FROM ubuntu:16.04
 
-RUN apt-key adv --keyserver pgp.mit.edu --recv-key 799058698E65316A2E7A4FF42EAE1437F7D2C623
-RUN echo "deb http://repos.zend.com/zend-server/8.5.10/deb_apache2.4 server non-free" >> /etc/apt/sources.list.d/zend-server.list
-RUN apt-get update && apt-get install -y curl libmysqlclient18 unzip git zend-server-php-5.6=8.5.10+b798 && /usr/local/zend/bin/zendctl.sh stop
+RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-key 799058698E65316A2E7A4FF42EAE1437F7D2C623
+COPY zs8_5-apache2_4.list /etc/apt/sources.list.d/zend-server.list
+RUN apt-get update \
+    && apt-get install -y \
+        curl \
+        libmysqlclient20 \
+        unzip \
+        git \
+        zend-server-php-5.6=8.5.12+b817 \
+    && rm -rf /var/lib/apt/lists/* \
+    && /usr/local/zend/bin/zendctl.sh stop
 
-COPY ./zend.lic /etc/
+#Set default license
+COPY ./zend-201904161519.lic /etc/zend.lic
 
 #Make apache drop the HTTP_PROXY header to fix CVE-2016-5385, CVE-2016-5387
 COPY ./drop-http-proxy-header.conf /etc/apache2/conf-available
@@ -25,11 +34,14 @@ RUN curl -fSL -o zs-init.tar.gz "http://repos.zend.com/zs-init/zs-init-docker-${
     && tar xzf zs-init.tar.gz --strip-components=1 -C /usr/local/zs-init \
     && rm zs-init.tar.gz
 
+#Install composer and dependencies for zs-init
 WORKDIR /usr/local/zs-init
-RUN /usr/local/zend/bin/php -r "readfile('https://getcomposer.org/installer');" | /usr/local/zend/bin/php
-RUN /usr/local/zend/bin/php composer.phar update
+RUN /usr/local/zend/bin/php -r "readfile('https://getcomposer.org/installer');" | /usr/local/zend/bin/php \
+    && /usr/local/zend/bin/php composer.phar self-update && /usr/local/zend/bin/php composer.phar update
 
 COPY ./scripts /usr/local/bin
+#Copy Zray docker plugin
+#TODO: Integrate Zray docker plugin into Zend Server
 COPY ./Zray /usr/local/zend/var/plugins/
 
 RUN rm /var/www/html/index.html
diff --git a/php-zendserver_8.5/zend-201904161519.lic b/php-zendserver_8.5/zend-201904161519.lic
new file mode 100644
index 0000000..b3cdd1e
--- /dev/null
+++ b/php-zendserver_8.5/zend-201904161519.lic
@@ -0,0 +1 @@
+{"ZEND_LICENSE_ORDER":"zs-docker","ZEND_LICENSE_KEY":"EKUE9J41801G21BB2C5E2D1552E2F404"}
diff --git a/php-zendserver_8.5/zend.lic b/php-zendserver_8.5/zend.lic
deleted file mode 100644
index 59b6ba7..0000000
diff --git a/php-zendserver_8.5/zs8_5-apache2_4.list b/php-zendserver_8.5/zs8_5-apache2_4.list
new file mode 100644
index 0000000..15ae29d
--- /dev/null
+++ b/php-zendserver_8.5/zs8_5-apache2_4.list
@@ -0,0 +1 @@
+deb http://repos.zend.com/zend-server/8.5.12/deb_apache2.4 server non-free
diff --git a/php-zendserver_9.1/Dockerfile b/php-zendserver_9.1/Dockerfile
index 6c65dde..6e574d3 100644
--- a/php-zendserver_9.1/Dockerfile
+++ b/php-zendserver_9.1/Dockerfile
@@ -1,32 +1,31 @@
 # Zend Server
 #
-# Version 9.1.3+b165
+# Version 9.1.8+b181
 
 FROM ubuntu:16.04
 
-RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-key 799058698E65316A2E7A4FF42EAE1437F7D2C623 \
-    && echo "deb http://repos.zend.com/zend-server/9.1/deb_apache2.4 server non-free" >> /etc/apt/sources.list.d/zend-server.list \
-    && apt-get update \
+RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-key 799058698E65316A2E7A4FF42EAE1437F7D2C623
+COPY zs9_1-apache2_4.list /etc/apt/sources.list.d/zend-server.list
+RUN apt-get update \
     && apt-get install -y \
+      curl \
       libmysqlclient20 \
       unzip \
       git \
-      curl \
-      net-tools \
-      zend-server-php-7.1=9.1.4+b170 \
+      zend-server-php-7.1=9.1.8+b181 \
     && rm -rf /var/lib/apt/lists/* \
     && /usr/local/zend/bin/zendctl.sh stop
 
 #Set default license
-COPY ./zend.lic /etc/
+COPY ./zend-201904161519.lic /etc/zend.lic
 
 #Make apache drop the HTTP_PROXY header to fix CVE-2016-5385, CVE-2016-5387
 COPY ./drop-http-proxy-header.conf /etc/apache2/conf-available
-RUN  /usr/sbin/a2enconf drop-http-proxy-header \
-     && /usr/sbin/a2enmod headers
+RUN  /usr/sbin/a2enconf drop-http-proxy-header
+RUN  /usr/sbin/a2enmod headers
 
 # "zs-init" is a standard Zend Server cloud initialization package.
-# It has minor tweaks for use within Docker which can be found at https://github.com/zendtech/zs-init/treye/docker
+# It has minor tweaks for use within Docker which can be found at https://github.com/zendtech/zs-init/tree/docker
 ENV ZS_INIT_VERSION 0.3
 ENV ZS_INIT_SHA256 e8d441d8503808e9fc0fafc762b2cb80d4a6e68b94fede0fe41efdeac10800cb
 RUN curl -fSL -o zs-init.tar.gz "http://repos.zend.com/zs-init/zs-init-docker-${ZS_INIT_VERSION}.tar.gz" \
diff --git a/php-zendserver_9.1/zend-201904161519.lic b/php-zendserver_9.1/zend-201904161519.lic
new file mode 100644
index 0000000..b3cdd1e
--- /dev/null
+++ b/php-zendserver_9.1/zend-201904161519.lic
@@ -0,0 +1 @@
+{"ZEND_LICENSE_ORDER":"zs-docker","ZEND_LICENSE_KEY":"EKUE9J41801G21BB2C5E2D1552E2F404"}
diff --git a/php-zendserver_9.1/zend.lic b/php-zendserver_9.1/zend.lic
deleted file mode 100644
index 59b6ba7..0000000
diff --git a/php-zendserver_9.1/zs9_1-apache2_4.list b/php-zendserver_9.1/zs9_1-apache2_4.list
new file mode 100644
index 0000000..008d807
--- /dev/null
+++ b/php-zendserver_9.1/zs9_1-apache2_4.list
@@ -0,0 +1 @@
+deb http://repos.zend.com/zend-server/9.1/deb_apache2.4 server non-free
\ No newline at end of file
diff --git a/php-zendserver_latest/Dockerfile b/php-zendserver_latest/Dockerfile
index 88cfc86..747873b 100644
--- a/php-zendserver_latest/Dockerfile
+++ b/php-zendserver_latest/Dockerfile
@@ -1,32 +1,31 @@
 # Zend Server
 #
-# Version 2018.0.3+b165
+# Version 2018.0.3+b24
 
 FROM ubuntu:16.04
 
-RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-key 799058698E65316A2E7A4FF42EAE1437F7D2C623 \
-    && echo "deb http://repos.zend.com/zend-server/2018.0/deb_apache2.4 server non-free" >> /etc/apt/sources.list.d/zend-server.list \
-    && apt-get update \
+RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-key 799058698E65316A2E7A4FF42EAE1437F7D2C623
+COPY zs2018_0-apache2_4.list /etc/apt/sources.list.d/zend-server.list
+RUN apt-get update \
     && apt-get install -y \
+      curl \
       libmysqlclient20 \
       unzip \
       git \
-      curl \
-      net-tools \
-      zend-server-php-7.2=2018.0.0+b464 \
+      zend-server-php-7.2=2018.0.3+b24 \
     && rm -rf /var/lib/apt/lists/* \
     && /usr/local/zend/bin/zendctl.sh stop
 
 #Set default license
-COPY ./zend.lic /etc/
+COPY ./zend-201904161519.lic /etc/zend.lic
 
 #Make apache drop the HTTP_PROXY header to fix CVE-2016-5385, CVE-2016-5387
 COPY ./drop-http-proxy-header.conf /etc/apache2/conf-available
-RUN  /usr/sbin/a2enconf drop-http-proxy-header \
-     && /usr/sbin/a2enmod headers
+RUN  /usr/sbin/a2enconf drop-http-proxy-header
+RUN  /usr/sbin/a2enmod headers
 
 # "zs-init" is a standard Zend Server cloud initialization package.
-# It has minor tweaks for use within Docker which can be found at https://github.com/zendtech/zs-init/treye/docker
+# It has minor tweaks for use within Docker which can be found at https://github.com/zendtech/zs-init/tree/docker
 ENV ZS_INIT_VERSION 0.3
 ENV ZS_INIT_SHA256 e8d441d8503808e9fc0fafc762b2cb80d4a6e68b94fede0fe41efdeac10800cb
 RUN curl -fSL -o zs-init.tar.gz "http://repos.zend.com/zs-init/zs-init-docker-${ZS_INIT_VERSION}.tar.gz" \
@@ -37,7 +36,8 @@ RUN curl -fSL -o zs-init.tar.gz "http://repos.zend.com/zs-init/zs-init-docker-${
 
 #Install composer and dependencies for zs-init
 WORKDIR /usr/local/zs-init
-RUN  /usr/local/zend/bin/php /usr/local/zend/bin/composer.phar self-update && /usr/local/zend/bin/php /usr/local/zend/bin/composer.phar update
+RUN /usr/local/zend/bin/php -r "readfile('https://getcomposer.org/installer');" | /usr/local/zend/bin/php \
+    && /usr/local/zend/bin/php composer.phar self-update && /usr/local/zend/bin/php composer.phar update
 
 COPY ./scripts /usr/local/bin 
 #Copy Zray docker plugin
diff --git a/php-zendserver_latest/scripts/run b/php-zendserver_latest/scripts/run
index dad0f7c..c678f9a 100755
--- a/php-zendserver_latest/scripts/run
+++ b/php-zendserver_latest/scripts/run
@@ -26,6 +26,9 @@ usermod -a -G adm zend
 #ZDOCK-15 - allow users to bring their own licenses
 /usr/local/bin/modify_license.sh
 
+#Drop MYSQL_DATABASE if it has no tables
+/usr/local/clear_empty_db.php $MYSQL_DATABASE
+
 /usr/local/zs-init/init.php
 
 echo "Zend Server is ready for use
@@ -50,9 +53,9 @@ WEB_API_KEY_HASH=`/usr/local/zs-init/stateValue.php WEB_API_KEY_HASH`
 #Define Default application
 /usr/local/zend/bin/zs-client.sh applicationDefine --name=default --baseUrl="http://<default-server>:80/" --zskey=$WEB_API_KEY_NAME --zssecret=$WEB_API_KEY_HASH > /dev/null 2>&1
 
-if [[ -n $MYSQL_HOSTNAME && -n $MYSQL_USERNAME && -n $MYSQL_PASSWORD ]]; then
+if [[ -n $MYSQL_HOSTNAME && -n $MYSQL_USERNAME && -n $MYSQL_PASSWORD && -n $NODE_ID ]]; then
 echo "Adding Node Id to DB table for sigterm handler"
-exec /usr/local/bin/nothing $MYSQL_HOSTNAME $MYSQL_PORT $MYSQL_USERNAME $MYSQL_PASSWORD $MYSQL_DBNAME $NODE_ID $WEB_API_KEY_NAME $WEB_API_KEY_HASH
+#exec /usr/local/bin/nothing $MYSQL_HOSTNAME $MYSQL_PORT $MYSQL_USERNAME $MYSQL_PASSWORD $MYSQL_DBNAME $NODE_ID $WEB_API_KEY_NAME $WEB_API_KEY_HASH
 fi
 
 exec /usr/local/bin/nothing
diff --git a/php-zendserver_latest/zend-201904161519.lic b/php-zendserver_latest/zend-201904161519.lic
new file mode 100644
index 0000000..b3cdd1e
--- /dev/null
+++ b/php-zendserver_latest/zend-201904161519.lic
@@ -0,0 +1 @@
+{"ZEND_LICENSE_ORDER":"zs-docker","ZEND_LICENSE_KEY":"EKUE9J41801G21BB2C5E2D1552E2F404"}
diff --git a/php-zendserver_latest/zend.lic b/php-zendserver_latest/zend.lic
deleted file mode 100644
index 59b6ba7..0000000
diff --git a/php-zendserver_latest/zs2018_0-apache2_4.list b/php-zendserver_latest/zs2018_0-apache2_4.list
new file mode 100644
index 0000000..9577f61
--- /dev/null
+++ b/php-zendserver_latest/zs2018_0-apache2_4.list
@@ -0,0 +1 @@
+deb http://repos.zend.com/zend-server/2018.0/deb_apache2.4 server non-free
\ No newline at end of file

@yosifkit
Copy link
Member

Build test of #5752; e39202b; amd64 (php-zendserver):

$ bashbrew build php-zendserver:5.6
Building bashbrew/cache:7b84a8a35fb3409fd7c011f6d15ec13441517be4bc99a13e67ff8321a92e25a3 (php-zendserver:5.6)
Tagging php-zendserver:5.6
Tagging php-zendserver:8.5-php5.6
Tagging php-zendserver:8.5

$ test/run.sh php-zendserver:5.6
testing php-zendserver:5.6
	'utc' [1/4]...passed
	'cve-2014--shellshock' [2/4]...passed
	'no-hard-coded-passwords' [3/4]...passed
	'override-cmd' [4/4]...passed


$ bashbrew build php-zendserver:9.1
Building bashbrew/cache:fd99a87c2864fb8886911ba005f4ca0c6ddc3d09284b4b0676fcb9adf1d215d4 (php-zendserver:9.1)
Tagging php-zendserver:9.1

$ test/run.sh php-zendserver:9.1
testing php-zendserver:9.1
	'utc' [1/4]...passed
	'cve-2014--shellshock' [2/4]...passed
	'no-hard-coded-passwords' [3/4]...passed
	'override-cmd' [4/4]...passed


$ bashbrew build php-zendserver:2018.0
Building bashbrew/cache:b43c3c13ea402b0d79d4cab831dbb827076b362986b53083fa45fab2473366d7 (php-zendserver:2018.0)
Tagging php-zendserver:2018.0
Tagging php-zendserver:latest

$ test/run.sh php-zendserver:2018.0
testing php-zendserver:2018.0
	'utc' [1/4]...passed
	'cve-2014--shellshock' [2/4]...passed
	'no-hard-coded-passwords' [3/4]...passed
	'override-cmd' [4/4]...passed

@@ -1,6 +1,6 @@
Maintainers: David Lowes <david.l@zend.com> (@davidl-zend)
Maintainers: Andrus Viik <andrus.viik@roguewave.com> (@andrus7k)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll use your commit rights on https://github.com/zendtech/php-zendserver-docker as validation to make the maintainer change. If @davidl-zend wants to revert or change this, then please let us know.

@yosifkit yosifkit merged commit f7a7974 into docker-library:master Apr 24, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants