スポンサードリンク

2013年5月16日木曜日

さくらVPSにインストールしないといけないもの

さくらVPSは、よく使われるサーバのデーモンのうち、
最初から以下のものしかインストールされていない。

SSH接続用 open-SSH
メール送信用 postfix
DB SQLite

なので、以下のサービスをインストールする
HTTP (apache)
FTP   (vsftpd)
DB     (MySQL, PostgreSQL)
POP (dovecot)

Wordpress
node.js
PHP

1.HTTPDインストール
#yum install httpd

#which httpd
/usr/sbin/httpd

#httpd -v

#cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf_org
#vi /etc/httpd/conf/httpd.conf

ServerName www.hogehoge.com:80
デフォルトの初回ドメインを入力する

#/etc/rc.d/init.d/httpd start

ブラウザからhttp://サーバIP を入力してapacheページが表示されたらOK.
www.hogehoge.comと設定したがDNSに登録されているドメインではないため、
サーバのIPでアクセスを確認すること。

#chkconfig httpd on

ま、詳しい設定はすべてインストール終わってからすることにする。

2.FTPDインストール
#yum install vsftpd

#which vsftpd
/usr/sbin/vsftpd

#vsftpd -v

#/etc/rc.d/init.d/vsftpd start

VSFTPDの設定ファイルを修正する
#vi /etc/vsftpd/vsftpd.conf

>>ここから設定を変更する
>匿名ユーザの接続は許可しない
anonymous_enable=NO
>ログを記録する
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=NO
>asciiによるアップロード・ダウンロード許可
ascii_upload_enable=YES
ascii_download_enable=YES
>バナーに表示する文字を設定 FTPのバージョンを表示しない
ftpd_banner=Welcome .... Ftp
>ホームディレクトリより上層へのアクセスを禁止する
chroot_local_user=YES
>リストに記載したユーザは上層へのアクセスを許可する
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
>ディレクトリごとの削除を許可する
ls_recurse_enable=YES

>>ここから追加する
>タイムスタンプ時間を日本の時間にする
use_localtime=YES
>PASVモード接続先IPをホスト名から取得する
pasv_addr_resolve=YES
>サーバのホスト名またはIPアドレス指定
pasv_address=自分のサーバのIホスト名またはIP
>PASVモード接続ポート
pasv_min_port=60000
pasv_max_port=60030
>SSL有効
ssl_enable=YES
>証明書を指定
rsa_cert_file=/etc/pki/tls/certs/vsfpd.pem
>ログイン時にSSL接続を強制しない (暗号化しない接続も許可)
force_local_logins_ssl=NO
force_local_data_ssl=NO

>>編集終了

ホームディレクトリより上層へのアクセスを許可するユーザの登録
#echo ユーザ名 >> /etc/vsftpd/chroot_list

ユーザ新規登録時に/home/etcディレクトリを作成するようスケルトン登録
#mkdir /etc/skel/etc
#cp /etc/localtime /etc/skel/etc

既存ユーザは、/home/ユーザ/etcディレクトリを作成すること
etcのアクセス権限を各ユーザに変更
#chown ユーザ:ユーザ /home/ユーザ/etc

もしFTPサーバへアクセスを禁止したいユーザがいれば
#echo 禁止したいユーザ >> /etc/vsftpd/ftpusers

サーバ証明書を作成する
#make /etc/pki/tls/certs/vsftpd.pem
国名やら県名サイト名メールアドレスを入力する
Organaization ....は空エンターでよい

VSFTPD起動
#/etc/rc.d/init.d/vsftpd start
#chkconfig vsftpd on
#chkconfig --list vsftpd

macから接続する場合

CyberDuckを使用する
FTP
FTP-SSL (Explicit AUTH TLS)
初回接続時はサーバ証明書が偽物なので偽装サーバの警告が表示されるが、
問題ないので次回より警告しないようにする。

3. MySQLインストール
#yum install *mysql*

#which mysql
/usr/sbin/mysql

#mysql --version

/etc/init.d/mysqld start
一連の処理が実行され、OKと表示されればよい。

