Incorporated changes for release 1.3.0

This commit is contained in:
2026-02-24 19:59:54 -05:00
parent 3667c4358f
commit 6e5c6e03e3
38 changed files with 610 additions and 179 deletions

View File

@@ -11,6 +11,13 @@ docroot_path="/var/www"
apache_user="www-data"
apache_group="www-data"
current_user=`whoami`
if [ "$current_user" != "root" ]
then
echo "You must have root privileges to run this setup."
echo "Try 'sudo ./server-setup.sh'"
exit 1
fi
echo ""
echo ""
echo ""
@@ -20,7 +27,7 @@ echo ""
echo ""
echo "You should have already run the terminal-setup.sh script in this directory."
echo ""
if [ ! -e "/etc/drs.conf" ]
if [ ! -e /etc/drs.conf ]
then
echo "It looks like the terminal-setup.sh script has not been run yet."
echo "This is required before running the server-setup.sh script."
@@ -50,23 +57,39 @@ echo ""
echo "IMPORTANT!: Be sure to make note of usernames and passwords you provide below."
echo "You will need them later."
echo ""
echo "Installing required server packages. Select apache2 as the web server to configure"
echo "automatically. Choose Yes when prompted to install phpmyadmin database and allow it to"
echo "generate a random password(leave the field blank)."
echo "Installing required server packages. You will be prompted about a couple of things:"
echo ""
echo "- Select apache2 as the web server to configure automatically."
echo ""
echo "- Choose Yes when prompted to install phpmyadmin database and allow it to"
echo " generate a random password(leave the field blank)."
echo ""
echo -n "Press enter to continue."
read continueok
echo ""
echo ""
echo ""
echo ""
apt install -y apache2 php php-mcrypt mariadb-server phpmyadmin uuid-runtime
apt install -y apache2 php mariadb-server phpmyadmin uuid-runtime
cp etc/apache2/mods-available/alias.conf /etc/apache2/mods-available
service apache2 restart
echo "...done."
echo ""
echo ""
echo "Configuring the mysql installation. Accept the defaults at the following prompts."
echo "Remember the password you set here. You'll need it during the OpenDRS install."
echo "Configuring the MariaDB installation. There will be some more prompts:"
echo ""
echo "- You'll be prompted for the current password for the root user. You've"
echo " just installed MariaDB and you haven't set one yet, so just press enter."
echo ""
echo "- You'll be prompted to switch to unix_socket authentication. Answer Y."
echo ""
echo "- You'll be prompted to change the root password. Answer Y and enter a password."
echo " Note that this is just the password for the MariaDB root user, not the terminal."
echo " DO NOT FORGET THIS PASSWORD. You'll need it later during OpenDRS install."
echo ""
echo "- Answer Y to remove anonymous users, disallow root login remotely, remove"
echo " test database and access, and reload privilege tables."
echo ""
echo -n "Press enter to proceed."
read continueok
echo ""
@@ -74,7 +97,6 @@ echo ""
echo ""
echo ""
mysql_secure_installation
mysql mysql -e "update user set plugin='';flush privileges;"
echo ""
echo ""
@@ -85,9 +107,13 @@ bad_mysql_adm=1
while [ $bad_mysql_adm -eq 1 ]
do
admintestdb="drsadm`date +%Y%m%d`"
echo "Starting OpenDRS installation."
echo ""
echo "We need to know the username and password of a MySQL administrator"
echo "to be able to create the database and user for OpenDRS. Note that this"
echo "is not necessarily the same as the login and password for the computer."
echo "to be able to create the database and user for OpenDRS. The username"
echo "will be root and the password will be the one you were urged to remember"
echo "a minute ago."
echo ""
echo -n "MySQL admin username: "
read mysql_adm_user
echo ""
@@ -100,7 +126,7 @@ do
bad_mysql_adm=0
else
echo "ERROR: Either the username/password you supplied were incorrect or the user"
echo -n "is not a MySQL administrator. Try again? [Y/N]: "
echo -n "is not a MySQL administrator. Try again? [y/N]: "
read admtry
if [ "$admtry" != "Y" -o "$admtry" != "y" ]
then
@@ -208,6 +234,10 @@ fi
echo "Installing distribution . . ."
cp -Rv ../distfiles/* $install_path
ln -s $install_path/writeups.php $install_path/index.php
if [ ! -L "$install_path/jquery-ui" ]
then
ln -s $install_path/jquery-ui* $install_path/jquery-ui
fi
echo ""
echo ""
echo ""
@@ -222,13 +252,15 @@ echo "Enter the user and group separated by a colon (username:groupname)."
echo "Enter the user:group of the OpenDRS installation"
echo -n "directory [$apache_user:$apache_group] :"
read httpd_user_group_in
if [ "$http_user_group_in" != "" ]
if [ "$httpd_user_group_in" != "" ]
then
http_user_group=$http_user_group_in
httpd_user_group="$httpd_user_group_in"
else
httpd_user_group="$apache_user:$apache_group"
fi
echo ""
echo "Setting file ownership . . ."
chown -R $httpd_user_group $install_path
chown -R $httpd_user_group $install_path
echo ""
@@ -246,7 +278,27 @@ echo "<Directory $install_path>" >> /etc/apache2/conf-available/$inst_name.conf
echo " Options FollowSymLinks" >> /etc/apache2/conf-available/$inst_name.conf
echo " DirectoryIndex index.php" >> /etc/apache2/conf-available/$inst_name.conf
echo "</Directory>" >> /etc/apache2/conf-available/$inst_name.conf
grep -q "<title>Apache2 Debian Default Page: It works</title>" /var/www/html/index.html
if [ -$? -eq 0 ]
then
echo "This apache installation appears to be new or unconfigured. Replacing the default"
echo "site index page with a more useful one."
site_hostname=`hostname`
mv /var/www/html/index.html /var/www/html/defaultindex.html
echo "<!doctype html>
<html lang=en>
<head>
<meta charset=utf-8>
<title>$site_hostname</title>
</head>
<body>
<p>
<a href=\"http://$site_hostname/$inst_name/\">$inst_name</a>
</p>
</body>
</html>" > /var/www/html/index.html
fi
a2enconf $inst_name
service apache2 reload
echo "OpenDRS server setup is complete."
@@ -265,4 +317,4 @@ echo "REMEMBER THESE CREDENTIALS. Otherwise, you will not be able to log in and"
echo "configure your new installation."
echo "It is highly recommended that you change the initial password to something"
echo "secure after logging in for the first time."
echo "DRS_SERVER=\"http://localhost/$inst_name\"" > /etc/drs.conf
sed -i 's,'DRS_SERVER=.*','DRS_SERVER="\"http://localhost/$inst_name/\""',' /etc/drs.conf