Installing high availability Odoo 11 on ubuntu 16.04

You must be aware that now odoo has released version 11 officially. To know odoo 11 features click here

In this tutorial I’ll explain you how to install high availability odoo version 11(Community version) on ubuntu 16.04

Note : There is no major difference for installing odoo community and odoo enterprise version.

Overall System Architecture

 

If python is already installed, make sure you have installed python version 3.5 or above. Previous versions of python are not compatible with odoo 11.

Installation Guide

In this tutorial, I assume that you have properly configured your network for the required servers and you have basic networking knowledge to replace/change ip addresses mentioned throughout this tutorial with the appropriate ip addresses.

Database Server(s) Installation

Step 1 : Installation

Before you proceed for the installation, make sure you have configured locale settings properly.

sudo apt-get -y install postgresql postgresql-contrib

Step 2 : Create user with password

sudo -u postgres createuser odoo11
sudo -u postgres psql
psql=# alter user odoo11 with encrypted password '<password>';

 

Step 3 : Allow remote connection from application servers

All below lines in /etc/postgresql/9.5/main/pg_hba.conf file on top

host all odoo8 192.168.1.51/32 trust
host all odoo8 192.168.1.52/32 trust
host all odoo8 192.168.1.53/32 trust
host all odoo8 192.168.1.54/32 trust

Restart postgresql service

systemctl restart postgresql

Application Server(s) Installation

Follow mentioned steps on each of the application server(s) to install odoo application only. For simplicity I will be using the debian package to install the odoo server, you can also follow the manual installation process from other tutorials.

Step 1 : Download latest version

http://nightly.odoo.com/11.0/nightly/deb/odoo_11.0.latest_all.deb

Step 2 : Install odoo

Before you proceed for this command make sure that your locale is setup properly if you are using VPS.

dpkg -i odoo_11.0.latest_all.deb

If you encounter the blow error during the installation

# dpkg -i odoo_11.0.latest_all.deb 
Selecting previously unselected package odoo.
(Reading database ... 26866 files and directories currently installed.)
Preparing to unpack odoo_11.0.latest_all.deb ...
Unpacking odoo (11.0.20171114) ...
dpkg: dependency problems prevent configuration of odoo:
 odoo depends on python3-babel; however:
 Package python3-babel is not installed.
 odoo depends on python3-dateutil; however:
 Package python3-dateutil is not installed.
 odoo depends on python3-decorator; however:
 Package python3-decorator is not installed.
 odoo depends on python3-docutils; however:
 Package python3-docutils is not installed.
 odoo depends on python3-feedparser; however:
 Package python3-feedparser is not installed.
 odoo depends on python3-gevent; however:
 Package python3-gevent is not installed.
 odoo depends on python3-html2text; however:
 Package python3-html2text is not installed.
 odoo depends on python3-jinja2; however:
 Package python3-jinja2 is not installed.
 odoo depends on python3-lxml; however:
 Package python3-lxml is not installed.
 odoo depends on python3-mako; however:
 Package python3-mako is not installed.
 odoo depends on python3-mock; however:
 Package python3-mock is not installed.
 odoo depends on python
dpkg: error processing package odoo (--install):
 dependency problems - leaving unconfigured
Processing triggers for systemd (229-4ubuntu12) ...
Errors were encountered while processing:
 odoo

You can run,

apt-get install -f

This command will installed all the dependency libraries on the system.

Note : Debian package installer by default install postgresql as dependent package, we can stop the postgresql service and remove service from the system startup service list.

sudo systemctl stop postgresql
sudo update-rc.d postgresql disable

Step 3 : Database configurations

Let’s help application server to find the database from the configuration file. (/etc/odoo/openerp-server.conf)

db_host = 192.168.1.61
db_port = 5432
db_user = odoo11
db_password = xxxx

Note : Don’t forgot to replace your database name and database password with appropriate values.

Step 4 : Custom Modules

To install the custom modules on all application server, you need to configure NFS to share the directory which can be accessible from all the application and which should be mounted automatically on system startup.

