ドメインを変えない場合の、WordPress移行方法

概要

このブログを、ServersMan@VPSからAWSに一時的に乗り換え、それからロリポップ!レンタルサーバーに乗り換えた話。

理由

最初、使い道もあり、VPSにしていたのですが、その用事も終わったので、管理の楽そうなレンタルサーバーに変えようと考えました。

方法など

前提

前提1

乗り換えるサーバーとは別に、MySQL専用サーバーがある場合などは、手順2.3.5.と前提2,3は飛ばしてください。

前提2

乗り換え先サーバーで、使用するデータベースとユーザーを準備しておく。

前提3

phpMyAdminが、両方のサーバーにインストール済み。
VPSなどで、インストールしていなければ、 下のサイトなどを参考に、インストールする。
今からでも遅くない! phpMyAdminインストールから使い方まで徹底解説

前提4

当たり前ですが、両方のサーバーに、FTPやSFTP等の、ファイルをアップロード、ダウンロードする手段があること。

前提5

ドメインはそのまま引き継ぐ。

1.ファイルのダウンロード

乗り換え元サーバーに、FTPやSFTPなどで接続します。

WordPressの入ったフォルダ(中にwp-contentやwp-adminなどのフォルダが入っている)をダウンロードします。

これには時間がかかるので、その間に次の作業をしておきます。

2.データベースのダウンロード

乗り換え元のサーバーの、phpMyAdminを開き、ログインします。

左の一覧からデータベースを選び、上のバーのエクスポートボタンを押します。
そして、そのまま実行を押し、ダウンロードします。

3.データベースの設定変更

もし、どちらもVPSなどで、同じサーバー内に、データベース名とデータベースのユーザー名とパスワードがすべて同じものを作る場合は、この手順は必要ありません。

もし、この時点で1.のダウンロードが終わっていなければ、5.を先にやっても構いません。

1.でダウンロードしたフォルダの中の、wp-config.phpというファイルを開いてください。

define('DB_NAME', 'データベース名');
define('DB_USER', 'ユーザー名');
define('DB_PASSWORD', 'パスワード');
define('DB_HOST', 'ホスト(サーバー)');

このような部分があると思うので、
日本語部分を新しい情報に書き換えてください。

4.ファイルのアップロード

もし、この時点で1.のダウンロードが終わっていなければ、5.を先にやっても構いません。

1.でダウンロードし、3.で中身を少し書き換えた、WordPressが入ったフォルダを、FTPやSFTPなどでアップロードします。

5.データベースのアップロード

乗り換え先サーバーの、phpMyAdminを開き、ログインします。

左の一覧からデータベースを選び、上のバーのインポートボタンを押します。
そして、そのまま実行を押し、ダウンロードします。

6.ドメイン設定

レンタルサーバーであれば、独自ドメイン設定などで、ドメインと、WordPressが入ったフォルダを指定しましょう。

VPSであれば、ウェブサーバーの設定ファイルにドメインと
WordPressが入ったフォルダを指定する、などです。

6.DNSサーバの設定変更

すべての作業が終わってから、ドメインDNSの接続先を変更します。

サーバーによって違いますが、VPSならDNSサーバーのAレコードに、サーバーのIPを入れるのが一般的だと思います。

サーバーによってはネームサーバーごと変えさせて来るやつもありますが。

7.(任意)移行元サーバーの解約

他に使い道がなければ、元のサーバーは解約するでしょう。

解約するのは、作業が終わってからにしましょう。

検索エンジンに掲載されていないサイトならともかく、少しでも読んでもらえる可能性があるブログを一時的にでも止めてしまうのはもったいないです。

DNSの設定変更が、全世界に伝わるのには、時間がかかることがあります。

まとめ

お疲れ様でした。

Raspberry piにowncloud入れてみた。

owncloudとは

owncloudはクラウドストレージサービス(OneDriveや、DropBox、MEGAなどの事)を自分で作れるオープンソースソフトウェアです。

前提

  • Raspbianインストール済み
  • 必ず接続できるアドレスがある(固定IP、DDNS、ドメインのどれか一つ設定済み)
  • HDDなどの大容量な記憶媒体(USB)(セルフパワーの方がよい)
  • インターネット接続済み
  • 長いコマンドが多いので、コピペできるSSH推奨

