Please use the left navigation bar to browse through this support. Let’s go !

Installation

Before install, please make sure you have the components bellow enable on your server
PHP 5.6.4 or greater (with PHP exec function, etc.)
OpenSSL PHP Extension
PDO PHP Extension
Mbstring PHP Extension
Tokenizer PHP Extension
XML PHP Extension
GD or Imagick
PHP Fileinfo extension
PHP Zip Archive
Rewrite Module (Apache or Nginx)
File and folder permissions
/bootstrap        775
/public/uploads   775
/storage          775 (recursively)

Installation with Apache

  • Unzip the package file
cd /home/user/
unzip codecanyon-16458425-laraclassified-geo-classified-ads-cms.zip
  • Put all the LaraClassified package files into your webroot. For example, if your website is located at /home/user/LaraClassified, you can configure Apache virtual host as follows (remember to point the DocumentRoot to the public folder of the source)
<VirtualHost *:80>
  ServerName yoursite.com
  DocumentRoot "/home/user/LaraClassified/public"
  Options Indexes FollowSymLinks
  <Directory "/home/user/LaraClassified/public">
    AllowOverride All
    Require all granted
  </Directory>
</VirtualHost>
  • Change the director/file's owner to Apache's running user (www-data for example), to make sure it has proper permission on your source files
sudo chown www-data:www-data -R /home/user/LaraClassified
sudo chmod 775 -R /home/user/LaraClassified
  • Then restart Apache.
  • Create a MySQL database, add user to it with full permissions.
  • And go to the script's installation URL. For example http://yoursite.com/install
  • Follow the web installation wizard.
  • Once the installation is complete, visit yoursite.com/admin and use Email: admin@yoursite.com / Password: 123456.
  • Change the email address and the password.
  • You are done.

Shared Hosting Install

Case 1 )
  • Consider that your server "webroot" folder is: /home/myusername/public_html/
  • Put all the LaraClassified package files to /home/myusername/
  • Move all the files FROM the folder /home/myusername/public/ TO your webroot folder /home/myusername/public_html/
  • Now, you can delete the folder /home/myusername/public/ (It should be empty)
  • Create a MySQL database, add user to it with full permissions.
  • And go to the script's installation URL: http://yoursite.com/install
  • Follow the web installation wizard.
  • Once the installation is complete, visit yoursite.com/admin and use Email: admin@yoursite.com / Password: 123456.
  • Change the email address and the password.
  • You are done.
Case 2)
  • Consider that your server "webroot" folder is: /home/myusername/public_html/www.domain.com/
  • Put all the LaraClassified package files to /home/myusername/public_html/
  • Move all the files FROM the folder /home/myusername/public_html/public/ TO your webroot folder /home/myusername/public_html/www.domain.com/
  • Now, you can delete the folder /home/myusername/public_html/public/ (It should be empty)
  • Create a MySQL database, add user to it with full permissions.
  • And go to the script's installation URL: http://yoursite.com/install
  • Follow the web installation wizard.
  • Once the installation is complete, visit yoursite.com/admin and use Email: admin@yoursite.com / Password: 123456.
  • Change the email address and the password.
  • You are done.

Installation with Nginx

  • Put all the LaraClassified package files to /var/www/ and set your server configuration like this:
root "/var/www/public";
location / {
   try_files $uri $uri/ /index.php?$query_string;
}
  • Then restart Nginx.
  • Create a MySQL database, add user to it with full permissions.
  • And go to the script's installation URL. For example http://yoursite.com/install
  • Follow the web installation wizard.
  • Once the installation is complete, visit yoursite.com/admin and use Email: admin@yoursite.com / Password: 123456.
  • Change the email address and the password.
  • You are done.

SMTP

What is SMTP ?

Short for Simple Mail Transfer Protocol, a protocol for sending e-mail messages between servers. Most e-mail systems that send mail over the Internet use SMTP to send messages from one server to another; the messages can then be retrieved with an e-mail client using either POP or IMAP. In addition, SMTP is generally used to send messages from a mail client to a mail server. This is why you need to specify both the POP or IMAP server and the SMTP server when you configure your e-mail application.

