Forked from tejastank/odoo-enterprise-install-custom.sh
Created
September 27, 2024 05:34
-
-
Save rubyonrailsstarter/c28282233da0a6bc5e9ef30e6f4ff6ce to your computer and use it in GitHub Desktop.
Revisions
-
tejastank revised this gist
Aug 31, 2023 . 1 changed file with 3 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -46,6 +46,7 @@ ENABLE_SSL="True" ADMIN_EMAIL="[email protected]" echo -e "* Create server config file" sudo touch /etc/${OE_CONFIG}.conf @@ -72,6 +73,8 @@ sudo chown $OE_USER:$OE_USER /etc/${OE_CONFIG}.conf sudo chmod 640 /etc/${OE_CONFIG}.conf echo -e "* Create startup file" sudo su root -c "cp $OE_HOME_EXT/setup/odoo odoo-bin" sudo su root -c "echo '#!/bin/sh' >> $OE_HOME_EXT/start.sh" sudo su root -c "echo 'sudo -u $OE_USER $OE_HOME_EXT/odoo-bin --config=/etc/${OE_CONFIG}.conf' >> $OE_HOME_EXT/start.sh" sudo chmod 755 $OE_HOME_EXT/start.sh -
tejastank revised this gist
Aug 31, 2023 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -26,7 +26,7 @@ OE_PORT="8169" # IMPORTANT! This script contains extra libraries that are specifically needed for Odoo 16.0 OE_VERSION="16.0" # Set this to True if you want to install the Odoo enterprise version! IS_ENTERPRISE="True" # Installs postgreSQL V14 instead of defaults (e.g V12 for Ubuntu 20/22) - this improves performance INSTALL_POSTGRESQL_FOURTEEN="True" # Set this to True if you want to install Nginx! -
tejastank revised this gist
Aug 31, 2023 . No changes.There are no files selected for viewing
-
tejastank created this gist
Aug 31, 2023 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,176 @@ #!/bin/bash ################################################################################ # Author: Tejaskumar Tank #------------------------------------------------------------------------------- # This script will install Odoo on your Ubuntu server. It can install multiple Odoo instances # in one Ubuntu because of the different xmlrpc_ports #------------------------------------------------------------------------------- # Make a new file: # sudo nano odoo-install.sh # Place this content in it and then make the file executable: # sudo chmod +x odoo-install.sh # Execute the script to install Odoo: # ./odoo-install # Script for installing Odoo on Ubuntu 16.04, 18.04, 20.04 and 22.04 (could be used for other version too) ################################################################################ OE_USER="odoo" OE_HOME="/$OE_USER" OE_HOME_EXT="/$OE_USER/${OE_USER}-enterprise-server" # The default port where this Odoo instance will run under (provided you use the command -c in the terminal) # Set to true if you want to install it, false if you don't need it or have it already installed. INSTALL_WKHTMLTOPDF="True" # Set the default Odoo port (you still have to use -c /etc/odoo-server.conf for example to use this.) OE_PORT="8169" # Choose the Odoo version which you want to install. For example: 16.0, 15.0, 14.0 or saas-22. When using 'master' the master version will be installed. # IMPORTANT! This script contains extra libraries that are specifically needed for Odoo 16.0 OE_VERSION="16.0" # Set this to True if you want to install the Odoo enterprise version! IS_ENTERPRISE="False" # Installs postgreSQL V14 instead of defaults (e.g V12 for Ubuntu 20/22) - this improves performance INSTALL_POSTGRESQL_FOURTEEN="True" # Set this to True if you want to install Nginx! INSTALL_NGINX="False" # Set the superadmin password - if GENERATE_RANDOM_PASSWORD is set to "True" we will automatically generate a random password, otherwise we use this one OE_SUPERADMIN="admin" # Set to "True" to generate a random password, "False" to use the variable in OE_SUPERADMIN GENERATE_RANDOM_PASSWORD="True" OE_CONFIG="${OE_USER}-enterprise-server" # Set the website name WEBSITE_NAME="_" # Set the default Odoo longpolling port (you still have to use -c /etc/odoo-server.conf for example to use this.) LONGPOLLING_PORT="8172" # Set to "True" to install certbot and have ssl enabled, "False" to use http ENABLE_SSL="True" # Provide Email to register ssl certificate ADMIN_EMAIL="[email protected]" echo -e "* Create server config file" sudo touch /etc/${OE_CONFIG}.conf echo -e "* Creating server config file" sudo su root -c "printf '[options] \n; This is the password that allows database operations:\n' >> /etc/${OE_CONFIG}.conf" if [ $GENERATE_RANDOM_PASSWORD = "True" ]; then echo -e "* Generating random admin password" OE_SUPERADMIN=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 16 | head -n 1) fi sudo su root -c "printf 'admin_passwd = ${OE_SUPERADMIN}\n' >> /etc/${OE_CONFIG}.conf" if [ $OE_VERSION > "11.0" ];then sudo su root -c "printf 'http_port = ${OE_PORT}\n' >> /etc/${OE_CONFIG}.conf" else sudo su root -c "printf 'xmlrpc_port = ${OE_PORT}\n' >> /etc/${OE_CONFIG}.conf" fi sudo su root -c "printf 'logfile = /var/log/${OE_USER}/${OE_CONFIG}.log\n' >> /etc/${OE_CONFIG}.conf" if [ $IS_ENTERPRISE = "True" ]; then sudo su root -c "printf 'addons_path=${OE_HOME}/enterprise/addons,${OE_HOME_EXT}/addons\n' >> /etc/${OE_CONFIG}.conf" else sudo su root -c "printf 'addons_path=${OE_HOME_EXT}/addons,${OE_HOME}/custom/addons\n' >> /etc/${OE_CONFIG}.conf" fi sudo chown $OE_USER:$OE_USER /etc/${OE_CONFIG}.conf sudo chmod 640 /etc/${OE_CONFIG}.conf echo -e "* Create startup file" sudo su root -c "echo '#!/bin/sh' >> $OE_HOME_EXT/start.sh" sudo su root -c "echo 'sudo -u $OE_USER $OE_HOME_EXT/odoo-bin --config=/etc/${OE_CONFIG}.conf' >> $OE_HOME_EXT/start.sh" sudo chmod 755 $OE_HOME_EXT/start.sh #-------------------------------------------------- # Adding ODOO as a deamon (initscript) #-------------------------------------------------- echo -e "* Create init file" cat <<EOF > ~/$OE_CONFIG #!/bin/sh ### BEGIN INIT INFO # Provides: $OE_CONFIG # Required-Start: \$remote_fs \$syslog # Required-Stop: \$remote_fs \$syslog # Should-Start: \$network # Should-Stop: \$network # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Enterprise Business Applications # Description: ODOO Business Applications ### END INIT INFO PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin DAEMON=$OE_HOME_EXT/odoo-bin NAME=$OE_CONFIG DESC=$OE_CONFIG # Specify the user name (Default: odoo). USER=$OE_USER # Specify an alternate config file (Default: /etc/openerp-server.conf). CONFIGFILE="/etc/${OE_CONFIG}.conf" # pidfile PIDFILE=/var/run/\${NAME}.pid # Additional options that are passed to the Daemon. DAEMON_OPTS="-c \$CONFIGFILE" [ -x \$DAEMON ] || exit 0 [ -f \$CONFIGFILE ] || exit 0 checkpid() { [ -f \$PIDFILE ] || return 1 pid=\`cat \$PIDFILE\` [ -d /proc/\$pid ] && return 0 return 1 } case "\${1}" in start) echo -n "Starting \${DESC}: " start-stop-daemon --start --quiet --pidfile \$PIDFILE \ --chuid \$USER --background --make-pidfile \ --exec \$DAEMON -- \$DAEMON_OPTS echo "\${NAME}." ;; stop) echo -n "Stopping \${DESC}: " start-stop-daemon --stop --quiet --pidfile \$PIDFILE \ --oknodo echo "\${NAME}." ;; restart|force-reload) echo -n "Restarting \${DESC}: " start-stop-daemon --stop --quiet --pidfile \$PIDFILE \ --oknodo sleep 1 start-stop-daemon --start --quiet --pidfile \$PIDFILE \ --chuid \$USER --background --make-pidfile \ --exec \$DAEMON -- \$DAEMON_OPTS echo "\${NAME}." ;; *) N=/etc/init.d/\$NAME echo "Usage: \$NAME {start|stop|restart|force-reload}" >&2 exit 1 ;; esac exit 0 EOF echo -e "* Security Init File" sudo mv ~/$OE_CONFIG /etc/init.d/$OE_CONFIG sudo chmod 755 /etc/init.d/$OE_CONFIG sudo chown root: /etc/init.d/$OE_CONFIG echo -e "* Start ODOO on Startup" sudo update-rc.d $OE_CONFIG defaults echo -e "* Starting Odoo Service" sudo su root -c "/etc/init.d/$OE_CONFIG start" echo "-----------------------------------------------------------" echo "Done! The Odoo server is up and running. Specifications:" echo "Port: $OE_PORT" echo "User service: $OE_USER" echo "Configuraton file location: /etc/${OE_CONFIG}.conf" echo "Logfile location: /var/log/$OE_USER" echo "User PostgreSQL: $OE_USER" echo "Code location: $OE_USER" echo "Addons folder: $OE_USER/$OE_CONFIG/addons/" echo "Password superadmin (database): $OE_SUPERADMIN" echo "Start Odoo service: sudo service $OE_CONFIG start" echo "Stop Odoo service: sudo service $OE_CONFIG stop" echo "Restart Odoo service: sudo service $OE_CONFIG restart" if [ $INSTALL_NGINX = "True" ]; then echo "Nginx configuration file: /etc/nginx/sites-available/$WEBSITE_NAME" fi echo "-----------------------------------------------------------"