diff --git a/README.md b/README.md deleted file mode 100644 index 93547a0..0000000 --- a/README.md +++ /dev/null @@ -1,9 +0,0 @@ -This script is based on the install script from André Schenkels (https://github.com/aschenkels-ictstudio/openerp-install-scripts) -but goes a bit further. This script will also give you the ability to define an xmlrpc_port in the .conf file that is generated under /etc/ -This script can be safely used in a multi-odoo code base server because the default Odoo port is changed BEFORE the Odoo is started. - -

What version to choose?

-By chosing the version at the top in Github you can choose to use the script according to your need. -8.0 is specifically build for Odoo V8 installations -9.0 is specifically build for Odoo V9 installations -master is specifically build for testing & development diff --git a/nginx_install.sh b/nginx_install.sh deleted file mode 100644 index d4f34dc..0000000 --- a/nginx_install.sh +++ /dev/null @@ -1,159 +0,0 @@ -#!/bin/bash - -## -# This script creates a self-signed certificate and configuration file for Nginx. -# Nginx is used as a reverse proxy for Odoo. -# -# For examples: -# subdomain1.website.com -> using the Odoo database1. -# subdomain2.website.com -> using the Odoo database2. -# When a database name is mussing the database with the same name as the subdomain will be used, depending on the database -# parameter of the Odoo configuration file. -## - -if [ -z $1 ]; then - echo "Missing subdomain!" - echo "Usage: odoo_nginx subdomain [database]" - echo "For example: ./odoo_nginx my.website.com TheDatabaseName" - exit 0 -fi - -NGINX_CONFIG_DIR=/etc/nginx -DOMAIN="$1" -DB=$2 - -SSL_DIR=$NGINX_CONFIG_DIR/ssl/$DOMAIN -DOMAIN_CONFIG=$NGINX_CONFIG_DIR/sites/"$DOMAIN.conf" - -#echo "Setup domain "$DOMAIN" with database "$2" - $DOMAIN_CONFIG, SSL=$SSL_DIR" - -#echo "Create Self-signed cert" -mkdir -p $SSL_DIR -mkdir -p $NGINX_CONFIG_DIR/sites - -openssl ecparam -out $SSL_DIR/nginx.key -name prime256v1 -genkey -openssl req -new -key $SSL_DIR/nginx.key -out $SSL_DIR/csr.pem -subj "/C=VN/ST=DONG BAC BO/L=HA NOI/O=ERPHanoi/OU=IT Department/CN=$DOMAIN" -openssl req -x509 -nodes -days 1000 -key $SSL_DIR/nginx.key -in $SSL_DIR/csr.pem -out $SSL_DIR/nginx.pem -# openssl dhparam -out $SSL_DIR/dhparam.pem 4096 # This take long time - -if [ -z $DB ]; then - DB_STR="" -else - DB_STR="proxy_set_header X-Custom-Referrer \"$DB\";" -fi - -echo -e "* Create $DOAMIN's nginx config file at $DOMAIN_CONFIG" - -cat < $DOMAIN_CONFIG -## -# You should look at the following URL's in order to grasp a solid understanding -# of Nginx configuration files in order to fully unleash the power of Nginx. -# http://wiki.nginx.org/Pitfalls -# http://wiki.nginx.org/QuickStart -# http://wiki.nginx.org/Configuration -# -# Generally, you will want to move this file somewhere, and start with a clean -# file but keep this around for reference. Or just disable in sites-enabled. -# -# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples. -## -## -# Configuration file for each subdomain <=> database. -# Should use with http.py patch, which using HTTP_X_CUSTOM_REFERRER as database name -# See https://github.com/halybang/odoo/blob/9.0/openerp/http.py -# -## -server { - # Redirect all request to ssl - listen 80; - server_name $DOMAIN; - # Strict Transport Security - add_header Strict-Transport-Security max-age=2592000; - return 301 https://\$host\$request_uri; -} -server { - # Enable SSL - listen 443 ssl; - server_name $DOMAIN; - - #root /var/www/html; - # Add index.php to the list if you are using PHP - #index index.html index.htm index.nginx-debian.html; - - # Set log files - access_log /var/log/nginx/$DOMAIN.access.log; - error_log /var/log/nginx/$DOMAIN.error.log; - - keepalive_timeout 60; - client_max_body_size 100m; - - # SSL Configuration - # Self signed certs generated by the ssl-cert package - ssl on; - ssl_certificate $SSL_DIR/nginx.pem; - ssl_certificate_key $SSL_DIR/nginx.key; - #ssl_dhparam $SSL_DIR/dhparam.pem; - ssl_prefer_server_ciphers on; - ssl_protocols TLSv1 TLSv1.1 TLSv1.2; - ssl_session_cache shared:SSL:1m; - ssl_session_timeout 10m; - ssl_ciphers HIGH:!ADH:!MD5; - #ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH'; - #ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:ECDHE-RSA-AES128-GCM-SHA256:AES256+EECDH:DHE-RSA-AES128-GCM-SHA256:AES256+EDH:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4"; - - # increase proxy buffer to handle some OpenERP web requests - proxy_buffers 16 64k; - proxy_buffer_size 128k; - # general proxy settings - # force timeouts if the backend dies - proxy_connect_timeout 600s; - proxy_send_timeout 600s; - proxy_read_timeout 600s; - proxy_next_upstream error timeout invalid_header http_500 http_502 http_503; - - # set headers - proxy_set_header X-Real-IP \$remote_addr; - proxy_set_header Host \$host; - proxy_set_header X-Forwarded-Host \$http_host; - proxy_set_header X-Forward-For \$proxy_add_x_forwarded_for; - # Let the OpenERP web service know that we’re using HTTPS, otherwise - # it will generate URL using http:// and not https:// - proxy_set_header X-Forwarded-Proto https; - proxy_set_header Front-End-Https On; - # Point to real database name - #proxy_set_header X-Custom-Referrer "databasename"; - $DB_STR - - # by default, do not forward anything - # proxy_redirect off; - proxy_buffering off; - location / { - #try_files \$uri \$uri/ @proxy; - proxy_pass http://odoo9; - proxy_redirect default; - } - location /longpolling { - proxy_pass http://odoo9-im; - } - - # cache some static data in memory for 60mins. - # under heavy load this should relieve stress on the OpenERP web interface a bit. - location ~* /web/static/ { - proxy_cache_valid 200 60m; - proxy_buffering on; - expires 864000; - #try_files $uri $uri/ @proxy; - proxy_pass http://odoo9; - #proxy_redirect default; - #proxy_redirect off; - } - location @proxy { - proxy_pass http://odoo9; - proxy_redirect default; - #proxy_redirect off; - } - location ~ /\.ht { - deny all; - } -} -EOF diff --git a/odoo_install.sh b/odoo_install.sh deleted file mode 100644 index 4fcfc82..0000000 --- a/odoo_install.sh +++ /dev/null @@ -1,243 +0,0 @@ -#!/bin/bash -################################################################################ -# Script for installing Odoo V9 on Ubuntu 14.04 LTS (could be used for other version too) -# Author: Yenthe Van Ginneken -#------------------------------------------------------------------------------- -# This script will install Odoo on your Ubuntu 14.04 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 -################################################################################ - -##fixed parameters -#odoo -OE_USER="odoo" -OE_HOME="/$OE_USER" -OE_HOME_EXT="/$OE_USER/${OE_USER}-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" -## -### WKHTMLTOPDF download links -## === Ubuntu Trusty x64 & x32 === (for other distributions please replace these two links, -## in order to have correct version of wkhtmltox installed, for a danger note refer to -## https://www.odoo.com/documentation/8.0/setup/install.html#deb ): -WKHTMLTOX_X64=https://downloads.wkhtmltopdf.org/0.12/0.12.1/wkhtmltox-0.12.1_linux-trusty-amd64.deb -WKHTMLTOX_X32=https://downloads.wkhtmltopdf.org/0.12/0.12.1/wkhtmltox-0.12.1_linux-trusty-i386.deb - - -#Set the default Odoo port (you still have to use -c /etc/odoo-server.conf for example to use this.) -OE_PORT="8069" - -#Choose the Odoo version which you want to install. For example: 9.0, 8.0, 7.0 or saas-6. When using 'trunk' the master version will be installed. -#IMPORTANT! This script contains extra libraries that are specifically needed for Odoo 9.0 -OE_VERSION="9.0" - -#set the superadmin password -OE_SUPERADMIN="admin" -OE_CONFIG="${OE_USER}-server" - -#-------------------------------------------------- -# Make sure only root or sudoers can run our script -#-------------------------------------------------- -if [ "$(id -u)" != "0" ]; then - echo "This script must be run with administrator rights! \nRun this script with sudo ./your-file-name in place of ./your-file-name." 1>&2 - exit 1 -fi - -#-------------------------------------------------- -# Update Server -#-------------------------------------------------- -echo -e "\n---- Update Server ----" -apt-get update && apt-get upgrade -y - -#-------------------------------------------------- -# Install PostgreSQL Server -#-------------------------------------------------- -echo -e "\n---- Install PostgreSQL Server ----" -apt-get install postgresql -y - -echo -e "\n---- Creating the ODOO PostgreSQL User ----" -su - postgres -c "createuser -s $OE_USER" 2> /dev/null || true - -#-------------------------------------------------- -# Install Dependencies -#-------------------------------------------------- -echo -e "\n---- Install tool packages ----" -apt-get install wget git python-pip gdebi-core -y - -echo -e "\n---- Install python packages ----" -apt-get install python-dateutil python-feedparser python-ldap python-libxslt1 python-lxml python-mako python-openid python-psycopg2 python-pybabel python-pychart python-pydot python-pyparsing python-reportlab python-simplejson python-tz python-vatnumber python-vobject python-werkzeug python-xlwt python-yaml python-docutils python-psutil python-mock python-unittest2 python-jinja2 python-pypdf python-decorator python-requests python-passlib python-geoip python-unicodecsv python-serial python-pil -y - -echo -e "\n---- Install python libraries ----" -pip install gdata psycogreen - -echo -e "\n--- Install other required packages" -apt-get install node-clean-css -y -apt-get install node-less -y -apt-get install python-gevent -y - -#-------------------------------------------------- -# Install Wkhtmltopdf if needed -#-------------------------------------------------- -if [ $INSTALL_WKHTMLTOPDF = "True" ]; then - echo -e "\n---- Install wkhtml and place shortcuts on correct place for ODOO 9 ----" - #pick up correct one from x64 & x32 versions: - if [ "`getconf LONG_BIT`" == "64" ];then - _url=$WKHTMLTOX_X64 - else - _url=$WKHTMLTOX_X32 - fi - wget $_url - gdebi --n `basename $_url` - ln -s /usr/local/bin/wkhtmltopdf /usr/bin - ln -s /usr/local/bin/wkhtmltoimage /usr/bin -else - echo "Wkhtmltopdf isn't installed due to the choice of the user!" -fi - -echo -e "\n---- Create ODOO system user ----" -adduser --system --group --quiet --home=$OE_HOME $OE_USER - -echo -e "\n---- Create Log directory ----" -mkdir /var/log/$OE_USER -chown $OE_USER:$OE_USER /var/log/$OE_USER - -#-------------------------------------------------- -# Install ODOO -#-------------------------------------------------- -echo -e "\n==== Installing ODOO Server ====" -git clone --depth 1 --branch $OE_VERSION https://www.github.com/odoo/odoo $OE_HOME_EXT/ - -echo -e "\n---- Create custom module directory ----" -mkdir -p $OE_HOME/custom/addons - -echo -e "\n---- Setting permissions on home folder ----" -chown -R $OE_USER:$OE_USER $OE_HOME/* - -echo -e "* Create server config file" -cp $OE_HOME_EXT/debian/openerp-server.conf /etc/${OE_CONFIG}.conf -chown $OE_USER:$OE_USER /etc/${OE_CONFIG}.conf -chmod 640 /etc/${OE_CONFIG}.conf - -echo -e "* Change server config file" -sed -i s/"db_user = .*"/"db_user = $OE_USER"/g /etc/${OE_CONFIG}.conf -sed -i s/"; admin_passwd.*"/"admin_passwd = $OE_SUPERADMIN"/g /etc/${OE_CONFIG}.conf -su root -c "echo 'logfile = /var/log/$OE_USER/$OE_CONFIG$1.log' >> /etc/${OE_CONFIG}.conf" -su root -c "echo 'addons_path=$OE_HOME_EXT/addons,$OE_HOME/custom/addons' >> /etc/${OE_CONFIG}.conf" - -echo -e "* Create startup file" -su root -c "echo '#!/bin/sh' >> $OE_HOME_EXT/start.sh" -su root -c "echo 'sudo -u $OE_USER $OE_HOME_EXT/openerp-server --config=/etc/${OE_CONFIG}.conf' >> $OE_HOME_EXT/start.sh" -chmod 755 $OE_HOME_EXT/start.sh - -#-------------------------------------------------- -# Adding ODOO as a deamon (initscript) -#-------------------------------------------------- - -echo -e "* Create init file" -cat < ~/$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=/bin:/sbin:/usr/bin -DAEMON=$OE_HOME_EXT/openerp-server -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" -mv ~/$OE_CONFIG /etc/init.d/$OE_CONFIG -chmod 755 /etc/init.d/$OE_CONFIG -chown root: /etc/init.d/$OE_CONFIG - -echo -e "* Change default xmlrpc port" -su root -c "echo 'xmlrpc_port = $OE_PORT' >> /etc/${OE_CONFIG}.conf" - -echo -e "* Start ODOO on Startup" -update-rc.d $OE_CONFIG defaults - -echo -e "* Starting Odoo Service" -su root -c "/etc/init.d/$OE_CONFIG start" - -cat << EOF ------------------------------------------------------------ -Done! The Odoo server is up and running. Specifications: -Port: $OE_PORT -User service: $OE_USER -User PostgreSQL: $OE_USER -Code location: $OE_USER -Addons folder: $OE_USER/$OE_CONFIG/addons/ -Start Odoo service: sudo service $OE_CONFIG start -Stop Odoo service: sudo service $OE_CONFIG stop -Restart Odoo service: sudo service $OE_CONFIG restart ------------------------------------------------------------ -EOF