Skip to content
Alex Trofimov edited this page Jul 3, 2019 · 33 revisions

1. How to configure Jot Messenger in UNA Cloud?

Jot server is automatically installed on you UNA cloud, Jot Server has the same address as you site but with 5000 port. If you decided to use it, then after installing Jot Messenger module you need to enter Jot Server address in Jot Messenger settings (Studio > Messenger). For example if your site has https://mysite.una.io URL, then you need to enter the following for the "Server URL for messenger" setting: https://mysite.una.io:5000

2. How to use own domain for my site in UNA Cloud?

Go to your DNS management page, usually it's in your registrar (where you bought the domain) then add A DNS recordы pointing to your UNA site IP, which can be found here on your Networks page - https://una.io/page/hosting-api-subscriptions-user.
You need to do this before changing domain in UNA interface.

Please note that your need separate domain for Rocket.Chat as well, so you need to add subdomain for the chat, for example you can add A DNS record for chat subdomain pointing to the same IP, for example - chat.mysite.com.

Then wait some time until your domain and chat subdomain are resolving to the new IP (usually within 1 hour, but can take up to 48 hours), then go to your Networks page - https://una.io/page/hosting-api-subscriptions-user, edit your cloud configuration and enter your new domain for the site and for the chat.

3. How to configure Rocket.Chat in UNA Cloud?

Rocket.Chat server should be already installed on your UNA cloud.

If you are using your own domain then you choose your chat URL by yourself, if you are using .una.io domain, then it's automatically generated by adding -chat to your subdomain, for example if your site URL is https://orange.una.io then chat URL will be https://orange-chat.una.io.

To enter to your Rocket.Chat admin panel, use the same email and password you've specified during your site creation, the same credentials are used to login to UNA Studio.

To allow your users to login to the chat with UNA login and password, you need to configure it.

First - install OAuth2 Server module for UNA.

