This tutorial will show how to go from cPanel to ISPConfig. The best part about ISPConfig is that it's free, while cPanel charges. ISPConfig is also a little faster than cPanel.With both cPanel or ISPConfig you have a learning curve, but ISPConfig is a little bit easier.
This tutorial is also in video format below if you would like to have a visual aid to follow along with. One of the first things I do is get all of my links ready to make a more convenient process. The first link you will need to have open is the website that you are processing. You will also need to open your current cPanel, the ISPConfig dashboard, and the domain registrar. It is important at this time to go into your cPanel and back up your database. You wil make a zip file of the database and the rest of your files here. The best way to accomplish this is through SSH which is shell. This tutorial will include the shell commands for your convenience. Using SSH is beneficial because it frees you from having to download and upload all of the files back and forth. So I use SSH to make the process much less time consuming.
SSH Into Terminal
The files you will need to make sure that you have are located in the public_html folder as well as the database. The wp-config.php file contains the information you need to use to access your database. To accomplish this using SSH you will need to open your terminal and enter the following code. Substitute your ftp username in front of the @ symbol and your website IP address after it.
ssh ftp_username@IP_Address
Access public_html
Next hit enter and you will be prompted to type in your ftp password. You may be prompted to confirm that you wish to connect to the host. Type ls to see the files that are in the directory. Look for the file that says public_html/ This shows you that you are in the correct directory. Next typecd public_html
Get Database Password and User-name From Config File
Here you will be able to see all the files you need to access for your website by using the ls command. You will need to get your database username and password from the wp-config.php file. To do this type the following command and hit enter.nano wp-config.php
Export Database to public_html Folder
Scroll down through the file to locate the information you need. You can copy this information and paste it to a blank note or document for easy use. The following command line will help you create a database zip file that you can transfer when setting up the ISPConfig. Remember to substitute your personal information in this command line and do not include the square brackets.mysqldump -u [username] -p [database name] >[database name].sqlFor example if your username was ankleand_wrdp1 and your database name was ankleand_wp then the command code would look like this.
mysqldump -u ankleand_wrdp1 -p ankleand_wp >ankleand_wp].sqlThis will create a database file named after your database name. When you use the command code in the terminal you will be asked to enter the password for your database. When it is done processing you will type ls and hit enter to view the files and see that your new database file that you created is included in the list.
Zip All Your Files At One Time
Now you are ready to zip everything in this directory. To do this you will type the following command. zip -r bk.zip * Now you have a zip file of everything you need for your site and when you type ls you will see the new file bk.zip in your list of files.ISP Config Client Tab
Go to the ISPConfig dashboard and click on the Client tab. Adding a Client name is the first thing you will need to do in ISPConfig. Click the Add new client button in this tab. Fill in the following blanks: 1. Company name: 2. Title: 3. Contact firstname: 4. Contact name: 5. The customer number will already have a default id number in there and you can leave that as it is. 6. Username: 7. Password 8. Repeat Password: 9. Change country to match for example United States 10. Email: 11. Make sure that the two checkboxes at the bottom of the form are NOT CHECKED. 12. Be sure to click SaveAdd Website in ISP Config
The next step in ISPConfig is to click on the Sites tab and add your website information by clicking the Add new website button. You will fill in the following information in this form:1. Select Client
2. Domain: (enter your domain here like this) mysite.com (substitute your real domain name for mysite. You do not need to include http://) 2. Harddisk Quota: 100
3. Traffic Quota: 400
4. Make sure that all of the checkboxes are checked for CGI, SSI, Perl, Ruby, Python, SuEXEC, Own Error-Documents
5. Auto-Subdomain: www.
6. Check the boxes for SSL and Let's Encrypt SSL
7. PHP select Fast-CGI from the drop down menu 8. PHP Version should be set to Default
9. Click Save
Set Up Shell User in ISP Config
The next thing you need to do is set up a Shell-User from the menu on the left and click Add new Shell-User. This form should be edited as follows:1. Type in the client name with no spaces
2. Enter Password
3. Repeat Password
4. Shell Root should be set to None
5. Quota: 300
6. Click Save
You will see the username in the list on the The next thing you want to copy down is the IP address to your server. These will be the numbers in the url address bar at the top of your browser window. An example would be 108.95.65.3
SSH into New Server
Now you will want to SSH into your new server. Log in as root by typing.sudo suFor some servers like cent os you will just type in
su
Transfer Files to New Server And Unzip Them
Now within seconds you can transfer all your files from your old server to your new server. Enter the following command.wget http://oldserver.com/file.zipNext unzip the files
unzip file.zipNow rm the zip file.
rm file.zip
Create and Import the Database
Log into your IspConfig and create a new database for the website. {see video above for visual instructions} Now lets import our sql into that database. This is the syntax we will use.mysql -u [username] -p [database name] < [dataImport.sql]You will need to enter the password of the database that you created. This is the most secure way to do it.
Edit the Config File
One last thing that you have to do is edit the config file to connect your website to your database. You will need to edit the config file in 3 places.- username of the new database
- password of the new database
- name of the new database.