wordpress 自作テーマのアップロード

wordpress 自作テーマのアップロード

以前作成した wordpress のテーマを
ダッシュボードからアップロードしてみます

まず作成したテーマは vagrant の仮想マシン中にあるので
これを ubuntu にコピーします
vagrant の環境と
vagrant の設定ファイルが置かれているディレクトリは
/vagrant/

つながっているので
ここへコピーします

まずは

cd /var/www/html/wordpress/wp-content/themes/

でテーマのあるディレクトリに移動し

cp -rp test/ /vagrant/shoplist_theme

として
test というテーマを
shoplist_theme というテーマ名にしてコピーします

次に ubuntu 側で

mkdir aws_theme

でディレクトリを作成
ここへコピーしてから zip で圧縮します

cp -rp shoplist_theme/ ../aws_theme/

一度コピーしておけば失敗してもやり直しができます

圧縮する前に、style.css のテーマの解説の編集をしておきます

Theme Name: test
Theme URI: http://example.com/ 
Description: jquey theme test
Author: Gen snowpool
Author URI: http://example.com/ 
Version: 1.0

と適当になっているので
これらを変更します

Theme Name: テーマ名
Theme URI: テーマのURL
Description: テーマの説明
Author: テーマ製作者
Author URI: テーマ製作者のURL
Version: 1.0
へ変更します

設定項目の意味は
WordPressではじめてテーマをカスタマイズ・自作するときありがちな10のつまずき

を参考にさせていただきました

今回は

Theme Name: shoplist
Theme URI: http://snowpool.info/
Description: station near shoplist
Author: snowpool
Author URI: https://wp.developapp.net/
Version: 1.0

にしました

次にファイルを圧縮します

圧縮には zip コマンドを使います

zip コマンドに関しては
【 ファイルを圧縮・展開する(拡張子.zip) 】

を参考にさせていただきました

テーマはフォルダになっているので
圧縮時には -r オプションをつけます

zip -r shoplist.zip shoplist_theme/

これで
shoplist.zip ができたので
これをダッシュボードからアップロードすれば
テーマとして使うことができます

追加方法は
ダッシュボードの外観 > テーマをクリックして
新規追加をクリック

theme

テーマのアップロードをクリック

theme2

参照をクリックして作成した zip ファイルを選択

theme3

今すぐインストールをクリックすれば
アップロードが完了します

AWS へ wordpress インストール その3

AWS へ wordpress インストール その3

AWS へ wordpress インストール その2

で mysql の設定と
wordpress のデータベースを作成したので
wordpress のインストールに取りかかります

まずログインしたら root 権限になります

sudo su -

次にwordpress の圧縮ファイルを wget コマンドで取得します

wget コマンドに関しては
【 wget 】 ファイルをダウンロードする

を参考に
このwget を使うことでダウンロードできます

cd /tmp/

で tmp ディレクトリに一度移動します

このディレクトリは一時ファイルをおくのに使います
再起動するときれいさっぱりなくなります

ほかにも
/var/tmp もありますが
この違いについては
/tmpと/var/tmpの仁義無き戦い

を参考に

wget http://ja.wordpress.org/latest-ja.tar.gz

圧縮されているので tar コマンドで展開します
tar コマンドについては
【 tar 】 ファイルを書庫化・展開する(拡張子.tarなど)

を参考に
難しく考えず zip ファイルの解凍みたいに考えると気楽にできます

tar zxvf latest-ja.tar.gz 

オプション解説すると
z
gzip を使って処理
x
ファイル取り出し
v
詳細表示
f
ファイル指定
となります

使用例については
tarのオプションをまとめる

を参考に

展開できたら、設定ファイルの編集をします

cd wordpress/
cp wp-config-sample.php wp-config.php

としてベースとなるファイルがあるので
それを元にコピーして、それを編集します

vim wp-config.php 

でファイルを編集します

編集場所は
29行めの

define('DB_NAME', 'database_name_here');

の部分を mysql で設定したデータベース名にかえます
例えばデータベース名が wordpress なら

 define('DB_NAME', 'wordpress');

とします

次に
32行めの

define('DB_USER', 'username_here');

を mysql で設定したユーザ名にかえます
例えば、ユーザ名が wordpress なら

define('DB_USER', 'wordpress');

とします

次に、35行めの

define('DB_PASSWORD', 'password_here');

を、 mysql で設定したパスワードにかえます
例えば password なら

define('DB_PASSWORD', 'password');

となります

次に55行めからの

define('AUTH_KEY',         'put your unique phrase here');
define('SECURE_AUTH_KEY',  'put your unique phrase here');
define('LOGGED_IN_KEY',    'put your unique phrase here');
define('NONCE_KEY',        'put your unique phrase here');
define('AUTH_SALT',        'put your unique phrase here');
define('SECURE_AUTH_SALT', 'put your unique phrase here');
define('LOGGED_IN_SALT',   'put your unique phrase here');
define('NONCE_SALT',       'put your unique phrase here');


