User Tools

Site Tools


installation

Installation Guide

Copy the files to your server

Once you received the package file from us you need to unarchive it. It is compressed with the popular zip format and you need an unarchiving utility like Winzip or the free 7-Zip to unzip it. After unzip you will have a folder 'etano' on your computer. What you need to transfer to the server are all files inside the 'etano' folder.

To transfer the files to the server you need a ftp file transfer utility. If you don't know what that is you should try Filezilla. It's free and easy to use.

You can transfer the files either directly to your web server document root (usually 'public_html' or 'www') in which case you will access the site as http://www.yourserver.com or in a sub-folder inside the document root (e.g public_html/mysite) in which case you will access the site as http://www.yourserver.com/mysite.

Make sure that you transfer all files in binary mode or some scripts might not work. 
Configuring your ftp client to transfer in binary mode depends very much on the used program but you should find this option in the Settings/Options/Preferences section.

Create your database and database user and password

Etano needs a database to store all information about users and other data. The installer creates the necessary structure and inserts the default data but it needs to know into which database to insert this and what user and password to use to connect.

To create the database and the user you need to connect to your server control panel. Details about it should be in the welcome email you received from your host. The most popular control panels are cPanel, Plesk, Webmin.
Here are the detailed instructions for cPanel:

  1. Log in to your cPanel.
  2. Click on the 'MySQL® Databases' link.
  3. Create the Etano database:
    1. Choose a name for your Etano database (for example 'etano'), enter it in the 'New Database' field and click 'Create Database'. Please note that your chosen database name will be prefixed with your cPanel username (e.g if you had chosen 'etano' as your database and the username you use to connect to cPanel is 'myuser' then your full database name will be 'myuser_etano').
  4. Create the database user:
    1. Choose a username for Etano (for example 'etano') and enter it in the Username field.
    2. Choose a password and input it into the Password field.
    3. Click Create user. Please note that your chosen user will be prefixed with your cPanel username (e.g if you had chosen 'etano' as your database user and the username you use to connect to cPanel is 'myuser' then your full database user will be 'myuser_etano').
  5. Assign the user to the database:
    1. Under 'Add Users To Your Database', select your Etano username from the User dropdown list, then select your Etano database from the Database dropdown list. Under 'Privileges' check ALL, then click 'Add User To Database'.
  6. Back to the 'MySQL Account Maintenance' screen you should see a list with current databases. Please note the database name, hostname, username listed in the 'Connection Strings' section of your newly created database. You will need them during the Etano installation process. The php connection string looks like this:
$dbh=mysql_connect ("hostname", "username", "<PASSWORD HERE>") or die ('I cannot connect to the database because: ' . mysql_error());
mysql_select_db ("databasename");

Point your browser to your site and follow the installation process

Note: At this point, depending on your configuration, you might receive an error: **500 Internal Server Error**
In this case please edit the .htaccess file and remove all lines starting with php_value or php_flag. 
These lines set the best environment for Etano but it can run even if you remove these lines.
Once you have edited the .htaccess file then return to the install page.
You may need to enter the full path ... http://yoursite.com/install/

Then simply continue to follow the instructions on screen. The default username and password for the administration panel are:
Username: admin
Password: demo

You are urged to change the default password the first time you log into your admin panel. Keeping the default password may expose your site to hackers.

At the end of the installation process you will get some information regarding the cron job you need to set. Please save this information until you complete the next step (setting up the periodic jobs). The important bit is the "command to be run by cron".

Set up the periodic maintenance task

Cron Jobs - Scheduled Maintenance Tasks

The application depends on a single periodic job to do all maintenance tasks like creating cache files for new members or blog posts, sending messages and emails from/to members, removing invalid members (and the ones marked for deletion by the administrator), cleaning up and optimizing the database, fetching news from foreign feeds, etc. This periodic job has to run every 5 minutes. Depending on the time of the day and the date, the script will do different tasks. The site will seem non-functional until you activate this periodic job so it is very important that you set it up correctly from the beginning.

In the previous step we told you to save the "command to be run by cron" which you were given at the end of the installation process. You will need to use it below. If the command starts literally with "/path/to/php -f …" then you have a problem. It means that the installer was unable to auto-detect where the php binary is and you cannot continue until you find it. There are alternative ways to run the periodic job but they are less desirable. For alternative ways see the end of this section. But before you try the alternatives you could ask your hosting provider about the "path to php cli binary". CLI stands for 'command line interface' and it means that you need to run a php script from the command line.

Assuming that your php binary path was correctly detected (the command listed in the install process should be like "/usr/bin/php -f ….") then you can continue with this document.

On linux operating systems the periodic jobs are run by the cron utility (and are called "cron jobs"). 
On Windows they are called scheduled tasks and are run by the Windows scheduler.

Setting up the jobs depends a lot on your system. We'll explain below how to set it up in cPanel and then directly from the command line:

Setting up the Etano cron job using cPanel

What is cPanel?
cPanel is the most widely used web based control panel tool provided by your host which helps you manage your web hosting account through a web interface. If your host uses another control panel such as "Plesk" you'll need to seek instructions from your host or another source.

What is the purpose of Cron Jobs?
Cron Jobs are designed to maintain a list of commands or tasks that the Etano system needs to run at various time intervals, including periodic maintenance. Having tasks run at various times also helps spread the load of resources used so your site runs as smooth and efficent as possible, which becomes especially important as your site grows where you begin to have lots of members online.

Important Note

Please Read:
Make sure that your host allows crons to be run every 5 minutes, some shared hosting plans do not allow crons to be run under 10 or even 15 minutes. GoDaddy and HostGator are a couple of examples, they only allow cron jobs under 15 minutes on their VPS and Dedicated server plans. Many hosts aren't up-front as to how frequently you can run cron jobs, so you may need to do some digging in their site terms or forums, or ask them directly. Most will allow you to make cron settings of 5 minutes in cPanel, but that doesn't necessarily mean it's going to actually work.

