summaryrefslogtreecommitdiff
path: root/dis/Setup/setup.sh
blob: 4b6cbd8981c1a0344ee962ff0f201167ff84c5da (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#!/bin/bash

MYSQL_ROOT_PASSWORD="Password123!"
JOOMLADB_PASSWORD="Password123!"
WEBSITE="tim-leibacher.ch"
NAME="tim-leibacher"
#exec 2> error 1> mylog



sudo apt update && sudo apt upgrade -y

echo "Installing apache2"

sudo apt install apache2 -y
sudo systemctl start apache2
sudo systemctl enable apache2


echo "installing php"

sudo apt install php libapache2-mod-php php-dev php-bcmath php-intl php-soap php-zip php-curl php-mbstring php-mysql php-gd php-xml -y

#Recommended settings from Joomla
sudo sed -i "s/memory_limit = .*/memory_limit = 512M/" /etc/php/7.2/fpm/php.ini
sudo sed -i "s/upload_max_filesize = .*/upload_max_filesize = 128M/" /etc/php/7.2/fpm/php.ini
sudo sed -i "s/post_max_size = .*/post_max_size = 128M/" /etc/php/7.2/fpm/php.ini
sudo sed -i "s/max_execution_time = .*/max_execution_time = 3000/" /etc/php/7.2/fpm/php.ini

echo "installing mariadb"

sudo apt install mariadb-server -y
systemctl start mariadb
systemctl enable mariadb


create_DB="CREATE DATABASE IF NOT EXISTS joomla;"
create_USER="CREATE USER IF NOT EXISTS 'joomla_user'@'localhost' IDENTIFIED BY '$JOOMLADB_PASSWORD';"
privilege="GRANT ALL ON joomla.* TO 'joomla_user'@'localhost';"
flushDB="FLUSH PRIVILEGES;"

sudo mysql -e "$create_DB"
sudo mysql -e "$create_USER"
sudo mysql -e "$privilege"
sudo mysql -e "$flushDB"


echo "download Joomla"
cd /var/tmp

sudo wget -N https://downloads.joomla.org/cms/joomla4/4-2-0/Joomla_4-2-0-Stable-Full_Package.tar.gz
sudo mkdir -p /var/www/html/$WEBSITE
sudo tar -vxf Joomla_4-2-0-Stable-Full_Package.tar.gz -C /var/www/html/$WEBSITE

sudo chown -R www-data:www-data /var/www/html/$WEBSITE/



echo "<VirtualHost *:80>

ServerAdmin webmaster@$WEBSITE

ServerName $WEBSITE
ServerAlias www.$WEBSITE
DocumentRoot /var/www/html/$WEBSITE

<Directory /var/www/html/$WEBSITE/>
        Options FollowSymlinks
        AllowOverride All
        Require all granted
</Directory>

ErrorLog ${APACHE_LOG_DIR}/${WEBSITE}_error.log
CustomLog ${APACHE_LOG_DIR}/${WEBSITE}_access.log combined

</VirtualHost>" > /etc/apache2/sites-available/$NAME.conf

echo "Listen 80

<IfModule ssl_module>
      Listen 443
</IfModule ssl_module>

<IfModule mod_gnutls.c>
        Listen 443
</IfModule mod_gnutls.c>
" > /etc/apache2/ports.conf


sudo a2ensite $NAME.conf
sudo systemctl restart apache2