CentOS,ScientificLinuxでLAMP(Apache+MySQL+PHP)インストールからWordPressを動かすまで(Apache編) では、CentOS/ScientificLinux でWordpressを動かすまでを簡単に解説してみました。
今回は、最短で(L)AMPインストールし、EC-CUBE を動かすまでの手順について解説してみたいと思います。
とりあえず、CentOS / ScientificLinux インストールした後から、EC-CUBE を動かすまでです。
昨今では、 さくらのVPS や お名前.com VPS(KVM) など 月額1,000円以下の格安のroot権限を持つVPSが提供されています。
そんなVPSを有効利用するにも、それなりの技術が必要となります。
その技術のしきいが高くて手を出せない方のために、この記事が、何かのきっかけになってくれればうれしく思います。
特に、EC-CUBE は、ネットショップを構築するためのCMS(コンテンツマネージメントシステム)なので、Wordpressのようなブログ用とは、セキュリティ面で気を遣う必要があります。
その点も含めて、簡単に解説してみますので、参考になればと思います。
オープンソースのEC向けコンテンツマネージメントシステム(CMS)である。(出典:wikipedia)
つまりは、これ1本でネットショップを簡単に構築できますよ、というものです。
そもそもは、株式会社ロックオンが開発してきたECサイト構築システムで、デュアルライセンス(GPL,商用ライセンスの選択)の採用により人気となり、現在に至っています。 もちろんライセンスの問題だけでなく、日本発でオープンソースとしては かなり行き届いた機能を持つネットショップ構築パッケージとなっていて、 少なくとも日本では、海外オープンソースのEC向けCMSである osCommerceやZen Cart よりシェアがあり、EC向けCMSに限定すれば、国内トップとされています。(2013.2 現在)
- 目次
- 履歴
2013.2.20 初版
(L)AMPをインストールする
(L)AMP の Lは、ここでは、CentOS/ScientificLinuxとなります。既にインストール済として以降解説します。
(L)AMP の Aは、ウェブサーバー(Apache),
(L)AMP の Mは、データベース(Mysql) ,
(L)AMP の Pは、スクリプト(Php)
をそれぞれインストールします。
LAMPのPは、Perlもありますが、依存関係でインストールはされますが、(EC-CUBE自体には、Perlは必要ないので)ここでは明示的にPerlはインストールしません。
Apacheをインストールする
|
ここでは、ネットショップを構築するので、SSL接続もできるようにします。
そこで、apacheと同時に openssl mod_ssl(apacheのSSLモジュール) をインストールします。
- 基本接続で動作確認してみる
- Apacheの設定を変更する。
# ここでは、必要最小限のサーバー名だけ設定しておきます。 $ vi /etc/httpd/conf/httpd.conf ... # サーバー名だけ指定しておく。 ServerName www.example.com:80 ...
- apacheを再起動する。
設定を終えたら、Apacheを起動します。
# ウェブサーバー(httpd) を起動します。 $ /etc/init.d/httpd start httpd を起動中: [ OK ]
- ブラウザからアクセスしてみる。
ブラウザからアクセスしてみます。
以下のように、ブラウザから Apacheのデフォルトのページが表示されればOKです。
接続に失敗した場合は、ドメインが正しくIPアドレスをさしているか確認します。 接続がタイムアウトとなる場合は、iptables で接続を拒否している可能性があります。 iptables を無効にしてみます。
個別にポートを開く場合は、以下のようにすればOKです。$ /etc/init.d/iptables stop iptables: ファイアウォールルールを消去中: [ OK ] iptables: チェインをポリシー ACCEPT へ設定中filter [ OK ] iptables: モジュールを取り外し中: [ OK ]
# 80 (httpのポート)の入力は許可 /sbin/iptables -A INPUT -p tcp --dport 80 -j ACCEPT # 443(httpsのポート)の入力は許可 /sbin/iptables -A INPUT -p tcp --dport 443 -j ACCEPT
- Apacheの設定を変更する。
- SSLで接続してみる
SSLで接続してみます。SSLは、暗号化で接続するため、ネットショップなどで個人情報などの他に漏れては困るような情報がある場合、SSLでの接続が有効です。
今回は、EC-CUBEなのでネットショップを構築するとすれば SSL接続は必要でしょう。ここでは、簡単に自前で認証させる方法でSSL接続を実施します。正式にネットショップを立ち上げる場合は、認証局から証明書を発行(有償)してもらう必要があるでしょう。 ここでは、EC-CUBEを扱うまでの解説なので、自前のプライベート認証局でサーバー証明書を発行し、SSL接続します。大きな違いは、証明書の取り扱いだけです。- サーバー証明書を作成する。
サーバーの証明書の作成は、プライベート認証局の証明書、サーバー証明書、クライアント証明書の作成方法について を参照してください。
(ここでは例として、サーバー証明書作成時の Common Name に www.exmaple.com を指定して作成します。)
- OpenSSLのインストールは、 → OpenSSLのインストールする からどうぞ。
- プライベート認証局から作成が必要な方は、 → 証明書を作成する からどうぞ。
- サーバー証明書のみ作成が必要な方は、 → サーバー用の証明書を作成する。 からどうぞ。
ここでは、サーバー証明書、秘密鍵ファイルがそれぞれ以下のファイル名で作成されたものとして、以降、記述します。
- サーバー証明書 → /etc/pki/CA/certs/www.example.com.crt
- サーバー秘密鍵 → /etc/pki/CA/private/www.example.com.key
- apache の SSL設定する。
apache のSSL関連の設定は、すべて以下 /etc/httpd/conf.d/ssl.conf で行うことになっています。 以下にデフォルトの設定からの変更イメージを記載します。太字が編集箇所です。
/etc/httpd/conf.d/ssl.conf
... ## ## SSL Virtual Host Context ## <VirtualHost _default_:443> # General setup for the virtual host, inherited from global configuration DocumentRoot "/var/www/html" # コメントをはずす ServerName www.example.com:443 # コメントをはずす # Use separate log files for the SSL virtual host; note that LogLevel # is not inherited from httpd.conf. ErrorLog logs/ssl_error_log TransferLog logs/ssl_access_log LogLevel warn # SSL Engine Switch: # Enable/Disable SSL for this virtual host. SSLEngine on # SSL Protocol support: # List the enable protocol levels with which clients will be able to # connect. Disable SSLv2 access by default: SSLProtocol all -SSLv2 # SSL Cipher Suite: # List the ciphers that the client is permitted to negotiate. # See the mod_ssl documentation for a complete list. SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW # Server Certificate: # Point SSLCertificateFile at a PEM encoded certificate. If # the certificate is encrypted, then you will be prompted for a # pass phrase. Note that a kill -HUP will prompt again. A new # certificate can be generated using the genkey(1) command. #SSLCertificateFile /etc/pki/tls/certs/localhost.crt SSLCertificateFile /etc/pki/CA/certs/www.example.com.crt # サーバー証明書のパスを指定 # Server Private Key: # If the key is not combined with the certificate, use this # directive to point at the key file. Keep in mind that if # you've both a RSA and a DSA private key you can configure # both in parallel (to also allow the use of DSA ciphers, etc.) #SSLCertificateKeyFile /etc/pki/tls/private/localhost.key SSLCertificateKeyFile /etc/pki/CA/private/www.example.com.key # サーバー秘密鍵のパスを指定 ...
ここで設定しているのは、以下の必要最小限の項目のみの設定です。
- DocumentRoot : ドキュメントルート
- ServerName : サーバー名、ポート番号
- SSLCertificateFile : サーバー証明書
- SSLCertificateKeyFile : サーバー秘密鍵
ここでの設定は、あくまで必要最小限の設定です。
- apacheを再起動する。
ここまでの設定を終えたら、最後にapacheを再起動します。
$ /etc/init.d/httpd restart httpd を停止中: [ OK ] httpd を起動中: [ OK ]
- ブラウザからアクセスしてみる。
ブラウザからアクセスしてみます。
このとき、URLは、
https://wwww.example.com
となることに注意してください。正しくアクセスできれば、鍵マークが表示されるでしょう。
以下のように、ブラウザから Apacheのデフォルトのページが表示されればOKです。
接続に失敗した場合は、ドメインが正しくIPアドレスをさしているか確認します。 接続がタイムアウトとなる場合は、iptables で接続を拒否している可能性があります。 iptables を無効にしてみます。
個別にポートを開く場合は、以下のようにすればOKです。$ /etc/init.d/iptables stop iptables: ファイアウォールルールを消去中: [ OK ] iptables: チェインをポリシー ACCEPT へ設定中filter [ OK ] iptables: モジュールを取り外し中: [ OK ]
# 80 (httpのポート)の入力は許可 /sbin/iptables -A INPUT -p tcp --dport 80 -j ACCEPT # 443(httpsのポート)の入力は許可 /sbin/iptables -A INPUT -p tcp --dport 443 -j ACCEPT
- サーバー証明書を作成する。
mysqlをインストールする。
続けて、mysqlのインストールを行います。
|
ここで、最低限 mysql の以下の項目の設定を行います。
- 管理者パスワード設定
- 新規のデータベースを作成
- 新規ユーザの作成
ここでは、SQLをテキストファイルにまとめて、一気に流してしまいます。
以下は、そのSQLファイルのイメージです。
|
続けて、そのSQLファイル ( ここでのファイル名を 例として wordpress.sql とします ) を
mysqlコマンドを使って一気に流してみます。
|
このようにログインできればOKです。
phpをインストールする。
|
EC-CUBEの公式ページに以下のように必須パッケージと推奨パッケージの記載があります。ここでは、すべてのをインストールしておきます。
- 必須パッケージ
- pgsql又はmysql : php-mysql
- gd : php-gd
- freetype2 : phpに組み込まれている
- mbstring : php-mbstring
- zlib : php-common
- ctype : phpに組み込まれている
- spl (PHP 5.3.0 未満の場合) : PHP 5.3なので不要
- session : php-common
- 推奨パッケージ
- JSON(PHP5.2以降でオーナーズストアを使用する場合は必須) : php-common
- xml(プラグイン機能を使用する場合は必須) : php-xml
- OpenSSL : php-common
- cURL : php-common
- hash : php-common
- mhash (PHP 5.3.0 未満の場合) : PHP 5.3なので不要
- mcrypt : php-mcrypt
- zip : php-common
そのため、リポジトリにEPELが組み込まれてない場合は、組み込みましょう。
以下は、32bit版の場合の例です。
|
最後にウェブ経由で動作を確認してみます。
|
ブラウザから、
http://www.exmaple.com/info.php
へアクセスしてみてください。
以下のようにphp情報ページが表示されることを確認します。
このページで上記のインストールしたパッケージがすべて有効になっているか確認しておきます。
- 必須パッケージ
- pgsql又はmysql : php-mysql
- gd : php-gd
- freetype2 : phpに組み込まれている
freetype は、GDの中に表示されます。
- mbstring : php-mbstring
- zlib : php-common
- ctype : phpに組み込まれている
- spl (PHP 5.3.0 未満の場合) : PHP 5.3なので不要
- session : php-common
- pgsql又はmysql : php-mysql
- 推奨パッケージ
- JSON(PHP5.2以降でオーナーズストアを使用する場合は必須) : php-common
- xml(プラグイン機能を使用する場合は必須) : php-xml
- OpenSSL : php-common
- cURL : php-common
- hash : php-common
- mhash (PHP 5.3.0 未満の場合) : PHP 5.3なので不要
- mcrypt : php-mcrypt
- zip : php-common
- JSON(PHP5.2以降でオーナーズストアを使用する場合は必須) : php-common
全て確認できればOKです。
もし確認できないようなら、Apacheの再起動、あるいは、インストールが正しく行えているか再確認しましょう。
EC-CUBE をインストールする
最後に EC-CUBE をインストールして動かしてみましょう。
最新版のEC-CUBEをダウンロードし、展開します。
最新のEC-CUBEを http://www.ec-cube.net/download/からダウンロードします。
EC-CUBEは、EC-CUBEメンバーに登録(無料)しないとダウンロードできません。
EC-CUBEメンバー登録済の方は、ログインして上記ページの中部の Version 2.12.3(tar.gz) をクリックしてダウンロードします。
EC-CUBEメンバー登録していない方は、上記ページの上部の EC-CUBEメンバーに新規登録(無料) をクリックします。
- 利用規約確認ページで利用規約を確認の上、同意して登録するをクリックします。
- メンバー情報を入力し、確認ページへをクリックします。
最低限必要な情報は、以下のような情報です。そこまで厳密な情報でも無いようで、メールアドレスもフリーメールのアドレスでOKです。
・名前
・都道府県
・メールアドレス
・性別
・職業
・業種
・メンバーパスワード
- メンバー情報確認ページで内容を確認し、完了ページへをクリックします。
- 以下のように メンバー仮登録ページが表示されます。
このとき登録メールアドレスへ下記のようにメールが送信されてきます。
このメールに指定されているアドレスへアクセスするとメンバー登録完了となります。
メンバー登録を終えたら、ログインしダウンロードしましょう。
続けて、tar ファイルを解凍します。
|
ここで EC=CUBEのルートディレクトリは、/var/www/html になります。
Apacheの設定でも /var/www/html となりますので、そのままアクセスすればOKです。
EC-CUBEをインストールします。
- ウェブブラウザからアクセスします。
ここでは、www.example.com というサーバー名でアクセスできるものとして設定していますので、
http://www.example.com でアクセスします。
次に進むをクリックし、次に進みます。
- 必要なファイルのコピーができるか自動確認した結果が表示されます。
次に進むをクリックし、必要なファイルのコピーを実施します。
- 必要なファイルのコピーを実施した結果が表示されます。
次に進むをクリックし、ECサイトの基本情報を設定します。
- ECサイトの基本情報を設定します。
- 店名 :
ネットショップの店名をを入力します。
(ここでは、あくまで例として「サンプルな店」としました。)
- メールアドレス :
ネットショップで受注した時なとに用いられるメールアドレスになります。
(このアドレスは、大事なアドレスですから、必ず着信できるメールアドレスにしましょう。)
- ログインID :
EC-CUBEの管理ログインIDになります。
(セキュリティ上、admin以外を使うことをおすすめします。ここでは、hogehogeを使います。)
- パスワード :
EC-CUBEの管理ログインIDのパスワードになります。
(セキュリティ上、8文字以上の数字を含めた パスワードを設定しましょう。)
- ディレクトリ :
EC-CUBEの管理者用ディレクトリになります。(デフォルトadmin)
(セキュリティ上、admin 以外の名前を使用されることをお勧めします。ここでは、hoge としています。)
- SSL制限 :
管理画面へのアクセスをSSL接続のみに限定するかを指定します。
上記のとおり、ここでは、SSL接続できるようにしましたので、SSL限定にチェックします。
(セキュリティ上、SSL限定がより良いです。)
- IP制限 :
管理画面へアクセスするIPアドレスが決まっている場合は、ここでそのIPアドレスを指定します。
ここでは、固定IPからのアクセスでないので、空欄のままとしています。
(セキュリティ上、できればIP制限もかけた方がより良いです。)
- URL(通常) :
通常アクセスする時のURLを指定します。ここでは、例として http://shop.exmaple.com としています。
- URL(セキュア) :
SSLアクセスする時のURLを指定します。ここでは、例として https://shop.exmaple.com としています。
- 共通ドメイン :
URL(通常)とURL(セキュア)のドメイン名が異なる場合に設定するため、ここでは何も設定しません。
次に進むをクリックし、データベース情報を設定します。
- 店名 :
- データベースへアクセスするための必要な情報を表示されます。
- DBの種類 :
EC-CUBEは、データベースに
PostgreSQL , MySQLのいずれかを選択することができます。
ここでは、MySQLを選択します。
- DBサーバー :
ここでは、デフォルトのまま127.0.0.1とします。
DBサーバーを別のサーバーにしている場合は、そのIPアドレスまとはホスト名を指定します。
- ポート :
ポートは、データベースで使うTCPポート番号になりますが、ここではデフォルトのままなので、空欄のままとします。
特別にポート番号が指定してあるレンタルサーバーなどでは、ここにそのポート番号を指定します。
- DB名 :
先に作成したデータベース名を入力します。
ここでは、wddb とします。
- DBユーザ :
先に作成したデータベースのユーザ名を入力します。
ここでは、hoge とします。
- DBパスワード :
先に作成したデータベースへアクセスできるユーザのパスワードを入力します。 ここでは、hogehoge とします。
次に進むをクリックし、データベースの初期化を実施します。
- DBの種類 :
- データベースの初期化実施ページが表示されます。
次に進むをクリックし、データベースの初期化を実施します。
- データベースの初期化実施結果ページが表示されます。
実施した結果が表示されます。
次に進むをクリックし、サイト情報ページへ進みます。
- サイト情報を株式会社ロックオンへ送信するか確認ページが表示されます。
情報を送信したくない場合は、いいえを選択します。特に仮で使っている場合は、いいえでOKです。
次に進むをクリックし、EC-CUBEのインストールを完了します。
管理画面 をクリックすると、ログイン画面が表示されます。
ID、PASSWORD を入力し、LOGINをクリックすると、管理画面にログインすることができます。
また、URLへ直接アクセスするとサンプルデータを元にデフォルトのショップ画面が表示されます。
すごいですね。何も設定せずに(デフォルトで)、これだけのページが表示できるんですね。あとは商品並べたら(登録したら)、ネットショップっぽくなりますね。
- 全てのインストール作業を終えたら、最後に インストール用ファイルを削除します。
最後に 以下のインストール用ファイルを削除します。
/var/www/html/install/index.php
このファイルは、インストーラなので、インストールが完了したら必要ありません。また、残しておくことで、サイトを乗っ取られることもありえますから、必ず、削除しましょう。
ここに書いているのは、あくまで必要最小限としての記載ですので、ユーザによっては、もっと、細かい設定をしないといけない場合もあります。
さくらのVPS や お名前.com VPS(KVM) など 月額1,000円以下の格安のroot権限を持つVPSが提供されています。
そんなVPSを有効利用するにも、それなりの技術が必要となります。その技術のしきいが高くて手を出せない方のために、今回、必要最小限の設定でEC-CUBE を動かすまでを記事にしてみました。
もちろん、これらの格安VPSでも独自SSLは使えます。 まだまだ、必要な技術的な知識は必要になってくると思いますが、初心者の方々の何かのきっかけになればうれしく思います。
このサイトでは、コンテンツの一部が非表示、あるいは、コメント、お問い合わせの投稿ができない、検索ができないことがあります。
- CentOS,ScientificLinuxでLAMP(Apache+MySQL+PHP)インストールからWordPressを動かすまで(Apache編)
- Windowsで(L)AMP(Apache,MySQL,PHP)インストールからWordPressを動かすまで
- CentOS,ScientificLinuxでLAMP(Lighttpd+MySQL+PHP)インストールからWordPressを動かすまで(Lighttpd編)
- mysqlのレプリケーションを使う
- CentOS,ScientificLinuxでLAMP(Nginx+MySQL+PHP)インストールからWordPressを動かすまで(Nginx編)
2014年11月13日, 6:25 PM
こんにちわ。
佐藤ともうします。
私もeccubeをインストールしたんですが同じ様に商品名に???が付いてしまってます。他にも住所などデータベースも?に成っちゃってます。
何がいけないのか教えていただけませんか?
現在他にもワードプレスも動いてます。
2014年11月13日, 6:37 PM
佐藤さん
コメントありがとうございます、管理人です。
早速ですが、EC-CUBEの管理画面などからデータベースの編集を行って、???と表記される?ということでしょうか?
それとも、インストールしただけの状態で???と表記される?ということでしょうか?
前者であれば、文字コードの不一致かもしれませんね、単純に英字のみで編集してみて、正しく表記できるか確認してみると良いと思います。表記できれば、日本語の文字コードの問題ですね。
後者であれば、まず、管理画面から、適当にデータベースを編集してみてください。それで、正しく日本語表記できればOKですね。もし、それでもできない場合は、上記の英字を試してみたら良いかもしれません。
とりあえず、色々と試してみると見えてくるものもあると思います。
がんばってみてください。