さくらのVPSで2Gを借りてセットアップしました。

OSはカスタムインストールでUbuntu14.04をインストールしました。

さくらのVPS

Ubuntu Japanese Team


数あるOSからUbuntuを選んだ理由は、

単純に使い慣れているからです。


OSのカスタムインストールは公式サイトのマニュアルがあるので端折ります。

カスタムOSインストールガイド - Ubuntu 12.04/14.04|さくらインターネット公式サポートサイト


インストールが終わったら、

SSHでサーバにログインします。


ssh ユーザ名@IPv4のアドレス

サーバのセットアップは以下の通り


#emacsのインストール(エディタなので好きなエディタをインストールします)
sudo apt-get install emacs

#SSHのポート番号を22から他の番号へ変更(不正ログイン対策)
#sshdの設定ファイルのバックアップ
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.old

#sshdの設定ファイルを開く
sudo emacs /etc/ssh/sshd_config

#sshのポートを22から12345へ変更。ファイルを保存(port番号は使用していない番号であれば何でも良いです)
Port 22 → Port 12345

#rootのログインを禁止
#(他のサーバではroot以外のアカウントがいないので、必ずアカウントを作成して、そのアカウントにsudorを設定してから行ってください)
PermitRootLogin withoout-password → PermitRootLogin no

#設定ファイルの保存

#設定ファイルの記述チェック 何も表示されなければOK
sudo sshd -t

#sshの設定を反映
sudo service ssh restart

#サーバをログアウトする
exit

#ターミナルエミュレータを開く(IPアドレス)
ssh username@***.***.***.***
(Poderosaの場合はGUIで指定して接続)

#ssh: connect to host ***.***.***.*** port 22: Connection refusedが表示されればOK

#再度ターミナルエミュレータで再度ログインを試みる
ssh -p 12345 username@***.***.***.***

#一応updateしておく
sudo apt-get update
sudo apt-get upgrade

#日本語を使用可にする
sudo apt-get install language-pack-ja
sudo dpkg-reconfigure locales
sudo update-locale LANG=ja_JP.UTF-8

#サーバの時刻を標準時刻と同期できるようにする
sudo emacs /etc/default/ntpdate

#NTPSERVERS="ntp.ubuntu.com" → NTPSERVERS="ntp.nict.jp"

#スクリプトを作成
sudo emacs /etc/cron.daily/ntpdate

#下記のコードをコピー
/**********************************/
# !/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin

if [ ! -x /usr/sbin/ntpdate-debian ] && [ -d /usr/sbin ]; then
        exit 0
fi

/usr/sbin/ntpdate-debian
/**********************************/

#作成したスクリプトファイルの書き込み権限を修正
chmod 755 /etc/cron.daily/ntpdate

#ファイアーウォールの設定 ssh(22もしくは上で修正した番号:ここでは12345)、http(80)とhttps(443)のみ許可にする
#ufwはiptablesを簡単に設定できるツール

#2018年4月20日追記 さくらVPSでは標準で22のみ許可の設定が追加されたため、
#先にファイアーウォールの設定を削除しておく
sudo mv /etc/iptables/iptables.rules /var/tmp
sudo shutdown -r now

#標準のファイアーウォールの設定削除で再起動をするので、再びリモート接続する

sudo ufw default deny
sudo ufw allow 80
sudo ufw allow 443
sudo ufw allow 12345

#ufwを起動
sudo ufw enable

#yをクリック

sudo ufw status

#Status: activeが表示されることと、allowで指定したポートのみが表示されていることを確認

#サーバをログアウトする
exit

#再度ターミナルエミュレータでログインできることを確認する
ssh -p 12345 username@***.***.***.***

これでサーバのファイアーウォール周りの設定は終了です。

必要に応じて、他のユーザも作成しておくと良いでしょう。




続いて、SOY CMSを動かすためのPHPの環境を用意します。


#何かをインストールする前に必ず行うこと
sudo apt-get update

#apache2のインストール
sudo apt-get install apache2

#MySQLのインストール
sudo apt-get install mysql-server

#SQLiteのインストール
sudo apt-get install sqlite3

#PHP5のインストール
sudo apt-get install php5 libapache2-mod-php5 php5-curl php5-mysql php5-sqlite php-dev php-services-json

#Imagickのインストール(SOY Gallery等のリサイズを使用するアプリ用)
sudo apt-get install imagemagick
sudo apt-get install php5-imagick

#Apache2の起動
sudo /etc/init.d/apache2 start

#/var/www/html以下がルートになるので、そこにファイルを設置
#Apacheのログは/var/log/apache2にある

#.htaccessを利用できるようにする
sudo emacs -nw /etc/apache2/apache2.conf

#AllowOverride NoneをAllに変更する
<directory /var/www>
        Options Indexes FollowSymLinks
        AllowOverride None → All
        Require all granted
</directory>

#apache2のmod_rewriteモジュールをアクティブ
sudo a2enmod rewrite

#設定変更後にapache2の再起動
sudo /etc/init.d/apache2 restart

#MySQLの文字コードの変更等
sudo emacs -nw /etc/mysql/mysql.conf.d/mysqld.cnf

#[mysqld]の下に下記の文字コードの設定を追加
character-set-server=utf8

#設定変更後にMySQLの再起動
sudo /etc/init.d/mysql restart

#MySQLにログイン
mysql -u root -p

#MySQLの文字列の設定がすべてutf-8に変更されていることを確認
show variables like '%char%'

#データベースを作成する
CREATE DATABASE ***;

#MySQL内で新しいユーザを追加する ****に新しく追加したユーザの名前を入れます
CREATE USER ****@localhost
SET PASSWORD FOR ressy = PASSWORD('*******');

#ユーザが登録されたか確認
SELECT Host, User, Password FROM mysql.user;

#データベースに権限を付与
GRANT ALL ON {{DB名}}.* TO {{ユーザ名}};

#sysv-rc-confのインストール。sysv-rc-confはサーバ起動時に立ち上げるアプリを指定する
sudo apt-get install sysv-rc-conf
sudo sysv-rc-conf apache2 on
sudo sysv-rc-conf mysql on

これでApache、PHPとMySQLのインストールは終了です。

FTPクライアントを開いて、/var/www/html以下にSOY CMSを配置して、

カスタムインストールの時に入力したIPv4のアドレスでアクセスします。

SOY CMSであれば、管理画面のURLを特定したい


例えば、IPv4のアドレスが127.0.0.1で、

SOY CMSのインストールディレクトリがcmsの場合、

http://127.0.0.1/cms/admiinが管理画面のURLになるので開いてみて、


soycms_login_init


初期管理者のページが表示されたら、SOY CMSのインストールは終了です。


関連記事

Apacheサーバでバージョンの表示を隠す