Difference between revisions of "Cheetah Detailed Install Guide"

From Cheetah Documentation Wiki
Jump to navigation Jump to search
Line 41: Line 41:
 
<blockquote>'''''Note 1.''' In this example, '''/home/user/public_html''' is a sample folder where your web site is going to be installed. In your case it may be a different folder.''
 
<blockquote>'''''Note 1.''' In this example, '''/home/user/public_html''' is a sample folder where your web site is going to be installed. In your case it may be a different folder.''
 
</blockquote>
 
</blockquote>
<blockquote>'''''Note 2.''' The Cheetah package will be extracted into the same directory where you have uploaded Cheetah-X.X.X.zip. Go to [http://www.boonex.com/dolphin/download/ Cheetah Download] page to get a correct link to the latest package download (where X.X.X are real numbers).''
+
<blockquote>'''''Note 2.''' The Cheetah package will be extracted into the same directory where you have uploaded Cheetah-X.X.X.zip. Go to [https://www.cheetahwsb.com/page/downloads Cheetah Download] page to get a correct link to the latest package download (where X.X.X are real numbers).''
 
</blockquote>
 
</blockquote>
 
<blockquote><blockquote>Now you will be able to unzip the package under your shell account using the following command:
 
<blockquote><blockquote>Now you will be able to unzip the package under your shell account using the following command:
Line 59: Line 59:
  
 
<pre class="wiki">unzip -d Cheetah_directory Cheetah-v.X.X</pre></blockquote></blockquote>
 
<pre class="wiki">unzip -d Cheetah_directory Cheetah-v.X.X</pre></blockquote></blockquote>
* By default Cheetah includes the '''ffmpeg''' binary for the latest Linux OS only. If you're installing to a different OS or the default ffmpeg doesn't work, please refer to [https://www.boonex.com/trac/dolphin/wiki/GenDol7TShooter Cheetah Troubleshooter].
+
* By default Cheetah includes the '''ffmpeg''' binary for the latest Linux OS only. If you're installing to a different OS or the default ffmpeg doesn't work, please refer to [[Cheetah_Troubleshooter Cheetah|Troubleshooter]].
  
  

Revision as of 15:25, 1 April 2021

Cheetah Detailed Install Guide

Cheetah is a web-platform. It need to be a installed to a web server. You can setup your own server, configure a web server on remote hosting, or use one of our recommended hosting providers. Cheetah can work on shared hosting account, VPS, dedicated server, cloud server or even server cluster. The following Installation Guide gives generic installation instructions - your server setup may require additional or different installation procedures.

Before installing Cheetah, make sure your web server is configures in accordance with the Cheetah System Requirements and that you have all the information to get it done.

Before You Install

Start by checking that you have the following:

  • Domain name or IP address to identify your site.
  • Access to your web server via shell or FTP (logins and passwords, normally provided by your hosting provider).


  • Access to your MySQL Database Management System (usually phpMyAdmin which can be accessed via your host's Control Panel).
  • Access to your Web server Management Interface (CPanel or shell (for experienced users)).




Part 1: Download and Extract


Download and unzip the Cheetah package to your local computer or directly to the server.

  • If you plan to upload Cheetah to a remote web server, download it to your computer using a web browser and unzip the package into a folder on your local computer.
  • If you have shell access to your server, you can download Cheetah right to it. Just use this command:
cd /home/user/public_html/
wget https://www.cheetahwsb.com/downloads/Cheetah-X.X.X

Note 1. In this example, /home/user/public_html is a sample folder where your web site is going to be installed. In your case it may be a different folder.

Note 2. The Cheetah package will be extracted into the same directory where you have uploaded Cheetah-X.X.X.zip. Go to Cheetah Download page to get a correct link to the latest package download (where X.X.X are real numbers).

Now you will be able to unzip the package under your shell account using the following command:

unzip Cheetah-X.X.X.zip

or

unzip -d Cheetah_directory Cheetah-X.X.X.zip

Note 1. In this example, Cheetah_directory is the name of the sub-directory where Cheetah files will be extracted. Use this method if you don't want to install Cheetah in the root folder of your site.

Note 2. If you downloaded Cheetah using the wget command, the result may be called Cheetah-X.X.X (without the zip extension). In this case, use the following commands:

In this case, use the following command:

unzip Cheetah-v.X.X

or

unzip -d Cheetah_directory Cheetah-v.X.X
  • By default Cheetah includes the ffmpeg binary for the latest Linux OS only. If you're installing to a different OS or the default ffmpeg doesn't work, please refer to Troubleshooter.



Part 2: Create a Database and a User


Create a database for Cheetah on your web server, as well as a MySQL user who will have all privileges for accessing and modifying it. There are three ways to do this:

Using cPanel

  1. Log in to your cPanel.


  1. Go to MySQL Databases.


  1. Create a database user:

3a. Choose a username for Cheetah (for example "dolphin") and enter it in the Username field.

3b. Choose a hard-to-guess password (ideally containing a combination of upper- and lower-case letters, numbers, and symbols), and input it into the Password field.

3c. Click Create User.


  1. Create a Cheetah database and add the user to it:

4a. Choose a name for your Cheetah database (for example "dolphin" or "community"), input it in the New Database field and click Create Database.

4b. Under Add Users To Your Database, select your Cheetah username from the User dropdown list, then select your Cheetah database from the Database dropdown list. Make sure ALL is checked under Privileges and click Add User To Database.


  1. When you return to the main MySQL Account Maintenance screen, cPanel will list information about the database you just created. You should see the username you just added to the database (with ALL PRIVILEGES), as well as a few sample Connection Strings for you to use in Perl or PHP scripts to connect to the database. The PHP code will have the following format:

    $dbh = mysql_connect("hostname", "username", "") or die ("message");
    mysql_select_db("databasename");


Write down the values of hostname, username, databasename, and the password you have chosen. (Note that hostname will usually be localhost.)

Using phpMyAdmin

If your web server has phpMyAdmin installed, and you are logged in as the MySQL administrator, you can follow these instructions to create your Cheetah username and database.

Note: These instructions are written for phpMyAdmin 2.6.1; the phpMyAdmin user interface can vary slightly between versions.

  1. Create a database:

1a. Choose a name for your Cheetah database (for example "dolphin" or "mycommunity"), enter it in the Create new database field and click Create.

1b. Click the Home icon in the upper left to return to the main page, then click Privileges and follow these steps to create a user:

1b-1. Click Add a new User.

1b-2. Chose a user name for Cheetah (for example "dolphin") and enter it in the User name field (make sure "Use text field:" is selected from the dropdown list).

1b-3. Leave the Host field blank.

1b-4. Choose a difficult-to-guess password (ideally containing a combination of upper- and lower-case letters, numbers, and symbols), and enter it in the Password field (make sure "Use text field:" is selected from the dropdown list.) Re-enter the password in the Re-type field.

1c. Write down the username and password you have chosen.

1d. Leave the default values for the Global privileges section.

1e. Click Go.


  1. Return to the Privileges screen and click the Edit privileges icon on the user you've just created for Cheetah. In the Database-specific privileges section, select the database you've just created for Cheetah from the Add privileges to the following database dropdown list. The page will refresh with privileges for that database. Click Check All to select all privileges, and click Go.


  1. On the resulting page, make note of the host name listed after "Server:" at the top of the page. (This will usually be localhost.)

Using MySQL Client

If you have shell access to your web server, and your MySQL user has permissions to create MySQL users and databases, you can follow the sample session below to create your Cheetah username and database.

$ mysql -u adminusername -p
Enter password:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5340 to server version: 3.23.54
 
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
 
mysql> CREATE DATABASE databasename;
Query OK, 1 row affected (0.00 sec)
 
mysql> GRANT ALL PRIVILEGES ON databasename.* TO "cheetahusername"@"hostname" IDENTIFIED BY "password";
Query OK, 0 rows affected (0.00 sec)
  
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)

mysql> EXIT
Bye
$ 

In the above:

  • adminusername will typically be root, unless you want to specify a different privileged account.
  • dolphin or mycommunity can be sample values for databasename.
  • dolphin can be a sample value for cheetahusername.
  • hostname will usually be localhost. If you don't know what this value should be, refer to your system administrator.
  • password should be a difficult-to-guess password, ideally containing a combination of upper- and lower-case letters, numbers, and symbols.

Write down the values you used for databasename, cheetahusername, hostname, and password.



Part 3: Place the Files


Now you will need to decide where on your web site the Cheetah script should be installed. These are possible options:

Note: The location of your root web directory in the filesystem on your web server will vary across hosting providers and operating systems. Check with your hosting provider or system administrator if you do not know where this is.

In the Root Directory

  • If you need to upload your files into your web server, use your favorite FTP client to upload all the contents of the Cheetah-v.X.X.zip archive into the root directory of your web site.
  • If your files are already on your web server, and you are using shell access to install Cheetah, move all of the contents of the Cheetah-v.X.X directory (but not the directory itself) into the root directory of your web site.

In a Subdirectory

  • If you need to upload your files into your web server, create a directory with your desired name in the root directory of your web site, then use your favorite FTP client to upload the contents of Cheetah-v.X.X.zip archive into the created directory.
  • If your files are already on your web server, and you are using shell access to install Cheetah, move the Cheetah-v.X.X directory to your desired location within the root directory of your web site and rename the directory to your desired name.



Part 4: Run the Install Script


Using your favorite web browser, navigate to install/index.php within the directory into which you have just installed Cheetah on your web site:

After this the installation instructions should appear in your browser's window. Follow them carefully to complete the installation. Here's a summary of the info you will have to specify:



Install Script - Step 1 - Permissions

On the first page of the install process you can see the files and folders whose permissions should be properly set up. There are the following ways to do this:


USING SHELL CLIENT

  1. If PHP is running as an Apache module on Unix systems - log into your shell account using your favorite shell client and change directories to that containing your Cheetah script files. Now run the following commands under your SSH prompt:
chmod 777 ./inc ./backup ./cache ./cache_public ./langs ./media/app ./media/images ./media/images/banners ./media/images/blog ./media/images/classifieds ./media/images/membership ./media/images/profile ./media/images/profile_bg ./media/images/promo ./media/images/promo/original ./tmp ./plugins/htmlpurifier/standalone/HTMLPurifier/DefinitionCache/Serializer ./plugins/htmlpurifier/standalone/HTMLPurifier/DefinitionCache/Serializer/HTML ./plugins/htmlpurifier/standalone/HTMLPurifier/DefinitionCache/Serializer/CSS ./plugins/htmlpurifier/standalone/HTMLPurifier/DefinitionCache/Serializer/Test ./plugins/htmlpurifier/standalone/HTMLPurifier/DefinitionCache/Serializer/URI ./media/moxie/files ./media/moxie/storage

chmod 777 ./flash/modules/board/files ./flash/modules/chat/files ./flash/modules/photo/files ./flash/modules/im/files ./flash/modules/mp3/files ./flash/modules/video/files ./flash/modules/video_comments/files

chmod 666 inc/prof.inc.php sitemap.xml

chmod 666 ./flash/modules/global/data/integration.dat ./flash/modules/board/xml/config.xml ./flash/modules/board/xml/langs.xml ./flash/modules/board/xml/main.xml ./flash/modules/board/xml/skins.xml ./flash/modules/chat/xml/config.xml ./flash/modules/chat/xml/langs.xml ./flash/modules/chat/xml/main.xml ./flash/modules/chat/xml/skins.xml ./flash/modules/desktop/xml/config.xml ./flash/modules/desktop/xml/langs.xml ./flash/modules/desktop/xml/main.xml ./flash/modules/desktop/xml/skins.xml ./flash/modules/global/xml/config.xml ./flash/modules/global/xml/main.xml ./flash/modules/im/xml/config.xml ./flash/modules/im/xml/langs.xml ./flash/modules/im/xml/main.xml ./flash/modules/im/xml/skins.xml ./flash/modules/mp3/xml/config.xml ./flash/modules/mp3/xml/langs.xml ./flash/modules/mp3/xml/main.xml ./flash/modules/mp3/xml/skins.xml ./flash/modules/photo/xml/config.xml ./flash/modules/photo/xml/langs.xml ./flash/modules/photo/xml/main.xml ./flash/modules/photo/xml/skins.xml ./flash/modules/video/xml/config.xml ./flash/modules/video/xml/langs.xml ./flash/modules/video/xml/main.xml ./flash/modules/video/xml/skins.xml ./flash/modules/video_comments/xml/config.xml ./flash/modules/video_comments/xml/langs.xml ./flash/modules/video_comments/xml/main.xml ./flash/modules/video_comments/xml/skins.xml
chmod 777 flash/modules/global/app/ffmpeg.exe


Note: all the other files in the Cheetah installation folder should have 644 permissions, and subfolders should have 755 permissions.


  1. If PHP is running as CGI on Unix systems all folders should have 755 permissions and all files should have 644 permissions, except for the ffmpeg.exe file, which should have 755 permissions.

To do this quickly, you can run the following commands when you're in the Cheetah installation folder under your SSH account:

find ./ -type d -exec chmod 755 {} \;
find ./ -type f -exec chmod 644 {} \;
chmod 755 flash/modules/global/app/ffmpeg.exe;
  1. If your site is to be installed on Windows, you don't need to change any permissions.


USING FTP CLIENT

Log into your FTP account using your favorite FTP client and navigate to the folder in which you uploaded the contents of the Cheetah-v.X.X.zip archive.

Now run the same commands as in the previous paragraph but replacing chmod with SITE CHMOD and placing every file or folder on a separate line, for example:

SITE CHMOD 777 ./backup
SITE CHMOD 777 ./cache
SITE CHMOD 777 ./groups/gallery
SITE CHMOD 777 ./groups/orca/cachejs
SITE CHMOD 777 ./groups/orca/classes
SITE CHMOD 666 ./ray/modules/board/xml/config.xml

After all permissions are correctly set, click Next to continue.



Install Script - Step 2 - Paths

On the second page of the install you will have to indicate the necessary paths required by the script. Here they are:

  • Site URL: here you should indicate the URL of your Cheetah folder including "http", such as: http://mysite.com/mycommunity/ (this path is usually properly determined by the installation script but you still should double check)


  • Directory root: this should be the server absolute path to the Cheetah folder, such as:

on Unix systems:

/home/myaccount/public_html/mycommunity/

on Windows systems:

C:/webservers/home/myaccount/www/mycommunity/

This path is usually properly determined by the installation script but you should still double check.

  • Path to php binary: here you should indicate the absolute path to php executable file on your server, such as:

on Unix systems:

/usr/local/bin/php 

on Windows systems:

C:/php/php.exe 

This executable will be used to run crons (periodic tasks).

  • Path to mogrify, Path to convert and Path to composite: these paths indicate the location of 'ImageMagick' applications, which will be necessary if the php running on your server is not compiled with 'GD library';

Imagemagick is just an alternative for GD - image processing application. If PHP is compiled with GD library and you're not going to use 'ImageMagick' with Cheetah, you can omit these steps and keep the default values.

The real paths can be as follows:

/usr/local/bin/mogrify
/usr/local/bin/convert
/usr/local/bin/composite
  • Check GD installed: this field shows whether GD library is installed or not

Click Next to continue.



Install Script - Step 3 - Database

On the third page you will specify the database information:

  • SQL file: this is the relative path to the database creation file, which is determined by default. If your file resides in a different directory, you should indicate its relative path here. The base folder of the path is considered to be the Cheetah installation folder.
  • Empty database: choose "yes" or "no". Choosing "yes" will empty the whole database, i.e. removes its tables. Think twice before choosing this option. The option "no" is the default option and will cause no harm to your database.
  • Empty tables: choose "yes" or "no". Choosing "yes" will empty all the tables in the database while keeping the tables structure intact. The default option is "yes" and you shouldn't make any changes here.
  • Database host name: here you should indicate the host name of your database, which is usually 'localhost'. Refer to the notes you made during database creation.
  • Database name, Database user and Database password: here you should indicate the name of the database and the user requisites you created in the Step 2. Again, refer to the notes you made when creating the database and the user.

Click Next to continue.



Install Script - Step 4 - Config

On this page you will set up General Site Configuration:

  • Site Title/Logo: this is a word or phrase which will be displayed on the title bar of your web browser
  • Site e-mail: indicate the email which will be used for getting info about purchased memberships, mass mailer's status, spam reports, and requests for canceling subscriptions.
  • Notify e-mail: indicate the email address which will be shown in the "From" field of cupid and mass mails as well as profiles confirmation and activation messages.
  • Bug report email: indicate the email address for collecting MySQL bug reports for subsequent debugging.
  • Set Admin Login information - you should choose the login and password for your Administration Panel.



Install Script - Step 5 - Cron Jobs

LINUX

  • USING CPANEL
  1. Click the Cron Jobs link under your CPanel account and choose Advanced (Linux Style)
  2. Indicate the email address for collecting information about cron execution
  3. Return to the Cheetah installation page and copy the command to be run as cron (omitting the zeros and asterisks), for example:

    cd /home/user/public_html/dolphin/periodic; /usr/local/bin/php -q cron.php

    and insert it into the first field of your CPanel cron jobs management page schedule the time for this job, which also can be fetched from the Cheetah installation page, such as:

    * * * * * 

    (which means: run the script every minute)

  4. Apply the changes and click Back to return to the Cron Management page
  • USING SHELL

run the following command

crontab -e

This will open your default text editor, where you will have to insert the following lines of code to be executed:

MAILTO=myemail@mysite.com
* * * * * cd /home/user/public_html/dolphin/periodic; /usr/local/bin/php -q cron.php

Save the file and exit the editor.

Hint: The above lines serve as an example. The actual Cron Job commands are generated by the script at 6th step of the installation process. And you can easily copy&paste them into the "crontab" file.

WINDOWS

  1. create a batch file for the cron. For example:

c:\wamp\www\periodic\cron.bat


This is a sample content of the above mentioned file:

c:\wamp\www\periodic\cron.bat:

c:
cd c:\wamp\www\periodic\
C:\wamp\bin\php\php5.3.10\php.exe -f cron.php


2) then assign cron for this file this way (to run every minute):

schtasks /Create /tn dolphin_cron /sc MINUTE /mo 1 /tr c:\wamp\www\periodic\cron.bat

Install Script - Step 6 - Permissions Reversal

Now you should set the post-installation permissions and after that delete the install folder.

  • Using an FTP client

Log into your FTP account using your favorite FTP client and navigate to the folder in which you have installed Cheetah script.

Run the following command:

SITE CHMOD 755 ./inc
  • Using a shell client.

Log into your shell account using your favorite shell client and change directory for that which contains your installed Cheetah script. Now run the following commands under your SSH prompt:

chmod 755 ./inc

Note: If your PHP is installed as CGI or your server's OS is Windows, you can Skip this window.

Now you must delete or rename the /install folder.


Install Script - Step 7 - Modules

At this stage you are supposed to choose which modules you'd like to install, since Cheetah has no modules installed by default. To install and activate new modules you need to go to the Admin Panel of your newly installed site (refer to Administration Manual - Modules for more information).



Part 5: Final Step


After the installation is finished and the script has logged you in, you need to register your license and install the modules that you want to have on your site.

Register your license

Log into the administration area of your site. Its URL looks like this: http://mysite.com/administration.

After you have successfully logged in, you will be prompted for your license number. Just type it in the provided window and press "Register".

If your license can't be registered due to some problem, the window will not go away. In this case, check your license number and whether it is already registered for a different domain. If it is already registered, you can reset it in your Unity account and then use to register the newly installed site.

Later, you can change your license for this site, for example if you want to switch from the Advanced+ license to the Permanent one. To do so, you need to proceed to Settings -> License and enter the license number in the Register a new license field. Click Register and log out of admin.

Install the modules

Go to Tools -> Modules where you can find modules that are installed and not installed. By default, there are no installed modules, and you have to do it manually.

If your web server is running PHP as an Apache module, you will have to change some permissions to be able to install some modules. Here is the whole list of the correct permissions:

chmod 777 modules/cheetah/avatar/data/images/ modules/cheetah/avatar/data/tmp/
chmod 777 modules/cheetah/forum/classes modules/cheetah/forum/conf modules/cheetah/forum/layout modules/cheetah/forum/log modules/cheetah/forum/js modules/cheetah/forum/cachejs modules/cheetah/forum/data/attachments
chmod 777 modules/cheetah/photos/data/files
chmod 777 modules/cheetah/files/data/files
chmod 777 modules/cheetah/desktop/file
chmod 777 modules/cheetah/profile_customize/data/images
chmod 666 modules/cheetah/profiler/log/profiler.log
chmod 777 modules/cheetah/profiler/log
chmod 777 modules/cheetah/smtpmailer/data/logs
chmod 777 modules/cheetah/sites/data/images/thumbs
chmod 777 modules/cheetah/site_customize/data/images
chmod 777 modules/cheetah/paypal_payflow/log

You can skip the above paragraph if PHP on your server is running in CGI mode.

Now you can check all modules you need and install them. Please note that many of them are depending on other modules, so please pay attention to error messages that may appear in the Operation Results area. Just click the plus sign next to the error and you will see its description.

If the error message states that you first need to install some other module before installing the current one, then do it and then return to the module you were installing in the first place.

Some error messages may state that the module is already installed. In this case, just ignore the message.

The installed modules settings will automatically appear in the Modules area, and their menus will be automatically added to your site interface.