Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Install script for Wuhu (tested on Debian)
#!/bin/bash
# install script for http://wuhu.function.hu/
if [ "$EUID" -ne 0 ]
then
echo "[wuhu] ERROR: This script needs to install a bunch of things, so please run as root"
exit
fi
echo "[wuhu] Installing packages..."
apt-get install \
apache2 \
php7.3 \
php7.3-gd \
php7.3-mysql \
php7.3-curl \
php7.3-mbstring \
mariadb-server \
libapache2-mod-php7.3 \
mc \
git \
ssh \
sudo
# -------------------------------------------------
# set up the files / WWW dir
rm -rf /var/www/*
chmod -R g+rw /var/www
chown -R www-data:www-data /var/www
echo "[wuhu] Fetching the latest version of Wuhu..."
git clone https://github.com/Gargaj/wuhu.git /var/www/
mkdir /var/www/entries_private
mkdir /var/www/entries_public
mkdir /var/www/screenshots
chmod -R g+rw /var/www/*
chown -R www-data:www-data /var/www/*
# -------------------------------------------------
# set up PHP
echo "[wuhu] Setting up PHP..."
for i in /etc/php/7.0/*/php.ini
do
sed -i -e 's/^upload_max_filesize.*$/upload_max_filesize = 128M/' $i
sed -i -e 's/^post_max_size.*$/post_max_size = 256M/' $i
sed -i -e 's/^memory_limit.*$/memory_limit = 512M/' $i
sed -i -e 's/^session.gc_maxlifetime.*$/session.gc_maxlifetime = 604800/' $i
sed -i -e 's/^short_open_tag.*$/short_open_tag = On/' $i
done
# -------------------------------------------------
# set up Apache
echo "[wuhu] Setting up Apache..."
rm /etc/apache2/sites-enabled/*
echo -e \
"<VirtualHost *:80>\n" \
"\tDocumentRoot /var/www/www_party\n" \
"\t<Directory />\n" \
"\t\tOptions FollowSymLinks\n" \
"\t\tAllowOverride All\n" \
"\t</Directory>\n" \
"\tErrorLog \${APACHE_LOG_DIR}/party_error.log\n" \
"\tCustomLog \${APACHE_LOG_DIR}/party_access.log combined\n" \
"\t</VirtualHost>\n" \
"\n" \
"<VirtualHost *:80>\n" \
"\tDocumentRoot /var/www/www_admin\n" \
"\tServerName admin.lan\n" \
"\t<Directory />\n" \
"\t\tOptions FollowSymLinks\n" \
"\t\tAllowOverride All\n" \
"\t</Directory>\n" \
"\tErrorLog \${APACHE_LOG_DIR}/admin_error.log\n" \
"\tCustomLog \${APACHE_LOG_DIR}/admin_access.log combined\n" \
"</VirtualHost>\n" \
> /etc/apache2/sites-available/wuhu.conf
a2ensite wuhu
echo "[wuhu] Restarting Apache..."
service apache2 restart
# -------------------------------------------------
# TODO? set up nameserver / dhcp?
# -------------------------------------------------
# set up MySQL
service mysql restart
echo "[wuhu] Setting up MySQL (MariaDB)..."
echo -e "Enter a MySQL password for the Wuhu user: \c"
read -s WUHU_MYSQL_PASS
echo "Now connecting to MySQL..."
echo -e \
"CREATE DATABASE wuhu;\n" \
"GRANT ALL PRIVILEGES ON wuhu.* TO 'wuhu'@'%' IDENTIFIED BY '$WUHU_MYSQL_PASS';\n" \
| mysql -u root -p
# -------------------------------------------------
# We're done, wahey!
printf "\n\n\n*** CONGRATULATIONS, Wuhu is now ready to configure at http://admin.lan\n"
@Servuc

This comment has been minimized.

Copy link

Servuc commented Oct 30, 2019

Hey,

Nice job, but for Debian 10 Buster,

Just move php7.0 to php7.3 (everywhere),
Change package php7.0-mysqlnd to php7.3-mysql.

And before setup MariaDB, (line 97), start server service mysql start

Have a good day

@Gargaj

This comment has been minimized.

Copy link
Owner Author

Gargaj commented Oct 30, 2019

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.