In short it used to send emails to your site users..!! You can use any SMTP service provider.
  • Your own hosting SMTP server
  • Mandrill
  • Amazon SES
  • Mailgun
  • Sparkpost
  • Gmail, Yahoo or some other email provider
Please note that some hosting providers blocks port 25 or 465 in that case you have change your SMTP email server or contact your hosting provider

Own SMTP Server

Using your own or some SMTP server Admin panel setup
  • Go to your Admin -> Settings
  • Set 'Mail driver', 'Mail host', 'Mail port', 'Mail encryption', 'Mail username' and 'Mail password'
  • And save your changes.
Or use /.env file setup
  • Login to your FTP account.
  • Open and Edit /.env file.
  • Copy and paste your server smtp details in the file.
It will look something like this.
MAIL_DRIVER=smtp
MAIL_HOST=your-mail-host
MAIL_PORT=your-mail-port
MAIL_USERNAME=your-mail-username
MAIL_PASSWORD=your-mail-password
MAIL_ENCRYPTION=your-mail-encryption
  • Replace your-mail-host, your-mail-port, your-mail-username, your-mail-password and your-mail-encryption.
  • Save and Upload the file
  • You are done.
NOTE: The /.env file settings override those of the admin panel.

Mandrill

Personally we use mandrill and yes it's free Admin panel setup
  • Go to your Admin -> Settings
  • Set 'Mail driver', 'Mandrill secret', 'Mail host', 'Mail port', 'Mail encryption', 'Mail username' and 'Mail password'
  • And save your changes.
Or use /.env file setup
  • Login to your FTP account.
  • Open and edit /.env file.
  • Remove
MAIL_DRIVER=smtp
MAIL_HOST=your-mail-host
MAIL_PORT=your-mail-port
MAIL_USERNAME=your-mail-username
MAIL_PASSWORD=your-mail-password
MAIL_ENCRYPTION=your-mail-encryption
  • Change it to.
MAIL_DRIVER=mandrill
MANDRILL_SECRET=your-mandrill-secret
MAIL_HOST=your-mandrill-smtp-host
MAIL_PORT=your-mandrill-smtp-port
MAIL_USERNAME=your-mandrill-smtp-username
MAIL_PASSWORD=your-mandrill-smtp-password
MAIL_ENCRYPTION=your-mandrill-smtp-encryption
  • Replace your-mandrill-secret, your-mandrill-smtp-host, your-mandrill-smtp-port, your-mandrill-smtp-username, your-mandrill-smtp-password and your-mandrill-smtp-encryption.
  • Save and upload the file.
  • You are done.
NOTE: The /.env file settings override those of the admin panel.

Amazon SES

Admin panel setup
  • Go to your Admin -> Settings
  • Set 'Mail driver', 'SES Key', 'SES secret' and 'SES region'
  • And save your changes.
Or use /.env file setup
  • Login to your FTP account.
  • Open and edit /.env file.
  • Remove
MAIL_DRIVER=smtp
MAIL_HOST=your-mail-host
MAIL_PORT=your-mail-port
MAIL_USERNAME=your-mail-username
MAIL_PASSWORD=your-mail-password
MAIL_ENCRYPTION=your-mail-encryption
  • Change it to.
SES_KEY=your-ses-key
SES_SECRET=your-ses-secret
SES_REGION=your-ses-region
  • Replace your-ses-key, your-ses-secret and your-ses-region.
  • Save and upload the file.
  • You are done.
NOTE: The /.env file settings override those of the admin panel.

Mailgun

Admin panel setup
  • Go to your Admin -> Settings
  • Set 'Mail driver', 'Mailgun domain', 'Mailgun secret', 'Mail host', 'Mail port', 'Mail encryption', 'Mail username' and 'Mail password'
  • And save your changes.
Or use /.env file setup
  • Login to your FTP account.
  • Open and edit /.env file.
  • Remove
MAIL_DRIVER=smtp
MAIL_HOST=your-mail-host
MAIL_PORT=your-mail-port
MAIL_USERNAME=your-mail-username
MAIL_PASSWORD=your-mail-password
MAIL_ENCRYPTION=your-mail-encryption
  • Change it to.