インストール

今回はrootで作業を進めていきます。

rootでログインするか、suなどで昇格してください。

パッケージのインストール

まず、以下のコマンドを実行してください。(途中改行なし。全部繋げて入力する。)

apt-get -y update;apt-get -y upgrade;apt-get -y install nginx openssl ssl-cert php5-cli php5-sqlite php5-gd php5-common php5-cgi sqlite3 php-pear curl libapr1 libtool curl libcurl4-openssl-dev php-xml-parser php5 php5-dev php5-gd php5-fpm memcached php5-curl varnish;groupadd www-data;usermod -a -G www-data www-data;sudo openssl req $@ -new -x509 -days 1825 -nodes -out /etc/nginx/cert.pem -keyout /etc/nginx/cert.key;nano /etc/nginx/sites-available/default

証明書の作成

途中でなんか聞かれるので、下のように入力して下さい。

  • Country Name : 国(日本はJP)(適当でよい)
  • State or Province Name : 都道府県(適当でよい)
  • Locality Name : 市区町村(適当でよい)
  • Organization Name : 会社名(適当でよい)
  • Organization Unit Name : 部署(適当でよい)
  • Common Name : (使うドメイン名)(example.comや、192.168.0.5など)
  • Email Address : メールアドレス(登録しなくてもよい)

nginxの設定

入力が終わったら、今度はnanoが開くので、すべて消して下のように書き換えてください。「使うドメイン名」の2つを書き換えるのを忘れずに!

upstream php-handler {
        server 127.0.0.1:9000;
        #server unix:/var/run/php5-fpm.sock;
}

server {
        listen 80;
        server_name 使うドメイン名;
        return 301 https://$server_name$request_uri;  # enforce https
}

