CategoryInfra

サーバ移転

本サイトは、サーバ移転を行ったため一部コンテンツの表示が正しく表示されていないページがあります。

サーバ移転備忘録

通常のレンタルサーバーからVPSサーバへの移転時、データとプロダクトすべてを丸々移行させ成功したときの備忘録
 
※VPSサーバでバーチャルホストで複数サイトを運用していることが前提
 

プロダクト移行

①以前のサーバから必要な Drupal6 のディレクトリすべてをローカルにダウンロード
 
②圧縮し移転先のVPSサーバへアップロード
 
③適切な箇所へ配置
 
④settings.phpの設定
・データベースへの接続先を修正する
# vi {drupal_directory}/sites/default/settings.php
– – – – – – – – – – – – – – – – – – – – – – – – – – – –
$db_url = 'mysqli://{username}:{password}@localhost/{database_name}';
– – – – – – – – – – – – – – – – – – – – – – – – – – – –
 

データ移行

①phpMyAdmin などで移行させたい Drupal6 のSQLをダウンロード
 
②移転先のVPSサーバへアップロード
 
③コマンドラインから指定のデータベースへインポートする
 # mysql -u root -p
 
mysql> use dbname
 
mysql> source /{directory}/data.sql
 

Clean URLs 設定

以前のサーバで URLをパラメーターではなくSEOに有効とされる Clean URLs としたので、その設定を行う。
 
①htaccessの設定
・下記のように、(1)RewriteEngine が On であること(2)RewriteBase のパスがあっていることを確認
# vi {drupal_root}/.htaccess
– – – – – – – – – – – – – – – – – – – – – – – – – – – –
# Various rewrite rules.
<IfModule mod_rewrite.c>
  RewriteEngine on

  RewriteBase /{drupal_directory}

  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_URI} !=/favicon.ico
  RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
</IfModule>

– – – – – – – – – – – – – – – – – – – – – – – – – – – –
 
②Apacheの設定を確認
・.htaccessファイルの許可を与える
# vi /etc/httpd/conf/httpd.conf
– – – – – – – – – – – – – – – – – – – – – – – – – – – –
<Directory "/var/www/html/{drupal_directory}">
    AllowOverride All
</Directory>
– – – – – – – – – – – – – – – – – – – – – – – – – – – –

VPS + CentOS の初期設定

CentOSのアップグレード

①バージョン確認
$ rpm -qa | grep centos-release
 
②アップデート
$ yum upgrade
 

vimのインストール / .bashrc

①インストール
$ yum -y install vim-enhanced
 
②.bashrc にエイリアスを追加
$ vi ~/.bashrc
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
alias vi='vim'
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
 
③再読み込みする。
$ source .bashrc
 
④日本語を使用可に
# echo 'set encoding=utf-8' >> .vimrc:

ファイアーウォールの構築

①ファイル作成
$ vi /etc/sysconfig/iptables
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
*filter
:INPUT   ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT  ACCEPT [0:0]
:RH-Firewall-1-INPUT – [0:0]

-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp –icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp –dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp –dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp –dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT

# SSH, HTTP, FTP1, FTP2, MySQL
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 10022 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 80    -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 20    -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 21    -j ACCEPT

-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 22    -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 3306  -j ACCEPT

-A RH-Firewall-1-INPUT -j REJECT –reject-with icmp-host-prohibited

COMMIT

– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
※SFTPを使用したい場合は22ポートを開く
※改行のスペースなど入っていないか注意
 
②iptableの再起動
$ /etc/rc.d/init.d/iptables restart

未使用のデーモンをオフ

/sbin/chkconfig auditd off
/sbin/chkconfig autofs off
/sbin/chkconfig avahi-daemon off
/sbin/chkconfig bluetooth off
/sbin/chkconfig cups off
…..
 

yumのリポジトリ追加

①wgetでダウンロード
$ wget http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
$ wget http://rpms.famillecollet.com/el5.x86_64/remi-release-5-8.el5.remi.noarch.rpm
$ wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
 
②リポジトリを追加
$ rpm -Uvh epel-release-5-4.noarch.rpm remi-release-5-8.el5.remi.noarch.rpm rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
 
③Fedora EPEL を無効化
$ vi /etc/yum.repos.d/epel.repo
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
enabled=0
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
 
④RPMForge を無効
$ vi /etc/yum.repos.d/rpmforge.repo
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
enabled=0
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
 

yumをアップデート

$ yum update
 
(LAMPを一発インストール)

$ yum –enablerepo=remi,epel,rpmforge install httpd-devel php-devel php-mysql php-pear mysql-server

※それぞれバージョンなどの指定がある場合は、個別にインストール
 

LAMP環境構築 – Live Commerce

 

