さくらのVPSで2Gを借りてセットアップしました。
OSはカスタムインストールでUbuntu14.04をインストールしました。
数ある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のアドレスでアクセスします。
例えば、IPv4のアドレスが127.0.0.1で、
SOY CMSのインストールディレクトリがcmsの場合、
http://127.0.0.1/cms/admiinが管理画面のURLになるので開いてみて、

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





