blob: 191e4ffd4003b9a295764bf69ded36d953e82b75 (
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
92
|
#!/bin/bash
# This file is in the public domain.
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
|