Documentation

Creating a new database

First thing you want to do before installing BeMusic is to create a new database on your mysql server. If you already know how to do this/or have already created one just skip to the next step.

Your host will most likely be running phpMyAdmin as mysql manager, if that's the case here's a step by step guide (if not the proccess will be very similar on other managers).

Login to your control panel, find and click phpMyAdmin link: Click on the database tab in the top menu, enter any name you like and click create.

Uploading Files

After creating a database, unzpip the .zip file you donwloaded from CodeCanyon and upload the contents of bemusic/server folder to your servers root folder (usually called www or html or something similar) or a sub-directory, shared hosting providers usually have a web based file manager, but you should use something like Filezilla to do the upload as the web based managers can cause various problems fairly often.

Make sure that storage and all the sub-folders are writable by your server (have 777 permissions if you are on shared hosting). You can change files and folders permissions by right-clicking them in the filemanager, clicking file permissions, and then entering 777 in the permissions field.

Installing BeMusic

After you uploaded BeMusic files, simply open up your site url and follow on-screen instructions to finish the installation.

Updating from version 2.0.7 or earlier:

  1. Make sure you have at least PHP 5.6 on your server.
  2. Extract the .zip file you downloaded from CodeCanyon.
  3. Upload the contents of "bemusic/server" folder to the main BeMusic folder on your server.
  4. On your server, copy application/.env file to main BeMusic folder.
  5. Rename BASE_URL to APP_URL in .env file. Make sure the url is correct.
  6. Add this line to .env file: DB_STRICT_MODE=false
  7. Surround any values that contain spaces in .env file with double quotes. For example DATABASE_NAME="name with spaces"
  8. Delete index.php file in main BeMusic folder.
  9. Move assets/avatars folder into public/assets folder.
  10. Move assets/images/albums, assets/images/artists, assets/images/playlists folders into public/assets/images folder.
  11. Move application/storage/app/music folder into storage/app folder.
  12. Visit http://yoursite.com/secure/update url and click Update Now button. (make sure you are logged in as admin)

Updating from version 2.1.0 or newer:

  1. Extract the .zip file you downloaded from CodeCanyon.
  2. Upload the contents of "bemusic/server" folder to the main BeMusic folder on your server.
  3. Visit http://yoursite.com/secure/update url and click Update Now button. (make sure you are logged in as admin)


client folder inside the .zip can be ignored, unless your plan to modify BeMusic code.

Changing or adding new data providers to BeMusic

By default only local provider is included with BeMusic, it allows you to use BeMusic as CMS (creating everything manually from admin area). If you want to fetch data (artists, albums, songs etc) automatically, you will need to download a data provider for a 3rd party site you want to use.

  • 1. Download a provider you want from HERE.
  • 2. Upload it into app/Services/Providers folder.
  • 3. Select the provider you want to use from admin area > settings > providers page.

For example, let's say you want to use Spotify as a source for data on your site. Go HERE, download Spotify folder and paste it into app/Services/Providers folder on your server. Then get your spotify keys (instructions HERE) and enter them into admin area > settings > 3rd party keys panel, select Spotify for all (or some) providers in admin area > settings > providers section.

You don't necessarily need to use one provider for everything, you can pick and choose. For example, you can use Spotify for artist information and local for top 50 songs, so you can fetch artist information automatically but create top 50 chart yourself from admin area.

Some providers might require you to register for an API Key. You can find instructions on how to acquire those keys in API Keys section of documentation.

Note that some providers might have restrictions on commercial usage of their APIs, you'll need to take a look into their Terms of Service and determine yourself if it's appropriate for you to use them!

API Keys

In order make some features of the BeMusic work you will need to register for a some API Keys. Check out the sections below for information on how to get them. Once you've got your keys simply enter them in corresponding fields in admin area > settings page.

Youtube API Key

This key is required in order to play music on BeMusic. You can use the same google app you have created for social login and google anlytics (refer to social login google section of the docs). Simply create a new api key from your google project page and enable youtube api from the same page. Note: leave refferers field empty. Then enter this key in admin area > settings > 3rd party keys > Youtube API Key.

Last.fm API Key

This key is optional. It's needed to enable last.fm genres provider. To get last.fm api key, register for an account here, once registered you'll be able to see your api key, simply enter it in admin area > settings > 3rd party keys > Last.fm API Key.

Spotify Key and Secret

To get these keys, login or register here, accept all the terms, then create a new application at this url (you can enter anything in name and description fields), then you will be able to see your keys, simply enter them in admin area > settings > 3rd party keys > Spotify ID and Spotify Secret fields.

SoundCloud API Key

This key is optional. It's only required if you will use soundcloud instead if youtube for streaming music. To get SoundClound api key, register for an account here, once you have created an activated your account you will need to create a new app here after creating your app, you'll be able to see your client ID and Secret, you will need to enter Client ID in admin area > settings > 3rd party keys > SoundCloud API Key.

Social Login

In order for social logins to work properly, you will need to register for an application on their respective sites and enter the credentials you receive into admin area > settings > authentication page.

Facebook

  1. Register for regular facebook account, if you don't already have one.
  2. Open this url, click my apps in the top navigation bar, then Add a New App
  3. Enter any display name, your email address and click Create App ID
  4. Click Add Product in the left sidebar, then Facebook Login, select Web, enter your site url. You can ignore the rest of the panels in quickstart wizard.
  5. Click Facebook Login > Settings and enter http://your-site-url.com/secure/auth/social/facebook/callback into Valid OAuth redirect URIs field.
  6. Click Dashboard in left sidebar and copy/paste APP ID and APP SECRET into settings page.