server {
        listen 443 ssl;
        server_name 使うドメイン名;

        ssl_certificate /etc/nginx/cert.pem;
        ssl_certificate_key /etc/nginx/cert.key;

        # Path to the root of your installation
        root /var/www/owncloud;

        client_max_body_size 1000M; # set max upload size
        fastcgi_buffers 64 4K;

        fastcgi_connect_timeout 60;
        fastcgi_send_timeout 180;
        fastcgi_read_timeout 360;

        rewrite ^/caldav(.*)$ /remote.php/caldav$1 redirect;
        rewrite ^/carddav(.*)$ /remote.php/carddav$1 redirect;
        rewrite ^/webdav(.*)$ /remote.php/webdav$1 redirect;

        index index.php;
        error_page 403 /core/templates/403.php;
        error_page 404 /core/templates/404.php;

        location = /robots.txt {
            allow all;
            log_not_found off;
            access_log off;
        }

        location ~ ^/(?:\.htaccess|data|config|db_structure\.xml|README) {
                deny all;
        }

        location / {
                # The following 2 rules are only needed with webfinger
                rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
                rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;

                rewrite ^/.well-known/carddav /remote.php/carddav/ redirect;
                rewrite ^/.well-known/caldav /remote.php/caldav/ redirect;

                rewrite ^(/core/doc/[^\/]+/)$ $1/index.html;

                try_files $uri $uri/ index.php;
        }

        location ~ \.php(?:$|/) {
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                include fastcgi_params;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                fastcgi_param PATH_INFO $fastcgi_path_info;
                fastcgi_param HTTPS on;
                fastcgi_pass php-handler;
        }

        # Optional: set long EXPIRES header on static assets
        location ~* \.(?:jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {
                expires 30d;
                # Optional: Don't log access to assets
                access_log off;
        }

}

以下の3つのファイルのパラメータをいくつか書き換えます

  • /etc/php5/fpm/php.ini
upload_max_filesize = 1000M
post_max_size = 1000M
  • /etc/php5/fpm/pool.d/www.conf
listen = /var/run/php5-fpm.sock

listen = 127.0.0.1:9000
  • /etc/dphys-swapfile
CONF_SWAPSIZE=100

CONF_SWAPSIZE=512

サーバー再起動

以下のコマンドを実行してください(改行なし)

/etc/init.d/php5-fpm restart;/etc/init.d/nginx restart

ポート開放

ルーターによって違うので省略します。

TCPの80番と443番を開放してください。

HDDの準備

以下のコマンドを入力してください。

fdisk /dev/sda

次に、下の順番にキーを押して下さい。

d Enter Enter d Enter Enter d Enter Enter d Enter Enter d Enter Enter d Enter Enter n Enter Enter Enter Enter w Enter

次に、下のコマンドを入力してください。(改行なし)

mkfs.ext4 -m 0.001 /dev/sda1;mkdir /mnt/hdd1;mount /dev/sda1 /mnt/hdd1;blkid /dev/sda1

コマンドの実行結果の下の部分をコピーして下さい。

UUID="この部分をコピーする"

/etc/fstabの一番下に以下の通り追加してください。

UUID="さっきコピーした物" /mnt/hdd1 ext4 defaults 0 0

この設定を間違えた状態で再起動すると、sshや、他のサービスも起動しなくなるので注意!

owncloudのインストール

以下のコマンドを実行してください。(改行なし)

mkdir -p /var/www/owncloud;wget https://download.owncloud.org/community/owncloud-latest.tar.bz2;tar xvf owncloud-latest.tar.bz2;mv owncloud/ /var/www/;chown -R www-data:www-data /var/www;rm owncloud-latest.tar.bz2

これで、インストールは完了したので、再起動した後、ブラウザでアクセスしましょう。

安全ではありませんとか出ますが、Webページに移動とかアクセスするとかを押します。(ブラウザによってはボタンが隠してあるので、詳細などを押して探しましょう)ユーザー名とパスワードを入力した後、「セットアップを完了します」をまだ押してはいけません!

その前に、上の画像の矢印部分を押して、下のように入力して下さい。今度こそ、「セットアップを完了します」を押して下さい。

しばらく待てば、インストール完了です。

お疲れ様でした。

YOURLSで短縮URLサービス作ってみた

オープンソースのYOURLSというソフトウェアで、短縮URLサービスを作って見ました。

完成形

環境は、ServersMan@VPS Entryプランです。

WebサーバーはApacheです。

ダウンロードとか

まず、下のコマンドを順番に入力してください。
cd /var/www
sudo git clone https://github.com/YOURLS/YOURLS.git
sudo chown -R apache:apache YOURLS
cd YOURLS/user
sudo cp config-sample.php config.php

めんどくさい人用(全部繋げて入力する)
cd /var/www;sudo git clone https://github.com/YOURLS/YOURLS.git;sudo chown -R apache:apache YOURLS;cd YOURLS/user;sudo cp config-sample.php config.php

そして、/var/www/YOURLS/user/config.phpを下のサイトを参考に書き換えます。

独自の短縮URLを導入してみた

下のようにコマンドを入力します。

mysql -p

rootのパスワードを入力

CREATE DATABASE yourls;
GRANT ALL PRIVILEGES ON yourls.* TO yourls@localhost IDENTIFIED BY ‘上のconfigで決めたMySQLのパスワード’;
quit

apacheの設定を変えて、configで設定したYOURLS_SITEからアクセスできるようにします。

インストール

YOURLS_SITEで設定したURL/adminにアクセスして、Install YOURLSを押せば、インストール完了です。

参考にしたサイト

WordPressプラグインGoogle XML Sitemapsで404エラー

Google検索では、XML形式のサイトマップを送ると、検索結果に表示されるのが早くなるらしいと聞いて、調べてみると、WordPressには、サイトマップを自動で生成出来るプラグインがあるということを知った。

そのプラグインを入れて見たら、なかなかうまく動かなかったという話。

サイトマップを生成し成功した!早速Googleに送ったところエラーが発生した。内容は

404 ページが見つかりません

えぇ?!成功してたじゃん!

と思いながら自分でリンクをクリック

・・・

本当だ・・・

こういう時はググるのみ!

早速検索した。

おっ!これだ。早速一番上の候補をクリック(上のほうに映り込んでいる謎の物体は気にしないで!)

やってみた。

本体の中のリンクが404なのか・・・

またググって2番目の候補をクリック

やってみる。

よっしゃー!うまく行ったー!

という事がありました。

追記:2017/12/10
結局、今はJetpackでサイトマップ生成してるんですけどね