#chkconfig mysqld on

#mysql_secure_installation
rootパスワード以外はすべて空ENTERまたはYでENTER押せばよい。
※今までのいちいち匿名ユーザ消したりという作業を省略できる。

#任意のユーザ(hoge)をパスワード(password)登録する
>grant all on *.* to hoge indetified by 'password';

#select user,host,password from mysql.user;

文字コードをUTF8に統一
   # vi /etc/my.cnf

   以下セクション・キーを追加する
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
symbolic-links=0

#old_passwords=1 
default-character-set=utf8
character-set-server=utf8 
skip-character-set-client-handshake

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

mysql再起動
#/etc/rc.d/init.d/mysqld restart

mysqlへ接続
#mysql -u USER -p

文字コード設定が反映されていることを確認
show variables like 'char%';

既にあるデータベースの文字コードをこれで変更できる
 alter database データベース名 character set 文字コード; [ENTER]

4. PostgreSQLインストール
#yum install *postgresql*

#which psql

#psql --version

5. SQLite関係をインストール
#yum install *sqlite*
#which sqlite

6. PHPインストール
#yum -y install php php-mbstring php-pear php-mysql php-gd mysql-devel

/etc/httpd/conf/httpd.confに以下2行を追加する
AddType application/x-httpd-php .php
AddType application/x-httpd-source .php

/var/www/html/にinfo.phpファイルを作成し以下を記述
<?php phpinfo(); ?>

ブラウザからhttp://サーバIP/info.phpをアドレス入力し、
PHPの情報が表示されればoK


7. Wordpressインストール

前提として、
バーチャルホストで2ドメインを1台のサーバで動かしている環境。
www.example1.com
www.exampel2.com

www.example1.comには、blogのみwordpressを使用する。
www.example2.comには、すべてwordpressを使用し、サブドメインを使用する。
(blog.example2.com app.example2.comのようなもの)

注意点としては、wordpressをインストールする際、
www.example2.comのときは、ドキュメントルートにwordpressをインストールすること。
wordpressをインストールとは、例えば、example2.comのドキュメントルートが、
/var/www/example2.com/の場合、
wp-contentやらwordpressディレクトリ以下の色々なファイルすべてが、
/var/www/example2.com/直下に配置されているということをさす。
※すでにPHPインストールでしているが、以下のものが必要なので注意。
yum install php-mysql
yum install php-mbstring

※最新のファイルを本家サイトで確認すること。 2013/05時点は3.5.1が最新
#wget http://ja.wordpress.org/wordpress-3.5.1-ja.zip

※ root のホームディレクトリにダウンロードしたことにする
unzip wordpress-3.5.1-ja.zip

HTMLのドキュメントルートにコピーする
cp -R wordpress /var/www/

cd /var/www/wordpress
cp wp-config-sample.php wp-config.php
 
※複数のwordpressをインストールする場合は、わかりやすくするため
  example1BLOG example2BLOGなどとして設定すればよいいかも。

//設定ファイルのデータベース設定を書き換える
/** WordPress のためのデータベース名 */
define('DB_NAME', 'example1BLOG');

/** MySQL データベースのユーザー名 */
define('DB_USER', 'DB任意ユーザ名');

/** MySQL データベースのパスワード */
define('DB_PASSWORD', 'DB任意パスワード'); 

mysqlにルートでログイン
mysql -u root -p
grant all privileges on example1BLOG.* to ユーザ@localhost identified by 'xxxxxxxx';
exit;

mysql -u ユーザ -p

create database example2BLOG;

 cd /etc/httpd/conf.d/
echo "Alias /wordpress /var/www/wordpress" > wordpress.conf 
cat wordpress.conf 
/etc/init.d/httpd reload 


//ブラウザで以下にアクセスして、adminパスワードを入れてメールアドレス入力してOK
http://サーバアドレス/wordpress



8.HTTPDにサブドメイン・マルチサイト設定をする

9.メールサーバをインストールする(postfix, dovecot)

10.iptablesファイルを作成する

11.



0 件のコメント:

コメントを投稿