Add mediagoblin to the interactive installer
This commit is contained in:
parent
4313994beb
commit
142486f03f
432
src/freedombone
432
src/freedombone
|
@ -1903,92 +1903,92 @@ function check_domains {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ${#GIT_DOMAIN_NAME} -gt 1 ]; then
|
if [ ${#GIT_DOMAIN_NAME} -gt 1 ]; then
|
||||||
test_domain_name "$GIT_DOMAIN_NAME"
|
test_domain_name "$GIT_DOMAIN_NAME"
|
||||||
|
|
||||||
if [[ "$test_domain_name" == "$WIKI_DOMAIN_NAME" ]]; then
|
if [[ "$test_domain_name" == "$WIKI_DOMAIN_NAME" ]]; then
|
||||||
echo $'Hubzilla domain name is the same as wiki domain name. They must be different'
|
echo $'Hubzilla domain name is the same as wiki domain name. They must be different'
|
||||||
exit 83682
|
exit 83682
|
||||||
fi
|
fi
|
||||||
if [[ "$test_domain_name" == "$OWNCLOUD_DOMAIN_NAME" ]]; then
|
if [[ "$test_domain_name" == "$OWNCLOUD_DOMAIN_NAME" ]]; then
|
||||||
echo $'Hubzilla domain name is the same as Owncloud domain name. They must be different'
|
echo $'Hubzilla domain name is the same as Owncloud domain name. They must be different'
|
||||||
exit 65192
|
exit 65192
|
||||||
fi
|
fi
|
||||||
if [[ "$test_domain_name" == "$FULLBLOG_DOMAIN_NAME" ]]; then
|
if [[ "$test_domain_name" == "$FULLBLOG_DOMAIN_NAME" ]]; then
|
||||||
echo $'Hubzilla domain name is the same as blog domain name. They must be different'
|
echo $'Hubzilla domain name is the same as blog domain name. They must be different'
|
||||||
exit 74817
|
exit 74817
|
||||||
fi
|
fi
|
||||||
if [[ "$test_domain_name" == "$MICROBLOG_DOMAIN_NAME" ]]; then
|
if [[ "$test_domain_name" == "$MICROBLOG_DOMAIN_NAME" ]]; then
|
||||||
echo $'Hubzilla domain name is the same as microblog domain name. They must be different'
|
echo $'Hubzilla domain name is the same as microblog domain name. They must be different'
|
||||||
exit 83683
|
exit 83683
|
||||||
fi
|
fi
|
||||||
if [[ "$test_domain_name" == "$HUBZILLA_DOMAIN_NAME" ]]; then
|
if [[ "$test_domain_name" == "$HUBZILLA_DOMAIN_NAME" ]]; then
|
||||||
echo $'Microblog domain name is the same as hubzilla domain name. They must be different'
|
echo $'Microblog domain name is the same as hubzilla domain name. They must be different'
|
||||||
exit 678382
|
exit 678382
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
# Checks whether certificates were generated for the given hostname
|
# Checks whether certificates were generated for the given hostname
|
||||||
function check_certificates {
|
function check_certificates {
|
||||||
if [ ! $1 ]; then
|
if [ ! $1 ]; then
|
||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
if [[ $LETSENCRYPT_ENABLED != "yes" ]]; then
|
if [[ $LETSENCRYPT_ENABLED != "yes" ]]; then
|
||||||
if [ ! -f /etc/ssl/private/$1.key ]; then
|
if [ ! -f /etc/ssl/private/$1.key ]; then
|
||||||
echo $"Private certificate for $CHECK_HOSTNAME was not created"
|
echo $"Private certificate for $CHECK_HOSTNAME was not created"
|
||||||
exit 63959
|
exit 63959
|
||||||
fi
|
fi
|
||||||
if [ ! -f /etc/ssl/certs/$1.crt ]; then
|
if [ ! -f /etc/ssl/certs/$1.crt ]; then
|
||||||
echo $"Public certificate for $CHECK_HOSTNAME was not created"
|
echo $"Public certificate for $CHECK_HOSTNAME was not created"
|
||||||
exit 7679
|
exit 7679
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
if [ ! -f /etc/letsencrypt/live/${1}/privkey.pem ]; then
|
if [ ! -f /etc/letsencrypt/live/${1}/privkey.pem ]; then
|
||||||
echo $"Private certificate for $CHECK_HOSTNAME was not created"
|
echo $"Private certificate for $CHECK_HOSTNAME was not created"
|
||||||
exit 6282
|
exit 6282
|
||||||
fi
|
fi
|
||||||
if [ ! -f /etc/letsencrypt/live/${1}/fullchain.pem ]; then
|
if [ ! -f /etc/letsencrypt/live/${1}/fullchain.pem ]; then
|
||||||
echo $"Public certificate for $CHECK_HOSTNAME was not created"
|
echo $"Public certificate for $CHECK_HOSTNAME was not created"
|
||||||
exit 5328
|
exit 5328
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
if [ ! -f /etc/ssl/certs/$1.dhparam ]; then
|
if [ ! -f /etc/ssl/certs/$1.dhparam ]; then
|
||||||
echo $"Diffie–Hellman parameters for $CHECK_HOSTNAME were not created"
|
echo $"Diffie–Hellman parameters for $CHECK_HOSTNAME were not created"
|
||||||
exit 5989
|
exit 5989
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
function backup_database_local {
|
function backup_database_local {
|
||||||
# Makes local backups of databases which can then be automatically rolled
|
# Makes local backups of databases which can then be automatically rolled
|
||||||
# back if corruption is detected
|
# back if corruption is detected
|
||||||
database_name=$1
|
database_name=$1
|
||||||
|
|
||||||
backup_databases_script=/usr/bin/backupdatabases
|
backup_databases_script=/usr/bin/backupdatabases
|
||||||
echo '' >> $backup_databases_script
|
echo '' >> $backup_databases_script
|
||||||
echo "# Backup the ${database_name} database" >> $backup_databases_script
|
echo "# Backup the ${database_name} database" >> $backup_databases_script
|
||||||
echo "TEMPFILE=/root/${database_name}.sql" >> $backup_databases_script
|
echo "TEMPFILE=/root/${database_name}.sql" >> $backup_databases_script
|
||||||
echo 'DAILYFILE=/var/backups/${database_name}_daily.sql' >> $backup_databases_script
|
echo 'DAILYFILE=/var/backups/${database_name}_daily.sql' >> $backup_databases_script
|
||||||
echo "mysqldump --password=\"\$MYSQL_PASSWORD\" ${database_name} > \$TEMPFILE" >> $backup_databases_script
|
echo "mysqldump --password=\"\$MYSQL_PASSWORD\" ${database_name} > \$TEMPFILE" >> $backup_databases_script
|
||||||
echo 'FILESIZE=$(stat -c%s $TEMPFILE)' >> $backup_databases_script
|
echo 'FILESIZE=$(stat -c%s $TEMPFILE)' >> $backup_databases_script
|
||||||
echo 'if [ "$FILESIZE" -eq "0" ]; then' >> $backup_databases_script
|
echo 'if [ "$FILESIZE" -eq "0" ]; then' >> $backup_databases_script
|
||||||
echo ' if [ -f $DAILYFILE ]; then' >> $backup_databases_script
|
echo ' if [ -f $DAILYFILE ]; then' >> $backup_databases_script
|
||||||
echo ' cp $DAILYFILE $TEMPFILE' >> $backup_databases_script
|
echo ' cp $DAILYFILE $TEMPFILE' >> $backup_databases_script
|
||||||
echo '' >> $backup_databases_script
|
echo '' >> $backup_databases_script
|
||||||
echo ' # try to restore yesterdays database' >> $backup_databases_script
|
echo ' # try to restore yesterdays database' >> $backup_databases_script
|
||||||
echo " mysql -u root --password=\"\$MYSQL_PASSWORD\" ${database_name} -o < \$DAILYFILE" >> $backup_databases_script
|
echo " mysql -u root --password=\"\$MYSQL_PASSWORD\" ${database_name} -o < \$DAILYFILE" >> $backup_databases_script
|
||||||
echo '' >> $backup_databases_script
|
echo '' >> $backup_databases_script
|
||||||
echo ' # Send a warning email' >> $backup_databases_script
|
echo ' # Send a warning email' >> $backup_databases_script
|
||||||
echo " echo \"Unable to create a backup of the ${database_name} database. Attempted to restore from yesterdays backup\" | mail -s \"${database_name} backup\" \$EMAIL" >> $backup_databases_script
|
echo " echo \"Unable to create a backup of the ${database_name} database. Attempted to restore from yesterdays backup\" | mail -s \"${database_name} backup\" \$EMAIL" >> $backup_databases_script
|
||||||
echo ' else' >> $backup_databases_script
|
echo ' else' >> $backup_databases_script
|
||||||
echo ' # Send a warning email' >> $backup_databases_script
|
echo ' # Send a warning email' >> $backup_databases_script
|
||||||
echo " echo \"Unable to create a backup of the ${database_name} database.\" | mail -s \"${database_name} backup\" \$EMAIL" >> $backup_databases_script
|
echo " echo \"Unable to create a backup of the ${database_name} database.\" | mail -s \"${database_name} backup\" \$EMAIL" >> $backup_databases_script
|
||||||
echo ' fi' >> $backup_databases_script
|
echo ' fi' >> $backup_databases_script
|
||||||
echo 'else' >> $backup_databases_script
|
echo 'else' >> $backup_databases_script
|
||||||
echo ' chmod 600 $TEMPFILE' >> $backup_databases_script
|
echo ' chmod 600 $TEMPFILE' >> $backup_databases_script
|
||||||
echo ' mv $TEMPFILE $DAILYFILE' >> $backup_databases_script
|
echo ' mv $TEMPFILE $DAILYFILE' >> $backup_databases_script
|
||||||
echo '' >> $backup_databases_script
|
echo '' >> $backup_databases_script
|
||||||
echo ' # Make the backup readable only by root' >> $backup_databases_script
|
echo ' # Make the backup readable only by root' >> $backup_databases_script
|
||||||
echo ' chmod 600 $DAILYFILE' >> $backup_databases_script
|
echo ' chmod 600 $DAILYFILE' >> $backup_databases_script
|
||||||
echo 'fi' >> $backup_databases_script
|
echo 'fi' >> $backup_databases_script
|
||||||
|
|
||||||
weekly_backup_script=/etc/cron.weekly/backupdatabasesweekly
|
weekly_backup_script=/etc/cron.weekly/backupdatabasesweekly
|
||||||
|
@ -9622,157 +9622,157 @@ function install_mediagoblin {
|
||||||
sed -i "s/Mediagoblin commit.*/Mediagoblin commit:$MEDIAGOBLIN_COMMIT/g" $COMPLETION_FILE
|
sed -i "s/Mediagoblin commit.*/Mediagoblin commit:$MEDIAGOBLIN_COMMIT/g" $COMPLETION_FILE
|
||||||
fi
|
fi
|
||||||
|
|
||||||
./bootstrap.sh
|
./bootstrap.sh
|
||||||
if [ ! "$?" = "0" ]; then
|
if [ ! "$?" = "0" ]; then
|
||||||
exit 278826
|
exit 278826
|
||||||
fi
|
fi
|
||||||
|
|
||||||
./configure --with-python3 --without-virtualenv
|
./configure --with-python3 --without-virtualenv
|
||||||
if [ ! "$?" = "0" ]; then
|
if [ ! "$?" = "0" ]; then
|
||||||
exit 462826
|
exit 462826
|
||||||
fi
|
fi
|
||||||
|
|
||||||
make
|
make
|
||||||
if [ ! "$?" = "0" ]; then
|
if [ ! "$?" = "0" ]; then
|
||||||
exit 738229
|
exit 738229
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -d $MEDIAGOBLIN_WORKING_DIRECTORY/user_dev ]; then
|
if [ ! -d $MEDIAGOBLIN_WORKING_DIRECTORY/user_dev ]; then
|
||||||
mkdir $MEDIAGOBLIN_WORKING_DIRECTORY/user_dev
|
mkdir $MEDIAGOBLIN_WORKING_DIRECTORY/user_dev
|
||||||
fi
|
fi
|
||||||
chmod 750 $MEDIAGOBLIN_WORKING_DIRECTORY/user_dev
|
chmod 750 $MEDIAGOBLIN_WORKING_DIRECTORY/user_dev
|
||||||
easy_install flup
|
easy_install flup
|
||||||
if [ ! "$?" = "0" ]; then
|
if [ ! "$?" = "0" ]; then
|
||||||
exit 83527
|
exit 83527
|
||||||
fi
|
fi
|
||||||
if [ ! -f $MEDIAGOBLIN_WORKING_DIRECTORY/mediagoblin.ini ]; then
|
if [ ! -f $MEDIAGOBLIN_WORKING_DIRECTORY/mediagoblin.ini ]; then
|
||||||
echo $'mediagoblin.ini not found'
|
echo $'mediagoblin.ini not found'
|
||||||
exit 737529
|
exit 737529
|
||||||
fi
|
fi
|
||||||
if [ ! -f $MEDIAGOBLIN_WORKING_DIRECTORY/paste.ini ]; then
|
if [ ! -f $MEDIAGOBLIN_WORKING_DIRECTORY/paste.ini ]; then
|
||||||
echo $'paste.ini not found'
|
echo $'paste.ini not found'
|
||||||
exit 52762
|
exit 52762
|
||||||
fi
|
fi
|
||||||
|
|
||||||
cp -av mediagoblin.ini mediagoblin_local.ini
|
cp -av mediagoblin.ini mediagoblin_local.ini
|
||||||
cp -av paste.ini paste_local.ini
|
cp -av paste.ini paste_local.ini
|
||||||
|
|
||||||
# TODO configure ini files
|
# TODO configure ini files
|
||||||
|
|
||||||
chown -hR mediagoblin:www-data $MEDIAGOBLIN_WORKING_DIRECTORY
|
chown -hR mediagoblin:www-data $MEDIAGOBLIN_WORKING_DIRECTORY
|
||||||
|
|
||||||
# init with systemd
|
# init with systemd
|
||||||
echo '[Unit]' > /etc/systemd/system/mediagoblin.service
|
echo '[Unit]' > /etc/systemd/system/mediagoblin.service
|
||||||
echo 'Description=Mediagoblin (Media Server)' >> /etc/systemd/system/mediagoblin.service
|
echo 'Description=Mediagoblin (Media Server)' >> /etc/systemd/system/mediagoblin.service
|
||||||
echo 'After=syslog.target' >> /etc/systemd/system/mediagoblin.service
|
echo 'After=syslog.target' >> /etc/systemd/system/mediagoblin.service
|
||||||
echo 'After=network.target' >> /etc/systemd/system/mediagoblin.service
|
echo 'After=network.target' >> /etc/systemd/system/mediagoblin.service
|
||||||
#echo 'After=postgresql.service' >> /etc/systemd/system/mediagoblin.service
|
#echo 'After=postgresql.service' >> /etc/systemd/system/mediagoblin.service
|
||||||
echo '' >> /etc/systemd/system/mediagoblin.service
|
echo '' >> /etc/systemd/system/mediagoblin.service
|
||||||
echo '[Service]' >> /etc/systemd/system/mediagoblin.service
|
echo '[Service]' >> /etc/systemd/system/mediagoblin.service
|
||||||
echo 'Type=simple' >> /etc/systemd/system/mediagoblin.service
|
echo 'Type=simple' >> /etc/systemd/system/mediagoblin.service
|
||||||
echo 'User=mediagoblin' >> /etc/systemd/system/mediagoblin.service
|
echo 'User=mediagoblin' >> /etc/systemd/system/mediagoblin.service
|
||||||
echo 'Group=mediagoblin' >> /etc/systemd/system/mediagoblin.service
|
echo 'Group=mediagoblin' >> /etc/systemd/system/mediagoblin.service
|
||||||
echo "WorkingDirectory=$MEDIAGOBLIN_WORKING_DIRECTORY" >> /etc/systemd/system/mediagoblin.service
|
echo "WorkingDirectory=$MEDIAGOBLIN_WORKING_DIRECTORY" >> /etc/systemd/system/mediagoblin.service
|
||||||
echo "ExecStart=$MEDIAGOBLIN_WORKING_DIRECTORY/lazyserver.sh --server-name=fcgi fcgi_host=127.0.0.1 fcgi_port=26543" >> /etc/systemd/system/mediagoblin.service
|
echo "ExecStart=$MEDIAGOBLIN_WORKING_DIRECTORY/lazyserver.sh --server-name=fcgi fcgi_host=127.0.0.1 fcgi_port=26543" >> /etc/systemd/system/mediagoblin.service
|
||||||
echo 'Restart=always' >> /etc/systemd/system/mediagoblin.service
|
echo 'Restart=always' >> /etc/systemd/system/mediagoblin.service
|
||||||
echo 'Environment="USER=mediagoblin","HOME=/var/lib/mediagoblin"' >> /etc/systemd/system/mediagoblin.service
|
echo 'Environment="USER=mediagoblin","HOME=/var/lib/mediagoblin"' >> /etc/systemd/system/mediagoblin.service
|
||||||
echo '' >> /etc/systemd/system/mediagoblin.service
|
echo '' >> /etc/systemd/system/mediagoblin.service
|
||||||
echo '[Install]' >> /etc/systemd/system/mediagoblin.service
|
echo '[Install]' >> /etc/systemd/system/mediagoblin.service
|
||||||
echo 'WantedBy=multi-user.target' >> /etc/systemd/system/mediagoblin.service
|
echo 'WantedBy=multi-user.target' >> /etc/systemd/system/mediagoblin.service
|
||||||
systemctl daemon-reload
|
systemctl daemon-reload
|
||||||
systemctl enable mediagoblin
|
systemctl enable mediagoblin
|
||||||
systemctl start mediagoblin
|
systemctl start mediagoblin
|
||||||
|
|
||||||
MEDIAGOBLIN_ONION_HOSTNAME=$(add_onion_service mediagoblin 80 ${MEDIAGOBLIN_ONION_PORT})
|
MEDIAGOBLIN_ONION_HOSTNAME=$(add_onion_service mediagoblin 80 ${MEDIAGOBLIN_ONION_PORT})
|
||||||
if ! grep -q "Mediagoblin onion domain" $COMPLETION_FILE; then
|
if ! grep -q "Mediagoblin onion domain" $COMPLETION_FILE; then
|
||||||
echo "Mediagoblin onion domain:${MEDIAGOBLIN_ONION_HOSTNAME}" >> $COMPLETION_FILE
|
echo "Mediagoblin onion domain:${MEDIAGOBLIN_ONION_HOSTNAME}" >> $COMPLETION_FILE
|
||||||
else
|
else
|
||||||
sed -i "s|Mediagoblin onion domain.*|Mediagoblin onion domain:${MEDIAGOBLIN_ONION_HOSTNAME}|g" $COMPLETION_FILE
|
sed -i "s|Mediagoblin onion domain.*|Mediagoblin onion domain:${MEDIAGOBLIN_ONION_HOSTNAME}|g" $COMPLETION_FILE
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# web config
|
# web config
|
||||||
MEDIAGOBLIN_VIRTUAL_HOST=/etc/nginx/sites-available/$MEDIAGOBLIN_DOMAIN_NAME
|
MEDIAGOBLIN_VIRTUAL_HOST=/etc/nginx/sites-available/$MEDIAGOBLIN_DOMAIN_NAME
|
||||||
nginx_http_redirect $MEDIAGOBLIN_DOMAIN_NAME
|
nginx_http_redirect $MEDIAGOBLIN_DOMAIN_NAME
|
||||||
echo 'server {' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo 'server {' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo ' listen 443 ssl;' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo ' listen 443 ssl;' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo ' #################################################' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo ' #################################################' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo ' # Stock useful config options, but ignore them :)' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo ' # Stock useful config options, but ignore them :)' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo ' #################################################' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo ' #################################################' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo ' include /etc/nginx/mime.types;' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo ' include /etc/nginx/mime.types;' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo ' autoindex off;' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo ' autoindex off;' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo ' default_type application/octet-stream;' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo ' default_type application/octet-stream;' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo ' sendfile on;' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo ' sendfile on;' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
nginx_limits $MEDIAGOBLIN_DOMAIN_NAME '20m'
|
nginx_limits $MEDIAGOBLIN_DOMAIN_NAME '20m'
|
||||||
nginx_ssl $MEDIAGOBLIN_DOMAIN_NAME
|
nginx_ssl $MEDIAGOBLIN_DOMAIN_NAME
|
||||||
nginx_disable_sniffing $MEDIAGOBLIN_DOMAIN_NAME
|
nginx_disable_sniffing $MEDIAGOBLIN_DOMAIN_NAME
|
||||||
echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo ' # Gzip' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo ' # Gzip' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo ' gzip on;' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo ' gzip on;' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo ' gzip_min_length 1024;' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo ' gzip_min_length 1024;' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo ' gzip_buffers 4 32k;' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo ' gzip_buffers 4 32k;' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo ' gzip_types text/plain application/x-javascript text/javascript text/xml text/css;' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo ' gzip_types text/plain application/x-javascript text/javascript text/xml text/css;' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo ' #####################################' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo ' #####################################' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo ' # Mounting MediaGoblin stuff' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo ' # Mounting MediaGoblin stuff' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo ' # This is the section you should read' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo ' # This is the section you should read' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo ' #####################################' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo ' #####################################' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo " server_name $MEDIAGOBLIN_DOMAIN_NAME;" >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo " server_name $MEDIAGOBLIN_DOMAIN_NAME;" >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo ' access_log /var/log/nginx/mediagoblin.log;' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo ' access_log /var/log/nginx/mediagoblin.log;' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo ' error_log /var/log/nginx/mediagoblin.error.log;' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo ' error_log /var/log/nginx/mediagoblin.error.log;' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo ' # MediaGoblins stock static files: CSS, JS, etc.' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo ' # MediaGoblins stock static files: CSS, JS, etc.' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo ' location /mgoblin_static/ {' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo ' location /mgoblin_static/ {' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo " alias $MEDIAGOBLIN_WORKING_DIRECTORY/mediagoblin/static/;" >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo " alias $MEDIAGOBLIN_WORKING_DIRECTORY/mediagoblin/static/;" >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo ' }' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo ' }' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo ' # Instance specific media:' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo ' # Instance specific media:' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo ' location /mgoblin_media/ {' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo ' location /mgoblin_media/ {' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo " alias $MEDIAGOBLIN_WORKING_DIRECTORY/user_dev/media/public/;" >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo " alias $MEDIAGOBLIN_WORKING_DIRECTORY/user_dev/media/public/;" >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo ' }' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo ' }' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo ' # Theme static files (usually symlinked in)' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo ' # Theme static files (usually symlinked in)' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo ' location /theme_static/ {' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo ' location /theme_static/ {' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo " alias $MEDIAGOBLIN_WORKING_DIRECTORY/user_dev/theme_static/;" >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo " alias $MEDIAGOBLIN_WORKING_DIRECTORY/user_dev/theme_static/;" >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo ' }' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo ' }' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo ' # Plugin static files (usually symlinked in)' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo ' # Plugin static files (usually symlinked in)' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo ' location /plugin_static/ {' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo ' location /plugin_static/ {' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo " alias $MEDIAGOBLIN_WORKING_DIRECTORY/user_dev/plugin_static/;" >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo " alias $MEDIAGOBLIN_WORKING_DIRECTORY/user_dev/plugin_static/;" >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo ' }' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo ' }' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo ' # Mounting MediaGoblin itself via FastCGI.' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo ' # Mounting MediaGoblin itself via FastCGI.' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo ' location / {' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo ' location / {' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo ' fastcgi_pass 127.0.0.1:26543;' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo ' fastcgi_pass 127.0.0.1:26543;' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo ' include /etc/nginx/fastcgi_params;' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo ' include /etc/nginx/fastcgi_params;' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo '' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo ' # our understanding vs nginxs handling of script_name vs' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo ' # our understanding vs nginxs handling of script_name vs' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo ' # path_info dont match :)' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo ' # path_info dont match :)' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo ' fastcgi_param PATH_INFO $fastcgi_script_name;' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo ' fastcgi_param PATH_INFO $fastcgi_script_name;' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo ' fastcgi_param SCRIPT_NAME "";' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo ' fastcgi_param SCRIPT_NAME "";' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo ' }' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo ' }' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
echo '}' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
echo '}' >> $MEDIAGOBLIN_VIRTUAL_HOST
|
||||||
|
|
||||||
if [ ! -f /etc/ssl/certs/$MEDIAGOBLIN_DOMAIN_NAME.dhparam ]; then
|
if [ ! -f /etc/ssl/certs/$MEDIAGOBLIN_DOMAIN_NAME.dhparam ]; then
|
||||||
if [[ $LETSENCRYPT_ENABLED != "yes" ]]; then
|
if [[ $LETSENCRYPT_ENABLED != "yes" ]]; then
|
||||||
${PROJECT_NAME}-addcert -h $MEDIAGOBLIN_DOMAIN_NAME --dhkey $DH_KEYLENGTH
|
${PROJECT_NAME}-addcert -h $MEDIAGOBLIN_DOMAIN_NAME --dhkey $DH_KEYLENGTH
|
||||||
else
|
else
|
||||||
${PROJECT_NAME}-addcert -e $MEDIAGOBLIN_DOMAIN_NAME -s $LETSENCRYPT_SERVER --dhkey $DH_KEYLENGTH --email $MY_EMAIL_ADDRESS
|
${PROJECT_NAME}-addcert -e $MEDIAGOBLIN_DOMAIN_NAME -s $LETSENCRYPT_SERVER --dhkey $DH_KEYLENGTH --email $MY_EMAIL_ADDRESS
|
||||||
fi
|
fi
|
||||||
check_certificates $MEDIAGOBLIN_DOMAIN_NAME
|
check_certificates $MEDIAGOBLIN_DOMAIN_NAME
|
||||||
fi
|
fi
|
||||||
|
|
||||||
nginx_ensite $MEDIAGOBLIN_DOMAIN_NAME
|
nginx_ensite $MEDIAGOBLIN_DOMAIN_NAME
|
||||||
systemctl restart php5-fpm
|
systemctl restart php5-fpm
|
||||||
systemctl restart nginx
|
systemctl restart nginx
|
||||||
|
|
||||||
# update the dynamic DNS
|
# update the dynamic DNS
|
||||||
CURRENT_DDNS_DOMAIN=$MEDIAGOBLIN_DOMAIN_NAME
|
CURRENT_DDNS_DOMAIN=$MEDIAGOBLIN_DOMAIN_NAME
|
||||||
add_ddns_domain
|
add_ddns_domain
|
||||||
|
|
||||||
echo 'install_mediagoblin' >> $COMPLETION_FILE
|
echo 'install_mediagoblin' >> $COMPLETION_FILE
|
||||||
}
|
}
|
||||||
|
|
||||||
function create_upgrade_script {
|
function create_upgrade_script {
|
||||||
|
@ -10759,7 +10759,7 @@ install_hubzilla
|
||||||
#install_search_engine
|
#install_search_engine
|
||||||
install_dlna_server
|
install_dlna_server
|
||||||
configure_firewall_for_dlna
|
configure_firewall_for_dlna
|
||||||
#install_mediagoblin
|
install_mediagoblin
|
||||||
#install_ipfs
|
#install_ipfs
|
||||||
repair_databases_script
|
repair_databases_script
|
||||||
backup_to_friends_servers
|
backup_to_friends_servers
|
||||||
|
|
|
@ -91,6 +91,8 @@ FULLBLOG_DOMAIN_NAME=
|
||||||
FULLBLOG_CODE=
|
FULLBLOG_CODE=
|
||||||
OWNCLOUD_DOMAIN_NAME=
|
OWNCLOUD_DOMAIN_NAME=
|
||||||
OWNCLOUD_CODE=
|
OWNCLOUD_CODE=
|
||||||
|
MEDIAGOBLIN_DOMAIN_NAME=
|
||||||
|
MEDIAGOBLIN_CODE=
|
||||||
HUBZILLA_DOMAIN_NAME=
|
HUBZILLA_DOMAIN_NAME=
|
||||||
HUBZILLA_CODE=
|
HUBZILLA_CODE=
|
||||||
MICROBLOG_DOMAIN_NAME=
|
MICROBLOG_DOMAIN_NAME=
|
||||||
|
@ -561,10 +563,10 @@ function set_main_repo {
|
||||||
dialog --backtitle $"Freedombone Control Panel" \
|
dialog --backtitle $"Freedombone Control Panel" \
|
||||||
--title $"Main Repository (Mirrors)" \
|
--title $"Main Repository (Mirrors)" \
|
||||||
--form $"If you don't know what this means then just select Ok.\n\nIf you don't wish to use the default repositories they can be obtained from mirrored repos on another ${PROJECT_NAME} system.\n\nThe repositories are for applications which are not yet packaged for Debian." 18 65 4 \
|
--form $"If you don't know what this means then just select Ok.\n\nIf you don't wish to use the default repositories they can be obtained from mirrored repos on another ${PROJECT_NAME} system.\n\nThe repositories are for applications which are not yet packaged for Debian." 18 65 4 \
|
||||||
$"URL:" 1 1 "$FRIENDS_MIRRORS_SERVER" 1 18 40 18 \
|
$"URL:" 1 1 "$FRIENDS_MIRRORS_SERVER" 1 18 40 18 \
|
||||||
$"SSH Port:" 2 1 "$FRIENDS_MIRRORS_SSH_PORT" 2 18 10 10000 \
|
$"SSH Port:" 2 1 "$FRIENDS_MIRRORS_SSH_PORT" 2 18 10 10000 \
|
||||||
$"Password:" 3 1 "$FRIENDS_MIRRORS_PASSWORD" 3 18 40 10000 \
|
$"Password:" 3 1 "$FRIENDS_MIRRORS_PASSWORD" 3 18 40 10000 \
|
||||||
2> $data
|
2> $data
|
||||||
sel=$?
|
sel=$?
|
||||||
case $sel in
|
case $sel in
|
||||||
1) return;;
|
1) return;;
|
||||||
|
@ -1659,6 +1661,63 @@ function interactive_configuration {
|
||||||
save_configuration_file
|
save_configuration_file
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [[ $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_FULL" ]]; then
|
||||||
|
if [[ $ONION_ONLY != "no" ]]; then
|
||||||
|
MEDIAGOBLIN_DOMAIN_NAME='media.local'
|
||||||
|
else
|
||||||
|
MEDIAGOBLIN_DETAILS_COMPLETE=
|
||||||
|
while [ ! $MEDIAGOBLIN_DETAILS_COMPLETE ]
|
||||||
|
do
|
||||||
|
data=$(tempfile 2>/dev/null)
|
||||||
|
trap "rm -f $data" 0 1 2 5 15
|
||||||
|
if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
|
||||||
|
dialog --backtitle $"Freedombone Configuration" \
|
||||||
|
--title $"Mediagoblin Configuration" \
|
||||||
|
--form $"\nPlease enter your Mediagoblin details, or just select Ok if you don't need a Mediagoblin site:" 11 55 2 \
|
||||||
|
$"Domain:" 1 1 "$(grep 'MEDIAGOBLIN_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 1 16 33 40 \
|
||||||
|
$"Code:" 2 1 "$(grep 'MEDIAGOBLIN_CODE' temp.cfg | awk -F '=' '{print $2}')" 2 16 33 255 \
|
||||||
|
2> $data
|
||||||
|
else
|
||||||
|
dialog --backtitle $"Freedombone Configuration" \
|
||||||
|
--title $"Mediagoblin Configuration" \
|
||||||
|
--form $"\nPlease enter your Mediagoblin details, or just select Ok if you don't need a Mediagoblin site:" 11 55 2 \
|
||||||
|
$"Domain:" 1 1 "$(grep 'MEDIAGOBLIN_DOMAIN_NAME' temp.cfg | awk -F '=' '{print $2}')" 1 16 33 40 \
|
||||||
|
2> $data
|
||||||
|
fi
|
||||||
|
sel=$?
|
||||||
|
case $sel in
|
||||||
|
1) exit 1;;
|
||||||
|
255) exit 1;;
|
||||||
|
esac
|
||||||
|
MEDIAGOBLIN_DOMAIN_NAME=$(cat $data | sed -n 1p)
|
||||||
|
if [ $MEDIAGOBLIN_DOMAIN_NAME ]; then
|
||||||
|
TEST_DOMAIN_NAME=$MEDIAGOBLIN_DOMAIN_NAME
|
||||||
|
validate_domain_name
|
||||||
|
if [[ $TEST_DOMAIN_NAME != $MEDIAGOBLIN_DOMAIN_NAME ]]; then
|
||||||
|
MEDIAGOBLIN_DOMAIN_NAME='invalid'
|
||||||
|
dialog --title $"Domain name validation" --msgbox "$TEST_DOMAIN_NAME" 15 50
|
||||||
|
else
|
||||||
|
if [[ $DDNS_PROVIDER == "default@freedns.afraid.org" ]]; then
|
||||||
|
MEDIAGOBLIN_CODE=$(cat $data | sed -n 2p)
|
||||||
|
validate_freedns_code "$MEDIAGOBLIN_CODE"
|
||||||
|
if [ ! $VALID_CODE ]; then
|
||||||
|
MEDIAGOBLIN_DOMAIN_NAME='invalid'
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if [ $MEDIAGOBLIN_DOMAIN_NAME ]; then
|
||||||
|
if [[ $MEDIAGOBLIN_DOMAIN_NAME == 'invalid' ]]; then
|
||||||
|
MEDIAGOBLIN_DOMAIN_NAME=
|
||||||
|
else
|
||||||
|
MEDIAGOBLIN_DETAILS_COMPLETE="yes"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
save_configuration_file
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_FULL" ]]; then
|
if [[ $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_FULL" ]]; then
|
||||||
if [[ $ONION_ONLY != "no" ]]; then
|
if [[ $ONION_ONLY != "no" ]]; then
|
||||||
HUBZILLA_DOMAIN_NAME='hubzilla.local'
|
HUBZILLA_DOMAIN_NAME='hubzilla.local'
|
||||||
|
@ -1884,38 +1943,38 @@ function interactive_configuration {
|
||||||
dialog --title $"Domain name validation" --msgbox "$TEST_DOMAIN_NAME" 15 50
|
dialog --title $"Domain name validation" --msgbox "$TEST_DOMAIN_NAME" 15 50
|
||||||
else
|
else
|
||||||
DEFAULT_DOMAIN_DETAILS_COMPLETE="yes"
|
DEFAULT_DOMAIN_DETAILS_COMPLETE="yes"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
save_configuration_file
|
save_configuration_file
|
||||||
|
|
||||||
if [[ $ONION_ONLY != "no" ]]; then
|
if [[ $ONION_ONLY != "no" ]]; then
|
||||||
EMAIL_ADDRESS=$MY_USERNAME@$DEFAULT_DOMAIN_NAME
|
EMAIL_ADDRESS=$MY_USERNAME@$DEFAULT_DOMAIN_NAME
|
||||||
else
|
else
|
||||||
while [ ${#MY_EMAIL_ADDRESS} -lt 5 ]
|
while [ ${#MY_EMAIL_ADDRESS} -lt 5 ]
|
||||||
do
|
do
|
||||||
EMAIL_ADDRESS=$(grep 'MY_EMAIL_ADDRESS' temp.cfg | awk -F '=' '{print $2}')
|
EMAIL_ADDRESS=$(grep 'MY_EMAIL_ADDRESS' temp.cfg | awk -F '=' '{print $2}')
|
||||||
if [ ! $EMAIL_ADDRESS ]; then
|
if [ ! $EMAIL_ADDRESS ]; then
|
||||||
EMAIL_ADDRESS=$MY_USERNAME@$DEFAULT_DOMAIN_NAME
|
EMAIL_ADDRESS=$MY_USERNAME@$DEFAULT_DOMAIN_NAME
|
||||||
fi
|
fi
|
||||||
if [ ${#MY_EMAIL_ADDRESS} -lt 5 ]; then
|
if [ ${#MY_EMAIL_ADDRESS} -lt 5 ]; then
|
||||||
EMAIL_ADDRESS=$MY_USERNAME@$DEFAULT_DOMAIN_NAME
|
EMAIL_ADDRESS=$MY_USERNAME@$DEFAULT_DOMAIN_NAME
|
||||||
fi
|
fi
|
||||||
|
|
||||||
data=$(tempfile 2>/dev/null)
|
data=$(tempfile 2>/dev/null)
|
||||||
trap "rm -f $data" 0 1 2 5 15
|
trap "rm -f $data" 0 1 2 5 15
|
||||||
dialog --backtitle $"Freedombone Configuration" \
|
dialog --backtitle $"Freedombone Configuration" \
|
||||||
--inputbox $"Your email address" 10 30 "$EMAIL_ADDRESS" 2> $data
|
--inputbox $"Your email address" 10 30 "$EMAIL_ADDRESS" 2> $data
|
||||||
sel=$?
|
sel=$?
|
||||||
case $sel in
|
case $sel in
|
||||||
0) MY_EMAIL_ADDRESS=$(cat $data);;
|
0) MY_EMAIL_ADDRESS=$(cat $data);;
|
||||||
1) exit 1;;
|
1) exit 1;;
|
||||||
255) exit 1;;
|
255) exit 1;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
save_configuration_file
|
save_configuration_file
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# delete the temporary configuration file
|
# delete the temporary configuration file
|
||||||
|
@ -2049,6 +2108,12 @@ function read_configuration {
|
||||||
if grep -q "OWNCLOUD_CODE" $CONFIGURATION_FILE; then
|
if grep -q "OWNCLOUD_CODE" $CONFIGURATION_FILE; then
|
||||||
OWNCLOUD_CODE=$(grep "OWNCLOUD_CODE" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
|
OWNCLOUD_CODE=$(grep "OWNCLOUD_CODE" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
|
||||||
fi
|
fi
|
||||||
|
if grep -q "MEDIAGOBLIN_DOMAIN_NAME" $CONFIGURATION_FILE; then
|
||||||
|
MEDIAGOBLIN_DOMAIN_NAME=$(grep "MEDIAGOBLIN_DOMAIN_NAME" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
|
||||||
|
fi
|
||||||
|
if grep -q "MEDIAGOBLIN_CODE" $CONFIGURATION_FILE; then
|
||||||
|
MEDIAGOBLIN_CODE=$(grep "MEDIAGOBLIN_CODE" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
|
||||||
|
fi
|
||||||
if grep -q "WIKI_DOMAIN_NAME" $CONFIGURATION_FILE; then
|
if grep -q "WIKI_DOMAIN_NAME" $CONFIGURATION_FILE; then
|
||||||
WIKI_DOMAIN_NAME=$(grep "WIKI_DOMAIN_NAME" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
|
WIKI_DOMAIN_NAME=$(grep "WIKI_DOMAIN_NAME" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in New Issue