読者です 読者をやめる 読者になる 読者になる

delalunaofficedaysのブログ

WORDPRESSとEC CUBEくらいしか触っていないWEBデザイナーの日記とかメモ。

CORESERVERにEC CUBE3をインストールしてみる

CORESERVERをお試しで借りました。 CORE-MINIプランが自分にとってそこそこ要件を満たすのに安いなあと感じたので実際に使えるかどうか実験。 PostgleSQLが標準で使えるサーバーってあんまり無いので使えるなら使いたい。

早速EC CUBEを入れてみたのだけれどやっぱり2種類エラー。

[推奨] APC 拡張モジュールが有効になっていません。 mod_rewrite が有効になっているか不明です。

こいつらを解決しなかったのでそのまま入れてみたけど。 まあなんとか動いてるみたい。

PostgleSQL使えるのおいしいなあ。もしかしたら契約するかもなあー。

※各種SNS連携したのでテスト投稿的なものも含めて日記です。

せっかくなのでWORDPRESSの環境をVagrant上に用意してみる。

先ほど作ったMySQLの素晴らしい環境WORDPRESSでもインストールしてみようかなって思ったのでやってみる。

[code] mysql> create database wp01; Query OK, 1 row affected (0.00 sec) [/code]

SQL文を使って普通にデータベースを作成。 CUIにも慣れてきたなー。

早速ちゃんと出来ているかどうか確認作業

[code] mysql>show databases; [/code]

wp01というデータベースが出来てますね。

何も設定していないのでとても不安なのですが果たして日本語が使えるのだろうか。

ちょっとテストしてみます。 wp01データベースを使いますよコマンド。 [code] mysql> use wp01 Database changed [/code]

テスト用のテーブル'test_tbl'を作ります。 [code] mysql> CREATE TABLE test_tbl ( No integer, Name varchar(20)); [/code]

テーブルは出来たかな?チェックします。

[code] mysql> show tables; [/code]

出来てますね。日本語データ入れちゃいましょうか。

[code] INSERT INTO test_tbl(No,Name) VALUES(1,‘ああああ’); [/code]

ってやろうと思ったんですがここで躓きました。

日本語入らんわこれ

ああーどうしようかな。

※何度か試してたら入りました。設定は何もいじってないです。

果たして文字化けせずに正常に表示されるのか。

[code] mysql> select * from test_tbl; [/code]

素晴らしい!日本語はちゃんと使えるようです。

では早速WORDPRESS

えっCUIでどうやってWORDPRESS入れるのこれ

と思ったらちゃんとドキュメントありました。

[code] [vagrant@vagrant-centos64 html]$ sudo mkdir wp01 [/code]

/var/www/html/ に'wp01'ディレクトリを作ってここにインストールします。

早速ダウンロード。

日本語版をダウンロードする場合、URLは'http://ja.wordpress.org/latest-ja.tar.gz'です。 この後間違えて英語版をインストールしている画像が掲載されていますが、記事の内容自体は日本語版用に直してあります。

[code] [vagrant@vagrant-centos64 wp01]$ sudo wget http://ja.wordpress.org/latest-ja.tar.gz [/code]

おおーダウンロードしてる。

で、解凍しないといけないよね。

[code] sudo tar -xzvf latest-ja.tar.gz [/code]

解凍できました。

その前に初期設定だけ。

所有者の設定

[code] [vagrant@vagrant-centos64 wp01]$ ls -al [/code]

で見てみると、所有者がいないって状態になってます。

なので所有者を設定してあげます。

[code]

chown -R [ユーザー名]:[グループ] wordpress

[/code]

で設定できますのでここでは

[code]

chown -R root:root wordpress

[/code] としました。 -Rオプションは'下層のディレクトリ・ファイルもすべて変更'と言う意味です。 ls -alで見てみましょう。 [code] [vagrant@vagrant-centos64 wp01]$ ls -al [/code]

所有者が設定出来ました。

パーミッションの設定

続いてパーミッションの設定です。 ファイルをアップロードしたり、インストール時にwp-config.phpに書き込むことが出来るようにします。 777にしておけばだいたい大丈夫やろ(アカンでって場合教えてくださると助かります)

[code] sudo chmod 777 /var/www/html/wp01/wordpress sudo chmod 777 /var/www/html/wp01/wordpress/wp-content [/code]

さあ http://192.168.33.10/wp01/wordpress/ で確認してみるかー!いつもの画面が

OH…英語版やんけ。。。。

チャカチャカっとやり直して日本語版入れてみました!

その際に

var/www/html/wp01 直下にWORDPRESSの中身を入れました。

よーし完璧です。

先ほどのデータベースの情報を入れて・・・。

出来ました!

【Linux全般】MySQLの設定をするよ

今回はVagrant上にあるCentOSにインストールしたMySQLを使いやすく設定する。

インストールはここでやりました。

インストールした後、rootでログインする。

[code] $ mysql -u root [/code]

