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 serverPHP 7.1.3 or greater
OpenSSL PHP Extension
PDO PHP Extension
Mbstring PHP Extension
Tokenizer PHP Extension
XML PHP Extension
Ctype PHP Extension
JSON PHP Extension
BCMath PHP Extension
GD PHP Extension (or Imagick PHP Extension)
PHP Fileinfo extension
PHP Zip Archive
Rewrite Module (Apache or Nginx)
PHP.INI Requirements
open_basedir must be disabled
File and folder permissions
/bootstrap 775
/storage 775 (recursively)
Installation with Apache
Creating a new Database
First thing you want to do before installing LaraClassified 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 hosting provider will most likely have phpMyAdmin as mysql manager. If that is the case here is a step by step guide (if not the process 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 for your database and click create.
Uploading Files
After creating a database, unzpip the file you donwloaded from CodeCanyon and upload the contents of LaraClassified folder to your server root, usually /path/to/www/
or /path/to/html/
or /path/to/public_html/
.
Launch the Installer
After you created a database and uploaded the files, simply open up your site in the browser (like http://mysite.com, you will redirect to http://mysite.com/install) and follow on-screen instructions to complete the installation.
Installation with Nginx
- Put all the LaraClassified package files to your server root, usually
/path/to/www/
or/path/to/html/
or/path/to/public_html/
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.
- Go to the script's installation URL. For example
http://mysite.com/install
- And follow the web installation wizard.
Installation on localhost
- You have to create a local virtual host by using a domain name (eg.
http://mysite.localhost
) instead of localhost (http://localhost/mysite
).
For more information, please see this article: Using a domain name instead of localhost with XAMPP, WAMP or MAMP. - Restart your server.
- Create a MySQL database, add user to it with full permissions.
- Go to the script's installation URL. For example
http://mysite.localhost/install
- And follow the web installation wizard.
Upgrade to new versions
Upgrade Notes
- In the v5.1+ you have to activate all the purchased plugins (add-ons) using their purchase code from the Admin panel -> Plugins.
- (Only) If your website is running on the v4.8 or lower, it's important to know that:
- Before starting the upgrade, you have to move all the contents of the
/public/uploads/
directory to the/storage/app/public/
directory. - From the v4.9 the script requires PHP 7.1.3 or higher.
- (Only) If your website is running on the v4.3 or lower: By upgrading your website to the v4.4 it's important to know that:
- You will lose all your
Admin panel -> Settings
entries, and you will need to setup your website again. - You will lose all the current internal messages (that were also sent by email address to their receivers)
- If you want to re-activate the ads review (ads approbation) option, all the existing ads will be approved automatically.
- You will need to (uninstall and) re-install all the script's plugins after the upgrade.
- You will lose all the plugins data and settings (except the payment plugins transactions entries).
- (Only) If your website is running on the v3.4 or lower, before starting the upgrade you have to:
- add this entry:
APP_VERSION=X.X
in the/.env
file (eg:APP_VERSION=3.4
if your current version is 3.4 orAPP_VERSION=1.4
for 1.4). - add a new entry for your purchase code in the
/.env
file, like this:PURCHASE_CODE=yourpurchasecode
. - (if exists) change
DB_PREFIX=
toDB_TABLES_PREFIX=
in the/.env
file. - (if exist) remove the
SESSION_DRIVER=file
andSESSION_DOMAIN=.mysite.com
entries from the/.env
file.
Upgrade
- Make sure you have backup your website (files and database, including your language files) before making an upgrade.
- You cannot upgrade your website if you have changed anything in the code (except:
/public/css/custom.css
and language files). Your changes may cause the upgrade to fail. - Always use a desktop application like FileZilla to upload files to FTP as opposed to web based file managers to avoid issues with corrupted or not properly uploaded files or make wrong file permissions setting.
- Extract the .zip file you downloaded from CodeCanyon.
-
If you have made any CSS customization, backup your
/public/css/custom.css
file and overwrite its latest version after update.
(If you didn't make any CSS customization you can skip this step). -
If you have made any translations, backup your language files in the
/resources/lang/
folder, and merge their content after update.
(If you didn't make any translations you can skip this step). - First, you have to upload (and overwrite) the
/database/
folder to prevent SQL errors after the upgrade. -
Upload and overwrite the rest of the files same way you did when you installed the script
except the
/.env
file and the/storage/
directories. - Visit your website homepage or
http://mysite.com/upgrade
to finish upgrading.
- When you receive a 401 error during upgrading, this is mean that the upgrade has already done. And you can check it from your Admin panel.
- To keep your website accessibility, in the version n+1, after you updated files, the upgrade can be done by visiting any URL of your website. So, if your website is already in live (production), it’s possible that you have never need to run mysite.com/upgrade.
- Find Your Purchase Code
- Add a new entry for your purchase code in the
/.env
file, like this:PURCHASE_CODE=yourpurchasecode
or Log in to your Admin panel -> Setup -> General Settings -> Application -> Purchase Code and Edit the line to add your Purchase Code
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
Own SMTP Server
Using your own or some SMTP server Admin panel setup- Go to your Admin panel -> Setup -> General Settings -> Mail
- Set 'Mail driver', 'Mail host', 'Mail port', 'Mail encryption', 'Mail username' and 'Mail password'
- And save your changes.
/.env
file setup
- Login to your FTP account.
- Open and Edit
/.env
file. - Copy and paste your server smtp details in the file.
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
andyour-mail-encryption
. - Save and Upload the file
- You are done.
/.env
file settings override those of the admin panel.
Mandrill
Personally we use mandrill and yes it's free- Visit mandrill dashboard.
- Generate a API key, via this page https://mandrillapp.com/settings/
- Copy the key.
- Go to your Admin panel -> Setup -> General Settings -> Mail
- Set 'Mail driver', 'Mandrill secret', 'Mail host', 'Mail port', 'Mail encryption', 'Mail username' and 'Mail password'
- And save your changes.
/.env
file setup
- Login to your FTP account.
- Open and edit
/.env
file. - Remove all your current Mail configuration variables.
- Add the lines below:
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
andyour-mandrill-smtp-encryption
. - Save and upload the file.
- You are done.
/.env
file settings override those of the admin panel.
Amazon SES
Admin panel setup- Go to your Admin panel -> Setup -> General Settings -> Mail
- Set 'Mail driver', 'SES Key', 'SES secret' and 'SES region'
- And save your changes.
/.env
file setup
- Login to your FTP account.
- Open and edit
/.env
file. - Remove all your current Mail configuration variables.
- Add the lines below:
MAIL_DRIVER=ses
SES_KEY=your-ses-key
SES_SECRET=your-ses-secret
SES_REGION=your-ses-region
- Replace
your-ses-key
,your-ses-secret
andyour-ses-region
. - Save and upload the file.
- You are done.
/.env
file settings override those of the admin panel.
Mailgun
Admin panel setup- Go to your Admin panel -> Setup -> General Settings -> Mail
- Set 'Mail driver', 'Mailgun domain', 'Mailgun secret', 'Mail host', 'Mail port', 'Mail encryption', 'Mail username' and 'Mail password'
- And save your changes.
/.env
file setup
- Login to your FTP account.
- Open and edit
/.env
file. - Remove all your current Mail configuration variables.
- Add the lines below:
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
andyour-mailgun-smtp-encryption
. - Save and upload the file.
- You are done.
/.env
file settings override those of the admin panel.
Sparkpost
Admin panel setup- Go to your Admin panel -> Setup -> General Settings -> Mail
- Set 'Mail driver', 'Sparkpost secret', 'Mail host', 'Mail port', 'Mail encryption', 'Mail username' and 'Mail password'
- And save your changes.
/.env
file setup
- Login to your FTP account.
- Open and edit
/.env
file. - Remove all your current Mail configuration variables.
- Add the lines below:
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
andyour-sparkpost-smtp-encryption
. - Save and upload the file.
- You are done.
/.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
Visit the official documentation: https://developer.paypal.com/developer/applications/create
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 [email protected] PAYPAL_PASSWORD=YourPassword PAYPAL_SIGNATURE=YourSignatrue
- You have to use
PAYPAL_MODE=live
in your live server. - 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?
- Admin panel -> Setup -> General Settings -> Mail -> 'SMS Driver' to set the default SMS API.
- You can use both NEXMO or TWILIO as your SMS provider API:
NEXMO
NEXMO - https://www.nexmo.com
Admin panel setup- Go to your Admin panel -> Setup -> General Settings -> SMS
- Set 'Nexmo Key', 'Nexmo Secret' and 'Nexmo From'
- And save your changes.
/.env
file setup
- Login to your FTP account.
- Open and edit
/.env
file. - Remove all your current Mail configuration variables.
- Add the lines below:
NEXMO_KEY=your-nexmo-key NEXMO_SECRET=your-nexmo-secret NEXMO_FROM=your-sender-number
TWILIO
TWILIO - https://www.twilio.com
Admin panel setup- Go to your Admin panel -> Setup -> General Settings -> SMS
- Set 'Twilio Account SID', 'Twilio Auth Token' and 'Twilio From'
- And save your changes.
/.env
file setup
- Login to your FTP account.
- Open and edit
/.env
file. - Remove all your current Mail configuration variables.
- Add the lines below:
TWILIO_ACCOUNT_SID=your-twilio-account-sid TWILIO_AUTH_TOKEN=your-auth-token TWILIO_FROM=your-sender-number
Others SMS Configurations
Now, go to your Admin panel :
- Admin panel -> Setup -> General Settings -> SMS -> 'Enable Phone Verification' to enabling/disabling the mobile Phone number verification.
- Admin panel -> Setup -> General Settings -> SMS -> 'Enable SMS Message' to enabling/disabling the SMS sending between users.
You are done.
Social Login
/.env
file matches your site url. It should be set automatically, but you might need to do it manually in some rare cases.
- Register for regular Facebook account, if you don't already have one.
- Open this url, and Create a New App.
- Get the new app settings.
Now, you have to setup your admin panel:
- Go to your Admin panel -> Setup -> General Settings -> Social Login
- For Facebook: set 'Facebook Client ID' and 'Facebook Client Secret'
- And save your changes.
- You are done.
Or place all the config values or 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
NOTE: The /.env
file settings override those of the admin panel.
- Register for regular LinkedIn account, if you don't already have one.
- Open this url, and Create a New App.
- Get the new app settings.
Now, you have to setup your admin panel:
- Go to your Admin panel -> Setup -> General Settings -> Social Login
- For LinkedIn: set 'LinkedIn Client ID' and 'LinkedIn Client Secret'
- And save your changes.
- You are done.
Or place all the config values or API keys in the /.env
file.
LinkedIn example in /.env
file
LINKEDIN_CLIENT_ID=your-linkedin-client_id LINKEDIN_CLIENT_SECRET=your-linkedin-client_secret
NOTE: The /.env
file settings override those of the admin panel.
- Register for regular Twitter account, if you don't already have one.
- Open this url, and Create a New App.
- Get the new app settings.
Now, you have to setup your admin panel:
- Go to your Admin panel -> Setup -> General Settings -> Social Login
- For Twitter: set 'Twitter Client ID' and 'Twitter Client Secret'
- And save your changes.
- You are done.
Or place all the config values or API keys in the /.env
file.
Twitter example in /.env
file
TWITTER_CLIENT_ID=your-twitter-client_id TWITTER_CLIENT_SECRET=your-twitter-client_secret
NOTE: The /.env
file settings override those of the admin panel.
Google (deprecated)
- Register for regular Google account, if you don't already have one.
- Open this url, and Create a New App.
- Get the new app settings.
Now, you have to setup your admin panel:
- Go to your Admin panel -> Setup -> General Settings -> Social Login
- For Google: set 'Google Client ID' and 'Google Client Secret'
- And save your changes.
- You are done.
Or place all the config values or API keys in the /.env
file.
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.
Google Maps
You have to activate Google Maps Embed API and Google Maps JavaScript API in your Google Console.
Admin panel setup
- Go to your Admin panel -> Setup -> General Settings -> Others
- 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.- Visit https://www.google.com/recaptcha/admin
- Follow the steps by select the reCAPTCHA version and get your site key and your secret key.
Admin panel setup
- Go to the Admin panel -> Setup -> General Settings -> Security
- Enable the feature from the 'Enable reCAPTCHA' field
- Set 'reCAPTCHA version', 'reCAPTCHA site key' and 'reCAPTCHA secret key'
- And save your changes.
Or use /.env
file setup
- Login to your FTP account
- Open
/.env
file. - Provide the keys there.
RECAPTCHA_VERSION=your-recaptcha-keys-version
RECAPTCHA_SITE_KEY=your-recaptcha-site_key
RECAPTCHA_SECRET_KEY=your-recaptcha-secret_key
-
Replace
your-recaptcha-keys-version
(by v2 or v3), replaceyour-recaptcha-site_key
andyour-recaptcha-secret_key
by your keys. - 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.
IMAGE_DRIVER=gd
Change it to
IMAGE_DRIVER=imagick
- You are done.
Geo location
How can I enable Geo location?
- Visit the Admin panel -> Setup -> General Settings -> Geo Location and turn 'Enable Geolocation' 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 -> Setup -> General Settings -> Geo Location. 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)
- (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. - 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.
For some countries you need to edit the SVG files to change some states or provinces name etc. You can find all the SVG maps files in the /public/images/maps/
directory.
There are a free (commercial use) license and a paid license. So 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 -> Setup -> General Settings -> International -> Countries -> "Admin. Division x" or "Cities") 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 -> Setup -> General Settings -> 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 panel -> Setup -> 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 from the Admin panel (Users -> Titles, Ads -> Ad Types, Ads -> Categories, Setup -> Packages, Setup -> Report Type, etc.).
How can I change the default language?
- Go to your Admin panel -> Setup -> 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 thefallback_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 panel -> Setup -> Languages
- Select a language and edit it.
- Uncheck ‘Active’ checkbox and save.
How can I delete languages?
- Go to your LaraClassified Admin panel -> Setup -> 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 panel -> Setup -> General Settings -> Geo Location 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 panel -> Setup -> Packages.
How can I setup the packages/Plans?
- Go to your Admin panel -> Setup -> 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 panel -> Setup -> Advertisings
- Edit 'top' and 'bottom' code.
- 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 panel -> Setup -> General Settings -> Security
- Turn ON or OFF 'Enable reCAPTCHA'
- Set 'reCAPTCHA public key' and 'reCAPTCHA private key'
- And save your changes.
Cron Job
How can I start the Scheduler?
The Scheduler will execute:- The Ads Clear command (that auto archives and deletes ads after expiration) every hour.
- The Cache and Views Clear commands, the latest day of every week at 6:00.
When using the scheduler, you only need to add the following Cron entry to your server.
* * * * * {PHP_BIN_PATH} /path/to/YourWebsite/artisan schedule:run >> /dev/null 2>&1
This Cron will call the Laravel command scheduler every minute. When the schedule:run
command is executed, Laravel will evaluate your scheduled tasks and runs the tasks that are due.
NOTE
{PHP_BIN_PATH}
=> Ex:/usr/bin/php7.1.3
,/usr/bin/php
,/usr/lib/php
/path/to/YourWebsite/
=> You have to replace this path by your real path.- Don't hesitate to ask more information about it from your hosting provider.
- You can disable the Auto Cache and Views Clear command by adding this variable:
DISABLE_CACHE_AUTO_CLEAR=1
in the/.env
file.
More information about Cron Job:
- https://crontab.guru/every-1-hour
- https://code.tutsplus.com/tutorials/scheduling-tasks-with-cron-jobs--net-8800
- http://askubuntu.com/questions/2368/how-do-i-set-up-a-cron-job
How does the Ads Clear command work?
After setting it up to run every hour (for example), you can consider 2 cases:
1. Regular Ads
You have to set up the options below from the Admin panel -> Setup -> General Settings -> Cron:
- Unactivated Ads Expiration: After this time (in days) the unactivated ads will be deleted
- Activated Ads Expiration: After this time (in days) the activated ads will be archived
- Archived Ads Expiration: After this time (in days) the archived ads will be removed
2. Premium/Sponsored/Paid Ads
- After the Packages duration time (in days) that you have set up from the Admin panel -> Setup -> Packages -> [EDIT] -> Duration, the Premium Ads become Regular Ads.
- And then, the Regular Ads rules (seen in #1) are applied to clear the website database.