= Dolphin 6 Installation Guide = Before installing Dolphin, you need to check that your hosting provider fulfils the necessary [wiki:DolTech requirements] and that you have all the information to get it done. Neither of the two should be a problem, but it is wise to verify first. == Before You Install == Start with checking that you have everything listed below: * Web-server that meets the [wiki:DolTech Dolphin Hosting Requirements]. * Domain name or IP address to identify your site. * Access to your web server via shell or FTP (logins and passwords, normally sent 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 == ---- [http://www.boonex.com/dolphin/download/ Download] and unzip the Dolphin package to your local computer or directly to the server. * If you plan to upload Dolphin 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 Dolphin right to it. Just use this command: {{{ cd /home/user/public_html/ wget http://get.boonex.com/Dolphin-v.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.''' "v.X.X" stands for current latest version index. Thus, the Dolphin package will be extracted into the folder called Dolphin-v.X.X in the same directory where you have uploaded Dolphin-v.X.X.X.zip. Go to [http://www.boonex.com/dolphin/download/ Dolphin 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 Dolphin-v.X.X.zip }}} or {{{ unzip -d Dolphin_directory Dolphin-v.X.X.zip }}} //'''Note 1.''' In this example, '''Dolphin_directory''' is the name of the sub-directory where Dolphin files will be extracted. Use this method if you don't want to install Dolphin in the root folder of your site.// //'''Note 2.''' If you downloaded Dolphin using the ''wget'' command, the result may be called '''Dolphin-v.X.X''' (without the ''zip'' extension). In this case, use the following commands: // In this case, use the following command: {{{ unzip Dolphin-v.X.X }}} or {{{ unzip -d Dolphin_directory Dolphin-v.X.X }}} * By default Dolphin includes '''ffmpeg''' binary for latest Linux OS only. If you're installing to a different OS or default ffmpeg doesn't work, please refer to [wiki:GenDol7TShooter Dolphin Troubleshooter]. ---- == Part 2: Create a Database and a User == ---- Create a database for Dolphin on your web server, as well as a MySQL user who will have all privileges for accessing and modifying it. There're at three ways to do it: === Using cPanel === 1. Log in to your cPanel. 2. Go to '''MySQL Databases'''. 3. Create a database user: 3a. Choose a username for Dolphin (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'''. 4. Create a Dolphin database and add the user to it: 4a. Choose a name for your Dolphin 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 Dolphin username from the User dropdown list, then select your Dolphin database from the Database dropdown list. Make sure ''ALL'' is checked under Privileges and click '''Add User To Database'''. 5. 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 Dolphin 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 Dolphin 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 Dolphin (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'''. 2. Return to the '''Privileges''' screen and click the '''Edit privileges''' icon on the user you've just created for Dolphin. In the Database-specific privileges section, select the database you've just created for Dolphin 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'''. 3. 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 Dolphin 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 "dolphinusername"@"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 dolphinusername. * ''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, dolphinusername, hostname, and password. ---- == Part 3: Place the Files == ---- Now you will need to decide where on your web site Dolphin script should be installed. These are possible options: * In the root directory of your web site. (For example, http://mysite.com/) * In a subdirectory of your web site. (For example, http://mysite.com/mycommunity/) 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 Dolphin-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 Dolphin, move all of the contents of the Dolphin-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 Dolphin-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 Dolphin, move the Dolphin-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 Dolphin on your web site: * If you installed into a subdirectory called ''mycommunity'', you would navigate to http://mysite.com/mycommunity/install/index.php * If you installed into the root directory of your web site, you would open http://mysite.com/install/index.php After this the installation instruction 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 === [[BR]] 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:[[BR]][[BR]] '''''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 directory to that containing your Dolphin script files. Now run the following commands under your SSH prompt: {{{ chmod 777 ./backup ./cache ./groups/gallery ./groups/orca/cachejs ./groups/orca/classes ./groups/orca/js ./groups/orca/layout ./groups/orca/log ./inc ./langs ./media/images ./media/images/banners ./media/images/blog ./media/images/classifieds ./media/images/gallery ./media/images/profile ./media/images/profile_bg ./media/images/promo ./media/images/promo/original ./media/images/sdating ./media/images/sharingImages ./media/sound ./media/video ./orca/cachejs ./orca/classes ./orca/conf ./orca/js ./orca/layout ./orca/log ./periodic ./tmp chmod 777 ./ray/modules/board/files ./ray/modules/chat/files ./ray/modules/im/files ./ray/modules/movie/files ./ray/modules/mp3/files ./ray/modules/music/files ./ray/modules/global/app/ffmpeg.exe chmod 666 ./inc/db_cached/MenuContent.inc ./inc/db_cached/PageView.inc ./inc/db_cached/ProfileFields.inc ./inc/db_cached/SiteStat.inc ./inc/params.inc.php ./inc/prof.inc.php ./periodic/cmd.php ./periodic/cupid.php ./periodic/notifies.php chmod 666 ./ray/modules/board/xml/config.xml ./ray/modules/board/xml/langs.xml ./ray/modules/board/xml/main.xml ./ray/modules/board/xml/skins.xml ./ray/modules/chat/xml/config.xml ./ray/modules/chat/xml/langs.xml ./ray/modules/chat/xml/main.xml ./ray/modules/chat/xml/skins.xml ./ray/modules/desktop/xml/config.xml ./ray/modules/desktop/xml/langs.xml ./ray/modules/desktop/xml/main.xml ./ray/modules/desktop/xml/skins.xml ./ray/modules/global/data/integration.dat ./ray/modules/global/inc/cron.inc.php ./ray/modules/global/inc/header.inc.php ./ray/modules/global/xml/config.xml ./ray/modules/global/xml/main.xml ./ray/modules/im/xml/config.xml ./ray/modules/im/xml/langs.xml ./ray/modules/im/xml/main.xml ./ray/modules/im/xml/skins.xml ./ray/modules/movie/xml/config.xml ./ray/modules/movie/xml/langs.xml ./ray/modules/movie/xml/main.xml ./ray/modules/movie/xml/skins.xml ./ray/modules/mp3/xml/config.xml ./ray/modules/mp3/xml/langs.xml ./ray/modules/mp3/xml/main.xml ./ray/modules/mp3/xml/skins.xml ./ray/modules/music/xml/config.xml ./ray/modules/music/xml/langs.xml ./ray/modules/music/xml/main.xml ./ray/modules/music/xml/skins.xml ./ray/modules/presence/xml/config.xml ./ray/modules/presence/xml/langs.xml ./ray/modules/presence/xml/main.xml ./ray/modules/presence/xml/skins.xml ./ray/modules/shoutbox/xml/config.xml ./ray/modules/shoutbox/xml/langs.xml ./ray/modules/shoutbox/xml/main.xml ./ray/modules/shoutbox/xml/skins.xml ./ray/modules/video/xml/config.xml ./ray/modules/video/xml/langs.xml ./ray/modules/video/xml/main.xml ./ray/modules/video/xml/skins.xml }}} '''Note''': all the other files in the Dolphin installation folder should have 644 permissions, and subfolders should have 755 permissions. 2. ''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 Dolphin installation folder under your SSH account: {{{ find ./ -type d -exec chmod 755 {} \; find ./ -type f -exec chmod 644 {} \; chmod 755 ray/modules/global/app/ffmpeg.exe; }}} 3. ''If your site is to be installed on Windows'', you don't need to change any permissions. [[BR]]'''''USING FTP CLIENT'''''[[BR]] Log into your FTP account using your favorite FTP client and navigate to the folder in which you uploaded the contents of the Dolphin-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 === [[BR]] 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 Dolphin 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 Dolphin 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 still should 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 [http://www.imagemagick.org/ ''ImageMagick''] applications, which will be necessary if ''php'' running on your server is not compiled with [http://www.boutell.com/gd/ ''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 [http://www.imagemagick.org/ ''ImageMagick''] with Dolphin, 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 === [[BR]] 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 Dolphin 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 make 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 === [[BR]] On this page you will setup 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 to 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 === [[BR]] '''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 Dolphin installation page and copy the first command to be run as cron (omitting the zeros and asterisks), for example: {{{ /usr/local/bin/php -q /home/localhost/www/d611/periodic/cmd.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 Dolphin installation page, such as: {{{ 0 0 * * * (which means: run the script every midnight) }}} 4. Apply the changes and click Back to return to the Cron Management page 5. Do the same for the second cron script: {{{ /usr/local/bin/php -q /home/localhost/www/d611/periodic/notifies.php }}} and schedule the time for it: {{{ */10 * * * * (which means: run the script every 10 minutes) }}} 6. Do the same for the third cron script: {{{ /usr/local/bin/php -q /home/localhost/www/d611/periodic/cupid.php }}} and schedule the time for it: {{{ * */1 * * * (which means: run the script every 1 hour) }}} * ''USING SHELL'' (for experienced users) run the following command {{{ crontab -e }}} This will open your default text editor, where you will have to insert the three lines of code to be executed: {{{ MAILTO=myemail@mysite.com 0 0 * * * /usr/local/bin/php -q /home/localhost/www/d611/periodic/cmd.php */10 * * * * /usr/local/bin/php -q /home/localhost/www/d611/periodic/notifies.php * */1 * * * /usr/local/bin/php -q /home/localhost/www/d611/periodic/cupid.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 the 6th step of the installation process. And you can easily copy&paste them into the "crontab" file. '''WINDOWS''' 1) create batch files for every cron you wish to create. For example:[[BR]] ''c:\wamp\www\periodic\cmd.bat''[[BR]] ''c:\wamp\www\periodic\notifies.bat''[[BR]] ''c:\wamp\www\periodic\cupid.bat'' This are sample contents of the above mentioned files: '''''c:\wamp\www\periodic\cmd.bat''''': {{{ c:\wamp\bin\php\php5.2.6\php.exe -f c:\wamp\www\periodic\cmd.php }}} '''''c:\wamp\www\periodic\notifies.bat''''': {{{ c:\wamp\bin\php\php5.2.6\php.exe -f c:\wamp\www\periodic\notifies.php }}} '''''c:\wamp\www\periodic\cupid.bat''''': {{{ c:\wamp\bin\php\php5.2.6\php.exe -f c:\wamp\www\periodic\cupid.php }}} 2) then assign crons for these files this way: {{{ schtasks /Create /tn cmd_cron /sc DAILY /st 00:00:00 /tr c:\wamp\www\periodic\cmd.bat (to run every day at midnight) schtasks /Create /tn notifies_cron /sc MINUTE /mo 10 /tr c:\wamp\www\periodic\notifies.bat (to run every 10 minutes) schtasks /Create /tn cupid_cron /sc HOURLY /mo 1 /tr c:\wamp\www\periodic\cupid.bat (to run every 1 hour) }}} ---- === Install Script - Step 6 - Permissions Reversal === [[BR]] 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 Dolphin script. Run the following commands: {{{ SITE CHMOD 755 ./inc SITE CHMOD 755 ./periodic SITE CHMOD 644 ./periodic/cmd.php SITE CHMOD 644 ./periodic/notifies.php SITE CHMOD 644 ./periodic/cupid.php SITE CHMOD 644 ./periodic/tags.php SITE CHMOD 644 ./ray/modules/global/inc/header.inc.php }}} * Using a shell client. Log into your shell account using your favorite shell client and change directory for that which contains your installed Dolphin script. Now run the following commands under your SSH prompt: {{{ chmod 755 ./inc ./periodic chmod 644 ./periodic/cmd.php ./periodic/notifies.php ./periodic/cupid.php ./ray/modules/global/inc/header.inc.php }}} '''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'''. ---- == Part 5: Final Step == ---- === Specify RMS for the Ray applications === * You need to log into your Admin Panel and you will be given the prompt to register Dolphin. * Go to '''Plugins -> Ray Suite -> Base Settings''', check '''Use RMS''', specify '''RMS Address''' (the IP address of your RMS), '''RMS Port''' ('''1935''' by default) and '''RMS HTTP Port''' ('''5080''' by default). Click '''Save -> OK'''. If you see no error notification, your RMS is running properly. If the notification '''Can't connect to RMS''' appears, refer to this [http://www.boonex.com/trac/ray/wiki/GenRayTshooter#MyRMSwidgetsChatIMVideoRecorderendupinConnecting.WhatshouldIdo Troubleshooter] === Compile languages for the Orca forum === * Go to '''Plugins -> Orca Forum''' Click the link '''en''' next to the '''Compile Langs''' wording. Refresh the page. Navigate to http://your_site_url/groups/orca and click the link '''en''' next to the '''Compile Langs''' wording. Refresh the page.