Live Commerce 1.3
CentOS 5.5 x86_64 Sakura Internet VPS  
Apache 2.2.3 ・mod_rewrite  
MySQL 5.0.7    
PHP 5.2.17 ・Zend Framework 1.8以上
・Zend Optimizer
・GD library
・mbstring
・iconv
・PDO
・mcrypt
・dom
■PHP高速化
■サムネイル表示

 

Apache

①インストール
# yum install httpd httpd-devel -y
 
②自動起動設定
# chkconfig –level 345 httpd on
 
③バージョン確認
# httpd -v
 
④モジュール確認
# httpd -l
 
⑤起動
# /etc/init.d/httpd start
 
/etc/httpd/conf/httpd.conf
[default]
——————————————–
DocumentRoot "/var/www/html"
——————————————–
 

MySQL

①インストール
# yum install mysql-server
 
②自動起動設定
# chkconfig –level 345 mysqld on
 
文字セットのUTF-8設定(追加)

# vi /etc/my.cnf

——————————————–

[client]
default-character-set=utf8
 
[mysql]
default-character-set=utf8
 
[mysqldump]
default-character-set=utf8
——————————————–
 
④起動
# /etc/rc.d/init.d/mysqld start
 
⑤root のパスワード設定
# mysql -u root
mysql> UPDATE mysql.user SET Password = PASSWORD('設定するパスワード')  WHERE User = 'root';
mysql> FLUSH PRIVILEGES;
mysql> quit
 
④再起動

# /etc/rc.d/init.d/mysqld restart
 

 PHP

①インストール(5.1.6)
# yum install php php-devel php-mbstring php-mysql php-pdo php-mcrypt php-pear php-xml -y
 
②Apache再起動
# /etc/init.d/httpd restart
 
③バージョンチェック
# php -v
 
④モジュールチェック
# php -m
 
⑤PHP 5.2.17へバージョンアップ
# rpm –import http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka
 
⑥リポジトリに下記を追加
# vi /etc/yum.repos.d/utterramblings.repo
——————————————–
[utterramblings]
name=Jason's Utter Ramblings Repo
baseurl=http://www.jasonlitka.com/media/EL$releasever/$basearch/
enabled=0 0 → 1 にすると常に非公式リポジトリを参照
gpgcheck=1
gpgkey=http://www.jasonlitka.com/media/RPM-GPG-KEY-jlitka
——————————————–
 
⑦リポジトリを指定しPHPをアップグレード
# yum –enablerepo=utterramblings update php
 
⑧バージョン確認
# php -v
 
⑨mcryptモジュールのアップデート
# yum –enablerepo=utterramblings update php-mcrypt
 
⑩Apache再起動

# /etc/init.d/httpd restart
 
⑪GDモジュールのインストール
# yum install php-gd
 
(php -common などのエラーが出た場合)
⑫一度、php -common を削除
# yum remove php -common
 
⑬再度GDモジュールをインストール(php -common 同時インストール)
# yum install php -gd
 
(その後、PHPのバージョンが5.1.6に戻ってしまった場合)
⑭再度、⑤と⑦を繰り返しPHP5.2.17をインストール
 
⑮Apache再起動

# /etc/init.d/httpd restart
 
⑯モジュールのインストール確認
# php -m
 
(その他、エラー発生時足りないモジュールをインストール)
$ yum install gcc-c++
$ yum install httpd-devel
$ yum -y install bzip2\*
$ yum -y install gd gd-devel freetype freetype2 libpng libmng\* libtiff\* libjpeg\* libc-client\* giflib\*
$ yum install aspell-devel
$ yum install mysql-devel
$ yum install libmcrypt-devel
$ yum install unixODBC unixODBC-devel
$ yum install libxml2-devel
$ yum install openssl-devel
$ yum list pcre*
$ yum install pcre-devel -y
$ yum install curl-devel -y
$ yum install gmp-devel -y
 
※注意
php-5.2.17.tar.gz をダウンロードし ./configure, make, make install でインストールすると libphp5.so が作られないというバグがあるためPHPが動作しない。
 

Zend Framework

①サイトから会員登録後、ダウンロード
 
②解凍
$ tar zxvf ZendFramework-x.xx.x
 
③配置
$ mv ZendFramework /opt
 
④設定(追加)
$ vi /etc/php.ini
———————————————————————-
; zendframework
include_path=".:/opt/ZendFramework/library"
———————————————————————-
 
⑤Apache再起動

# /etc/init.d/httpd restart
 
※上記で動作しない場合は、public_html/.htaccessファイルに下記を追加
—————————————————————————
php_value include_path ".:/opt/ZendFramework/library"
————————————————————————–
 

Zend Optimizer

①サイトからダウンロード(x86_64)
ZendOptimizer-3.3.9-linux-glibc23-x86_64.tar.gz
 
②解凍
# tar zxvf ZendOptimizer-3.3.9-linux-glibc23-x86_64.tar.gz
 