put your unique phrase here’
部分をユニークキーに変更します

この値を取得するには
https://api.wordpress.org/secret-key/1.1/salt/
へアクセスするだけです
URLを開くとキーがでているので
そのままコピペします

define('AUTH_KEY',         'q+Rxo1[+xpV3z45(v(M[Cak7 !JhFO0D s%KZGC&11q*}:!w@YUhbda%S|Fa05U;');
define('SECURE_AUTH_KEY',  'Q*azZQibNjC.wj(s-}3#=;*;eUeXL hU9S-WQ$3h{jhM?;lm*,&LTah|,xn!_rP;');
define('LOGGED_IN_KEY',    '$|[_[VAcqdL2c3Gy0z[u5(PgG`^Q_R7:vo.` Cs+xNa_p83Rm,b1yf_EXxw:lj5c');
define('NONCE_KEY',        '1}<ZTn s:6r2ghmsx).<nWxa6.FO^tPaYU0/,;eANQy^n eqO|2{(aQ>{~#x m$#');
define('AUTH_SALT',        'iBU7f/]bNJxlD{De4^,M~cN.#fg:z8}P|^QYG|TmEF98ll%-k=#p>-a/$.eY>l+T');
define('SECURE_AUTH_SALT', 'fUKA/ 3Ma^U#4,qtr;Xv2qT53rw%d_lGc U(Rqa0X+A;`xW`ao+sbyN6F:vazu}W');
define('LOGGED_IN_SALT',   'd/YG+@rb!YrF(iBt<Wi-~i^&1kyThAw_IS+rq(@Y[f/Nq/It<8jLP0G{b)ZYhk<%');
define('NONCE_SALT',       'Xw=atR{VD|AeQjU3IXk;*YL@-rn*nO|33%x<zpf:U)+#0aH+((rwwf-^;RA#UMj2');

というようにします

ここまでできたら、次に wordpress のテーマで必要な
.htaccess
を編集可能にします

またindex ファイルが存在しないときにファイル一覧を表示しないように設定をかえます

vim /etc/httpd/conf/httpd.conf 

でファイルを開き
333行めあたりの

Options Indexes FollowSymLinks

Options -Indexes FollowSymLinks

にかえます
これで index 一覧がでなくなります

次に
340行めあたりの

    AllowOverride None

    AllowOverride All

にかえます

設定ファイルのチェックします

 /usr/sbin/apachectl configtest

を実行し
Syntax OK がでれば成功です
これがでれば問題はないので
次に apache を再起動します

service httpd restart

次に wordpress の設定ファイルを
apache の DocumentRoot へコピーします

cp -R * /var/www/html/

次にファイルの所有者を apache に変更します
これをやらないと後でテーマ作成などで面倒なことになります

chown -R apache:apache /var/www/html/

そして設定反映のため apache を再起動します

service httpd restart

これであとは
http://ドメイン名
にアクセスすると wordpress 初期設定画面が表示されます

私の場合、ドメインはお名前.comm で取得しました

AmazonEC2 で wordpress インストールまでできたので
今後は wordpress セキュリティ関連と
テーマ関連、そして github を行う予定です

AWS へ wordpress インストール その2

AWS へ wordpress インストール その2

AWS へ wordpress インストール その1


PHP関連の設定をしたので設定反映のため
apache を再起動します

一度ログアウトしている場合

sudo su -

で root 権限になります

次に

service httpd restart

でapache の再起動をします

次に mysql 関連の設定をします

vim /etc/my.cnf

で設定ファイルを開き、日本語化対応をします

10行めに

character_set_server=utf8

を追記します
これで文字コードが utf8 になります

そして、ファイル最終行に

[mysql]
default-character-set=utf8
 
[mysqldump]
default-character-set=utf8

を追記して文字コードをutf8 に指定します

ここまでできたら保存します

設定ができたら mysql の起動と
次回以降の自動起動設定を行います

chkconfig mysqld on
service mysqld start

次に mysql のセキュリティ関連の設定をします

mysql_secure_installation

を実行します

すると

Enter current password for root (enter for none): 

となるので、Enter を押します
mysql root のパスワードを設定します

Set root password? [Y/n]

でパスワードを設定しますか?と聞かれるので
y を入力し
mysql root のパスワードを設定します

次に

Remove anonymous users? [Y/n] 

で匿名ユーザを消しますか?と聞かれるので
y を入力し、削除します

Disallow root login remotely? [Y/n]

で root のリモートログインを禁止しますかと聞かれるので
y を入力し、リモートログインを禁止します

Remove test database and access to it? [Y/n]

でtest データベースを削除しますか?
と聞かれるので y を入力し
test データベースを削除します

Reload privilege tables now? [Y/n] 

で設定を有効化しますか?と聞かれるので
yを押して反映します

これで

 mysql -u root -p

を実行し、
設定した mysql root パスワードでログインできれば成功です

ログイン成功すると

mysql> 

というように変化します

次に wordress のためのデータベースを作成します

 create database wordpress default character set utf8 collate utf8_general_ci;