MAIL_DRIVER=mailgun
MAILGUN_DOMAIN=your-mailgun-domain
MAILGUN_SECRET=your-mailgun-secret
MAIL_HOST=your-mailgun-smtp-host
MAIL_PORT=your-mailgun-smtp-port
MAIL_USERNAME=your-mailgun-smtp-username
MAIL_PASSWORD=your-mailgun-smtp-password
MAIL_ENCRYPTION=your-mailgun-smtp-encryption
  • Replace your-mailgun-domain, your-mailgun-secret, your-mailgun-smtp-host, your-mailgun-smtp-port, your-mailgun-smtp-username, your-mailgun-smtp-password and your-mailgun-smtp-encryption.
  • Save and upload the file.
  • You are done.
NOTE: The /.env file settings override those of the admin panel.

Sparkpost

Admin panel setup
  • Go to your Admin -> Settings
  • Set 'Mail driver', 'Sparkpost secret', 'Mail host', 'Mail port', 'Mail encryption', 'Mail username' and 'Mail password'
  • And save your changes.
Or use /.env file setup
  • Login to your FTP account.
  • Open and edit /.env file.
  • Remove
MAIL_DRIVER=smtp
MAIL_HOST=your-mail-host
MAIL_PORT=your-mail-port
MAIL_USERNAME=your-mail-username
MAIL_PASSWORD=your-mail-password
MAIL_ENCRYPTION=your-mail-encryption
  • Change it to.
MAIL_DRIVER=sparkpost
SPARKPOST_SECRET=your-sparkpost-secret
MAIL_HOST=your-sparkpost-smtp-host
MAIL_PORT=your-sparkpost-smtp-port
MAIL_USERNAME=your-sparkpost-smtp-username
MAIL_PASSWORD=your-sparkpost-smtp-password
MAIL_ENCRYPTION=your-sparkpost-smtp-encryption
  • Replace your-sparkpost-secret, your-sparkpost-smtp-host, your-sparkpost-smtp-port, your-sparkpost-smtp-username, your-sparkpost-smtp-password and your-sparkpost-smtp-encryption.
  • Save and upload the file.
  • You are done.
NOTE: The /.env file settings override those of the admin panel.

Payment Providers

The script support these payment providers:

  • Paypal

Paypal is one of the best payment gateway in the world, it support all credit cards and accepted in many countries.

Paypal

Please note that this support is for the Sandbox mode. 
  • Log in to your PayPal Business account.
  • Click Dashboard in menu.
  • Create an App by clicking Create App (Please check the official documentation)
  • In left menu, click Accounts to access your tests accounts
  • Click the Profile link under the BUSINESS type account
  • Click the API Credentials tab to get your credentials.

[Screen shots]
paypal-sandbox-0-home

paypal-sandbox-1-dashboard

paypal-sandbox-2-accounts

paypal-sandbox-3-access

Setup

  • Copy and paste the API username, password, and signature into the /.env file.
  • Open and edit the /.env file by providing your keys like this:
PAYPAL_MODE=sandbox
PAYPAL_USERNAME=yourPayPalBusinessEamil@something.com
PAYPAL_PASSWORD=YourPassword
PAYPAL_SIGNATURE=YourSignatrue
  • You are done.

Now visit Admin Panel -> Payment -> Packages to set the packages and currencies.

Paypal Live

Use Paypal in Live (in Production)

Make sure you have Business account before using Paypal

Please follow these steps:

paypal-live-1-settings

paypal-live-2-api-update

paypal-live-3-view-username-password-signature

paypal-live-4-view-api-signature

Setup

  • Copy and paste the API username, password, and signature into the /.env file.
  • Open and edit the /.env file by providing your keys like this:
PAYPAL_MODE=live
PAYPAL_USERNAME=yourPayPalBusinessEamil@something.com
PAYPAL_PASSWORD=YourPassword
PAYPAL_SIGNATURE=YourSignatrue
  • You are done.

Now visit Admin Panel -> Payment -> Packages to set the packages and currencies.

SMS APIs

This functionality is only available in the version v3.1+ allowing to verify the mobile number of the users and offering the possibility to the sellers to be contacted by SMS.

How to set up?
  • Login to your FTP account.
  • Open and Edit /.env file.
  • Copy and paste your SMS API details below in the file.