After successful configuration of NFS on all application server you can add mount path in addons_path param(can be found on odoo configuration file)

Load Balancer Installation

Step 1 : Install nginx

sudo apt-get install nginx

Step 2 : Nginx site configuration

Create a configuration file under /etc/nginx/sites-enabled/xyz.com.conf with below content. Don’t forgot to change the domain name and SSL certificate path.

upstream backend  {
       server 192.168.1.51:8069;
       server 192.168.1.52:8069;
       server 192.168.1.53:8069;
       server 192.168.1.54:8069;
}

upstream backend-longpolling {
server 192.168.1.51:8072;
server 192.168.1.52:8072;
server 192.168.1.53:8072;
server 192.168.1.54:8072;
}

server {
   server_name xyz.com www.xyz.com;

   location / {
       return 301 https://$server_name$request_uri;
    }
}




server {
listen          443 ssl;

server_name xyz.com www.xyz.com;
proxy_connect_timeout       60000;
proxy_send_timeout          60000;
proxy_read_timeout          60000;
send_timeout                60000;

ssl_dhparam /etc/ssl/certs/dhparam.pem;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_intercept_errors on;

location /longpolling {
     proxy_pass http://backend-longpolling;
}

location / {
          proxy_pass http://backend;
}

ssl_certificate /etc/nginx/ssl/www_xyz_com.crt; 
ssl_certificate_key /etc/nginx/ssl/www_xyz_com.key;
}

Step 3 : Restart nginx service

systemctl restart nginx.service

Step 4 : Access odoo application from the browser.

Navigate from your public ip address if port 80 and 443 are already forwarded from the firewall.

How to install odoo 11 on UBUNTU 16.04

Hello Everyone, You must be aware about the odoo has released it’s most awaiting version odoo 11 with exiting new features. To know odoo 11 features click here

In this tutorial I will teach you how to install odoo 11 from debian package.

Step 1 : Download latest version

http://nightly.odoo.com/11.0/nightly/deb/odoo_11.0.latest_all.deb

Step 2 : Install odoo

Before you proceed for this command make sure that your locale is setup properly if you are using VPS.

dpkg -i odoo_11.0.latest_all.deb

If you encounter the blow error during the installation

# dpkg -i odoo_11.0.latest_all.deb 
Selecting previously unselected package odoo.
(Reading database ... 26866 files and directories currently installed.)
Preparing to unpack odoo_11.0.latest_all.deb ...
Unpacking odoo (11.0.20171114) ...
dpkg: dependency problems prevent configuration of odoo:
 odoo depends on python3-babel; however:
 Package python3-babel is not installed.
 odoo depends on python3-dateutil; however:
 Package python3-dateutil is not installed.
 odoo depends on python3-decorator; however:
 Package python3-decorator is not installed.
 odoo depends on python3-docutils; however:
 Package python3-docutils is not installed.
 odoo depends on python3-feedparser; however:
 Package python3-feedparser is not installed.
 odoo depends on python3-gevent; however:
 Package python3-gevent is not installed.
 odoo depends on python3-html2text; however:
 Package python3-html2text is not installed.
 odoo depends on python3-jinja2; however:
 Package python3-jinja2 is not installed.
 odoo depends on python3-lxml; however:
 Package python3-lxml is not installed.
 odoo depends on python3-mako; however:
 Package python3-mako is not installed.
 odoo depends on python3-mock; however:
 Package python3-mock is not installed.
 odoo depends on python
dpkg: error processing package odoo (--install):
 dependency problems - leaving unconfigured
Processing triggers for systemd (229-4ubuntu12) ...
Errors were encountered while processing:
 odoo

You can run,

apt-get install -f

This command will installed all the dependency libraries on the system.

Step 3 : Navigate to odoo web url

Congratulations you have completed odoo 11 installation, Wasn’t it too easy!!

http://localhost:8069 or http://<your computer ip>:8069

