-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathprovision.sh
57 lines (43 loc) · 1.28 KB
/
provision.sh
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
#!/bin/bash
#Set the host name
SRV_NAME="magento-dev.local"
#Set the php version.
PHP_VERSION="8.1"
#Set Web root relative to /var/www
WEB_ROOT="magento"
#Optionally add certificate files
SSL_CERT="cert.pem"
SSL_CERT_KEY="cert-key.pem"
CONF_FILE="/var/www/nginx.conf"
if [[ -f $CONF_FILE ]];then
sudo cp $CONF_FILE /etc/nginx/sites-available/
fi
cat <<EOF | sudo tee /etc/nginx/sites-available/magento
upstream fastcgi_backend {
server unix:/var/run/php/php${PHP_VERSION}-fpm.sock;
}
server {
listen 80;
server_name ${SRV_NAME};
set \$MAGE_ROOT /var/www/${WEB_ROOT};
include /etc/nginx/sites-available/nginx.conf;
}
EOF
CERT="/var/www/${SSL_CERT}"
CERT_KEY="/var/www/${SSL_CERT_KEY}"
if [[ -f $CERT ]] && [[ -f $CERT_KEY ]];then
sudo cp $CERT /etc/nginx/sites-available/$SSL_CERT
sudo cp $CERT_KEY /etc/nginx/sites-available/$SSL_CERT_KEY
cat <<EOF | sudo tee -a /etc/nginx/sites-available/magento
server {
listen 443;
ssl on;
ssl_certificate /etc/nginx/sites-available/$SSL_CERT;
ssl_certificate_key /etc/nginx/sites-available/$SSL_CERT_KEY;
server_name ${SRV_NAME};
set \$MAGE_ROOT /var/www/${WEB_ROOT};
include /etc/nginx/sites-available/nginx.conf;
}
EOF
fi
sudo service nginx restart