You can use both NEXMO or TWILIO as your SMS provider API:

NEXMO_KEY=your-nexmo-key
NEXMO_SECRET=your-nexmo-secret
NEXMO_FROM=your-sender-number
TWILIO_ACCOUNT_SID=your-twilio-account-sid
TWILIO_AUTH_TOKEN=your-auth-token
TWILIO_FROM=your-sender-number

Now, go to your Admin panel :

  • Admin panel -> Settings -> (SMS driver) to set the default SMS API.
  • Admin panel -> Settings -> (SMS Message Activation) to enabling the mobile Phone number verification.

You are done.

Social Keys

In this section we will configure Social API key for.

  • Facebook
  • Google

Before that make sure you have valid account for these social networks.

You have to setup your admin panel :

  • Go to your LaraClassified Admin -> Settings
  • For Facebook: set 'Facebook Client ID' and 'Facebook Client Secret'
  • For Google: set 'Google Client ID' and 'Google Client Secret'
  • And save your changes.

Or place all the config values and api keys in the /.env file.

Facebook Example in /.env file

FACEBOOK_CLIENT_ID=your-facebook-client_id
FACEBOOK_CLIENT_SECRET=your-facebook-client_secret
Google Example in /.env file
GOOGLE_CLIENT_ID=your-google-client_id
GOOGLE_CLIENT_SECRET=your-google-client_secret
 

NOTE: The /.env file settings override those of the admin panel.

Facebook

Create your Facebook App

  • Select Website

facebook-2-create-website-app

  • Enter the App's Name
  • Click on Create New Facebook App ID

  • Enter Contact Email and select a Category
  • Click on Create App ID
facebook-3-1-create-new-app-id
  • Enter Site URL
  • Click on Next
facebook-4-create-app-step-1

NOTE: Please replace laraclassified.larapen.com by your website URL.

  • Go to the App Dashboard

facebook-4-create-app-step-2

  • Your can see your App ID
  • Now click Show to get you App Secret

facebook-5-app-dashboard

  • Copy your App ID and App Secret
  • Login to your FTP account.
  • Open /.env file
  • Paste your App Id and App Secret

facebook-5-laraclassified-env-settings

  • Save and upload the /.env file.
  • Make sure that you have provided your email and your app is in public mode.
  • You are done

Set your Facebook App

  • Now visit your App Settings page.
  • Provide your website name like example.com in App Domains field.
  • Click on Save Changes
  • Click Add Product (in left menu)
  • Then select Facebook Login by clicking Get Started

facebook-8-add-facebook-products

  • Turn Yes Client OAuth Login
  • Turn Yes Web OAuth Login
  • Provide Valid OAuth redirect URIs

facebook-9-settings-facebook-login

NOTE: Your redirect URL is: http://yoursite.com/auth/facebook/callback. Please change yoursite.com by your real domain.

Create a Facebook Test App for your main App

You need to create an Test App for your App when you go to live (or production)

  • Turn on Yes (on this step)
  • And select your Main App

 

After this step, you done and can use your Facebook App in live !

Admin panel setup
  • Go to your LaraClassified Admin -> Settings
  • Set 'Facebook Client ID' and 'Facebook Client Secret'
  • And save your changes.
Or use /.env file setup
  • Login to your FTP account.
  • Open and edit /.env file.
  • Add this code:
FACEBOOK_CLIENT_ID=your-facebook-client_id
FACEBOOK_CLIENT_SECRET=your-facebook-client_secret
  • Replace your-facebook-client_id and your-facebook-client_secret.
  • Save and upload the file.
  • You are done.

NOTE: The /.env file settings override those of the admin panel.

Google

Google OAuth Client ID

Admin panel setup
  • Go to your Admin -> Settings
  • Set 'Google Client ID' and 'Google Client Secret'
  • And save your changes.
Or use /.env file setup
  • Login to your FTP account.
  • Open and edit /.env file.
  • Add this code:
GOOGLE_CLIENT_ID=your-google-client_id
GOOGLE_CLIENT_SECRET=your-google-client_secret
  • Replace your-google-client_id and your-google-client_secret.
  • Save and upload the file.
  • You are done.
