주요 가동 중지 시간 없이 WordPress 사이트(move WordPress site) 를 관리/비관리/공유/전용/ VPS 호스팅에서 다른 호스팅 으로 이동하려는 경우 이것이 필요한 가이드입니다. 이미 SSL 이 있거나 사이트를 공유 호스팅에서 (SSL)VPS 로 이동하려는 경우 약간의 가동 중지 시간이 발생할 수 있습니다.
(Migrate WordPress)한 서버에서 다른 서버로 WordPress 사이트 마이그레이션
Hostgator , Bluehost , Siteground 등과 같은 공유 호스팅에서 호스팅되는 웹사이트가 있는 경우 다음 단계를 따라야 합니다. 일반적으로 이러한 공유 호스팅 회사는 cPanel을 제공하므로 cPanel의 도움으로 모든 것을 옮기는 것은 매우 쉽습니다.
먼저 파일과 데이터베이스를 포함한 모든 것을 백업해야 합니다.
파일을 백업하려면 호스팅 제공업체에서 제공해야 하는 '파일 관리자'를 열어야 하며 cPanel에서 찾을 수 있습니다. 호스팅 계정에 여러 도메인을 추가한 경우 그에 따라 탐색해야 합니다. 그렇지 않으면 워드프레스(WordPress) 코어 를 포함한 모든 파일을 얻을 수 있는 public_html 이라는 디렉토리를 찾을 수 있습니다 . 모든 파일을 선택(Select) 하고 확장자가 .zip인 아카이브를 만들고 압축 폴더를 만듭니다. 컴퓨터에 다운로드합니다. 기본적으로 숨겨져 있는 단일 파일(주로 .htaccess )을 잊지 마십시오 .
이제 데이터베이스를 백업해야 합니다. 이미 cPanel 및 phpMyAdmin이 있으므로 해당 도구를 사용하여 데이터베이스를 다운로드할 수 있습니다. 그렇게 하려면 cPanel을 열고 phpMyAdmin으로 이동합니다. 왼쪽에서 데이터베이스 이름을 찾을 수 있습니다. 그것을 선택하고 내보내기(Export ) 탭으로 전환하십시오.
여기에서 빠른 (Quick )내보내기 방법(Export method) 을 선택 하고 형식(Format ) 드롭다운 메뉴 에서 SQL 을 선택해야 합니다. (SQL)그런 다음 이동(Go ) 버튼을 클릭하여 다운로드를 시작합니다.
이제 새 호스팅 계정으로 이동하여 먼저 도메인을 추가해야 합니다. 새 계정을 등록할 때 이미 했다면 다시 할 필요가 없습니다. 그러나 아직 수행하지 않았다면 cPanel에 도메인을 추가해야 합니다. Addon Domains 옵션을 사용할 수 있습니다(다를 수 있지만 용어는 유사합니다).
그런 다음 새 웹 사이트에 대한 데이터베이스를 만들어야 합니다. 생성하는 동안 데이터베이스 이름, 사용자 ID 및 암호를 적어 두는 것을 잊지 마십시오. 이것이 없으면 파일을 데이터베이스에 매핑할 수 없습니다.
cPanel에서 이 작업을 수행하는 데 사용할 수 있는 MySQL 데이터베이스(MySQL Database) 옵션을 찾을 수 있습니다 . 데이터베이스를 생성하려면 데이터베이스 이름, 사용자 ID 및 비밀번호를 입력해야 합니다. 데이터베이스 이름 파일을 만든 다음 사용자 ID와 암호를 추가해야 합니다. 그런 다음 사용자 ID가 데이터베이스에 액세스할 수 있도록 허용해야 합니다. 이를 위해 데이터베이스에 사용자 추가(Add user to database) 섹션을 사용할 수 있습니다 .
추가(Add ) 버튼을 클릭하면 사용자 ID가 데이터베이스의 특정 항목에 액세스하는 것을 허용/차단해야 하는 창이 나타납니다. 문제를 제거하려면 모든(ALL PRIVILEGES ) 권한 옵션 에 체크 표시를 하고 변경(Make Changes ) 버튼을 클릭하십시오.
이제 이전 호스팅 계정에서 다운로드한 데이터베이스를 업로드해야 합니다. 이를 위해 phpMyAdmin 앱을 열고 왼쪽에서 데이터베이스를 선택합니다. 그런 다음 가져오기(Import) 탭으로 이동합니다. 파일 선택(Choose File) 이라는 버튼을 찾아야 합니다 . 그것을 클릭(Click) 하고 컴퓨터에서 파일을 선택하십시오.
화면에서 아무 것도 변경하지 말고 바로 이동(Go ) 버튼을 클릭하세요. 업로드를 완료하는 데 몇 초가 걸립니다.
다음 단계는 이전 서버에서 다운로드한 파일을 업로드하는 것입니다. 그렇게 하려면 파일 관리자 를 사용하여 도메인의 루트 디렉토리를 열고 (File Manager)public_html 로 이동하십시오 . 도메인이 하나인 경우 여기에 모든 파일을 업로드하세요. 여러 도메인이 있는 경우 해당 도메인의 루트 디렉터리로 이동하여 거기에 파일을 업로드합니다. 업로드 후에는 압축 폴더의 압축을 풀어야 합니다.
이제 이전 데이터베이스 세부 정보를 새 데이터베이스로 바꿔야 합니다. 이를 위해 wp-config.php(wp-config.php ) 파일 을 열고 데이터베이스 이름, 사용자 ID 및 비밀번호를 바꾸십시오. 변경 후 파일을 저장합니다.
다음으로 도메인의 이름 서버를 변경해야 합니다. 이를 위해 호스팅 계정에서 이름 서버를 가져와 도메인의 제어판에 입력합니다. 도메인 공급자마다 옵션이 다릅니다 . (Different)그러나 이를 검색하거나 지원팀에 도움을 요청할 수 있습니다.
이 단계가 완료되면 한 호스트에서 다른 호스트로 파일 마이그레이션이 완료됩니다. 모든 것을 전파하는 데 최대 48시간이 걸릴 수 있습니다. 그 동안 이 웹사이트(this website) 를 열고 사이트에 새 IP 또는 이전 IP가 표시되는지 확인할 수 있습니다. 새 IP 주소가 표시되면 전파가 완료된 것입니다. 컴퓨터의 ping 도구를 사용하여 IP 주소를 확인할 수도 있습니다. 컴퓨터에 이전 IP가 표시되지만 온라인 도구에 새 IP가 표시되는 경우 DNS 캐시를 플러시해야 합니다(flush your DNS cache) .
WordPress 사이트를 공유 호스팅에서 관리되지 않는 VPS 로 이동하는 방법
WordPress 웹 사이트를 공유 호스팅에서 다른 공유 호스팅 으로 이동하는 것은 매우 쉽습니다. 둘 다 phpMyAdmin, 파일 관리자(File Manager) 등과 같은 필요한 모든 도구가 있는 cPanel이 있기 때문입니다. 그러나 루트 액세스 권한을 얻을 수 있고 관리되지 않는 VPS 가 공유 호스팅보다 비교적 저렴 하기 때문에 관리되지 않는 VPS 를 선택하는 경우가 많습니다 .
관리되지 않는 VPS란 무엇입니까?
VPS 는 가상 사설 서버(Private Server) 를 의미 합니다. 간단히 말해서 VPS 호스팅 계정에 cPanel이 없으면 관리되지 않는 VPS 라고 부를 수 있습니다 . 관리되지 않는 VPS 서버에 액세스하려면 Putty 와 같은 도구 , Filezilla 또는 Cyberduck 과 같은 FTP 클라이언트(FTP client) 가 필요합니다 . 관리되지 않는 VPS(VPS) 공급자 의 몇 가지 예로 는 Digital Ocean , Linode , Vultr 등이 있습니다.
관리되지 않는 VPS 계정을 이미 구입했고 아무것도 모르지만 WordPress 사이트를 공유 호스팅에서 관리되지 않는 VPS 로 이동하려는 경우 다음 단계를 따를 수 있습니다.
시작하기 전에 여기 에서 (here)Cyberduck(download Cyberduck) 및 Putty를 다운로드하십시오 . 또한 모든 파일과 데이터베이스를 포함하는 이전 사이트 백업을 다운로드해야 합니다. 단계는 위에서 언급했습니다.
이제 WordPress , Ghost , Joomla , Discourse 등과 같은 일부 회사 는 원클릭 앱을 제공하는 반면 Linode 와 같은 다른 회사 는 그런 것을 제공하지 않는다는 것을 알아야 합니다. 이 경우 ServerPilot(ServerPilot) , ServerAvatar , EasyEngine 등과 같은 다른 타사 도구를 사용할 수 있습니다 . 그 중 ServerPilot 은 최근에 유료 도구가 되었지만 보안 및 사용성 측면에서 지금까지는 최고입니다.
어떤 호스팅 계정을 사용하든 먼저 서버를 만들고 OS를 설치하고 루트 암호를 적어 두어야 합니다. 호스팅(Different) 제공업체마다 옵션이 다르지만 핵심은 동일합니다. 그러나 ServerPilot 을 사용하는 경우 64비트 버전의 Ubuntu LTS 16.04 또는 18.04를 사용해야 합니다. 그들은 다른 것을 지원하지 않습니다.
따라서 호스팅 계정의 도메인 이름을 추가하고 도메인 계정의 네임서버를 변경해야 합니다. 또한 지금부터 VPN(VPN) 을 사용하는 것이 좋습니다 . 그렇지 않으면(Otherwise) 컴퓨터에서 새 호스팅 계정을 감지할 수 없습니다.
Digital Ocean 이나 Vultr 의 원클릭 앱을 사용하면 워드프레스(WordPress) 를 빠르게 설치할 수 있습니다 . 이 방법을 선택하면 여기에서 WordPress(WordPress) 설치 파일 을 찾을 수 있습니다.
/var/html
ServerPilot을 사용 하여 WordPress 를 설치하는 경우 여기에서 (WordPress)WordPress 설치 파일 을 찾을 수 있습니다.
/srv/users/user_name/apps/app_name/public
wp-config.php 라는 파일을 찾아야 합니다 . 그것을 다운로드하고 데이터베이스 사용자 이름과 암호를 유지하십시오. 이 작업을 수행하는 것을 잊지 마십시오.
모든 WordPress(WordPress) 설치 파일 을 삭제해야 합니다. wp-admin, wp-content 및 wp-includes 폴더는 삭제하는 데 시간이 많이 걸리므로 퍼티를 사용하여 제거할 수 있습니다. 이를 위해 Putty(Putty) 를 열고 서버의 IP 주소를 입력합니다. 포트 가 (Port)22 로 설정되어 있는지 확인(Make) 하십시오 . 그런 다음 열기(Open ) 버튼을 클릭하고 연결을 확인합니다. 그런 다음 사용자 이름과 비밀번호를 입력해야 합니다. 사용자 이름으로 root(root ) 를 입력 합니다 . 호스팅 계정에서 서버를 생성한 후 동일한 페이지 또는 이메일을 통해 비밀번호를 받아야 합니다.
다음으로 다음을 입력합니다.
원클릭 앱 사용자:(One-click app users:)
rm -rf /var/html/wp-admin
rm -rf /var/html/wp-content
rm -rf /var/html/wp-includes
ServerPilot 사용자:(ServerPilot users:)
rm -rf /srv/users/user_name/apps/app_name/public/wp-admin
rm -rf /srv/users/user_name/apps/app_name/public/wp-content
rm -rf /srv/users/user_name/apps/app_name/public/wp-includes
그런 다음 Cyberduck(Cyberduck) 앱 을 열고 해당 폴더로 이동하여 다른 설치 파일을 삭제할 수 있습니다.
다음 단계에서는 압축(zipped) 된 백업 파일을 업로드해야 합니다. 그렇게 하고 파일의 압축을 풉니다. 압축을 푸는 동안 오류가 발생하면 Putty 에 다음 명령을 입력할 수 있습니다 .
sudo apt-get update
sudo apt-get install unzip
해당 파일의 압축을 풀고 나면 데이터베이스 정보를 교체해야 합니다. 이를 위해 다운로드한 wp-config.php 파일을 엽니다. 다음으로 방금 업로드한 현재 wp-config.php 파일을 엽니다. 다운로드한 wp-config.php 파일에서 데이터베이스 이름, 사용자 ID 및 비밀번호를 복사하고 업로드한 wp-config.php 파일로 교체합니다.
그런 다음 phpMyAdmin을 설치해야 합니다. 그렇지 않으면 데이터베이스를 가져올 수 없습니다. 이를 위해 다음 단계를 따르십시오.
S0 여기(here) 에서 최신 버전의 phpMyAdmin을 다운로드하고 zip 파일을 루트 디렉터리에 업로드합니다. 그런 다음 파일의 압축을 풀고 이름을 바꿉니다. 확인(Make) 하십시오. 알 수 없는 이름을 사용합니다. 예를 들어 abcd 를 선택 하면 다음과 같이 phpMyAdmin을 열 수 있습니다.
http://your-domain-name/abcd
이름 선택 후 폴더를 열어 config.sample.inc.php 파일을 찾습니다. config.inc.php 로 이름을 변경할 수 있습니다 . 그런 다음 편집기로 이 파일을 열고 다음과 같이 변경합니다.
$cfg['blowfish_secret']
다음과 같이 표시되어야 합니다.
$cfg['blowfish_secret'] = 'k7i259684(*^3q42bd^$4353yow*q5Trs^1'
이제 phpMyAdmin을 열고 데이터베이스 사용자 ID와 암호를 입력하여 로그인합니다. 그런 다음 왼쪽에서 데이터베이스 이름을 선택하고 모든 데이터베이스 테이블을 선택하고 적절하게 제거합니다.
그런 다음 가져오기(Import ) 탭 으로 이동하여 이전에 다운로드한 데이터베이스를 가져옵니다.
그게 다야! 이제 웹사이트가 새 호스팅 계정에서 제대로 실행되어야 합니다.
관리되지 않는 VPS(VPS) 에서 공유 호스팅 으로 WordPress 사이트 를 이동하는 방법
이것은 매우 쉽고 시간도 많이 걸리지 않습니다. 가장 좋은 점은 단계가 거의 동일하다는 것입니다. 단, phpMyAdmin을 설치하지 않은 경우 데이터베이스를 다운로드하려면 설치해야 합니다.
간단히 말해서 다음은 따라야 할 단계입니다.
- (Download)VPS 계정 에서 모든 파일을 다운로드 합니다.
- 데이터베이스를 다운로드합니다.
- 공유 호스팅 계정에서 데이터베이스를 생성하고 사용자에게 데이터베이스를 할당합니다.
- 모든 파일을 새 호스팅 계정에 업로드합니다.
- wp-config.php 파일에서 데이터베이스 이름, 사용자 이름 및 암호를 변경합니다.
- 도메인 제어판에서 네임서버를 변경합니다.
그게 다야!
서버 변경 후 일반적인 문제
마이그레이션을 완료한 후 다른 문제에 직면할 수 있습니다. 그 중 일부는 아래에 언급되어 있습니다.
홈페이지가 열리지만 게시물에 404 오류가 표시됩니다.(Homepage is opening, but posts are showing 404 error)
.htaccess 파일을 확인하고 이것을 기본값으로 사용하십시오:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
또한 여기로 이동하십시오.
/etc/apache2/apache2.conf
그리고 다음과 같이 변경합니다.
<Directory /var/www/>
AllowOverride All
</Directory>
플러그인을 설치할 수 없습니다. FTP 로그인 세부 정보를 요청합니다.(Unable to install plugins, asking FTP login details)
이것은 사람들이 직면하는 매우 일반적인 문제입니다. wp-config.php 파일을 열어 맨 아래에 붙여넣어야 합니다.
define( 'FS_METHOD', 'direct' );
설치 실패: 디렉토리를 생성할 수 없습니다.(Installation failed: Could not create directory)
이미지 업로드, 플러그인 설치, 테마 또는 플러그인 업데이트가 불가능하고 위와 같은 오류가 발생하는 경우 권한을 변경하여 문제를 해결할 수 있습니다. Putty를 열고(Open Putty) 다음을 입력하십시오.
chmod -R 775 directory_path
여기(here) 에서 파일 권한에 대해 자세히 알아볼 수 있습니다 .
htaccess를 사용하여 www가 아닌 곳을 www로 리디렉션(Redirect non-www to www using htaccess)
RewriteEngine on
RewriteCond %{HTTP_HOST} ^your-domain-name.com [NC]
RewriteRule ^(.*)$ http://www.your-domain-name.com/$1 [L,R=301,NC]
www를 www가 아닌 곳으로 리디렉션(Redirect www to non-www)
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.your-domain-name.com [NC]
RewriteRule ^(.*)$ http://your-domain-name.com/$1 [L,R=301]
그러나 www(www) 와 @ 또는 공백 이 있는 CNAME 레코드 도 입력해야 합니다 .
(Please)SSL 은 별도로 설치하셔야 하오니 참고하시기 바랍니다. 호스팅 제공업체에서 무료 SSL 을 제공하는 경우 이를 설치하도록 요청할 수 있습니다. 그렇지 않으면 무료이지만 공유 SSL 인증서 를 제공하는 Let's Encrypt 를 사용할 수 있습니다 .
How to move WordPress site from one host to another
If you want to move WordPress site from a managed/unmanaged/shared/dedicated/VPS hosting to another without any major downtime, this is the guide you need. If you already have SSL or you want to move a site from shared hosting to VPS, you might face a little bit of downtime.
Migrate WordPress site from one server to another
If you have a website hosted on shared hosting like Hostgator, Bluehost, Siteground, etc., these are the steps you need to follow. Generally, these shared hosting companies provide a cPanel and therefore, it is quite easy to move everything with the help of the cPanel.
First, you need to backup everything including your files as well as the database.
To back up your files, you have to open the ‘File Manager’ that should be provided by your hosting provider, and you can find it in your cPanel. If you have added multiple domains in your hosting account, you need to navigate accordingly. Otherwise, you can find a directory called public_html, where you will get all the files including WordPress core. Select all the files, create an archive with a .zip extension and make the compressed folder. Download it to your computer. Do not forget a single file – mainly the .htaccess, which is hidden by default.
Now you need to backup your database. As you already have cPanel and phpMyAdmin, you can use that tool to download the database. To do so, open up your cPanel and go to phpMyAdmin. You can find your database name on your left-hand side. Select that and switch to Export tab.
From here, you need to choose Quick as Export method, and SQL from the Format drop-down menu. After that, click the Go button to start the download.
Now, you have to go to your new hosting account and add the domain first. If you have already done that while signing up for a new account, you do not have to do that again. However, if you haven’t done that already, you need to add your domain to your cPanel. You can use the Addon Domains option (it can be different, but the term remains similar).
After that, you have to create a database for your new website. While creating, do not forget to note down the database name, user ID and password. Without these, you would not be able to map your files to your database.
You can find the MySQL Database option in your cPanel that you can use to get it done. To create a database, you need to enter a database name, user ID, and password. You have to create the database name file and then add the user ID and password. After that, you have to permit the user ID to access the database. For that, you can use the section called Add user to database.
After clicking the Add button, you should find a window where you have to allow/block user ID to access certain things of the database. To get rid of any problem, you can make a tick in the ALL PRIVILEGES option and click the Make Changes button.
Now, you need to upload the database that you downloaded from the old hosting account. For that, open phpMyAdmin app and select the database from your left-hand side. After that, go to Import tab. You should find a button called Choose File. Click on that and select the file from your computer.
Do not change anything on the screen and click the Go button directly. It should take a couple of seconds to finish the upload.
The next step is to upload the files that you downloaded from the old server. To do so, open up your root directory of your domain using the File Manager and go to public_html. If you have one domain, upload all the files here. If you have multiple domains, navigate to that domain’s root directory and upload files there. After uploading, you need to unzip the zipped folder.
Now, you need to replace the old database details with the new one. For that, open up the wp-config.php file and replace database name, user ID and password. After changing, save the file.
Next, you need to change the name server of your domain. For that, get the name server from your hosting account and enter them in your domain’s control panel. Different domain provider has different options. However, you can search for that or ask the support team for help.
With that step done, you are finished migrating your files from one host to another. It might take up to 48 hours to propagate everything. In the meantime, you can open this website, and check if your site is showing new IP or old one. If the new IP address is visible, the propagation is done. You can also use the ping tool on your computer to check the IP address. If your computer is showing old IP but the online tool is showing the new IP, you need to flush your DNS cache.
How to move WordPress site from shared hosting to unmanaged VPS
It is quite easy to move a WordPress website from shared hosting to another shared hosting since both of them have cPanel, which has all the necessary tools like phpMyAdmin, File Manager and so on. However, there are many people, who often choose unmanaged VPS because you can get root access and unmanaged VPS is comparatively cheaper than shared hosting.
What is an unmanaged VPS
VPS means Virtual Private Server. In simple words, if your VPS hosting account doesn’t have a cPanel, you can call it an unmanaged VPS. To access an unmanaged VPS server, you need some tools like Putty, FTP client like Filezilla or Cyberduck. Some examples of unmanaged VPS providers are Digital Ocean, Linode, Vultr, and so on.
If you have already purchased an unmanaged VPS account, and you do not know anything, but you want to move your WordPress site from shared hosting to unmanaged VPS, you can follow these following steps.
Before getting started, download Cyberduck and Putty from here. Also, you need to download the old site backup including all files and database. The steps are mentioned above.
Now, you should know that some companies like WordPress, Ghost, Joomla, Discourse, etc., provide one-click apps, whereas others like Linode do not offer such a thing. In that case, you can use some other third-party tools like ServerPilot, ServerAvatar, EasyEngine, etc. Among them, ServerPilot has recently become a paid tool – but this is the best so far in terms of security and usability.
No matter which hosting account you use, you have to create a server first, install the OS, and note down the root password. Different hosting providers have different options, but the core thing is the same. However, if you use ServerPilot, you have to use the 64-bit version of Ubuntu LTS 16.04 or 18.04. They do not support anything else.
Therefore, you need to add the domain name in your hosting account and change the nameserver in your domain account. Also, this is suggested to use a VPN from now on. Otherwise, you cannot detect the new hosting account from your computer.
If you use the one-click app of Digital Ocean or Vultr, you can install WordPress quickly. If you choose this method, you can find your WordPress installation files here:
/var/html
If you use ServerPilot to install WordPress, you can find your WordPress installation files here:
/srv/users/user_name/apps/app_name/public
You should find a file called wp-config.php. Download it and keep the database username, and password. Do not forget to do this.
You have to delete all the WordPress installation files. As wp-admin, wp-content, and wp-includes folders take a lot of time to be deleted, you can use putty to remove them. For that, open Putty, and enter the IP address of your server. Make sure the Port is set as 22. Following that, click the Open button and confirm the connection. After that, you need to enter your username and password. Enter root as username. You should get a password on the same page or via email after creating the server in your hosting account.
Next, enter this:
One-click app users:
rm -rf /var/html/wp-admin
rm -rf /var/html/wp-content
rm -rf /var/html/wp-includes
ServerPilot users:
rm -rf /srv/users/user_name/apps/app_name/public/wp-admin
rm -rf /srv/users/user_name/apps/app_name/public/wp-content
rm -rf /srv/users/user_name/apps/app_name/public/wp-includes
After that, you can open the Cyberduck app, navigate to that folder and delete other installation files.
In the next step, you need to upload the zipped backup file. Do that, and unzip the file. If you get any error while unzipping, you can enter this command in the Putty:
sudo apt-get update
sudo apt-get install unzip
After unzipping those files, you have to replace the database information. For that, open up the wp-config.php file that you downloaded. Next, open the current wp-config.php file that you just uploaded. Copy the database name, user ID and password from the downloaded wp-config.php file and replace them with the uploaded wp-config.php file.
Following that, you need to install phpMyAdmin. Otherwise, you cannot import the database. For that, follow these steps.
S0 download the latest version of phpMyAdmin from here and upload the zip file to your root directory. After that, unzip the file and rename it. Make sure; you use an unguessable name. For example, if you choose abcd, you can open the phpMyAdmin like this:
http://your-domain-name/abcd
After choosing a name, open the folder and find out config.sample.inc.php file. You can rename it to config.inc.php. After that, open this file with an editor and make a change in the like that says:
$cfg['blowfish_secret']
It should look like this:
$cfg['blowfish_secret'] = 'k7i259684(*^3q42bd^$4353yow*q5Trs^1'
Now, open phpMyAdmin, and enter the database user ID and password to log in. Following that, select the database name on your left-hand side, select all the database tables, and remove them accordingly.
Then, go to Import tab, and import the database that you downloaded earlier.
That’s all! Now your website should run properly on the new hosting account.
How to move WordPress site from unmanaged VPS to shared hosting
This is quite easy and not much time-consuming as well. The best thing is the steps are almost the same. Except, if you haven’t installed the phpMyAdmin, you need to do that to download the database.
In a nutshell, these are the steps you need to follow.
- Download all files from VPS account.
- Download the database.
- Create a database in your shared hosting account and assign the database to a user.
- Upload all the files to your new hosting account.
- Change the database name, username, and password in the wp-config.php file.
- Change the nameserver in your domain control panel.
That’s all!
Common problems after changing the server
You might face different problems after completing the migration. Some of them are mentioned below.
Homepage is opening, but posts are showing 404 error
Check your .htaccess file and use this as default:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Also, go here:
/etc/apache2/apache2.conf
And make this change:
<Directory /var/www/>
AllowOverride All
</Directory>
Unable to install plugins, asking FTP login details
This is a very common problem that people encounter. You need to open your wp-config.php file and paste this at the bottom;
define( 'FS_METHOD', 'direct' );
Installation failed: Could not create directory
If you are unable to upload an image, install plugins, update theme or plugin, and you are getting the error above, you can fix that by changing the permission. Open Putty and enter this:
chmod -R 775 directory_path
You can learn more about file permission from here.
Redirect non-www to www using htaccess
RewriteEngine on
RewriteCond %{HTTP_HOST} ^your-domain-name.com [NC]
RewriteRule ^(.*)$ http://www.your-domain-name.com/$1 [L,R=301,NC]
Redirect www to non-www
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.your-domain-name.com [NC]
RewriteRule ^(.*)$ http://your-domain-name.com/$1 [L,R=301]
However, you should also enter a CNAME record with www as well as @ or blank.
Please note that you need to install the SSL separately. If your hosting provider offers free SSL, you can ask them to install that for you. Otherwise, you can use Let’s Encrypt, which provides free but shared SSL certificate.