Requirements
# |
Recommended |
Server | VPS, Cloud, or Dedicated (Get 20€ Free Cloud Server Credits) |
Linux OS | Debian 10 / Ubuntu 20.04 |
Web Panel | Plesk |
Web Server | Apache 2.4 |
Web Server Mods | mod_rewrite (URL rewriting) |
PHP | 7.4 (8.x not yet supported) |
PHP Extensions | ionCube Loader, cURL, fileinfo, redis |
PHP Functions enabled | putenv, exec, chown, pcntl_signal, pcntl_alarm, popen, proc_open, dl, apache_setenv |
Database | MySQL 8 / MariaDB 10.7 |
Conversion Software | FFmpeg & FFprobe static build |
Processes Control | Supervisor |
In-Memory Database / Cache | Redis |
Recommended installation
1) In Plesk, click on Websites & Domains > example.com > File Manager
2) Delete all automatically created files
3) Click the blue, square button with the plus sign, select Upload File in the subsequent menu, and upload the "MP3ConverterPro-v3.zip" distribution file
4) Click the hamburger icon/button that corresponds to the uploaded ZIP file, select "Extract Files" in the subsequent menu, and click OK in the ensuing popup
5) Click on the "mp3converterpro" folder to open it, select all files in the folder, and then move them to the parent directory
6) Click on and return to the parent directory, check the "mp3converterpro" folder and ZIP file, and delete them
7) In File Manager, set permissions of BOTH "storage/logs" AND "bootstrap/cache" to full Write access, e.g.:
8) Copy the filesystem "User" name for later
9) Click Extensions, search for "terminal", click on the "SSH Terminal" search suggestion, and click Open on the subsequent screen
10) Go to the MP3 Converter Pro's root directory (copy and paste commands with Shift + Insert keys!)
cd /var/www/vhosts/example.com/httpdocs
11) Using the filesystem "User" name from the File Manager, install dependencies via Composer
sudo -u example.com_fkwh1mea2mm /opt/plesk/php/7.4/bin/php /usr/lib/plesk-9.0/composer.phar install --no-dev
12) Using the filesystem "User" name from the File Manager, generate .env Config file
sudo -u example.com_fkwh1mea2mm cp .env.example .env
13) Generate unique APP Key
sudo -u example.com_fkwh1mea2mm /opt/plesk/php/7.4/bin/php artisan key:generate
14) Return to the File Manager, go to the MP3 Converter Pro root directory, click on the .env file, and edit your settings in the built-in editor
APP_NAME="MP3 Converter Pro"
APP_URL=http://example.com
# Your MySQL Database Login details here
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=mp3converterprov3
DB_USERNAME=your_user
DB_PASSWORD=your_password
FFMPEG_BINARIES="/usr/local/bin/ffmpeg"
FFPROBE_BINARIES="/usr/local/bin/ffprobe"
# Cache your admin panel settings to reduce database overhead.
SETTINGS_CACHE_ENABLED=true
# Cache Driver can be "file" or "redis"
CACHE_DRIVER=file
# If you want to use redis, set up your redis settings here.
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
...
15) Click on Websites & Domains > example.com > PHP Settings, and set "open_basedir" to an empty value
16) Return to the SSH Terminal, and go to the MP3 Converter Pro's root directory (copy and paste commands with Shift + Insert keys!)
cd /var/www/vhosts/example.com/httpdocs
17) Migrate and Seed Database via SSH Terminal
sudo -u example.com_fkwh1mea2mm /opt/plesk/php/7.4/bin/php artisan migrate --seed
18) Click on Websites & Domains > example.com > Hosting & DNS > Hosting Settings, and update the Document root to "httpdocs/public"
19) Return to the SSH Terminal, and go to Supervisor's configuration file directory (copy and paste commands with Shift + Insert keys!)
cd /etc/supervisor/conf.d
20) Create a new Supervisor config file using the SSH Terminal's "nano" text editor
nano MCP_Queue.conf
21) Edit the config file contents (below), and then paste the edited contents into the "nano" text editor (copy and paste with Shift + Insert keys!).
IMPORTANT: The number "8" in "numprocs=8" (below) should be replaced with the NUMBER OF CPU THREADS (on your server) x 4 (e.g., 2 x 4 = 8) !!
[program:MCP_Queue]
process_name=%(program_name)s_%(process_num)02d
command=/opt/plesk/php/7.4/bin/php artisan queue:work --sleep=3 --tries=1 --max-time=3600 --timeout=2000
autostart=true
autorestart=true
stopasgroup=true
killasgroup=true
user=example.com_fkwh1mea2mm
numprocs=8
redirect_stderr=true
stdout_logfile=/var/www/vhosts/example.com/httpdocs/storage/logs/worker.log
stopwaitsecs=3600
directory=/var/www/vhosts/example.com/httpdocs/
22) Type the following keyboard shortcuts into the "nano" text editor to save the file and exit the editor
Exit: Ctrl X
Save Modified Buffer?: Y
File Name to Write: Enter
23) Via 3 separate commands, "reread" your config file, "update" the Supervisor config, and "start" the Supervisor worker process
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start MCP_Queue:*
24) Click on Websites & Domains > example.com > Scheduled Tasks, click the Add Task button, and then set up a new task to delete old, cached files
Active: CheckedTask type: Run a PHP scriptScript path: httpdocs/artisanwith arguments: schedule:runUse PHP version: 7.4.28Run: Hourly at 00 minuteDescription: Delete File Cache
25) Navigate to the Admin Panel and log in with the following credentials:
http://yoursite.com/admin
Login: admin@admin
Password: 12345678
...Then click on the "admin" dropdown menu (at the top-right of page), select Profile, and update your Email and Password
26) In the Admin Panel, click on Settings, go to License Settings, add your Product License key, and then click the corresponding Save button. On the same page, go to Backend Settings, add your Backend URL and API key, and then click its corresponding Save button.