NOTE: Your redirect URL is: http://yoursite.com/auth/google/callback. Please change yoursite.com by your real domain.

Google Maps Activation

You have to activate Google Maps Embed API and Google Maps JavaScript API in your Google Console.

Admin panel setup
  • Go to your Admin -> Settings
  • Set 'Google Maps key'
  • And save your changes.
Or use /.env file setup
  • Login to your FTP account.
  • Open and edit /.env file.
  • Add this code:
GOOGLE_MAPS_API_KEY=your-googlemaps-key
  • Replace your-googlemaps-key.
  • Save and upload the file.
  • You are done.

Captcha

Recaptcha Key

What is recaptcha

reCAPTCHA is a free CAPTCHA service that helps protect your site against spam, malicious registrations and other forms of attacks where computers try to disguise themselves as a human. reCAPTCHA comes in the form of a widget that you can easily add to your blog, forum, registration.

How to setup.

okHSW2N

  • Click Register
  • You will now get your site key and secret key

RLjgRLB

Admin panel setup

  • Go to your LaraClassified Admin -> Settings
  • Turn ON or OFF ‘Recaptcha activation
  • Set ‘reCAPTCHA public key‘ and ‘reCAPTCHA private key
  • And save your changes.

Or use /.env file setup

  • Login to your FTP account
  • Open /.env file.
  • Provide the keys there.
RECAPTCHA_PUBLIC_KEY=your-recaptcha-public_key
RECAPTCHA_PRIVATE_KEY=your-recaptcha-private_key
  • Replace your-recaptcha-public_key and your-recaptcha-private_key.
  • Save the file.
  • You are done.

NOTE: The /.env file settings override those of the admin panel.

Image Processing

Image Setting

The script support for two image processor.

  • GD
  • Imagick

GD is very basic image resizing driver for PHP and only to used on basic website. It has memory issues and doesn't perform well at all conditions.
If you want your site for pro-photography or better quality images we prefer you to use imagick instead for better quality results.
Please make sure that your server has imagick installed.

Imagick

First make sure that you have imagick installed on your server, if not then contact your hosting provider.

  • Login to your FTP account.
  • Open and edit /.env file.
Search
IMAGE_DRIVER=gd
Change it to
IMAGE_DRIVER=imagick

Clear Cache

Clear All Image Cache

Caution..!! Your site might face down time until all images are re-cached
For those who are not using cloud CDN
  • Login to your FTP.
  • Visit storage/framework/cache
  • Delete all file from it.
  • Visit your site in browser and refresh it.
For those who using cloud CDN (Coming soon)
  • Login to cloud server
  • Visit cache folder
  • Delete all file from it.
  • Now login to your website FTP account
  • Visit storage/framework/cache
  • Delete all file from it.
  • Visit your site in browser and refresh it for 10-15 times.

Geo location

