KAGOYAのVPSにOpenPNEでSNSを設置する


今更感はありますが、KAGOYAのVSPにOpenPNEを設置してみました。
CentOS系の解説は沢山出てくるのですが、ubuntuだとapacheの仕様が少し違ったりして意外に大変でした。
なんかマズいところなんかがありましたらご指摘頂けると嬉しいです。

1,インスタンスを作成し立ち上げる

KAGOYA VPSコントロールパネルからインスタンスを作成し立ち上げる。
この時に、作った秘密鍵を指定する必要があり、ログイン時にその秘密鍵を使ってログインすることになる。
また、今回はUbuntuのLAMPセットを使用する。(phpとかmysqlとかプリインストールでとても便利)

2,ユーザを登録し、Rootをdisableする

0.adduserでユーザを作成(仮にsns_exとする)(usraddはホームディレクトリが作成されないため使ってはならぬ)
1.パスワードを設定
2.apt-get update
3.apt-get install apt-utils (apt-get 系のユーティリティをインストール)
4.apt-get update (接続先等をアップデート)
5.apt-get install sudo (sudo をインストール(入ってない))
6.apt-get install nano (テキストエディタnanoをインストール、vim派の方やemacs派の方はそちらをご利用ください)
7.sudo gpasswd -a ユーザー名 sudo でユーザをsudoグループに追加する
8.apt-get install ufw (iptablesを変更するフロントエンドソフト) (ここまでやってスナップショット拾得しておくと良い)
9.sudo nano /etc/ssh/sshd_config port を22から変更
10.sudo nano /etc/ssh/sshd_config で、PermitRootLogin noに設定
11.sudo nano /etc/ssh/sshd_config で、PasswordAuthentication を有効に(もしくは、秘密鍵と公開鍵を作成するなどする)
12.sudo /etc/init.d/ssh restart でリスタート
13.sudo ufw enable (有効化)
14.sudo ufw default DENY (一旦全部のポートを閉じる)
15.sudo ufw allow 変更したポート番号 (sshのポートをallowする)
16.sudo apt-get install unzip

3,OpenPNEをインストールし、pacheの設定をする

1.http://www.omnioo.com/record/sns/open-pne_cms/ こちらを大変参考にさせて頂きました!
2.さっき作ったユーザでログインする。
3.wget https://codeload.github.com/openpne/OpenPNE3/legacy.zip/OpenPNE-3.8.13 で、ファイルを取得
4.apt-get install unzip で、unzipをインストール
5. mkdir /var/sns でvarにsnsというフォルダを作成
6.mv openPne~~~~ sns でフォルダ名を変更
7.mv sns /var/www/ でフォルダをwww以下に設置
8.cd /etc/apache2/sites-available に移動して、sudo cp 000-default.conf sns.conf で設定ファイルをコピー
9.sudo nano sns.conf でDocumentRootを /var/www/sns/web に変更、さらに 
<Directory /var/www/sns/web>
AllowOverride All
</Directory>
を挿入。(これをしないとリライトが有効にならない!)
10.sudo a2dissite 000-default.conf でapacheのディフォルトページを無効にした後、sudo a2ensite.conf でさっきの設定を有効にする。

11.  $ cd OpenPNE3
12.  $ cp config/ProjectConfiguration.class.php.sample config/ProjectConfiguration.class.php
13.  $ cp config/OpenPNE.yml.sample config/OpenPNE.yml
↑設定ファイルをコピー
14.sudo nano OpenPNE.yml で OpenPNE.ymlを編集(ドメインやメールアドレスを入力)
15.mysql -u root -p で mysqlにログインし、権限を持ったユーザを作成する。
16.CREATE DATABASE `sns` DEFAULT CHARACTER SET utf8; でsnsという名前のデータベースを作成
17.cd /var/www/sns で作業フォルダに戻り、 php symfony openpne:install --internet でインストール開始。
18.途中色々聞かれるので、データベースの管理者や、その他諸々を設定。
19./var/www/sns/web/.htaccess の、リライトベースのコメントアウトを外す。
20.sudo /etc/init.d/apache2 restartでapacheをリスタート
ip/pc_backend.php にアクセスすると、とりあえず管理画面に入れる。
ipにアクセスすると、普通のログイン画面。
 [email protected]
 password

で、(プラグインがまだ入っていないのでプロフィールくらいしか公開出来ないけど)、とりあえずログイン可能。