Installation - Full Guide
Full guidance on how to self-host an instance.
Step 1: Point your domain to your server
Feel free to skip this step if you already have set up the domain.
If you have not done so, please add an A record on your domain's DNS server and point your domain to the server where you are going to host this software. We strongly recommend you use a subdomain such as "app.avocado.vc" as you might want to use the root domain for your general website.
We also strongly recommend you use Cloudflare to manage your domain. It is free and offers free SSL certificate. SSL is required to run this software properly.

Step 2: Install LEMP stack on Ubuntu 18.04
Feel free to skip this step if you already have set up your Nginx + PHP7.x + MySQL. Just remember to (1) create a database, (2) turn short_open_tag = On
for your PHP, and (3) have php-curl
extension installed.
Assuming you are using a new server with Ubuntu 18.04 system, please follow the following instructions to install LEMP stack.
You will need to create a database to store all your data. For example, you can name the database as avocado
. You can also create a new user that can have access to this database if you do not want to use the root
user.
$ sudo mysql -u root
mysql> CREATE DATABASE avocado;
mysql> CREATE USER 'testuser' IDENTIFIED BY 'password';
mysql> GRANT ALL PRIVILEGES ON avocado.* TO 'testuser';
mysql> FLUSH PRIVILEGES;
mysql> exit
Once you finish installing everything, make sure you turn the short_open_tag
feature on in your php.ini
file.
You can locate your php.ini
file as instructed here. Mine is located at /etc/php/7.2/fpm/php.ini
. In you php.ini file, make sure short_open_tag = on
, upload_max_filesize
and post_max_size
variables are increased to a larger value to allow you handle attachments upload.
# Edit this in your php.ini file
short_open_tag = on
upload_max_filesize = 200M;
post_max_size = 200M;
If you are using PHP-FPM, you must restart that service. Replace php7.2
with your own version, e.g, php7.1
, php7.3
, etc.
$ sudo service php7.2-fpm restart
If you have not installed the php-curl extension, you can run the following commands to install it.
$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt update
$ sudo apt install php7.2-fpm php7.2-gd php7.2-curl php7.2-mysql php7.2-dev php7.2-cli php7.2-common php7.2-mbstring php7.2-intl php7.2-zip php7.2-bcmath php7.2-exif imagemagick
To enable large attachments uploading, you also want to update the limit of your Nginx as follows.
$ sudo nano /etc/nginx/nginx.conf
# Change or add the following value in this document to a large value such as 200M
client_max_body_size 200M;
$ sudo systemctl reload nginx
Step 3: Clone the project to your server
To get a copy of this, please contact [email protected]
to get your API Key/Secret first. Clone the project to your server. Go to your web server root folder (e.g. /var/www
) and run the following command to clone a copy. Replace DOMAIN
, API_KEY
, API_SECRET
with your own ones.
$ curl "https://api.avocado.vc/install?domain=DOMAIN&key=API_KEY&secret=API_SECRET" --output install.sh && bash install.sh
Step 4: Edit your website settings
If you are using Nginx, your website settings are usually under /etc/nginx/sites-available/
. Go to this folder and create a new website profile as instructed below.
$ sudo nano /etc/nginx/sites-available/avocado
In the new file, copy and paste the following content. Please replace YOUR DOMAIN with the domain you created in the first step.
server
{
listen 80;
server_name YOUR DOMAIN;
index index.php index.html index.htm default.php default.htm default.html;
root /var/www/avocado;
# Forbidden files or directories
location ~ /\. {
deny all;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
}
location / {
try_files $uri $uri/ $uri.html $uri.php$is_args$query_string;
}
}
After adding this content, save and close the file. Enable your new server block by creating a symbolic link from your new server block configuration file (in the /etc/nginx/sites-available/
directory) to the /etc/nginx/sites-enabled/
directory:
$ sudo ln -s /etc/nginx/sites-available/avocado /etc/nginx/sites-enabled/
Then, unlink the default configuration file from the /sites-enabled/
directory:
$ sudo unlink /etc/nginx/sites-enabled/default
Last but not least, reload the Nginx configuration profiles.
$ sudo systemctl reload nginx
If you are using Apache instead of Nginx, remember to add the following to your .htaccess
file to avoid people visiting your .env
file that will contain your confidential website configuration information.
<FilesMatch "^\.">
Order allow,deny
Deny from all
</FilesMatch>
Step 5: Edit folder permissions
The software need write permission to some folders to create configuration files and save uploaded attachments.
$ cd /var/www/avocado && chmod -R 777 partials && chmod -R 777 assets/uploads
Step 6: Finish installation
Go to your website, and you will be redirected to the installation page automatically if everything works properly. For example, in this case, we can open https://demo.avocado.vc
You will need to set up your super admin account and provide the MySQL database connection information, which you set up in your first step when installing MySQL.

Once you have successfully installed, you will be redirected to the login page. You can now login with the super admin account that you just set up. You can also change any setting or customize the site under "Settings" once you log into the platform.

Last updated
Was this helpful?