で作成します

create database でデータベースを作成します

character set utf8
で文字コードを utf8 にしています

collate utf8_general_ci
は紹介順序の設定になります

utf8_unicode_ci

utf8_general_ci
がありますが、デフォルト設定だと
utf8_general_ci
になります

この違いについては
utf8_general_ciとutf8_unicode_ciの使い分け

を参考にさせていただきました

utf8_general_ciとutf8_unicode_ci

を参考にさせていただきましたが
全てを区別したい場合は
utf8_bin
を使うようです

次に管理者ユーザを作成し権限を付与します

grant all on wordpress.* to wordpress@localhost identified by 'password';

grant は権限を与える命令です
grant all にするとすべての権限を付与します
主に管理者に与える権限です

権限の付与関連に関しては
MySQL の権限のコマンドまとめ。

を参考にさせていただきました

設定ができたら

 flush privileges;

で設定を反映します

ここまでできたら
ctrl +d で mysql を抜けます

次回 wordpress のインストールを行います

AWS へ wordpress インストール その1

AWS へ wordpress インストール その1

まず最初にシステムをアップデートしますが
毎回 sudo をうつのは面倒なので
root 権限になります

sudo su -

次に yum update で更新します

yum -y update

これで更新できました

次にサーバーの時刻を合わせます
最初だと別の地域です
date コマンドを実行すると違いがわかります

date

私の環境の場合、夜9時半ごろでも
Mon Oct 5 12:43:23 UTC 2015
と表示されました

修正には

cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime 

を実行します

これで
cp: overwrite ‘/etc/localtime’?
と聞かれるので
y
を入力すると設定が上書きされ、東京時間になります
再度 date コマンドを実行し反映されていれば成功です

私の環境では
Mon Oct 5 21:45:52 JST 2015
となりました

次に wordpress を入れるのに必要なものをインストールしていきます

すでに実験でapache は入っているので
その他必要なものを入れていきます

このapache インストールに関しては
AWS EC2 インスタンスへ apache インストール

の過去記事を参考に

 yum -y install php php-mysql php-mbstring php-gd

でPHP関連

 yum -y install mysql-server

で mysql のインストール

yum -y install mod_ssl

でSSL関連のインストール

次に apache の設定を変更します

 vim /etc/httpd/conf/httpd.conf

44行めの
ServerTokens OS

ServerTokens ProductOnly
としてサーバー情報を隠蔽します

537行めの
ServerSignature On

ServerSignature Off
としてサーバー情報を秘匿します

ここまでできたら保存します

次に php の設定ファイルを編集します

 vim /etc/php.ini 

436行めの
expose_php = On

expose_php = Off
にしてPHP情報が見れないようにします

次に
641行めの
;error_log = php_errors.log

error_log = /var/log/php_err.log
とすることで
/var/log/ の下になるようにします

次に789行めの
;default_charset = “iso-8859-1”

default_charset = UTF-8
にすることで文字コードを utf8 に設定

956行めの
;date.timezone =

date.timezone = Asia/Tokyo
とすることで東京時間に設定

1558行めの
;mbstring.internal_encoding = EUC-JP

mbstring.internal_encoding = UTF-8
にしてエンコードを utf-8 に設定

1567行めの
;mbstring.http_output = SJIS

mbstring.http_output = pass
にしてHTTPレスポンスは変換しないよう設定

ここまでできたら保存します

次回は mysql の設定を行います

今回の php.ini の変更の意味に関しては
mbstring.encoding_translationが原因で文字化け

を参考にさせていただきました

お名前.com へ Elastic IP を反映

お名前.com へ Elastic IP を反映

以前、お名前.com でドメインを取得しているので
http://www.onamae.com/
にアクセスし
ログインします

なお、お名前.comの場合
ユーザIDでログインなので
メールアドレスと間違えないように注意しましょう

ログインしたら、ドメイン設定をクリック

domain

下にスクロールすると
ネームサーバーの設定のところに
DNS関連情報の設定
があるのでクリック

domai2

取得しているドメインがでるので
次に進むをクリック

domain3

下にスクロールして
DNSレコード設定を利用する
の設定するをクリック

domain4

設定画面になるので
まずはwww をつけてアクセスできるように設定

ホスト名に www
TYPE は A のまま
VALUE のところに Elastic IP で取得した
グローバルIPを入れます
もし
192.168.10.1 なら
1つずつ入力します

IPの入力ができたら追加を押します

domain5

同様に今度は www なしでアクセスしたいので
ホスト名はなしで
同じように追加します

追加ができたら
確認画面に進む
をクリックします

domain6

これで設定する
をクリックすると設定ができます

domain7

次に
ネームサーバーの変更をクリック

domain8

変更を適用したいドメインにチェックを入れ

下にスクロールして
転送Plus・DNS設定 設定する
をクリック

domain9

確認画面になるので
問題がなければ
設定するをクリックすれば設定完了となります

domain10

設定したドメインが反映されるまでは時間がかかるためしばらく待ちます