現在登録されているユーザを確認する。

[code] mysql> select host,user,password from mysql.user; [/code]

Vagrant上で動作しているCentOSなのでこんな表示になる。

localhostのrootユーザーのパスワードを設定する。

[code] mysql> set password for root@localhost=password(‘パスワードを入力する’); Query OK, 0 rows affected (0.00 sec) [/code]

となった。

同じく、vagrant-centos64.vagrantup.comというホストの方もパスワードを設定する。

[code] mysql> set password for root@‘vagrant-centos64.vagrantup.com’=password(‘パスワードを入力する’); Query OK, 0 rows affected (0.00 sec) [/code]

できた。

匿名ユーザは要らないので消す

[code] mysql>delete from mysql.user where user=""; [/code]

消えました。

[code] \q [/code]

でログアウト。

再度ログインしてみる。

[code] mysql -u root [/code]

ちゃんとログイン出来ない。

パスワードありでログインする

[code] mysql -u root -p [/code]

パスワードを聞かれるので入力します。(入力中、反応はありませんがちゃんと入力できています。) ちゃんとログインできました。

Vagrantで簡単に共有できる仮想環境を構築する

Vagrantって言葉をよく聞くようになってきたので試したくなった。 プロジェクト毎に独立した環境が用意できるって結構素敵なことだなあ。 その開発環境の構築と共有を簡単に行うためのツールということで興味が湧いたので早速使ってみることに。

https://www.vagrantup.com/ https://www.vagrantup.com/downloads.html ここからダウンロードできるようなので早速ダウンロード。

使用しているOSによってインストールの方法は違うけどここではMac OS X ElCapitan (10.11.6)を前提にします。

Vagrantのインストール

https://www.vagrantup.com/

VirtualBoxのインストール

https://www.virtualbox.org

ここらへんでBOXを探します。BOXってのはVagrantで使える中身のOSイメージね。

https://atlas.hashicorp.com/boxes/search

http://www.vagrantbox.es/

CentOS7.0が欲しいのでhttp://www.vagrantbox.es/よりコピー。

BOXを追加する。

[code] vagrant box add CentOS70 https://github.com/tommy-muehle/puppet-vagrant-boxes/releases/download/1.1.0/centos-7.0-x86_64.box [/code]

BOXが追加出来たかチェック。

[code] $ vagrant box list [/code]

使用するディレクトリの準備

[code] $ mkdir -p ~/Vagrant/CentOS70/ $ cd ~/Vagrant/CentOS70/ [/code]

初期化。

[code] $ vagrant init CentOS70 [/code] Vagrantfileという設定ファイルが作成されます。

VM起動。

[code] $ vagrant up –provider virtualbox [/code]

vagrant up コマンドで自分の環境ではエラーになった。 [code] An error occurred while downloading the remote file. The error message, if any, is reproduced below. Please fix this error and try again. [/code]

エラー解決法:

[code] $ vagrant plugin install vagrant-vbguest [/code]

再度VM起動。

[code] $ vagrant up [/code]

起動しました。

SSH接続(VMにログイン)

[code] vagrant ssh [/code] デフォルトでは ユーザー名: vagrant rootのパスワード: vagrant になってました。

VM終了

[code] vagrant halt [/code]

VM上で保存したデータは、 [code] vagrant destroy [/code] で環境を破棄するまでは保存されています。

ネットワーク設定

[code] vim Vagrantfile [/code]

[code] config.vm.network "private_network", ip: "192.168.33.10" [/code]

この部分のコメントアウトを外す。

PHPの環境を構築したい

PHPのインストール [code] $ sudo yum install php [/code]

apacheのインストールと起動。 [code] $ sudo yum install httpd $ sudo service httpd start [/code]

再起動してもApacheが起動するように。

[code] sudo chkconfig httpd on [/code]

ファイアーウォールを切る(ローカル開発環境だから問題ないと思う) [code] sudo service iptables stop sudo chkconfig iptables off [/code]

さらにMySQLを使いたい。ついでにwgetも欲しい。 [code] $ sudo yum install mysql-server php-mysql wget [/code]

MySQLを自分好みに設定 [code] $ sudo vi /etc/my.cnf [/code] [code] [mysqld] default-character-set = utf8 [mysql] default-character-set = utf8 [/code] 上記設定にしてみた。

MySQLを起動 [code] sudo /etc/rc.d/init.d/mysqld start [/code]

起動時にMySQLも一緒に起動する設定をしておく。 [code] chkconfig mysqld on [/code]

rootでログインできるかな? [code] mysql -u root [/code]

できますね。

Apache再起動しておく [code] $ sudo service httpd restart [/code]

Mac側に戻ってリロードしておく。 [code] vagrant reload [/code]

プロビジョニング(Provisioningとはvagrant upした後に実行される一連の処理のこと。ここまで手動でやったhttpdの設定などを自動化する。)別にやらなくてもいいけど環境を誰かと共有するなら。 [code] vagrant provision [/code]