What is difference between Bitrix64 and Odoo CRM?

Here is a basic difference of any closed source CRM (Bitrix, MS Dynamics, ZOHO CRM, Suger CRM etc) & Open source CRM (e.g. Odoo, Orange etc)

Open Source CRM

  • There will be no licensing terms and you will own the system.
  • You’ll have to rent/own infrastructure and yourself will be responsible to manage it.
  • You have full rights to customize it as you will have the source code.
  • You can establish your own business process on rather than accepting already established process of some software.
  • TCO (Total Cost of Ownership) might be more than hosted ones. It might have bit more operational cost.
  • Export the data and migrate to some other software will be easy as you own that software.
  • Data privacy and confidentiality will be maintained.
  • You will have built in website already connected with CRM/backend (Tight coupling)
  • Extensibility of having accounting, sales, purchase, payroll, inventory on a single click installation without any extra cost.

Hosted CRM (Closed Source)

  • No/little setup cost
  • You don’t need to worry about infrastructure and maintenance.
  • You will not own the software and will need to accept the licensing terms.
  • Very small customization might be allowed.
  • You will need to adopt the business process (workflow) of that software.
  • Migration to other software in future might be difficult.
  • No TCO (Total cost of ownership) as you will not own the software.
  • You will need to write/develop middleware interface to connect with any website (Loose coupling)

 

How to use Office365 as an outgoing mail/smtp server with odoo?

If you are getting an error like “SMTPDataError:… SMTP; Client does not have permissions to send as this sender

It seems a normal scenario to use office 365 as a email server with Odoo but there are some known issues while you configure it.

  1. It will not directly allow you to use multiple FROM address or different FROM address then the sender address which is being used in authentication. E.g. you have configured alice@example.com and you would like to set no-reply@example.com as a FROM address. This will be needed when you want all your Odoo users to send emails using same FROM address.

As a solution, you have a couple of options,

  1. You can relay your outbound emails from an another MTA like Sendgrid and use the multiple sender addresses.
  2. You may create a security group and follow the steps below,
    1. Create a security group e.g. no-reply@example.com
    2. Add all email accounts to that group and give send as permission.
    3. Try sending an email and it should work!
  3. Check out reverse DNS settings of your domain name and make sure that its mapped to the return path properly.

 

How to run first blockchain hello world program!

I assume that you have read a lot about the block chain technology and where it can be applied. Now you must be wondering where should I develop the Smart Contract and run the program

Do I need to,

  • Spent Ether to run program on Ethereum main network to test it
  • Download the Ethereum wallet and connect to Ropsten or Rinkeby  test network? Even if you connect to it and download the data from the peers you will find difficulty to execute the program.

Answer is no

Here are the simple steps you need to follow in order to run your first Hello World! etherum smart contract.

Overall Architecture

Step 1 : Setting up testrpc virtual environment

Download the Ethereumjs test rpc Docker image & run it. If you haven’t already installed docker engine follow this instruction.

docker pull silentinfotech/ethereumjs-testrpc
docker run -d -p 8545:8545 silentinfotech/ethereumjs-testrpc:latest -a 10 --debug

When you run the docker it will start the docker container and will forward port 8545 to it.  testrpc is Node.js based ethereum client for development and testing.  Find more information on testrpc from here

Step 2 : Remix IDE

We will use the remix IDE for the ethereum smart contract( In developer language program) development. Navigate to https://remix.ethereum.org/ and allow unsafe script to load.

As a part of first program, We will run hello world “Your first citizen: the greeter” program from ethereum.org. Find more information about hello world program from here

Step 3 : Copy & Paste Hello world contract

Copy “Your first citizen: the greeter” program and paste it on remix IDE window. Contract will be compiled automatically if Auto compile is selected already. Ignore the warning(s) for now.

Hello world block chain program at Remix IDE

Step 4 : Run program