Then go to Studio > OAuth2 Server > click "Add New Client", enter any title (for example: Orange) and your Rocket.Chat server URL (for example: https://orange-chat.una.io), after clicking "Submit" you should have new key&secret generated for you to use it in Rocket.Chat. Then go to your Rocket.Chat > Administration > OAuth > expand "UNA" section > then enter the following:

  • URL: enter your UNA site URL, for example https://orange.una.io
  • Site Name: any name, for example Orange
  • Enable: set to true
  • Id: previously generated in UNA Client Key (for example: wyncwafugq)
  • Secret: previously generated in UNA Client Secret (for example: sg45wf6myz3tsbn2stqb7ewky4ybevua)

Then click "Save Changes". After this configuration users should be able to login to the chat by clicking on separate button above login and password inputs, users will be redirected to your UNA site for the confirmation, after confirmation users will be redirected back to the chat and will be already logged in.

4. How to migrate from UNA Cloud to other hosting ?

Please note, some advanced knowledge is required to perform this, or you can ask hosting support (where your site is moved to) to do it for your, you will just need to provide them your site backup and these instructions. These instructions assume that you are using *nix OS and you have terminal/SSH access to the site where UNA site need to be moved.

Download backup

You can download full backup of your site at any time, by pressing "Export" button. After some time archive with site and database backup will be generated. If you have very large site then this may not work, then please ask support to move the site for you.

Unpack backup

Then on another hosting you need to unpack your site to the desired directory, please note that after unpacking all files will be in html folder, so it maybe you will need to move files to the desired location after unpacking. You can type the following command in terminal to unpack the archive:

tar -xzf mysite_2019-04-29_382108032afca2e7f91ba32e4a71b8b5.tgz

Import database

Among unpacked files there is db_dump.sql file, which is dump of you MYSQL database. Please note that this file may contain multibyte characters(like Emoji) and you need properly import it to not damage these symbols. After creating database make sure that default database collation is set to utf8mb4_unicode_ci. Then create special file in the same folder as db_dump.sql to perform import, let's name it db_dump_import_mb4.sql:

USE yournewdatabase;
SET NAMES 'utf8mb4';
SOURCE db_dump.sql;
EXIT

Then run this new file to perform import, type in terminal:

mysql -u yourdatabaseusername -p yournewdatabase < db_dump_import_mb4.sql

After database import is completed you can remove both files:

rm -f db_dump_import_mb4.sql db_dump.sql

Set configuration

Then you need to change configuration in inc/header.inc.php` file, change the following lines:

...
define('BX_DOL_URL_ROOT', 'https://your-site-domain.com/'); ///< site url
...
define('BX_DIRECTORY_PATH_ROOT', '/path/to/your/site/with/slash/at/the/end/'); ///< site path
...
define('BX_SYSTEM_JAVA', '/path/to/java'); ///< path to java binary
define('BX_SYSTEM_FFMPEG', '/path/to/your/site/with/slash/at/the/end/plugins/ffmpeg/ffmpeg.exe'); ///< path to ffmpeg binary
...
define('BX_DATABASE_HOST', 'localhost'); ///< db host
define('BX_DATABASE_SOCK', ''); ///< db socket
define('BX_DATABASE_PORT', ''); ///< db port
define('BX_DATABASE_USER', 'yourdatabaseusername'); ///< db user
define('BX_DATABASE_PASS', 'yourdatabaseuserpassword'); ///< db password
define('BX_DATABASE_NAME', 'yournewdatabase'); ///< db name
...

Add missing folders

Then you need to create missing folders, run the following commands in terminal considering you are located in the root of your UNA site:

mkdir cache cache_public 
echo 'Deny from all' > ./cache/.htaccess
echo 'Options -Indexes' > ./cache_public/.htaccess
echo '<FilesMatch "^.*\.php|.*\.php5$">' >> ./cache_public/.htaccess
echo 'ForceType application/x-httpd-php-source' >> ./cache_public/.htaccess
echo '</FilesMatch>' >> ./cache_public/.htaccess

Set files permissions

Now you should have your site working already, but most probably you'll need to set special permissions for files and folders.
Please note that, if your web-server is run under the same user as your UNA files owner you can skip it, you can check if folders are writable already by going to Studio > Dashboard > Host Tools > Permissions or if you have some permissions errors when you try to access the site.
You can run the following commands in terminal when you are in UNA root folder to set permissions:

chmod 777 cache cache_public logs tmp storage
chmod +x plugins/ffmpeg/ffmpeg.exe

Then change permissions for files in these folders:

find ./logs -type f -exec chown 666 {} \;
find ./logs -type d -exec chown 777 {} \;
find ./tmp -type f -exec chown 666 {} \;
find ./tmp -type d -exec chown 777 {} \;
find ./storage -type f -exec chown 666 {} \;
find ./storage -type d -exec chown 777 {} \;

Set cron jobs

The last step is to set cron jobs, you need to add special command to run every minute:

* * * * * /path/to/php /path/to/your/site/with/slash/at/the/end/periodic/cron.php

Where * * * * * means every minute, and /path/to/php /path/to/your/site/with/slash/at/the/end/periodic/cron.php is the actual command.
Usually it can be done by running the following command in terminal:

crontab -e

Or using some other tools in your site control panel.

5. How to use reset my UNA Cloud site ?

It's possible to erase your current cloud instance and start new one, it will cause that all data will be erased and you will have empty site. Also you can't use the same site name, you need to choose different one, but then you can switch to your original site name. For example, if you have sunlandia.com site and you want to reset it, follow the following steps:

  • open the following page - https://una.io/page/my-sites - all your site data will be lost at this stage
  • erase your current cloud instance by selecting "Erase" action for your sunlandia.com site
  • launch the site again on .una.io subdomain, using sunlandia subdomain for site and sunlandia-chat subdomain for the chat
  • then change site back to your own domain sunlandia.com and chat.sunlandia.com for the chat
  • reset any paid licenses by selecting "Reset" action for the modules or subscriptions you are going to use on your sunlandia.com site
Clone this wiki locally