Twitter

  1. Register for regular twitter account, if you don't already have one.
  2. Open this url, click Create New App, enter anything into name and description fields, enter your site url into Website and Callback URL fields and create the app.
  3. Copy Consumer Key and Consumer Secret from "Keys and Access Tokens" tab into settings page.

Google

  1. Register for regular google account, if you don't already have one.
  2. Open this url, create a new project, click Credentials in left sidebar, select Oauth Client ID -> Web Application.
  3. Enter http://your-site-url.com/secure/auth/social/google/callback into Authorized Redirect URIs field and click Create.
  4. Copy/paste Client ID and Client Secret into settings page.

Player Keyboard Shortcuts

Function Windows Mac
Delete track from playlist Del Del
Select all tracks Ctrl-A Cmd-A
Play/pause Space Space
Next track Ctrl-Right Ctrl-Cmd-Right
Previous track Ctrl-Left Ctrl-Cmd-Left
Volume up Ctrl-Up Cmd-Up
Volume down Ctrl-Down Cmd-Down
Mute Ctrl-Shift-Down Cmd-Shift-Down
Max volume Ctrl-Shift-Up Cmd-Shift-Up
Filter (in any page with filter field) Ctrl-F Cmd-F

Generating Sitemap

You can generate a sitemap by clicking Generate Sitemap button in admin area > settings > data providers page.

Important things to note:

  • It might take anywhere from a few seconds to an hour to generate a full sitemap depending on your server and how much data you have in database.
  • Don't close the browser while sitemap generation is in progress otherwise it might get corrupted.
  • If you are receiving any errors or generation stops unexpectedly, it is most likely because of request time limit on your server, you will need to contact your hosting provider regarding that issue.
  • Sitemap files will be located in storage/app/public/sitemaps folder in main BeMusic folder on your server, you will want to submit sitemap-index.xml file to google, or simply use http://yoursite.com/storage/sitemaps/sitemap-index.xml url which will point to that file as well.

Outgoing Mail

Outgoing mail includes all emails that are sent from your application to the user. Password reset, user confirmation, notifications and more.

In order for outgoing mail to work, you will need to configure it in admin area > settings > mail page.

Unless you already have one of the other available mail methods set up, we highly recommend using mailgun. It's free for up to 10000 emails a month and you will avoid many of the problems associated with traditional SMTP servers.

Mailgun

Although you are not required to add a credit card for mailgun, it's recommended that you do, because you will be put on a lower priority queue without a credit card, which could result in slower email delivery.

  1. Register here
  2. In the next page click Add Your Domain button, then enter your site url in the Domain Name field and click Add Domain
  3. Verify your domain on mailgun. This will differ depending on your hosting, but you should be able to find a guide in your hosting providers documentation, mailgun documentation or simply via google search.

SMTP

If you want to use SMTP, go to admin area > settings > mail page and simply enter your smtp server credentials.

Analytics

Registering for google analytics account

Analytics page is powered by google analytics so you will need to register for google analytics and add their supplied code to your site. Here's how to do it.

Important! This will only enable tracking. See below on how to get the analytics page on the site working.

  • 1. Go to this url. You will be prompted to login to your google account or create a new one if you don't have it already. Do it.
  • 2. Click on Admin -> Property -> Create new Property -> fill out required fields -> click on get tracking ID
  • 3. Go to admin -> settings -> analytics and paste the code into google analytics tracking code field (only paste in the code that starts with UA, not the whole script).

Registering for google ID

To get analytics page on the site working, you will need to enter your google ID in the admin > settings > analytics page. You can use the same ID as for google social login, you can find instructions on how to obtain it, in the social login documentation section.

Two additional things you need to do for this ID from google developers console:

  1. Enable google analytics API.
  2. Enter your site url into authorized javascript origins field.

Viewing analytics information

Once you have created analytics account and entered it in settings page, go to admin area -> analytics, click on Access google analytics button, then click accept

And you are done. You can now easily view analytics information right from the admin area. You can also select different analytics account, property and view from the bottom of the page.

Appearence

From appearence page you can modify how your site looks by changing colors, fonts, sizes and more. Simply change the value in the field you want and click save on the right. BeMusic will compile a custom css stylesheet (just as if it was written by a programmer!) without you needing to have any coding knowledge. Original stylesheet will be preserved so you can switch back at any time. You can also create multiple stylesheets(light, dark etc) and switch them at any time from panel on the left. You can also insert custom css, by typing it into custom css panel.

Note that variables and functions might sometimes be used in some of the appearence fields. These are very simple to understand. For example, by default main background color is lighten($main-color, 5%), this simply means that it will take the color value from $main-color field in appearence page (#19191b by default) and make that color 5% lighter.

Translations

You can translate BeMusic right from the admin area so there's no need to mess with configuration files or 3rd party applications. Simpley open translations page and enter your translation for a particular line under translation column in the table.

Note that while you can translate the original (englsish) locale, it is recommended to create a new one (frome the panel on the left) so you don't need to worry about overwriting it with future updates.

Users

From users page, you can get an overview of your site users, create a new one, delete existing ones and edit their profile information.

Settings

On the settings page you can change various options on your site from your homepage view to user registration. There's a description under each options so you shouldn't have any troubles figuring out which setting does what.

Support

If you have any issues or questions, you can submit a new ticket on our support site here. Thank you!