さくらの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のインストールは終了です。
関連記事