= Dolphin 7 Installation Guide = Before installing Dolphin, you need to check that your hosting provider fulfills 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 by 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 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 [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 are three ways to do this: === 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 the 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 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 === [[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 directories to that containing your Dolphin 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 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 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 flash/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 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 [http://www.imagemagick.org/ ''ImageMagick''] applications, which will be necessary if the ''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 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 === [[BR]] 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 === [[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 command to be run as cron (omitting the zeros and asterisks), for example: {{{ /usr/local/bin/php -q /home/user/public_html/dolphin/periodic/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 Dolphin 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 * * * * * /usr/local/bin/php -q m:/home/localhost/www/d70/periodic/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:[[BR]] ''c:\wamp\www\periodic\cron.bat''[[BR]] 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 === [[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 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 Dolphin 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 === [[BR]] At this stage you are supposed to choose which modules you'd like to install, since Dolphin 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 [wiki:DolphinAdminModules 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 a free license to a paid one. To do so, you need to proceed to '''Settings -> Advanced Settings -> Variables''' and change the license number in the '''Dolphin License Code''' field. Click SAVE 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/boonex/avatar/data/images/ modules/boonex/avatar/data/tmp/ chmod 777 modules/boonex/forum/classes modules/boonex/forum/conf modules/boonex/forum/layout modules/boonex/forum/log modules/boonex/forum/js modules/boonex/forum/cachejs modules/boonex/forum/data/attachments chmod 777 modules/boonex/photos/data/files chmod 777 modules/boonex/files/data/files chmod 777 modules/boonex/desktop/file chmod 777 modules/boonex/profile_customize/data/images chmod 666 modules/boonex/profiler/log/profiler.log chmod 777 modules/boonex/profiler/log chmod 777 modules/boonex/smtpmailer/data/logs chmod 777 modules/boonex/sites/data/images/thumbs }}} 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. [[BR]]