cPanelは、最も人気のあるLinuxコントロールパネルであり、ほとんどの共有ホスティングプロバイダーのデフォルトオプションです。ただし、共有ホスティング環境から仮想プライベートサーバー(VPS)を使用したクラウドホスティングに切り替えるには、Linuxコンソールの操作に関する少しのノウハウが必要です。
このガイドでは、cPanelを使用する共有ホスティング環境から、Ubuntu20.04サーバーを実行する新しいクラウドホスティング環境に移行します。好みに応じて、Vultrカスタマーポータルから別のOSファミリを選択できます。
さらに、この記事は、Linuxの経験に基づいて3つのオプションのセクションに分かれています。
前提条件
- 無料のVultrカスタマーアカウントを作成します。
- 新しい仮想プライベートサーバー(VPS)を導入します。
- SSHとサーバーへのログイン。
- sudo権限を持つ新しい標準ユーザーを作成します。
1。サーバーFTPアカウントを作成する
cPanelからVPSサーバーにファイルを直接転送するには、サーバーでFTPを有効にし、ファイルを転送するための新しいユーザーアカウントを作成する必要があります。詳細なvsFTPdインストールガイドはここにあります。
さて、 vstpd
をインストールします サーバー上で。
$ sudo apt-get vsftpd
次に、構成ファイルを編集して、ローカルユーザーがサーバーにログインできるようにします。
お気に入りのエディターを使用して、ファイル /etc/vstpd.conf
を編集します 。
$ sudo nano /etc/vsftpd.conf
以下の行を見つけてください:
local_enable=YES
write_enable=YES
anonymous_enable=NO
#
を削除してコメントを解除します 、ファイルを保存して閉じます。
サーバーにローカルユーザーアカウントがまだない場合は、アカウントを作成して、ユーザーにsudo権限を付与します。
# adduser example sudo
名、名前を入力し、 Y
で確認します ユーザーアカウントを作成します。
次に、FTPサーバーを起動します。
$ sudo service vsftpd start
次に、ポート 22
を開きます ファイアウォール上。
$ sudo ufw allow 22/tcp
ファイアウォールを再起動します
$ sudo firewall reload
2。 cPanelにログインします
共有ホスティングプロバイダーによっては、ポート 2083
を介してcPanelにログインします。 または/cpanel
を追加します ドメインURLの末尾まで。
https://example.com/cpanel
3。バックアップcPanel
新しいサーバーに移行する前に、ウェブサイトのファイル、メール、DNSレコード、データベースのコピーを保持する方法として、cPanelの設定をバックアップすることが重要です。
cPanelダッシュボードを使用して、 backup
を選択して完全バックアップを作成します ファイル
の下 セクション。
[バックアップ先]で、[ SCP
]を選択します オプションのリストから。 リモートサーバー
にVultrサーバーのIPを入力します バックアップファイルを生成するために、それぞれ手順1で作成したフィールド、FTPユーザー、パスワード、およびポート。
サーバーへの接続が確立され、バックアップが完了したら、VPSサーバーにログインして、新しく追加された backup-***_***。tar.gz
を見つけます。 ファイル。デフォルトでは、ファイルはアカウントのルートディレクトリ〜
にアップロードされます 、または Remote Dir:
で指定されたディレクトリ フィールド。
次に、バックアップアーカイブからファイルを抽出します。
$ tar -xvf backup-***_***_example.tar.gz
簡単に識別できるように、抽出したディレクトリの名前を変更します。
$ mv backup-**_**_example/ cpanelfiles
次に、ディレクトリに移動して、すべてのファイルを一覧表示します。
$ cd cpanelfiles/
$ ls
出力
drwx--x--x 16 4096 Dec 26 23:07 homedir/ **– contains all necessary webfiles**
-rw------- 1 14 Dec 26 23:07 homedir_paths
drwx------ 2 4096 Dec 26 23:07 httpfiles/
drwx------ 2 4096 Dec 26 23:07 ips/
drwx------ 2 4096 Dec 26 23:07 locale/
drwx------ 2 4096 Dec 26 23:07 logs/
drwx------ 2 4096 Dec 26 23:07 meta/
drwx------ 2 4096 Dec 26 23:07 mm/
drwx------ 4 4096 Dec 26 23:07 mma/
drwx------ 2 4096 Dec 26 23:07 mms/
drwx------ 2 4096 Dec 26 23:07 mysql/ **-- contains all mysql database backup files**
drwx------ 2 4096 Dec 26 23:07 mysql-timestamps/
オプション1:WebスタックをインストールしてWebサイトをホストする
すべてのcPanelファイルがサーバーに転送されたら、ネームサーバーをVultrに変更し、ホスティング環境を設定することで、ドメイン名を安全に移行できます。 .htaccess
のようないくつかの隠しファイルがあるため、移行されたファイルをホストするには、Apache、MySQL、PHP(LAMP)スタックをお勧めします。 変更されません。
WordPress Webサイトのファイルを移行する場合は、オプションで(E)Nginx、MySQL、PHP(LEMP)のインストールを選択できます。ただし、この記事の目的上、サーバーにLAMPをインストールしてください。
まず、サーバーの完全修飾ドメイン名を設定します。たとえば、 example.com
を置き換えます 実際のドメインで。
$ sudo hostnamectl set-hostname example.com
Apacheをインストールする
Ubuntu
$ sudo apt install apache2
CentOS
$ sudo dnf install apache2
起動時にApacheを起動できるようにする
$ sudo systemctl enable apache2
ApacheWebサーバーを起動します
$ sudo systemctl start apache2
MySQLをインストールする
$ sudo apt install mysql-server
ルートパスワードでデータベースサーバーを保護し、安全でないデフォルトを削除します。
$ myql_secure_installation
MySQLが起動時に起動できるようにします。
$ sudo systemctl enable mysql
MySQLを起動します。
$ sudo systemctl start mysql
次に、MySQLにログインします。
$ mysql -u root -p
Webサイトの新しいデータベースを作成します。
mysql> CREATE DATABASE exampledb;
安全なパスワードで新しいユーザーを作成します。
mysql> CREATE NEW USER exampleuser IDENTIFIED BY 'STRONG-PASSWORD';
ユーザーにデータベースへの完全なアクセス許可を付与します。
mysql> GRANT FULL PRIVILEGES ON exampledb.* TO 'exampleuser'@'localhost';
MySQLの権限を更新します。
mysql> FLUSH PRIVILEGES;
コンソールを終了します。
mysql> EXIT
PHPをインストールします。
$ sudo apt install php
また、必要なPHPモジュールをインストールします。
$ sudo apt install php-xml php-gd php-mysql php-curl php-zip php-mbstring
Apacheの構成
新しいApache仮想ホスト構成ファイルを作成します。
$ sudo touch /etc/apache2/sites-available/example.com.conf
次に、お気に入りのテキストエディタを使用して、ファイルを編集します。
$ sudo nano /etc/apache2/sites-available/example.com.conf
次のコード行を貼り付けます:
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName example.com
# Index files and web root directory
DirectoryIndex index.php index.html
DocumentRoot /var/www/example.com/
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^index\.php$ - [L]
RewriteCond $1 ^(index\.php)?$ [OR]
RewriteCond $1 \.(gif|jpg|png|ico|css|js)$ [NC,OR]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.*)$ - [S=1]
RewriteRule . /index.php [L]
</IfModule>
# END wordpress
Options FollowSymLinks
Order allow,deny
Allow from all
</VirtualHost>
ファイルを保存して閉じます
構成をテストする
$ sudo apachectl configtest
構成ファイルを有効にする
$ sudo a2ensite example.com.conf
Apacheを再起動します
$ sudo systemctl restart apache2
次に、抽出したcPanelWebサイトファイルを新しい仮想ホストのwebrootディレクトリにコピーします。 homedir /
ディレクトリには必要なすべてのファイルが含まれています。ドメインルートまたはpublic_html/
からコピーしてください cPanelWebファイルディレクトリとして機能した方。
$ sudo cp cpanelfiles/homedir/public_html/* /var/www/example.com
WebrootディレクトリにApacheの所有権を付与する
$ sudo chown -R www-data:www-data /var/www/example.com
次に、Webサイト構成ファイルを編集して、新しいデータベース名、ユーザー名、およびパスワードを含めます。
$ sudo nano /var/www/example.com/wp-config.php
以下の行を見つけてください:
/** The name of the database for WordPress */
define( 'DB_NAME', 'exampledb’);
/** MySQL database username */
define( 'DB_USER', 'exampleuser' );
/** MySQL database password */
define( 'DB_PASSWORD', 'strong-password' );
/** MySQL hostname */
define( 'DB_HOST', 'localhost' );
データベース名、ユーザー名、パスワードを反映するように変更してください。
データベースの復元
cPanelデータベースを復元するには、 mysql /
に切り替えます 抽出されたファイルディレクトリ内で、ターゲットの .sql
を見つけます データベースファイル。
mysql
に変更します ディレクトリ。
$ cd /cpanelfiles/mysql
データベースを復元します。
$ mysql -u root exampledb < file.sql
完了したら、MySQLシェルにログインし、データベース内の新しいテーブルを確認します。
$ mysql -u exampleuser
新しいデータベーステーブルを確認します。
mysql> use exampledb;
mysql> select * from exampledb;
コンソールを終了します。
mysql> EXIT
ファイアウォールの構成
ポート80を開いてHTTPトラフィックを許可します。
$ sudo ufw allow 80/tcp
ポート443を開いて、HTTPSトラフィックを許可します。
$ sudo ufw allow 443/tcp
現在のファイアウォールテーブルを確認してください。
$ sudo ufw status
ファイアウォールを再起動します。
$ sudo ufw reload
ドメイン名を新しいVultrクラウドサーバーにポイントする
まず、Vultrカスタマーポータルにログインし、新しいドメインを追加して、デフォルトのIPアドレス
にサーバーIPを入力します。 フィールド。
次に、ドメインレジストラ側にログインし、ドメインを編集して、ネームサーバーにVultrを指定します。
変更を保存して、新しいクラウドサーバーをテストします。
新しいクラウドサーバーをテストする
Webサイトを使用する準備が整い、ドメインがVPSサーバーを指し、必要なすべてのファイルがwebrootディレクトリにインストールされます。ドメイン名にアクセスしてサーバーをテストします。
http://example.com
DNSの伝播期間(完了までに3〜12時間かかることが多い)にもよりますが、Webサイトは新しいVPSサーバーからロードできるはずです。ただし、すべてのドメインリクエストが新しいサーバーを指しているため、新しいSSL証明書をリクエストできます。
HTTPSを有効にする
Certbotをインストールします。
$ sudo apt install python3-certbot-apache certbot
無料のLet'sEncryptSSL証明書のリクエスト。 example.com
を置き換えます ドメイン名と[email protected]
を使用 実際のメールアドレスを使用してください。
$ sudo certbot -d example.com -m [email protected]
自動更新をテストします。
$ sudo certbot renew –dry-run
これで、WebサイトでHTTPSトラフィックを処理する準備が整いました。 https://example.com
にアクセスして、サーバーをテストします 新しい変更を確認します。
オプション2:無料のコントロールパネルに移行する
cPanelは有料のLinuxコントロールパネルです。無料のコントロールパネルに移行したい場合は、オープンソースのバリエーションの大規模なプールから選択できます。ただし、cPanelのバックアップを受け入れるのはごくわずかです。いくつかの無料のコントロールパネルをインストールする方法の詳細なガイドについては、以下を参照してください。
- Ubuntu20.04にVirtualminをインストールします。
- CyberPanelをインストールします。
- HestiaCPをインストールします。
- Vultrにワンクリック(無料)Pleskをインストールします。
この記事では、cPanelバックアップからの直接復元をサポートしているため、Virtualminを使用します。
Virtualminダッシュボードにログイン
サーバーの追加
を展開します 仮想サーバーの移行
を選択します 左側のナビゲーションバーのオプションのドロップダウンリストから。
次に、ローカルファイル
を選択します ソースバックアップファイル
から フィールドに入力し、バックアップファイルディレクトリを入力します。
/home/example/backup***_***.tar.gz
次に、バックアップファイルタイプ
の下で 、 cPanel backup
を選択します 、次に可能であればバックアップからワークアウト
を選択します ドメイン名、ユーザー名、管理者パスワードの各フィールドにそれぞれ。
今すぐ移行コード>をクリックします cPanelデータをVirtualminにインポートします。完了すると、サーバーを使用できるようになります。古いドメイン名のエントリは現在のサーバーオプションに置き換えられるため、ドメインが新しいVultrネームサーバーを指すようにしてください。
オプション3:セルフホストのcPanelに移行する
- VultrMarketplaceアプリからワンクリックcPanelをデプロイする
デフォルトでは、cPanelはVultrで毎月自動的にライセンスされ、実行するために以前のライセンスは必要ありません。ワンクリックサーバーをスピンしたら、WHMにログインして、復元プロセスを開始します。
http://server-ip:2087
WHMインターフェースを使用して、 Transfers
に移動します 、cPanelアカウントの転送と復元
を見つけます オプション。次に、サーバーからファイルを選択するか、cPanelバックアップファイルをコンピューターから直接アップロードします。
次に、一致するすべてのレコードを置き換える
を選択します 古いcPanelレコードを削除して新しいサーバーレコードに置き換えます。
復元コード>をクリックします ファイルから新しいcPanelアカウントを作成し、すべてのドメイン、Webファイル、およびメールアカウントをサーバーに復元します。
cPanelアカウントがバックアップ
でいくつかの機能に制限されている場合 およびバックアップウィザード
オプションがない場合でも、サーバーからファイルを移行できます。これを行うには、新しいFTPアカウントを作成します。
cPanelダッシュボードを使用して、ファイル
に移動します セクションをクリックし、FTPアカウント
をクリックします 。次に、強力なパスワードを使用して新しいFTPアカウントを作成し、バックアップファイルを作成します。
部分バックアップ(Webサイトファイルのみ、メールアカウントなし)
Webサイトのファイルと関連するデータベースのみを移行する場合は、ファイルセクションから[ファイルマネージャー]を選択します。
次に、ファイルマネージャーウィンドウでWebサイトのルートファイルを見つけ、ディレクトリを .zip
に圧縮します。 またはtar.gz
。
新しい圧縮ファイルがディレクトリに追加されます。次に、Webサイトファイルからデータベース名を特定します。 WordPress Webサイトをホストしている場合は、 wp-config.php
必要なデータベース情報が含まれています。データベース名とテーブルプレフィックスをメモしてください。
データベースのバックアップ
メインのcPanelダッシュボードを使用して、データベース
に移動します セクションをクリックし、 phpMyAdmin
をクリックします 。
phpMyAdminにリダイレクトされたら、ターゲットデータベースを選択し、それをコンピューターにエクスポートします。新しい.sql
ファイルがコンピュータにダウンロードされます。簡単に識別できるようにファイルの名前を変更します。
Webサイトのファイルサイズによっては、新しいサーバーに簡単に移行できるように、SQLファイルを圧縮ファイルと同じディレクトリにアップロードすることをお勧めします。
新しいサーバーに移行する
ウェブサイトのファイルが読み取り可能な形式に圧縮されたら、SSHで新しいサーバーにログインし、curlを使用してcPanelサーバーからファイルをフェッチします。
Curl
をインストールします 、まだインストールされていない場合。
$ sudo apt install curl
次に、ドメイン名、cPanel FTPアカウント、およびパスワードを使用して次のスクリプトを編集します。
Webファイルを取得する:
$ curl -u USERNAME:PASSWORD ftp://localhost/test_curl/filename.tar.gz
SQLデータベースファイルを取得します:
$ curl -u USERNAME:PASSWORD ftp://localhost/test_curl/exampledb.sql
filename.tar.gz
を置き換えます 実際の圧縮ファイルと.sql
名前を変更したデータベースファイルを使用します。
接続が確立されると、ファイルが新しいサーバーに追加されます。ファイルを抽出し、オプション1の手順に従います。 この記事のサーバーをセットアップします。
おめでとうございます。cPanelを使用した共有環境からVultrを使用したクラウドホスティング環境に正常に移行しました。ドメインがサーバー上で完全に伝播したら、ダウンタイムやWebサイトでのユーザーアクティビティの中断なしに、共有ホスティングアカウントを安全に削除できます。