Refactor Ghost installation script to streamline MySQL configuration and consolidate Node.js and npm installation steps

This commit is contained in:
fabrice1236 2025-01-06 20:43:21 +01:00
parent f53e702cd9
commit 2c65b7fc9a

View File

@ -14,10 +14,6 @@ setting_up_container
network_check network_check
update_os update_os
####ADD user ?
# Install Dependencies # Install Dependencies
msg_info "Installing Dependencies" msg_info "Installing Dependencies"
$STD apt-get install -y \ $STD apt-get install -y \
@ -30,47 +26,39 @@ $STD apt-get install -y \
gnupg gnupg
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
# Allow nginx through firewall
#allow nginx through firewall
$STD ufw allow 'Nginx Full' $STD ufw allow 'Nginx Full'
# Enter mysql # Configure MySQL
$STD mysql msg_info "Configuring MySQL"
# Update permissions $STD mysql -u root -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH 'mysql_native_password' BY 'ghost';"
$STD ALTER USER 'root'@'localhost' IDENTIFIED WITH 'mysql_native_password' BY 'ghost'; $STD mysql -u root -e "FLUSH PRIVILEGES;"
# Reread permissions msg_ok "Configured MySQL"
$STD FLUSH PRIVILEGES;
# exit mysql
$STD exit
# Set up Node.js Repository
msg_info "Setting up Node.js Repository" msg_info "Setting up Node.js Repository"
mkdir -p /etc/apt/keyrings mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" >/etc/apt/sources.list.d/nodesource.list echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
msg_ok "Set up Node.js Repository" msg_ok "Set up Node.js Repository"
msg_info "Installing Node.js" # Install Node.js and npm
msg_info "Installing Node.js and npm"
$STD apt-get update $STD apt-get update
$STD apt-get install -y nodejs $STD apt-get install -y nodejs npm
msg_ok "Installed Node.js" msg_ok "Installed Node.js and npm"
msg_info "Installing npm"
$STD apt-get install -y npm
msg_ok "Installed npm"
# Install Ghost CLI
msg_info "Installing Ghost CLI"
$STD npm install ghost-cli@latest -g $STD npm install ghost-cli@latest -g
msg_ok "Installed Ghost CLI"
# Set up Ghost
msg_info "Setting up Ghost" msg_info "Setting up Ghost"
mkdir -p /var/www/ghost mkdir -p /var/www/ghost
chown -R $USER:$USER /var/www/ghost chown -R $USER:$USER /var/www/ghost
chmod 775 /var/www/ghost chmod 775 /var/www/ghost
cd /var/www/ghost cd /var/www/ghost
ghost install --db=mysql --dbhost=localhost --dbuser=root --dbpass=ghost --dbname=ghost --no-prompt --no-setup-linux-user --no-setup-nginx --no-setup-ssl --no-setup-systemd ghost install --db=mysql --dbhost=localhost --dbuser=root --dbpass=ghost --dbname=ghost --no-prompt --no-setup-linux-user --no-setup-nginx --no-setup-ssl --no-setup-systemd
msg_ok "Ghost setup completed" msg_ok "Ghost setup completed"
@ -99,7 +87,4 @@ customize
msg_info "Cleaning up" msg_info "Cleaning up"
$STD apt-get -y autoremove $STD apt-get -y autoremove
$STD apt-get -y autoclean $STD apt-get -y autoclean
msg_ok "Cleaned" msg_ok "Cleaned"
motd_ssh
customize