Navigate to Run tab from top right corner.  Choose Web3 Provider as environment. Enter appropriate URL – if you are running docker on local computer you won’t need to change the url. We are now connected to testrpc ethereum test environment. We can find the account dropdown auto populated with all test accounts with having 100EHR by default – which are more than sufficient to run the program. 😉

Let’s run the program,

Pass the constructor parameters in create method(e.g “Hello world!”. Click on create, Wow!!! we have generated a first block. You can even call the greet method on newly created block.

You can also read the existing blocks methods/variables by providing block address in At Address text field.

Ethereum Network Charges

In a nutshell, you will be charged when ever you/program will change the state of the variable. e.g Increment value of variable, store the value in variable, destroy value of variable. there is no charge for reading the blocks.

References

https://remix.ethereum.org/

https://www.ethereum.org/greeter

 

Odoo won’t start after pysftp installed

Environment

  • UBUNTU 16.04
  • Odoo 9

Problem

Today I came across the situation where after installing pysftp suddenly I won’t be able to start odoo again. I have tried to do

service odoo restart
service odoo stop ; service odoo start

When I have tried to uninstall pysftp, I was having SSL_ST_INIT error

root@erp:~# pip uninstall pysftp
Traceback (most recent call last):
 File "/usr/bin/pip", line 9, in <module>
 from pip import main
 File "/usr/lib/python2.7/dist-packages/pip/__init__.py", line 13, in <module>
 from pip.exceptions import InstallationError, CommandError, PipError
 File "/usr/lib/python2.7/dist-packages/pip/exceptions.py", line 6, in <module>
 from pip._vendor.six import iteritems
 File "/usr/lib/python2.7/dist-packages/pip/_vendor/__init__.py", line 64, in <module>
 vendored("cachecontrol")
 File "/usr/lib/python2.7/dist-packages/pip/_vendor/__init__.py", line 36, in vendored
 __import__(modulename, globals(), locals(), level=0)
 File "/usr/share/python-wheels/CacheControl-0.11.5-py2.py3-none-any.whl/cachecontrol/__init__.py", line 9, in <module>
 File "/usr/share/python-wheels/CacheControl-0.11.5-py2.py3-none-any.whl/cachecontrol/wrapper.py", line 1, in <module>
 File "/usr/share/python-wheels/CacheControl-0.11.5-py2.py3-none-any.whl/cachecontrol/adapter.py", line 3, in <module>
 File "/usr/share/python-wheels/requests-2.9.1-py2.py3-none-any.whl/requests/__init__.py", line 53, in <module>
 File "/usr/share/python-wheels/urllib3-1.13.1-py2.py3-none-any.whl/urllib3/contrib/pyopenssl.py", line 54, in <module>
 File "/usr/lib/python2.7/dist-packages/OpenSSL/__init__.py", line 8, in <module>
 from OpenSSL import rand, crypto, SSL
 File "/usr/lib/python2.7/dist-packages/OpenSSL/SSL.py", line 118, in <module>
 SSL_ST_INIT = _lib.SSL_ST_INIT
AttributeError: 'module' object has no attribute 'SSL_ST_INIT'

Solution

Step 1: Backup existing directory on OpenSSL and pyOpenSSL from dist-packages folder.

cp -r /usr/lib/python2.7/dist-packages/OpenSSL /tmp/
cp -r /usr/lib/python2.7/dist-packages/pyOpenSSL-0.15.1.egg-info /tmp/

Step 2: Remove directory OpenSSL and pyOpenSSL from dist-packages folder and install pyopenssl module

# rm -rf /usr/lib/python2.7/dist-packages/OpenSSL 
# rm -rf /usr/lib/python2.7/dist-packages/pyOpenSSL-0.15.1.egg-info 
# sudo pip install pyopenssl

Step 3: Start odoo service.

How to connect to PPTP server from linux

How you could connect to PPTP server from linux to access your office network?

  • Goto Edit Connections -> Add New Connection

  • Choose Point-to-Point Tunneling Protocol (PPTP) as connection type

  • Provide the information you have received from your company administration team( e.g Gateway, User name, Password, NT Domain(Optional)) and save it

  • New connection with connection name will be available to dial under the connection manager -> VPN Connections -> Office VPN Connection(in our case)

How To Secure Apache with Let's Encrypt on Ubuntu

This post will show you how to set up a TLS/SSL certificate from Let’s Encrypt on an Ubuntu server running Apache as a web server.

Introduction about SSL

SSL stands for Secure Socket Layer. SSL is a protocol used for sending confidential data over the Internet. SSL creates a secure connection between a web browser and the server. In this process, SSL uses encryption to keep the data private.

Advantages of SSL

• Encrypts Information. SSL certificate ensures the data you send online are read by only the intended recipient and none else.
• SSL makes some changes in the original data so that the data can’t be read by the third parties.
• Having SSL certificate ensures authentication.
• Secure against phishing attacks.
• Better search engine rankings.

Install SSL certificate using Let’s Encrypt

Prerequisites

• Ubuntu server with a non-root sudo user.
• The Apache web server installed and domain name properly configured.
• Your domain mapped with server IP.

Step 1 — Install the Let’s Encrypt Client

The first step to Let’s Encrypt SSL certificate is to install the certbot software on your server.

sudo add-apt-repository ppa:certbot/certbot

You will need to press ENTER to accept. Then update the package list using following command

sudo apt-get update

Install Certbot SSL using following command.

sudo apt-get install python-certbot-apache

Step 2 — Set Up the SSL Certificate

Following command is automatically install a new SSL certificate on apache server that is valid for only 3 months. A single certificate that is valid for multiple domains or subdomains. Execute following command.

sudo certbot --apache -d example.com

If you can execute above command then it will ask some basic information like email, agree terms & service and enabling both http and https access. After install certificate, automatically changed apache configuration file as required.
When the installation is finished, you should be able to find the generated certificate files at /etc/letsencrypt/live.

Step 3 — Auto Renewal SSL Certificate

Let’s Encrypt’s certificates is valid for 3 months. Following command is to check for expiring certificates and renew them automatically.

sudo crontab -e

After execute above command, Your text editor will open the default crontab which is a text file with some help text in it.
Paste in the following line at the end of the file, then save and close it:

15 3 * * * /usr/bin/certbot renew --quiet

Now your domain is ready with SSL Certificate.

Installing Zimbra community 8.7 on Ubuntu 16.04

 

Zimbra email collaboration is the leading open source enterprise email solution and the most preferred alternative to Microsoft Exchange. It is now available in hosted, cloud and on-premise versions. Zimbra provides an excellent browser-based interface that allows users to integrate with mail clients easily. Silent Infotech provides consultation, implementation and migration services with support for your Zimbra email/collaboration solution.

Download zimbra based on your platform, from latest release Zimbra Open Source. Here we will choose Ubuntu 16.04 LTS 64-bit release and download it with wget. Get the download address location and download form machine where you want to install zimbra

Download zimbra

root@silent:/cd /home/
root@silent:/home# wget https://files.zimbra.com/downloads/8.7.7_GA/zcs-8.7.7_GA_1787.UBUNTU16_64.20170410133400.tgz

Extract downloaded zimbra

root@silent:/home# tar tar xzf zcs-8.7.7_GA_1787.UBUNTU16_64.20170410133400.tgz

Prerequisite to install zimbra

Step 1 : In case the system configured by using DHCP, you need set an static IP for Zimbra Collaboration.

root@zimbra8:~# vim /etc/network/interfaces

 

If you have dhcp line:

allow-hotplug eth0 
iface eth0 inet dhcp

 

Then change it to static Ethernet configuration:

allow-hotplug eth0 
iface eth0 inet static
address 10.X.X.X 
netmask 255.255.255.0
gateway 10.X.X.X
dns-nameservers 127.0.0.1
dns-nameservers 8.8.8.8

 

Note, address : Zimbra machine ip,

gateway : router IP address in your Environment.

DNS Server, type your own Zimbra server if you will use an internal DNS server on Zimbra Server, or other IP in case you have a valid DNS Server already exist.

Step 2 : Set hostname

root@silent:/home# vi /etc/hosts
127.0.0.1       localhost

10.10.2.101   mail.silent.com mail

Step 3 : Reboot machine

root@silent:/home# reboot

Install zimbra

root@silent:/home# cd zcs-8.7.7_GA_1787.UBUNTU16_64.20170410133400/

root@silent:/home/zcs-8.7.7_GA_1787.UBUNTU16_64.20170410133400# ./install.sh

Now follow given steps to complete the installation:

Step 1 : Read and accept license agreement:

...
...
License Terms for the Zimbra Collaboration Suite:
http://www.zimbra.com/license/zimbra-public-eula-2-5.html
Do you agree with the terms of the software license agreement? [N] y

Step 2 : Now it will check if some zimbra packages already exist

Operations logged to /tmp/install.log.zlP8ruf3
Checking for existing installation...
    zimbra-ldap...NOT FOUND
    zimbra-logger...NOT FOUND
    zimbra-mta...NOT FOUND
    zimbra-dnscache...NOT FOUND
    zimbra-snmp...NOT FOUND
    zimbra-store...NOT FOUND
    zimbra-apache...NOT FOUND
    zimbra-spell...NOT FOUND
    zimbra-convertd...NOT FOUND
    zimbra-memcached...NOT FOUND
    zimbra-proxy...NOT FOUND
    zimbra-archiving...NOT FOUND
    zimbra-core...NOT FOUND
PLEASE READ THIS AGREEMENT CAREFULLY BEFORE USING THE SOFTWARE.
ZIMBRA, INC. ("ZIMBRA") WILL ONLY LICENSE THIS SOFTWARE TO YOU IF YOU
FIRST ACCEPT THE TERMS OF THIS AGREEMENT. BY DOWNLOADING OR INSTALLING
THE SOFTWARE, OR USING THE PRODUCT, YOU ARE CONSENTING TO BE BOUND BY
THIS AGREEMENT. IF YOU DO NOT AGREE TO ALL OF THE TERMS OF THIS
AGREEMENT, THEN DO NOT DOWNLOAD, INSTALL OR USE THE PRODUCT.
License Terms for the Zimbra Collaboration Suite:
  http://www.zimbra.com/license/zimbra-public-eula-2-5.html
Do you agree with the terms of the software license agreement? [N] y

Step 3 : Select the services to be installed on this server.

To install Zimbra Collaboration on a single server, enter Y for the ldap, logger, mta, snmp, store, and spell packages.The installer verifies that there is enough room to install Zimbra Collaboration. If there is not, the installation stops.

Checking for installable packages
Found zimbra-core
Found zimbra-ldap
Found zimbra-logger
Found zimbra-mta
Found zimbra-dnscache
Found zimbra-snmp
Found zimbra-store
Found zimbra-apache
Found zimbra-spell
Found zimbra-memcached
Found zimbra-proxy

Use Zimbra's package repository [Y]

Select the packages to install

Install zimbra-ldap [Y] y

Install zimbra-logger [Y] y

Install zimbra-mta [Y] y

Install zimbra-dnscache [Y] y

Install zimbra-snmp [Y] y

Install zimbra-store [Y] y

.

.

Checking required space for zimbra-core

Checking space for zimbra-store

Checking required packages for zimbra-store

zimbra-store package check complete.

Installing:

zimbra-core

zimbra-ldap

zimbra-logger

zimbra-mta

zimbra-dnscache

zimbra-snmp

zimbra-store

.

.

The system will be modified.

Continue? [N] y

Removing /opt/zimbra
Removing zimbra crontab entry...done.
Cleaning up zimbra init scripts...done.
Cleaning up /etc/security/limits.conf...done.

Finished removing Zimbra Collaboration Server.
Installing packages
Local packages  zimbra-core zimbra-ldap zimbra-logger zimbra-mta zimbra-snmp zimbra-store zimbra-apache zimbra-spell zimbra-proxy selected for installation
Monitor /tmp/install.log.sKlWbSLr for package installation progress
Remote package installation started
Installing zimbra-core-components  zimbra-ldap-components zimbra-mta-components zimbra-snmp-components zimbra-store-components zimbra-apache-components zimbra-spell-components zimbra-memcached zimbra-proxy-components....

Local package installation started
Installing  zimbra-core zimbra-ldap zimbra-logger zimbra-mta zimbra-snmp zimbra-store zimbra-apache zimbra-spell zimbra-proxy...done
Operations logged to /tmp/zmsetup.20160430-185719.log
Installing LDAP configuration database...done.
Setting defaults...

Step 4 : Update MX records

If it throws exception about a missing MX record as given below, which says your domain DNS records are not matching with zimbra server’s expectation, based on the hostname which is configured earlier. Find your /etc/hostname file and check DNS records to resolve the problem.

 

DNS ERROR resolving MX for mail.silent.com
It is suggested that the domain name has an MX record configured in DNS
Change domain name? [Yes]

Create domain: [mail.silent.com] example.com
MX: mail.silent.com (10.10.2.101)

Interface: 192.168.1.252
Interface: fd7a:4c04:5f10:0:20c:29ff:feb9:ecf8
Interface: 127.0.0.1
Interface: ::1
done.
Checking for port conflicts

Step 5 : Set admin password

Main menu
 1) Common Configuration:                                                  
 2) zimbra-ldap:                             Enabled                       
 3) zimbra-logger:                           Enabled                       
 4) zimbra-mta:                              Enabled                       
 5) zimbra-dnscache:                         Enabled     

 6) zimbra-snmp:                             Enabled                
 7) zimbra-store:                            Enabled                       
     +Create Admin User:                     yes                           
     +Admin user to create:               admin@mail.silent.com
 ******* +Admin Password                        UNSET                         
    ...
    ...
    ...

