Category: Develop

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
 

php.ini

/etc/php.ini – linux   or   /Applications/MAMP/conf/phpx.x/php.ini – MAMP
   
   
 
   
   
option
short_open_tag = On <?= を利用可能とする
magic_quotes_gpc = On クォーテーション、ダブルクォーテーション、¥マーク(バックスラッシュ)は1つ前に「\」がついた状態で変換
   
file upload
upload_max_filesize (32M) アップロード最大ファイルサイズ
max_file_uploads  
memory_limit (32M) CSVインポート時などのメモリ上限
postmax_size (32M) CSVインポート時などのポスト最大値
   
   
/etc/my.cnf
[client]
default-character-set = utf8
 
[mysqld]
default-character-set = utf8
 
[mysql]
default-character-set = utf8