diff --git a/docker/per_hosting/Dockerfile b/docker/per_hosting/Dockerfile index 1f727b5..57a4912 100644 --- a/docker/per_hosting/Dockerfile +++ b/docker/per_hosting/Dockerfile @@ -4,6 +4,8 @@ COPY files/sudo.conf /etc/ COPY files/sudoers /etc/ COPY files/my.cnf /etc/ COPY files/httpd.conf /etc/apache2/ +COPY files/vhost.conf /etc/apache2/conf.d/ +COPY files/mastodon.help.conf /etc/apache2/conf.d/ COPY files/sshd_config /etc/ssh/ COPY files/php.ini /etc/php7/ COPY files/msmtprc /etc/php7/ diff --git a/docker/per_hosting/README.md b/docker/per_hosting/README.md index 0d24d14..5e57d1d 100644 --- a/docker/per_hosting/README.md +++ b/docker/per_hosting/README.md @@ -1,4 +1,4 @@ -Questa cartella contiene il Dockerfile e quel che serve per generare un'immagine docker di mastostart pensata per l'hosting su bida. L'immagine è basata su alpine linux e contiene apache, php, mariadb, openssh già configurati. Al momento pesa circa 450 mb. Openssh è configurato (con autenticazione solo a chiave) per permettere a me che son pongrebio :)) di gestire il container da remoto; ovviamente ci si possono aggiungere altri utenti. +Questa cartella contiene il Dockerfile e quel che serve per generare un'immagine docker di mastostart pensata per l'hosting su bida. L'immagine pesa circa 450 mb, è basata su alpine linux e contiene apache, php, mariadb, openssh già configurati. Apache è configurato con un virtual host per mastodon.help. ### Come generare l'immagine docker @@ -8,15 +8,15 @@ Dalla directory `docker/per_hosting` del repo clonato: `docker build -t mastosta `docker run -d mastostart[:versione]` per creare e lanciare un container. -A questo punto, per vedere in locale la Mastodon Startpage, aprire un browser su [http://172.17.0.2](http://172.17.0.2). - Per determinare il nome e l'id del container che sta girando: `docker ps`. Per aprire una shell sul container attivo: `docker exec -it /bin/sh -l`; per uscirne, il buon vecchio `exit`. -Per provare il crawler che aggiorna il db delle istanze, dalla shell già aperta sul container: `/var/www/localhost/htdocs/mustard/crawler/crawl.sh`; altrimenti, da fuori, `docker exec -it /var/www/localhost/htdocs/mustard/crawler/crawl.sh`; nota: sulla mia sgrausissima adsl ci mette taaaanto tempo a finire, circa 10 ore: pigiare il buon vecchio `ctrl+c` se si vuole fermare il crawler prima che abbia finito ;-) +Per provare il crawler che aggiorna il db delle istanze, dalla shell già aperta sul container: `/var/www/localhost/htdocs/mustard/crawler/crawl.sh`; nota: sulla mia sgrausissima adsl ci mette taaaanto tempo a finire, circa 10 ore: pigiare il buon vecchio `ctrl+c` se si vuole fermare il crawler prima che abbia finito ;-) -Per aggiornare all'ultimo commit pubblicato su lattuga il mastostart del container attivo, dalla shell già aperta: `/root/update.sh`; altrimenti, da fuori, `docker exec -it /root/update.sh`. +Per aggiornare all'ultimo commit pubblicato su lattuga il mastostart del container attivo, dalla shell già aperta: `/root/update.sh`. + +Per aggiornare i pacchetti installati in alpine linux: `apk update && apk upgrade`. Per "spegnere" il container attivo: `docker stop `. diff --git a/docker/per_hosting/files/binit.sh b/docker/per_hosting/files/binit.sh index 6116591..8035521 100755 --- a/docker/per_hosting/files/binit.sh +++ b/docker/per_hosting/files/binit.sh @@ -7,15 +7,16 @@ predown() { sleep 1 echo "Stoppo mysqld (pid: $mysqld_pid)..." kill $mysqld_pid - echo "Stoppo sshd..." - killall sshd + echo "Stoppo sshd (pid: $sshd_pid)..." + kill $sshd_pid exit 0 } trap 'predown' HUP INT QUIT TERM echo "Lancio sshd..." -/usr/sbin/sshd +/usr/sbin/sshd -D & +sshd_pid=$! echo "Lancio mysqld..." /usr/bin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib/mariadb/plugin --user=mysql --log-error=/var/lib/mysql/mysql.err --pid-file=mysql.pid &> /dev/null & mysqld_pid=$! diff --git a/docker/per_hosting/files/httpd.conf b/docker/per_hosting/files/httpd.conf index ac45565..278780c 100644 --- a/docker/per_hosting/files/httpd.conf +++ b/docker/per_hosting/files/httpd.conf @@ -59,7 +59,7 @@ ServerRoot /var/www # prevent Apache from glomming onto all bound IP addresses. # #Listen 12.34.56.78:80 -Listen 80 +Listen 172.17.0.2:80 # # Dynamic Shared Object (DSO) Support @@ -484,3 +484,5 @@ Include /etc/apache2/conf.d/default.conf Include /etc/apache2/conf.d/languages.conf Include /etc/apache2/conf.d/mpm.conf Include /etc/apache2/conf.d/php7-module.conf +Include /etc/apache2/conf.d/vhost.conf +Include /etc/apache2/conf.d/mastodon.help.conf diff --git a/docker/per_hosting/files/install.sh b/docker/per_hosting/files/install.sh index 1d534d6..7605e56 100755 --- a/docker/per_hosting/files/install.sh +++ b/docker/per_hosting/files/install.sh @@ -14,13 +14,13 @@ mysql -e 'source mastostart_non_popolato.sql' mysql -e 'source create_user.sql' -rm /var/www/localhost/htdocs/index.html - git clone https://git.lattuga.net/pongrebio/MastodonStartpage.git -rsync -av MastodonStartpage/web/ /var/www/localhost/htdocs/ +mkdir /var/www/mastodon.help -cp /var/www/localhost/htdocs/mustard/sec/mustard.ini.sample /var/www/localhost/htdocs/mustard/sec/mustard.ini +rsync -av MastodonStartpage/web/ /var/www/mastodon.help/ + +cp /var/www/mastodon.help/mustard/sec/mustard.ini.sample /var/www/mastodon.help/mustard/sec/mustard.ini chown apache /etc/php7/msmtprc diff --git a/docker/per_hosting/files/mastodon.help.conf b/docker/per_hosting/files/mastodon.help.conf new file mode 100644 index 0000000..2e5f177 --- /dev/null +++ b/docker/per_hosting/files/mastodon.help.conf @@ -0,0 +1,33 @@ +# +# ServerAdmin pezcurrel@tiscali.it +# ServerName pantagruel.dnsup.net +# Redirect Permanent / https://pantagruel.dnsup.net/ +# + +# + + ServerAdmin pongrebio@mastodon.help + ServerName mastodon.help + + DocumentRoot "/var/www/mastodon.help" + + + Options Indexes FollowSymLinks + AllowOverride All + Require all granted + + +# SSLEngine on +# SSLProtocol -all +TLSv1.2 +# SSLHonorCipherOrder on +# SSLCipherSuite EECDH+AESGCM:AES256+EECDH:AES128+EECDH +# SSLCompression off +# SSLSessionTickets off +## SSLStaplingResponderTimeout 5 +## SSLStaplingReturnResponderErrors off +## SSLUseStapling on + +# SSLCertificateFile /etc/letsencrypt/live/pantagruel.dnsup.net/fullchain.pem +# SSLCertificateKeyFile /etc/letsencrypt/live/pantagruel.dnsup.net/privkey.pem + + diff --git a/docker/per_hosting/files/update.sh b/docker/per_hosting/files/update.sh index e4ee40c..aefa834 100755 --- a/docker/per_hosting/files/update.sh +++ b/docker/per_hosting/files/update.sh @@ -3,4 +3,4 @@ BASEDIR=$(dirname "$0") cd "$BASEDIR/MastodonStartpage" git pull cd .. -rsync -av --filter "protect mustard/crawler/peers" --filter "protect mustard/sec/mustard.ini" --delete-after MastodonStartpage/web/ /var/www/localhost/htdocs/ +rsync -av --filter "protect mustard/crawler/peers" --filter "protect mustard/sec/mustard.ini" --delete-after MastodonStartpage/web/ /var/www/mastodon.help/ diff --git a/docker/per_hosting/files/vhost.conf b/docker/per_hosting/files/vhost.conf new file mode 100644 index 0000000..925856f --- /dev/null +++ b/docker/per_hosting/files/vhost.conf @@ -0,0 +1,4 @@ + + ServerAdmin pongrebio@mastodon.help + DocumentRoot "/var/www/localhost/htdocs" +