To change default admin password, select menu 7 and then inside zimbra store select 4, provide password and press enter

Type r to return to the Main menu.

Select from menu, or press ‘a’ to apply config (? – help) a

Save configuration data to a file? [Yes] : press enter

Save config in file: [/opt/zimbra/config.10687]:press enter



Notify Zimbra of your installation? [Yes]
Notifying Zimbra of installation via http://www.zimbra.com/cgi-bin/notify.cgi?VER=8.7.7_GA_1787.UBUNTU16_64&MAIL=admin@mail.silent.com
Notification complete

Setting up zimbra crontab…done.
Moving /tmp/zmsetup.20160430-185719.log to /opt/zimbra/log
Configuration complete – press return to exit

Step 6 : Check installation

To check admin control panel: http://mail.silent.com:7071

To check user login: http://mail.silent.com


Suggestions & inquiry are welcome http://silentinfotech.com/get

DMA Radius : How to repair "Incorrect key file for table ‘./conntrack/xxxx@xxxxxx@xxxxxx.MYI’"

Some times if your production server goes down due to power failure you might face below error while accessing “Connection Tracking Reports” in Radius manager.

Incorrect key file for table ‘./conntrack/2017@002d06@002d04.MYI’. try to repair it

Follow below mentioned steps to resolve issue.

How to repair table[Ubuntu]?

Go to database folder

cd /var/lib/mysql/conntrack
service mysql stop
myisamchk -r -v -f 2017\@002d06\@002d04.MYI
service mysql start

# don’t forgot to change table name

How to repair table[Centos]?

Go to database folder

cd /var/lib/mysql/conntrack
service mysqld stop
myisamchk -r -v -f 2017\@002d06\@002d04.MYI
service mysqld start

# don’t forgot to change table name

Recommendations

  • Use SSD or RAID based storage for faster IO and make sure you have plenty of disk space.
  • Use separate host for Connection Tracking database for better performance
  • Follow mysql performance tuning guide line https://www.mysql.com/why-mysql/performance/