1. Overview

This Documentation describes the installation and configuration steps of phpSound.

2. Requirements

Please ensure that your server meets the following minimum requirements:

Software Modules
PHP 7, or higher MySQLi, cURL, OpenSSL, GD, mbstring
Apache 2, or higher mod_rewrite
MySQL 5, or higher
SSL certificate

3. Installation

After you've downloaded the product and extracted the contents from the ZIP package, you can start the installation process.

3.1. Importing the database

  1. Create a new MySQL database (optional).
  2. Create a new MySQL username and password (optional).
  3. Import the Database.sql file from the MySQL folder into your MySQL database.

3.2. Setting-up and uploading the files

  1. With a text editor open the Script/includes/config.php and update the values of $CONF['user'], $CONF['pass'], $CONF['name'], $CONF['url'], $CONF['email'] with your own information.
  2. Upload the contents of the Script folder on the location where you want the product to be installed at.
  3. Set the CHMOD to 755, 775 or 777 (depending on the server configuration) to the following folders and their subfolders: /cache, /themes, /uploads.

3.3. Finishing the installation

You're almost done, the last step is to access your Admin Panel (via https://example.com/index.php?a=admin) using the default credentials:

Username admin
Password password
Don't forget to change your Admin Panel password once you've logged-in.

4. Configuration

Most of the phpSound's settings are pretty straight forward and self explanatory, but some of them require more advanced steps to get them working, which are covered in the next chapters.

4.1. Facebook Login

  1. Go to developers.facebook.com and Add a new App.
  2. Select the Facebook Login product and click Set up and choose the Web Platform.
  3. On Step 1 add your Site URL and click Save. Skip the rest of the steps.
  4. From the sidebar, under Facebook Login click on Settings and disable Client OAuth Login and Use Strict Mode for Redirect URIs.
  5. Under Valid OAuth redirect URIs add the following URL: https://example.com/requests/connect.php?facebook=true (replace example.com with your own domain name), and Save the changes.
  6. Go to your App Settings page, and copy the App ID and App Secret keys which you can use to enable Facebook Login.
  7. Turn on Facebook Login from Admin Panel > Site Settings > Registration and add your credentials.

4.2. Amazon S3 Storage

  1. Sign up for Amazon S3.
  2. Create a Bucket.
  3. Get your Access Key ID and Secret Access Key.
  4. Turn on Amazon S3 from Admin Panel > Site Settings > Storage and add your credentials.

4.3. PayPal

  1. Payments
    1. Login into your PayPal Developer Account.
    2. Go to your Account Dashboard.
    3. Create a new REST API app.
    4. Now click on the Live button and copy both the Client ID and the Secret key.
    5. Turn on Pro Accounts from Admin Panel > Pro Accounts and add your credentials.
  2. IPN
    1. Login into your PayPal Developer account.
    2. Go to Seller Preferences and Update your Instant payment notifications.
    3. Click the Choose IPN Settings, set Notification URL to https://example.com/requests/paypal_ipn.php (replace example.com with your own domain name), choose Receive IPN messages (Enabled), and save.

5. Developers

If you wish to create a new Theme or Language for phpSound download the Development Kit.

As a developer, you need to own a phpSound license in order to publish a paid Theme or Language.
Support does not cover the Development Kit, average PHP knowledge is required.

6. FAQ

6.1. General

  1. I have a support inquiry, a question or a problem, how can I contact you?
    You can contact us here.
  2. What hosting do you recommend?
    We recommend using DigitalOcean (free $10 on signup), as they offer great performance and flexibility at an affordable price.
  3. Is installation included in the price?
    No, installation is not included. We offer installation services for an extra fee. Contact Us.
  4. How are the Track Plays counted?
    Track plays are counted each time you play a song.
  5. How are the Popular Tracks being generated on the homepage?
    Popular Tracks are being generated based on the amount of plays each track had in the last 7 days.
  6. What happens if I delete a track due to a DMCA complaint?
    The track will be permanently removed from your server.
  7. What happens if I suspend a track due to a DMCA complaint?
    The track won't be available trough the website interface anymore (the track will remain on the server, in case a restore is needed).

6.2. Installation

  1. Why Permalinks are not working on my site?
    Make sure you've uploaded the .htaccess file that comes with the software and that you have mod_rewrite enabled on your server.
  2. I can't find the .htaccess file, why?
    You're probably using MacOS, which by default is hiding the .htaccess file, enable the option to see hidden files.
  3. How can I add a new site language?
    You can add a new site language by copying your new language file in the /languages folder.
  4. My website returns a blank page, why?
    This generally happens when one of the server requirements is not met, you can check your current server configuration by accessing https://example.com/specs.php.

6.3. Configuration

  1. How can I change my website's logo?
    You can change the Logo or the Site title from the Admin Panel > Site Settings > General tab.
  2. How can I change my website's favicon?
    You can change the favicon from /themes/theme-name/images/favicon.png.
  3. How can I promote a user to Pro status?
    You can promote users by going to Admin Panel > Manage Users > Edit > General tab.
  4. The timestamps of the posts are not correct, how can I fix them?
    You can change the Timezone of your server from the Admin Panel > Site Settings > General tab.
  5. How can I remove the Powered by tag?
    You can remove the Powered by tag from the /themes/theme-name/html/wrapper.html.
  6. How can I change a text string on my website?
    You can change any text from the language files located in the /languages folder.