This commit is contained in:
67
rootfs-php74/app/entrypoint.sh
Executable file
67
rootfs-php74/app/entrypoint.sh
Executable file
@@ -0,0 +1,67 @@
|
||||
#!/bin/sh
|
||||
|
||||
WEBROOT=/data/www
|
||||
PHP=${PHP:-none}
|
||||
USERNAME=${USERNAME:-theuser}
|
||||
PUID=${PUID:-1000}
|
||||
GROUPNAME=${GROUPNAME:-thegroup}
|
||||
PGID=${PGID:-1000}
|
||||
RANDOMPWD=$(tr -dc A-Za-z0-9 </dev/urandom | head -c 13)
|
||||
addgroup -g "${PGID}" "${GROUPNAME}"
|
||||
addgroup nginx "${GROUPNAME}"
|
||||
adduser -DH -h "${WEBROOT}" -G "${GROUPNAME}" -u "${PUID}" "${USERNAME}"
|
||||
printf '%s\n%s' "${RANDOMPWD}" "${RANDOMPWD}" | passwd "${USERNAME}"
|
||||
echo "password for the user \"${USERNAME}\" is: ${RANDOMPWD}"
|
||||
|
||||
chown "${PUID}:${GROUPNAME}" "${WEBROOT}" -R
|
||||
find "${WEBROOT}" -type d -exec chmod 0755 {} \;
|
||||
find "${WEBROOT}" -type f -exec chmod 0644 {} \;
|
||||
|
||||
FPM_MAX_CHILDREN=${FPM_MAX_CHILDREN:-5}
|
||||
FPM_START_SERVERS=${FPM_START_SERVERS:-1}
|
||||
FPM_MIN_SPARE_SERVERS=${FPM_MIN_SPARE_SERVERS:-1}
|
||||
FPM_MAX_SPARE_SERVERS=${FPM_MAX_SPARE_SERVERS:-3}
|
||||
|
||||
# set php config
|
||||
case "${PHP}" in
|
||||
"php7")
|
||||
cat >"/etc/${PHP}/php-fpm-d/www.conf" <<EOF
|
||||
[www]
|
||||
user = ${USERNAME}
|
||||
group = ${GROUPNAME}
|
||||
listen = 127.0.0.1:9000
|
||||
pm = dynamic
|
||||
pm.max_children = ${FPM_MAX_CHILDREN}
|
||||
pm.start_servers = ${FPM_START_SERVERS}
|
||||
pm.min_spare_servers = ${FPM_MIN_SPARE_SERVERS}
|
||||
pm.max_spare_servers = ${FPM_MAX_SPARE_SERVERS}
|
||||
EOF
|
||||
;;
|
||||
*) ;;
|
||||
esac
|
||||
|
||||
# start php
|
||||
case "${PHP}" in
|
||||
"php7")
|
||||
cp /app/nginx/php7.conf /etc/nginx/custom.d/
|
||||
cp /app/nginx/default_php.conf /etc/nginx/http.d/default.conf
|
||||
/usr/sbin/php-fpm7 -D
|
||||
;;
|
||||
*)
|
||||
cp /app/nginx/default_nophp.conf /etc/nginx/http.d/default.conf
|
||||
;;
|
||||
esac
|
||||
|
||||
# start ssh
|
||||
for keytype in ecdsa rsa ed25519 ; do
|
||||
if [ ! -r "/ssh/ssh_host_${keytype}_key" ] ; then
|
||||
/usr/bin/ssh-keygen -t "${keytype}" -f "/ssh/ssh_host_${keytype}_key" -N ""
|
||||
fi
|
||||
chmod 0600 "/ssh/ssh_host_${keytype}_key"
|
||||
chmod 0644 "/ssh/ssh_host_${keytype}_key.pub"
|
||||
done
|
||||
chmod 0700 "${WEBROOT}/.ssh"
|
||||
/usr/sbin/sshd -e
|
||||
|
||||
# start nginx
|
||||
nginx
|
||||
33
rootfs-php74/app/nginx/default_nophp.conf
Normal file
33
rootfs-php74/app/nginx/default_nophp.conf
Normal file
@@ -0,0 +1,33 @@
|
||||
error_log /dev/stdout info;
|
||||
access_log /dev/stdout;
|
||||
|
||||
server {
|
||||
listen 80 default_server;
|
||||
listen [::]:80 default_server;
|
||||
root /data/www;
|
||||
# server_name localhost;
|
||||
|
||||
#access_log /var/log/nginx/host.access.log main;
|
||||
|
||||
location / {
|
||||
index index.html index.htm;
|
||||
|
||||
# autoindex on;
|
||||
# autoindex_exact_size off;
|
||||
# autoindex_format html;
|
||||
# autoindex_localtime on;
|
||||
}
|
||||
|
||||
gzip on;
|
||||
gzip_proxied any;
|
||||
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript text/x-js image/x-icon font/woff2 font/woff application/x-font-woff;
|
||||
gzip_vary on;
|
||||
gzip_disable "msie6";
|
||||
|
||||
etag on;
|
||||
if_modified_since exact;
|
||||
add_header Pragma "public";
|
||||
add_header Cache-Control "max-age=31536000, public";
|
||||
|
||||
include /etc/nginx/custom.d/*.conf;
|
||||
}
|
||||
33
rootfs-php74/app/nginx/default_php.conf
Normal file
33
rootfs-php74/app/nginx/default_php.conf
Normal file
@@ -0,0 +1,33 @@
|
||||
error_log /dev/stdout info;
|
||||
access_log /dev/stdout;
|
||||
|
||||
server {
|
||||
listen 80 default_server;
|
||||
listen [::]:80 default_server;
|
||||
root /data/www;
|
||||
# server_name localhost;
|
||||
|
||||
#access_log /var/log/nginx/host.access.log main;
|
||||
|
||||
location / {
|
||||
index index.php index.html index.htm;
|
||||
|
||||
# autoindex on;
|
||||
# autoindex_exact_size off;
|
||||
# autoindex_format html;
|
||||
# autoindex_localtime on;
|
||||
}
|
||||
|
||||
gzip on;
|
||||
gzip_proxied any;
|
||||
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript text/x-js image/x-icon font/woff2 font/woff application/x-font-woff;
|
||||
gzip_vary on;
|
||||
gzip_disable "msie6";
|
||||
|
||||
etag on;
|
||||
if_modified_since exact;
|
||||
add_header Pragma "public";
|
||||
add_header Cache-Control "max-age=31536000, public";
|
||||
|
||||
include /etc/nginx/custom.d/*.conf;
|
||||
}
|
||||
6
rootfs-php74/app/nginx/php7.conf
Normal file
6
rootfs-php74/app/nginx/php7.conf
Normal file
@@ -0,0 +1,6 @@
|
||||
location ~ \.php$ {
|
||||
fastcgi_split_path_info ^(.+\.php)(/.*)$;
|
||||
fastcgi_pass 127.0.0.1:9000;
|
||||
include fastcgi.conf;
|
||||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||
}
|
||||
Reference in New Issue
Block a user