Setting up the cron job in cPanel:

1) Access your cPanel interface and login, then click on the icon located in the Advanced section of your cPanel interface.


You may next be asked to choose your experience level. If so choose 'Standard'.

2) Select the predefined time periods shown below from the Common Settings drop-down menu.


The "Command" field is where you enter the "command to be run by cron" that you received at the end of the installation process, which should look something like this:
/usr/bin/php -f /home/your_user/public_html/tools/cron/cron.php

If you failed to make a note of (or copy) the "command to be run by cron" that you received at the end of the installation process, you will need to either go thru the install process again, or ask your host what the correct command is for your server. You can also try getting your correct server path by viewing the includes/defines.inc.php file on your server, and looking at this line:

define('_BASEPATH_','/home/your_user/public_html');

Then you would include the path in the cron command so it's like this:

/usr/bin/php -f /home/your_user/public_html/tools/cron/cron.php

Make sure that your cron jobs are set at */5 * * * * and not 5 * * * *

*/5 is for every 5 mins and capable of running crons every 5,10,15,20,25,30,35,40,45,50,55 minutes.

If you have the cron set at 5 * * * it will only run every 5 minutes but will not run any cron jobs set at other intervals less than one hour, and the Etano script has some key cron jobs that need to be run every 5 and 10 minutes.

3) This step is optional. Enter the email address where you want the cron output sent to. This can be beneficial if you're having issues with your cron jobs as you will be able to tell if the crons are working or failing.


Some common symptoms that you're crons might not be functioning properly:
When a new member joins, and after waiting 10 or 15 minutes, they don't appear in the search results or in the "Latest Members" widget. New blogs don't show up after waiting 10 or 15 minutes. Certian email notifications not being sent out.

Note: Once you get the cron jobs working properly, it won't show members that were created while the crons weren't functioning, the only way they will be released and updated is by 'regenerating' your skin under the 'Skin Settings' in your Etano admin.


Adding a new cron job from the command line

Adding cron jobs from the command line is for advanced users who know their way within the linux environment and it is not recommended for beginner. However, here are the steps: 1. In order to avoid permission conflicts you should run the periodic job as the same user with the one apache runs as for your site. Alternatively you can run the cron job as root. 2. enter crontab -e 3. The default editor of the system (which usually is 'vi') should have been started with the current crontab file. Go to the end of the file and enter this line:
*/5 * * * * /usr/bin/php -f /home/your_user/public_html/tools/cron/cron.php
Of course, you need to change the path to php binary and the path to the cron.php file accordingly. You should have the actual command from the last step of the install process. 4. Save and quit.

The 'vi' editor has its own set of commands for adding a new line or saving and quitting. 
Here is a short list, for more details please consult the vi manual:
- new line: press ESC then press 'o'
- save and quit: press ESC then enter ':wq' and press ENTER
- quit without save: press ESC then enter ':q!' and press ENTER
- delete a character: press ESC then go with the cursor to the character you want to delete and press 'x'
- delete a line: press ESC then go with the cursor to the line you want to delete and press 'd' twice.

Alternative ways to run the periodic task

If your server doesn't have the php cli binary installed or if your host does not allow you to access it, you can simulate a browser accessing the cron script every 5 minutes. For this we created the cron_web.php script. If the path to the cron script you were given at the end of the install process is
/home/your_user/public_html/tools/cron/cron.php
then the path to cron_web.php is
/home/your_user/public_html/tools/cron/cron_web.php

You can use the 'wget' utility to simulate a browser. It is a widely used utility on linux systems so it is likely that you have it installed on your server. Problem is that you need to figure out the path to wget. Ask your host if not sure. The command to be run by cron is:
/path/to/wget -q -O /dev/null http://www.yourserver.com/tools/cron/cron_web.php?lk=«license key»

Replace '/path/to/wget' with the actual path to wget, 'http://www.yourserver.com' with the actual address of your site and '«license key»' with the license number of your Etano. For example: /usr/bin/wget -q -O /dev/null http://www.myserver.com/tools/cron/cron_web.php?lk=1234

Create Consistent Base URL

Some web servers treat URLs with www and non www as totally separate URLs or domains which can cause potential issues. For example if your BASE URL is defined with the the www prefix www.yoursite.com but you type in just yoursite.com into the browser's URL field, this can potentially cause problems if the URL changes with or without the WWW prefix while browsing or navigating to different pages.

Most common issues are users being logged out when navigating the site, or during the registration process when a user attempts to select their state it continues to try and load but never actually loads.

To prevent this from potentially happening it's best to make it always rewrite with the www prefix by including the following code in the top portion of your .htaccess file.

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^yoursite.com [NC]
RewriteRule ^(.*)$ http://www.yoursite.com/$1 [R=301,L]

Then in the includes/defines.inc.php file on your server be sure your Base URL has the WWW prefix, which will be in line #7:

define('_BASEURL_','http://www.yoursite.com');// protocol required (http:// )

Helper scripts

If your cron job didn't run for a while (or not right after you finished the install process), some cache files might not have been generated. The cron job only generates cache files for new members and blog posts (approved in the last 10 minutes). It does not generate the cache for members who joined yesterday for example. In this case yesterday's members will not appear in search results, although nothing is wrong with the site.
To regenerate the cache for ALL blog post caches you can access http://www.yourserver.com/tools/cron/gen_blogs_full.php from your browser.
To regenerate the cache for ALL members go to your admin panel - Skin Settings (in the Site Setup menu category) and click on 'Regenerate all skins' link.

installation.txt · Last modified: 2016/02/01 17:45 by admin