index.htmlファイルなんかを作ってみるといいかも。 [code] $ cd /var/www/html $ sudo vi index.html [/code]

この設定で192.168.33.10にアクセスできるのでブラウザで http://192.168.33.10にアクセスし、index.htmlページが表示されれば成功です。

手軽に環境構築できる、という触れ込みだったけどはたして手軽なのか何なのか。 まあ慣れれば手軽に思えますね。

EC CUBE3 デザインテンプレートを編集したい

基本的にEC CUBE3のHTMLはTwigというPHPのテンプレートエンジンから出力されています。 Twigのファイルは (EC-CUBE3インストール場所)/src/Eccube/Resource/template/default/ に入ってるんですがこれを編集するのはダメだって言うことで (EC-CUBE3インストール場所)/app/template/default/ に一つずつコピーしながら使います。 その時に階層も全て合わせないといけないので(EC-CUBE3インストール場所)/app/template/default/ に無いディレクトリも自分で作らなきゃいけません。 でもそんなの面倒なので

こんな風に

(EC-CUBE3インストール場所)/src/Eccube/Resource/template/default/ から (EC-CUBE3インストール場所)/app/template/default/ に一気にファイルをコピーすればいいんじゃね・・・?

って考えてます。っていうかやってみました。

まあなんか問題あれば(EC-CUBE3インストール場所)/src/Eccube/Resource/template/default/から戻せばすぐに復旧するしこのシステムは楽ですね。 管理画面から編集しても自動的に(EC-CUBE3インストール場所)/app/template/default/の中身が上書きされます。 ちょっと何かしらデザイン作ってきます。

Ubuntu 14.04 LTS mod_rewrite 有効化

そもそもmod_rewriteが利用可能となっているかを確認してみる。 [code] cat /etc/apache2/mods-available/rewrite.load [/code] とすると、こんな表示になった。 [code] LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so [/code]

※先頭に「#」があればコメントアウトされていますので、コメントアウトを外す作業が必要になります。 soファイルもあるし利用可能なんだな、ってことで

[code] sudo a2enmod rewrite [/code]

コマンドを実行すると

[code] Module rewrite already enabled [/code]

となり、有効化出来た。

有効化できたら [code] <Directory /var/www/html/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow FROM all </Directory> [/code]

として有効にしたい環境の「AllowOverride」をAllと設定する。 これで動きました!

[code] sudo /etc/init.d/apache2 restart [/code]

apacheの再起動を忘れずに!

EC CUBE 3 ドメイン直下にインストールしたい。

EC CUBE 3 ってインストールするとデフォルトでは http://sample-shop.com/html/ がサイトのトップページになりますよね。 この「html」を取りたいと思いますのでその設定をメモ。

http://localhost/eccubetest/ でトップページ表示、http://localhost/eccubetest/admin(admin部分はインストール時に指定したもの) で管理画面に入りたいという前提で進みます。

2.x系の時に「data」ディレクトリと「html」ディレクトリの位置の問題で、 「deta」ディレクトリは「html」ディレクトリの一つ上の階層にないといけない、 さらに「public_html」ディレクトリ内に「html」ディレクトリの中身が、 「public_html」ディレクトリと同階層に「data」ディレクトリを置かなければならない、 と言った話があったんですが「public_html」ディレクトリと同階層にファイルを置けないって サーバーもあるよね・・・なので「html」ディレクトリの中に「data」ディレクトリを入れて .htaccessを改変して使用していた記憶があります。今回のやり方も同じようなものです。

1.まずは普通にEC CUBE 3をインストールします。

2.インストール・動作確認できたら「html」ディレクトリ内にある「index.php」と「.htaccess」、それと「robots.txt」ファイルを一つ上の階層に移動させます。

※htaccessファイルがすでに上の階層にもある場合は、上書きしちゃって構いません。

3.今移動したindex.phpを編集します。

[php] //[INFO]index.php,install.phpEC-CUBEルート直下に移動させる場合は、コメント アウトしている行に置き換える require DIR.‘/../autoload.php’; //require DIR.‘/autoload.php’; [/php]

なんということでしょう。簡単に書き換えられるようになっているではありませんか。 早速書き換えます。

[php] //[INFO]index.php,install.phpEC-CUBEルート直下に移動させる場合は、コメント アウトしている行に置き換える //require DIR.‘/../autoload.php’; require DIR.‘/autoload.php’; [/php]

すると何の問題も無くURLが切り替わりました。

デーン(デーン)

これだけでは管理画面に入れないということなので追記。

app/config/eccube/path.yml を編集します。 10行目あたり

[code][/code] root_urlpath: /eccubetest/html [code][/code] ↓ [code][/code] root_urlpath: /eccubetest/ [code][/code]

とすると、http://localhost/eccubetest/ でトップページ表示、http://localhost/eccubetest/admin(admin部分はインストール時に指定したもの) で管理画面に入れました。