How can I enable Geo location?
  • Visit the Admin panel -> Settings and turn 'Geolocation activation' to ON by checking the checkbox.
  • If you want to redirect users to their country's website based on their IP address, you should leave blank the parameter "Default Country" in your Admin panel -> Settings. ATTENTION: When you reset this option by setting a default country, you need erase all your browser's data (like: historic, hosted app's data and cache, etc.) to see the effect of the change.
  • (Optional) Go to: https://dev.maxmind.com/geoip/geoip2/geolite2/
  • (Optional) Download the latest binary version of the 'GeoLite2 City' database (or use this link)
  • Only for v3.1+: (Optional) Extract it in the Maxmind database folder at /storage/database/maxmind/ like this /storage/database/maxmind/GeoLite2-City.mmdb You can replace the current file (if exists) to update the Maxmind database.
  • For older versions: (Optional) Extract it in the Maxmind database folder at /database/maxmind/ like this /database/maxmind/GeoLite2 -City.mmdb You can replace the current file (if exists) to update the Maxmind database.
  • You are done.

SVG Maps

The script uses Simplemaps SVG maps (http://simplemaps.com/resources/svg-maps). And the map of some countries (Kosovo, some islands, etc.) are not available.

You can buy a license for some missing SVG maps and hire a local developer to add them for your website (based on current code). You can also disable the SVG maps from your Admin panel.

Countries Data

Geonames Database

It is important to know that the script uses Geonames database (http://www.geonames.org) (their most structured database) for data on cities and administrative divisions.

But, sadly, this database is not complete for any country. And you need to update this database (from your Admin panel -> Locations) by adding new data (respecting the Geonames data format) or by modifying existing data or by deleting them.

From v3.1+ you have to update the countries locations database from your Admin panel -> International -> Countries (see the screenshot below)

The script does not support certain countries (Kosovo, some islands, etc.) automatically because the data in these countries are not reliable. And you will need to add the missing (or incorrect) data manually from your admin panel.

Your own Database

You can also delete all data from Geoname and add your own data.

To do this, you need to:

  • Clear the "subadmin1", "subadmin2" and "cities" tables in your database (using phpMyAdmin)
  • Add new data from your Admin panel for your country (or for active countries)

Languages

How can I add new languages?
  • Go to your Admin -> International -> Languages
  • Click ‘Add language
  • Go to the translation folder at /resources/lang
  • The script has been duplicated the folder /resources/lang/en/ to /resources/lang/<abbr>/
  • NOTE: Don't forget to translate the database translatable entries (Gender, Ad Types, Categories, Packages, Report Type, etc.) from your Admin panel -> International -> Translations.
How can I change the default language?
  • Go to your Admin -> International -> Languages
  • Create a new language entry and check the "Default" field. Or click on Edit to edit an existing language and check "Default".
  • Save all of changes
  • You are done.
  • To prevent the missing translations in the new default language, please open the file /config/app.php and change the fallback_locale value with your default language <abbr> value (e.g. de). Save your files on your server.
How can I edit translations?
  • Go to the translation folder at /resources/lang/(each language has his language code as folder name).
  • Go to the folder of the language you wish to translate and their files (e.g. global.php contains 90% of the site’s texts, mail.php for emails contents, etc.).
  • To translate a file, you must change the values and not the keys of PHP array.
  • Save your files on your server.
  • Your are done.
  • NOTE: It's important to know the script does not support the RTL direction.
How can I disable languages?
  • Go to your Admin -> International -> Languages
  • Select a language and edit it.
  • Uncheck ‘Active’ checkbox and save.
How can I delete languages?
  • Go to your LaraClassified Admin -> International -> Languages
  • Select a language and delete it.
  • IMPORTANT: By deleting the language, the language files folder /resources/lang/<abbr> will be also removed.

How To

How can I set the Default country?
  • Go to your Admin -> Settings and set 'Default Country' with your country code (only ISO alpha-2 codes are accepted). From v2.x or above the script set the default country during installation.
  • Your are done.
How can I set the Default currency?
  • The default currency will be that of the current country, except the Packages's currency that you can set from Admin -> Payments -> Packages.
How can I setup the packages/Plans?
  • Go to your Admin -> Payments -> Packages
  • Select a package and edit it
  • NOTE: You can add new packages or delete current packages in the actual version.
How can I setup the advertising code (e.g. Adsense)?
  • Go to your Admin -> Advertisings
  • Edit 'top' and 'bottom' code. Click here for more information.
  • The code will be displayed on the search results pages and the ads page.
  • Your are done.
How can I setup Recaptcha?
  • Go to your Admin -> Settings
  • Turn ON or OFF 'Recaptcha activation'
  • Set 'reCAPTCHA public key' and 'reCAPTCHA private key'
  • And save your changes.
Please see more features by visiting your Admin panel -> Settings...

Cron Job

Shared hosting users

To set the Ads Cleaner command you need to add the code below in the Cron Job tool of your server:

/path/to/YourWebsite/artisan ads:clean

NOTE

  • /path/to/YourWebsite/ => You need to replace this path by your real path.
  • Don't hesitate to ask more information about it from your hosting provider.
Dedicated server users

To set the Ads Cleaner command you need to add the code below in the Cron Job tab of your server:

* * * * * {PHP_BIN_PATH} -q /path/to/YourWebsite/artisan ads:clean 2>&1

NOTE

  • {PHP_BIN_PATH} => Ex: /usr/bin/php7.0, /usr/bin/php, /usr/lib/php.
  • /path/to/YourWebsite/ => You need replace this by your real path.

More information about Cron Job: