forked from littlebizzy/slickstack
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathss-install-redis-config.txt
121 lines (90 loc) · 6.75 KB
/
ss-install-redis-config.txt
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
#!/bin/bash
####################################################################################################
#### author: SlickStack ############################################################################
#### link: https://slickstack.io ###################################################################
#### mirror: https://mirrors.slickstack.io/bash/ss-install-redis-config.txt ########################
#### path: /var/www/ss-install-redis-config ########################################################
#### destination: n/a (not a boilerplate) ##########################################################
#### purpose: Reinstalls the Redis module config files based on ss-config (idempotent) #############
#### module version: Redis 5.0.x ###################################################################
#### sourced by: ss-install, ss install redis ######################################################
#### bash aliases: ss install redis config #########################################################
####################################################################################################
## SS-CONFIG MUST BE PROPERLY CONFIGURED AND ON CURRENT BUILD BEFORE RUNNING SS-INSTALL ##
## ENSURE YOUR SS-CONFIG BUILD REMAINS CURRENT BY RUNNING SS-UPDATE OCCASIONALLY ##
## source ss-config ##
source /var/www/ss-config
## source ss-functions ##
source /var/www/ss-functions
## BELOW THIS RELIES ON SS-CONFIG AND SS-FUNCTIONS
####################################################################################################
#### TABLE OF CONTENTS (SS-Install-Redis-Config) ###################################################
####################################################################################################
## this is a brief summary of the different code snippets you will find in this script ##
## each section should be commented so you understand what is being accomplished ##
## A. Touch Timestamp File
## B. Message (Begin Script)
####################################################################################################
#### A. SS-Install-Redis-Config: Touch Timestamp File ##############################################
####################################################################################################
## this is a dummy timestamp file that will remember the last time this script was run ##
## it can be useful for developer reference and is sometimes used by SlickStack ##
## script timestamp ##
ss_touch "${TIMESTAMP_SS_INSTALL_REDIS_CONFIG}"
####################################################################################################
#### B. SS-Install-Redis-Config: Message (Begin Script) ############################################
####################################################################################################
## this is a simple message that announces to the shell the purpose of this bash script ##
## it will only be noticed by sudo users who manually call ss core bash scripts ##
## echo message ##
ss_echo "${COLOR_INFO}Running ss-install-redis-config... ${COLOR_RESET}"
####################################################################################################
#### SS-Install-Redis-Config: Install Redis (Object Cache) #########################################
####################################################################################################
## here we install redis-server (no client) for use in WordPress object caching (only) ##
## this Redis server package also includes the Redis CLI command line tools ##
## NEEDS TO BE IMPROVED AND EXPANDED ##
## configure redis-server for object caching only ##
sed -i '/maxmemory.*bytes.*/c\maxmemory 256mb' "$PATH_REDIS_CONF"
sed -i '/maxmemory-policy noeviction/c\maxmemory-policy allkeys-lru' "$PATH_REDIS_CONF"
sed -i '/always-show-logo yes/c\always-show-logo no' "$PATH_REDIS_CONF"
## systemd since 16.04 LTS ##
# sed -i '/supervised no/c\supervised systemd' "$PATH_REDIS_CONF"
# sed -i '/logfile/c\logfile /var/www/logs/redis.log' "$PATH_REDIS_CONF"
# sed -i '/dir /c\dir /tmp' "$PATH_REDIS_CONF"
####################################################################################################
#### SS-Install-Redis: Reset Permissions (Redis) ###################################################
####################################################################################################
## run ss-perms-redis-config ##
source "$PATH_SS_PERMS_REDIS_CONFIG"
####################################################################################################
#### SS-Install-Redis: Purge Cache (Redis) #########################################################
####################################################################################################
## run ss-purge-redis ##
source "$PATH_SS_PURGE_REDIS"
####################################################################################################
#### PLACEHOLDER: Reset Permissions (SlickStack Scripts) ###########################################
####################################################################################################
## we include this permissions reset in all cron jobs and bash scripts for redundancy ##
## chmod 0700 means only the root/sudo users can execute any SlickStack scripts ##
## THIS SNIPPET DOES NOT RELY ON SS-CONFIG OR SS-FUNCTIONS
## SNIPPET: ss bash scripts, ss cron jobs
## UPDATED: 02JUL2022
chown root:root /var/www/ss* ## must be root:root
chown root:root /var/www/crons/*cron* ## must be root:root
chown root:root /var/www/crons/custom/*cron* ## must be root:root
chmod 0700 /var/www/ss* ## 0700 means only root/sudo can execute
chmod 0700 /var/www/crons/*cron* ## 0700 means only root/sudo can execute
chmod 0700 /var/www/crons/custom/*cron* ## 0700 means only root/sudo can execute
####################################################################################################
#### SlickStack: External References Used To Improve This Script (Thanks, Interwebz) ###############
####################################################################################################
## Ref: https://serverfault.com/questions/893066/redis-not-starting-with-systemctl
## Ref: https://stackoverflow.com/questions/48496250/redis-fails-to-start-with-error-redis-server-service-failed-at-step-namespace
## Ref: https://www.digitalocean.com/community/tutorials/how-to-install-and-secure-redis-on-ubuntu-20-04
## Ref: https://ostoday.org/linux/when-did-ubuntu-switch-to-systemd.html
## Ref: https://www.pcworld.com/article/2895517/ubuntu-just-switched-to-systemd-the-project-sparking-controversy-throughout-linux.html
## Ref: https://github.com/redis/redis/issues/5869
## Ref: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=883576
## Ref: https://askubuntu.com/questions/839363/16-04-01-lts-on-aws-redis-no-longer-working
## SS_EOF