③移動
# cd ZendOptimizer-3.3.9-linux-glibc23-x86_64/data/5_2_x_comp
 
④ファイルを指定場所へコピー
# cp -pr ZendOptimizer.so /usr/lib64/php/modules/
 
⑤移動
# cd /etc/php.d
 
⑥optimizer.iniの設定
# echo "; Enable Zend Optimizer extension module
zend_extension=/usr/lib64/php/modules/ZendOptimizer.so" > optimizer.ini
 
⑦確認
# php -v
————————————————————————–
PHP 5.2.17 (cli) (built: Sep  1 2011 17:22:41)
Copyright (c) 1997-2010 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2010 Zend Technologies
    with Zend Optimizer v3.3.9, Copyright (c) 1998-2009, by Zend Technologies
————————————————————————–
 
⑧再起動
# service httpd restart
 

phpMyAdmin

①phpMyAdminのサブバージョンリポジトリからチェックアウト
# svn checkout https://phpmyadmin.svn.sourceforge.net/svnroot/phpmyadmin/tags/STABLE/phpMyAdmin phpmyadmin
 
②適切な場所に移動
# mv phpmyadmin/ /var/www/html
 
③DBへの接続ファイルを作成
# cp /var/www/html/phpmyadmin/config.sample.inc.php /var/www/html/phpmyadmin/config.inc.php
 
④権限を変更
# chmod 660 /var/www/html/phpmyadmin/config.inc.php
 
⑤expect をインストール
# yum -y install expect
 
⑥パスワード作成
# mkpasswd -l 46
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
 
⑦接続ファイルの編集、追加
# vi /var/www/html/phpmyadmin/config.inc.php
————————————————————————–
$cfg['blowfish_secret'] = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
 
$cfg['Lang']     = 'ja-utf-8';
————————————————————————–
 
⑧所有者の設定
# chown -R root.apache /var/www/html/phpmyadmin/
 
⑨ブラウザ確認
http://{yourdomain}/phpmyadmin
 

VirtualHost

# mkdir /var/www/html/www.domain1.com
# mkdir /var/www/html/www.domain2.com
# vi /etc/httpd/conf.d/vhost.conf
 
NameVirtualHost *:80
<VirtualHost *:80>
    DocumentRoot /var/www/html/www.domain1.com
    ServerName www.domain1.com
    ServerAlias domain.com
    ErrorLog logs/domain1-error_log
    CustomLog logs/domain1-access_log combined env=!no_log
    <Directory "/var/www/html/www.domain1.com">
        AllowOverride All
    </Directory>
</VirtualHost>
 
<VirtualHost *:80>
    DocumentRoot /var/www/html/www.domain2.com
    ServerName www.domain2.com
    ServerAlias domain.com
    ErrorLog logs/domain2-error_log
    CustomLog logs/domain2-access_log combined env=!no_log
    <Directory "/var/www/html/www.domain2.com">
        AllowOverride All
    </Directory>
</VirtualHost>
 
# chown -R admin.admin /var/www/html/
# wget http://www.live-commerce.com/downloads/latest.zip
# unzip latest.zip
# mv live-commerce/* ./
# rm -rf live-commerce
 
DocumentRoot /var/www/html/www.domain1.com
DocumentRoot /var/www/html/www.domain1.com/public_html
 

LiveCommerce on MAMP + ZendFramework Install

Live Commerce(ECサイトCMS) をローカルにインストール時メモ

1、Live Commerce の動作環境に合わせるためにまずは、MAMPのアップデートをする

■動作環境

 

  • PHP 5.2.4 またはそれ以上のバージョン 5.3.系では不可
    • Zend Framework 1.8以上
    • Zend Optimizer
    • GD library
    • mbstring
    • iconv
    • PDO
    • mcrypt
    • dom
  • MySQL 5.0.7 以上
  • Apache 2.X またはそれ以上のバージョン(1.3系でも可)
    • mod_rewrite

2、MAMP & MAMP PRO 1.9.6 にアップデート

  • htdocsディレクトリのBackUpを忘れずに!
  • MAMPの環境設定からPHP5.2へ変更
  • Zend Optimizer にチェックを入れる

3、最新版のZend Framework をインストールする(今回は1.11)

  • MAMPの htdocs ディレクトリに配置
  • ディレクトリ名を zf などに変更
  • /Application/MAMP/conf/php5.2/php.ini の適度な箇所に下記を追加

– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

; zeninclude_path = ".:/Applications/MAMP/htdocs/zf/library"

– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

4、Live Commerce を手順通りにインストールする

  • すべての環境チェックをクリア
  • 正常にインストールが完了しても、パーミッション関連のエラーがでる場合がある
  • ターミナルからエラー内容のディレクトリを0707または0777に変更する

※ ちなみに今回は Zend Framework のディレクトリや Live Commerce の cache ディレクトリのパーミッションエラーが出た

5、正常に表示される

© 2017 switch over